/*	Object.js
*	Version:	1.0.10		Creado: 20/02/2002		Cimfo
*
*	Mario Cortés Flores
*
* 	Convierte un Formulario en código HTML
*/
var _ESCAPE_="escape";

function Cimfo_MakeVarious(pType,pElement)
{
	// Devuelve el texto deltipo de inputs,botones,...
	var Result;

	Result=pType+" Name=";
	Result+=pElement.name+" Value='"+eval(_ESCAPE_+"(pElement.value)")+"'>";

	return Result;
}

function Cimfo_MakeEscapeVarious(pType,pElement)
{
	// Devuelve el texto deltipo de inputs,botones,... codificado
	var Result;
	Result=pType+" Name=";
	Result+=pElement.name+" Value='"+escape(pElement.value)+"'>";

	return Result;
}

function Cimfo_MakeCheckbox(pElement)
{
	// Devuelve el texto de un CheckButton
	var Result;

	Result="Checkbox Name=";
	Result+=pElement.name+" Value='"+pElement.value+"'";

	if (pElement.checked)
		Result+=" CHECKED";
	Result+=">";

	return Result;
}

function Cimfo_MakeRadio(pElement)
{
	// Devuelve el texto de un RadioButton
	var Result;

	Result="Radio Name=";
	Result+=pElement.name+" Value='"+pElement.value+"'";
	
	if (pElement.checked)
		Result+=" CHECKED";
	Result+=">";

	return Result;
}

function Cimfo_MakeOption(pElement)
{
	// Devuelve el texto de un Option
	var Result;

	Result="<Option Value='"+pElement.value+"'";

	if (pElement.selected)
		Result+=" SELECTED";
	Result+=">"+pElement.text;

	return Result;
}

function Cimfo_MakeSelect(pElement)
{
	// Devuelve el texto de un Select
	var Result;
	var NumElements=pElement.options.length;	

	Result="<Select Name="+pElement.name;

	if (pElement.type=="select-multiple")
		Result+=" MULTIPLE";
	Result+=">";

	for(var cont=0;cont<NumElements;++cont)
		Result+=Cimfo_MakeOption(pElement.options[cont]);

	Result+="</Select>";

	return Result;
}

function Cimfo_MakeArea(pElement)
{
	var Result;
	
	Result="<Textarea Name="+pElement.name;
	Result+=">"+escape(pElement.value);
	Result+="</TEXTAREA>";
	return Result;
}

function MakeFormToDiv(pForm,vEscape,sDivDestine)
{
	// Convierte un Formulario en código HTML
	// vEscpe es un valor cadena que si es distinto de "" no lo pone a escape
	// sDivDestine no se usan

	var Result;
	var NumElements=pForm.elements.length;

/*	if(pForm._Escape_)
		_ESCAPE_="";
	else
*/		if (vEscape!="")
			_ESCAPE_="";
		else 
			_ESCAPE_="escape";
		
	Result="<Form Name='"+pForm.name+"' Action='"+pForm.action+"' Method='"+pForm.method+"' Enctype='"+pForm.encoding+"'>";
	
	for(cont=0;cont<NumElements;++cont)
	{
		switch((pForm.elements[cont].type).toUpperCase())
		{
			case "TEXTAREA":Result+=Cimfo_MakeArea(pForm.elements[cont]);
						break;
			case "SELECT-ONE":Result+=Cimfo_MakeSelect(pForm.elements[cont]);
						break;
			case "SELECT-MULTIPLE":Result+=Cimfo_MakeSelect(pForm.elements[cont]);
						break;
			default:Result+="<Input Type=";
				switch((pForm.elements[cont].type).toUpperCase())
				{
					case "TEXT":Result+=Cimfo_MakeVarious("Text",pForm.elements[cont]);
								break;
					case "HIDDEN":Result+=Cimfo_MakeVarious("HIDDE",pForm.elements[cont]);
								break;
					case "PASSWORD":Result+=Cimfo_MakeVarious("PASSWORD",pForm.elements[cont]);
								break;						
					case "BUTTON":Result+=Cimfo_MakeVarious("BUTTON",pForm.elements[cont]);
								break;
					case "RESET":Result+=Cimfo_MakeVarious("BUTTON",pForm.elements[cont]);
								break;
					case "CHECKBOX":Result+=Cimfo_MakeCheckbox(pForm.elements[cont]);
								break;
					case "RADIO":Result+=Cimfo_MakeRadio(pForm.elements[cont]);
								break;
					case "SUBMIT":Result+=Cimfo_MakeVarious("SUBMIT",pForm.elements[cont]);
								break;
					case "FILE"	:Result+=Cimfo_MakeEscapeVarious("File",pForm.elements[cont]);
								break;
					default:Result+=Cimfo_MakeVarious("Text",pForm.elements[cont]);
				}
			}
	}
	if(!pForm._Escape_&&_ESCAPE_=="")
		Result+="<Input Name='_Escape_' type='hidden' value=''>";
	Result+="</Form>";
	return Result;
}


