<?
/* 
Version 1.7.2
	Changed
		- mensajeformulario($titulo,$icon,$descripcion,$numform=2,$boton="") 
		- cabecera($titulo,$withbrackets=0) {
Version 1.6
	New:
		-Headerform()  
			igual a cabecera?
		-mensajeformulario($titulo,$icon,$descripcion,$numform=2) 
		-campocomboext($nombreobj,$label,$ancho,$valor,$arreglo,$clase,$web,$tipo,$protegido="",&$oculto="") // incluye icono para agregar nuevos elementos.
Version 1.5
	New:
		- campocheck($nombreobj,$label,$ancho,$valor,$clase,$protegido="",&$oculto="")
		- campobotongrafico($nombrecontrol,$label,$img,$js)
	Incompatible:
		- mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo="",$tabbed=0)
		extracampo permite ingresar mas tabs de elementos.		
Version 1.4:
	Changed (back compatible):
		- mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="") 
			campos puede recibir un html o puede recibir un arreglo de html, en ese caso crea columnas con la cantidad de arreglos.
		- campoformulario
			tipo calen que es calendario, requiere tener cargado:
				<script type="text/javascript" src="ajaxlib/spcal/src/calendar.js"></script>
				<script type="text/javascript" src="ajaxlib/spcal/lang/calendar-es.js"></script>
Version 1.3:
	New:
		-campofile($nombrecontrol,$label,$ancho,$valor,$clase,$protegido="")

Version 1.2
	New:
	Changed (back compatible):
		- campoformulario ($nombreobj,$label,$ancho,$valor,$clase,$protegido="",$tipo='TEXTO',$numcaracteres=999,$js='')	
		- mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1) 		
	Obsolete:
	Incompatible:
		- mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1) 	
			*Botones se toma de distinta manera en un arreglo de cada 3 elementos.
	Arcaic:

Version 1.0
	Changed:
		- campoformulario ($nombreobj,$label,$ancho,$valor,$clase,$protegido="")
		- cabecera($titulo)
		- campocombo($nombreobj,$label,$ancho,$valor,$arreglo,$clase,$protegido="")
		- campohidden($nombrecontrol,$valordefecto)
		- mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton)
*/


function cabecera($titulo,$withbrackets=0) {
	$tmp="";	
	if ($withbrackets) {	$tmp.="<header>"; }
	$tmp.= "	<meta HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>\n";
	
	$tmp.= "	<title>$titulo</title>\n";

	
	
	$tmp.= "	<link href='style2.css' rel='stylesheet' type='text/css'>\n";
	// ie6 hack
	$tmp.= "<!--[if ie]>\n";
	$tmp.=" <link href='style2_iehack.css' type=text/css rel=stylesheet>\n"; 
	$tmp.= "<![endif]-->	\n";
	
	$tmp.= "	<!-- Common JS files -->\n";
	$tmp.= "<script type='text/javascript' src='preLoadingMessage.js'></script>\n";
	$tmp.=  "<script type='text/javascript' src='ajaxlib/cookies.js'></script>\n";	
	$tmp.= "	<script type='text/javascript' src='ajaxlib/utils/southprojects.js'></script>\n";
	$tmp.= "	<script type='text/javascript' src='ajaxlib/utils/stylesheet.js'></script>\n";
	
	$tmp.= "	<!-- Custom includes -->	\n";
	//$tmp.= "	<script type='text/javascript' src='ajaxlib/spform/src/form.js'></script>\n";
	$tmp.= "	<!-- ALL demos need these css -->\n";
	$tmp.= "	<link href='images/template.css' rel='stylesheet' type='text/css'>\n";
	$tmp.= "<!-- tabs -->\n";
	$tmp.= "<script type='text/javascript' src='tabs/tabber.js'></script>\n";
	$tmp.= "<link rel='stylesheet' href='tabs/tab.css' TYPE='text/css' MEDIA='screen'>\n";
	$tmp.= "<!-- calendario -->\n";
	$tmp.= "<script type='text/javascript' src='ajaxlib/spcal/src/calendar.js'></script>\n";
	$tmp.= "<script type='text/javascript' src='ajaxlib/spcal/lang/calendar-es.js'></script>\n";
	/*$tmp.= "<script type='text/javascript' src='ajaxlib/spcal/src/calendar-core.js'></script>\n";
	$tmp.= "<script type='text/javascript' src='ajaxlib/spcal/src/calendar-date-core.js'></script>\n";
	$tmp.= "<script type='text/javascript' src='ajaxlib/spcal/src/calendar-setup.js'></script>\n";
	*/
	$tmp.= "<!-- multipleselect -->\n";
	$tmp.= "<script type='text/javascript' src='ajaxlib/multipleselect.js'></script>\n";
	$tmp.= "<!-- validator -->\n";
	$tmp.= "<script type='text/javascript' src='gen_validatorv2.js'></script>\n";	

	$tmp.= "	<!-- Theme css -->\n";
	$tmp.="<link href='ajaxlib/spcal/themes/fancyblue.css' rel='stylesheet' type='text/css'>\n";
	
	if ($withbrackets) {	$tmp.="</header>"; }
	return $tmp;
}


function javascriptcalendario($nombre_elem,$con_reloj="false") {
		$tmp="";
		$tmp.= "<script type=\"text/javascript\">\n";
		$tmp.= "var cal_$nombre_elem = new southprojects.Calendar.setup({\n";
		$tmp.= "\n";
		$tmp.= "inputField     :    \"$nombre_elem\",     \n";
		if ($con_reloj=="true") {
			$tmp.= "ifFormat       :    \"%d/%m/%Y %H:%M\",     \n";			
		} else {
			$tmp.= "ifFormat       :    \"%d/%m/%Y\",     \n";
		}
		$tmp.= "button         :    \"icon_$nombre_elem\",  \n";
		$tmp.= "firstDay			: 1, \n";
		$tmp.= "showsTime      :     $con_reloj\n";
		$tmp.= ",dateStatusFunc :    function (date) { \n";
		$tmp.=" document.getElementById('$nombre_elem').focus(); ";
		//$tmp.=" alert('ola'); ";
		$tmp.= "	return (date.getDay() == 606 || date.getDay() == 600) ? true : false; }		\n";
		$tmp.= "});		\n";
		$tmp.= "</script>\n";
		return $tmp;

}

function campoformulario ($nombreobj,$label,$ancho,$valor,$clase,$protegido="",$tipo='TEXTO',$numcaracteres=999,$js='') {
		global $camposhidden;
		global $tabcampo;
		$tmp2="";
		$tmp="";
		if ($tabcampo) {
			$tabtxt="tabindex='$tabcampo' ";
			$tabcampo++;
		} else {
			$tabtxt="";
		}
		if ($protegido && $protegido!=0) { 
			$tmp2="readonly='true'";
			$clase="spformDisabled";
			$camposhidden.=campohidden($nombreobj,$valor);
		}
		if ($label) {
			$tmp= "<label class='spformLabel'>$label</label>\n";			
		} 		
		switch($tipo) {
			case 'TEXTO':
				//$tmp.=  "	<input type='text' prefix='aaa' class='$clase' $tmp2 value='$valor' size='$ancho' id='$nombreobj' name='$nombreobj' >\n";
				$tmp.=  "	<input type='text' prefix='aaa' class='$clase' $tmp2 value='$valor' style='width:".$ancho."ex' id='$nombreobj' name='$nombreobj' $tabtxt >\n";
				
						
				break;
			case 'AREA':				
				
				$tmp.="<textarea name='$nombreobj' id='$nombreobj' rows='4' cols='$ancho'  style='width:".$ancho."ex' class='$clase' $tmp2>$valor</textarea>\n";
				
				
				
				
				
									
				break;
			case 'PASSW':
				$tmp.=  "	<input type='password'  class='$clase' $tmp2 value='$valor' style='width:".$ancho."ex' id='$nombreobj' name='$nombreobj' >\n";
								
				break;
			case 'CALEN':
				
				//requiere tener cargado:
				//<script type="text/javascript" src="ajaxlib/spcal/src/calendar.js"></script>
				//<script type="text/javascript" src="ajaxlib/spcal/lang/calendar-es.js"></script>
				
				// spformMask=\"00-00-00\"  (la mascara por alguna razon no funciona.
				$tmp.=  "	<input type='text' id='$nombreobj' class='$clase ' $tmp2 value='$valor' style='width:".$ancho."ex' name='$nombreobj' id='$nombreobj' readonly='true' >\n";
				if (!$protegido) {
					$tmp.= "<img alt='Calendario' src='images/calendar.png' border='0' width=16 height=16 id='icon_$nombreobj'  onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\">\n";
				}
					
				$tmp.=javascriptcalendario($nombreobj);
				break;
			case 'CALENCLOCK':
				
				//requiere tener cargado:
				//<script type="text/javascript" src="ajaxlib/spcal/src/calendar.js"></script>
				//<script type="text/javascript" src="ajaxlib/spcal/lang/calendar-es.js"></script>
				
				// spformMask=\"00-00-00\"  (la mascara por alguna razon no funciona.
				$tmp.=  "	<input type='text' id='$nombreobj' class='$clase ' $tmp2 value='$valor' style='width:".$ancho."ex' name='$nombreobj' id='$nombreobj' readonly='true' >\n";
				if (!$protegido) {
					$tmp.= "<img alt='Calendario' src='images/date-time.gif' width=16 height=16 border='0' id='icon_$nombreobj'  onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\">\n";
					$tmp.=javascriptcalendario($nombreobj,"true");
				} else {
					$tmp.= "<img alt='Calendario' src='images/icon_key.gif' width=16 height=16 border='0' id='icon_$nombreobj'  onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\">\n";
				}
					
				
				break;				
			default:
				$tmp="error text_generic";
				break;
		}		
	return $tmp;
}

	
	
function campocombo($nombreobj,$label,$ancho,$valor,$arreglo,$clase,$protegido="",&$oculto="",$js="") {
	// el arreglo tiene la forma de:
	// valor,texto
	// donde el arreglo(0) puede ser "" y el arreglo(1) puede ser "seleccione valor" (los valores por defecto.
	$tmp2="";
	$tmp="";
	/* clase
	spformRequired = requerido
	spformNoRequired = no requerido ni tampoco se muestra iconos de control.
	(vacio) = no requerido.
	
	spformAllowed-w =alfanumeric
	spformAllowed-sw=alfanumerico con espacio
	spformAllowed-d=numerico sin signos.
	spformAllowedChars=0-9,.-=numericos con signos
	
	
	
	*/
	
	switch ($clase) {
		case "alfanumerico":
			$clase="spformAllowed-w";
		
	}
	if ($protegido && $protegido!=0) { 
		//$tmp2="disabled='disabled'";
		$tmp2="";
		$clase="spformDisabled";
		$oculto.=campohidden($nombreobj,$valor);
	}
	if ($label) {
		$tmp= "<label class='spformLabel'>$label</label>\n";	
	}

	$js=($js)? "onchange=\"javascript:".$js." \""  : "";	
	$tmp.="<select name='$nombreobj' id='$nombreobj' class='$clase' style='width:".$ancho."ex;' $tmp2 $js>";
	
	for ($i=0;$i<count($arreglo);$i=$i+2) {
		if ("$valor"=="".$arreglo[$i]) {
			
			$tmp.= "<option value='".$arreglo[$i]."' selected>".$arreglo[$i+1]."</option>\n";
		} else {
			if (!$protegido) {
				$tmp.= "<option value='".$arreglo[$i]."'>".$arreglo[$i+1]."</option>\n";
			}
		}			
	}
	$tmp.="</select>\n";
	if ($ancho>=0) {
		
	}
	return $tmp;
}
function buscarcombo($indice,$arreglo) {
	if ($indice=="") {
		return("");
	}
	for ($i=0;$i<count($arreglo)-1;$i+=2) {
		if ($arreglo[$i]==$indice) {
			return($arreglo[$i+1]);
		}
	}

}

function campocomboext ($nombreobj,$label,$ancho,$valor,$arreglo,$clase,$web,$tipo,$protegido="",&$oculto="") {
	// el arreglo tiene la forma de:
	// valor,texto
	// donde el arreglo(0) puede ser "" y el arreglo(1) puede ser "seleccione valor" (los valores por defecto.
	$tmp2="";
	$tmp="";
	if ($protegido && $protegido!=0) { 
		$tmp2="disabled='disabled'";
		$oculto.=campohidden($nombreobj,$valor);
	}
	if ($label) {
		$tmp= "<label class='spformLabel'>$label</label>\n";	
	}

	$tmp.="<select name='$nombreobj' id='$nombreobj' class='$clase' style='width:".$ancho."ex' $tmp2 >";
	for ($i=0;$i<count($arreglo);$i=$i+2) {
		if ($valor==$arreglo[$i]) {
			$tmp.= "<option value='".$arreglo[$i]."' selected>".$arreglo[$i+1]."</option>\n";
		} else {
			$tmp.= "<option value='".$arreglo[$i]."'>".$arreglo[$i+1]."</option>\n";
		}			
	}
	$tmp.="</select>\n";
	$js="window.open('$web?tipo=$tipo','mywindow','status=1,width=950,height=350');";
	
	$tmp.="<img src='images/table_add.png' width=16 height=16";
		$tmp.="	onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\" ";
		//$js2="alert(document.getElementById('$nombreobj').options[document.getElementById('$nombreobj').selectedIndex].value);";
		$tmp.=" onclick=\"javascript:$js \"   >";
	if ($ancho>=0) {
		
	}
	return $tmp;
}
	
function campocomboext2($nombreobj,$label,$ancho,$valor,$arreglo,$clase,$web,$tipo,$protegido="",&$oculto="") {
	// el arreglo tiene la forma de:
	// valor,texto
	// donde el arreglo(0) puede ser "" y el arreglo(1) puede ser "seleccione valor" (los valores por defecto.
	$tmp2="";
	$tmp="";
	if ($protegido && $protegido!=0) { 
		$tmp2="disabled='disabled'";
		$oculto.=campohidden($nombreobj,$valor);
	}
	if ($label) {
		$tmp= "<label class='spformLabel'>$label</label>\n";	
	}

	$tmp.="<select name='$nombreobj' id='$nombreobj' class='$clase' style='width:".$ancho."ex' $tmp2 >";
	for ($i=0;$i<count($arreglo);$i=$i+2) {
		if ($valor==$arreglo[$i]) {
			$tmp.= "<option value='".$arreglo[$i]."' selected>".$arreglo[$i+1]."</option>\n";
		} else {
			$tmp.= "<option value='".$arreglo[$i]."'>".$arreglo[$i+1]."</option>\n";
		}			
	}
	$tmp.="</select>\n";
	
	$js="googlewin.load('iframe', '$web?tipo=$tipo', '$tipo'); googlewin.show();";
	
	$tmp.="<img src='images/table_add.png' width=16 height=16";
		$tmp.="	onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\" ";
		//$js2="alert(document.getElementById('$nombreobj').options[document.getElementById('$nombreobj').selectedIndex].value);";
		$tmp.=" onclick=\"javascript:$js;googlewin.moveTo(this.offsetLeft+this.offsetWidth+5, this.offsetTop+this.offsetHeight+5); \"   >";
	if ($ancho>=0) {
		
	}
	return $tmp;
}	
	
	
function campohidden($nombrecontrol,$valordefecto) {
		$tmp="";
		$tmp.="<input type='hidden' id='$nombrecontrol' name='$nombrecontrol' value='$valordefecto' class='spformNoRequired'>";
		return $tmp;
	}	

function campofile($nombrecontrol,$label,$ancho,$valor,$clase,$protegido="") {
		$tmp="";
		if ($protegido) {
			$tmp=campostatic($label,$valor);
		} else {
			$tmp= "<label class='spformLabel'>$label</label>\n";	
			$tmp.="<input type='file'  name='$nombrecontrol'  size='$ancho' class='$clase'>";
			$methodpost=1;
		}
		return $tmp;
}	

function campocheck($nombreobj,$label,$ancho,$valor,$clase,$protegido="",&$oculto="") {
	$tmp2="";
	$tmp="";
	if ($protegido && $protegido!=0) { 
		$tmp2="disabled='disabled'";
		$oculto.=campohidden($nombreobj,$valor);
	}	
	if ($label) {
		$tmp= "<label class='spformLabel'>$label</label>\n";	
	}	
	if ($valor) {
		$tmp.="<input type='checkbox' class='$clase' name='$nombreobj' style='width:".$ancho."ex'  value='1' checked $tmp2>";
	} else {
		$tmp.="<input type='checkbox' class='$clase' name='$nombreobj' style='width:".$ancho."ex' value='1' $tmp2>";
	}
	if ($label) {
			
	}
	return $tmp;
}		

function campomultiplecheck($nombreobj,$label,$ancho,$valor,$clase,$protegido="",&$oculto="") {
	// nombreobj,label y valor son arrays.
	$tmp2="";
	$tmp="";
	if ($protegido && $protegido!=0) { 
		$tmp2="disabled='disabled'";
		$oculto.=campohidden($nombreobj,$valor);
	}	
	for ($i=0;$i<count($nombreobj);$i++) {

		
		if ($valor[$i]) {
			$tmp.="<input type='checkbox' class='$clase' name='".$nombreobj[$i]."' value='1' checked $tmp2>";
		} else {
			$tmp.="<input type='checkbox' class='$clase' name='".$nombreobj[$i]."' value='1' $tmp2>";
		}
		if ($label[$i]) {
			//$tmp.= "<label class='spformLabel'>".$label[$i]."</label>\n";	
			$tmp.= " ".$label[$i]." &nbsp;&nbsp;&nbsp;&nbsp;";	
			
		}			
		
	}
		
	
	return $tmp;
}	

function campomultipleselect($nombreobj,$label,$ancho,$arreglototal,$arreglovalor,$clase,$protegido="",&$oculto="",$web="",$tipo="") {
	// arreglo total son todos los elementos (valores y texto).	
	// arreglovalor son los elementos seleccionados (solo valores)
	// nombreobj,label y valor son arrays (de dos dimensiones)
	$tmp2="";
	$tmp="";
	if ($protegido && $protegido!=0) { 
		$tmp2="disabled='disabled'";
		$oculto.=campohidden($nombreobj,$valor);
	}	
	$tabla1=array();
	$cont1=0;
	$tabla2=array();
	$cont2=0;
	// separamos las listas deacuerdo a los seleccionados y a los totales.
	for ($i=2;$i<count($arreglototal);$i=$i+2) {
		$flag=0;
		$key=array_search($arreglototal[$i],$arreglovalor);
		if ($key===false) {
				$tabla1[0][$cont1]=$arreglototal[$i];
				$tabla1[1][$cont1]=$arreglototal[$i+1];			
				$cont1++;
		} else {
				$tabla2[0][$cont2]=$arreglototal[$i];				
				$tabla2[1][$cont2]=$arreglototal[$i+1];			
				$cont2++;
		}
	}

	
	$nom1=$nombreobj[0];
	$nom2=$nombreobj[1];
	$tmp.= "<table border='0'><tr><td>\n";
	
	
	$tmp.= "<label class='spformLabel'>Miembros</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select multiple size='20' style='width:270; height:150;' name='$nom1' class='spformNoRequired'>\n";
	for ($i=0;$i<count(@$tabla1[0]);$i++) {
		$tmp.= "     <option value='".$tabla1[0][$i]."'>".$tabla1[1][$i]."</option>\n";
	}
	$tmp.= "   </select>\n";
	$tmp.= " </td><td><NOBR>   \n";
	$tmp.= "   <input type='button' style='width:90' onclick='moveDualList( this.form.$nom1,  this.form.$nom2, false )'  \n";
	$tmp.= "   name='Add     >>'  value='Agregar   >>'>     <BR>\n";
	$tmp.= "   <NOBR>       \n";
	$tmp.= "   <input type='button' style='width:90' onclick='moveDualList( this.form.$nom2, this.form.$nom1,  false )'  \n";
	$tmp.= "   name='Add     <<'  value='Quitar   <<'>     <BR>\n";
	$tmp.= "   <NOBR>       \n";
	$tmp.= "   <input type='button' style='width:90' onclick='moveDualList( this.form.$nom1,  this.form.$nom2, true  )'  \n";
	$tmp.= "   name='Add All >>'  value='Todos   >>'>     <BR>\n";
	$tmp.= "   <NOBR>       \n";
	$tmp.= "   <input type='button' style='width:90' onclick='moveDualList( this.form.$nom2, this.form.$nom1,  true  )'  \n";
	$tmp.= "   name='Add All <<'  value='Ninguno   <<'>     <BR>\n";
	$tmp.= "   </NOBR>\n";
	$tmp.= " </td><td>\n";
	$tmp.= "   <select multiple size='20' style='width:270; height:150;' id='$nom2' name='$nom2' class='spformNoRequired'>\n";
	for ($i=0;$i<count(@$tabla2[0]);$i++) {
		$tmp.= "     <option value='".$tabla2[0][$i]."'>".$tabla2[1][$i]."</option>\n";
	}
	$tmp.= "   </select>\n";
	$tmp.= " </td></tr></table>\n";
	$js="googlewin.load('iframe', '$web?tipo=$tipo', '$tipo'); googlewin.show();";
		$tmp.="<img src='images/table_add.png' width=16 height=16";
		$tmp.="	onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\" ";
		//$js2="alert(document.getElementById('$nombreobj').options[document.getElementById('$nombreobj').selectedIndex].value);";
		$tmp.=" onclick=\"javascript:$js;googlewin.moveTo(this.offsetLeft+this.offsetWidth+5, this.offsetTop+this.offsetHeight+5); \"   >";
		
	
	return $tmp;
}	

	function campostatic($label,$valor,$ancho=45) {
		//
		$tmp="";
		$tmp= "<label class='spformLabel'>$label</label>\n";	

		$tmp.=  "	<input type='text' value='$valor' size='$ancho' disabled='disabled' ><br />\n";
		//$tmp= "$valor bbbbb<br>\n";	
		return $tmp;
	}	
	
function campolink($label,$valor,$link) {
		//
		
		$tmp="";
		//$tmp= "<label class='spformLabel'>$label</label>\n";	
		$tmp= "<label class='spformLabel'>$label</label> <span width='74' style='-moz-user-select:";
		$tmp.="none;' class='spformInternalEl zpStatusImg'>";
		$tmp.="<span style='-moz-user-select: none;' class='spformInternalEl'></span>";
		$tmp.="<span style='-moz-user-select: none;' class='spformInternalEl'></span>";
		$tmp.="<span style='-moz-user-select: none;' class='spformInternalEl'></span>";
		$tmp.="<span style='-moz-user-select: none;' class='spformInternalEl'></span>";
		$tmp.="</span>\n";	
		//$tmp.=  "<a href='$link' class='spformRequired'>$valor</a><br />\n";

		
		$tmp.=  "	<a href='$link' >$valor";
		$tmp.="<img src='images/file.gif' width='20' height='20' border='0'></a><br />\n";
		
		return $tmp;
	}	
	
function campobotongrafico($nombrecontrol,$label,$img,$js="",$protegido=0) {
	$tmp="";

	$tmp.="<p align=center><img  id='img_$nombrecontrol' src='$img'";
	$tmp.=" onmouseover=\"this.style.cursor='pointer'\" onmouseout=\"this.style.cursor='default'\"   onclick=\"javascript:$js  \" ";
	$tmp.=">";
	if ($label=='') {
		$label="&nbsp;";
	} 			
		$tmp.= "<label id='$nombrecontrol' class='etiquetaboton'>$label</label></p>\n";			
	
	return $tmp;
	}

function crear_tabla($ancho=850) {
	$tmp= "<TABLE cellSpacing=0 cellPadding=0 width=98% border=0>\n";
		$tmp.="<tr><td><table width=$ancho height=0 border=0></table></td></tr>\n";
		$tmp.= "    <TR><td>";
	return $tmp;
}
function finalizar_tabla() {
	
		$tmp= "    </td></tr><table>";
		
	return $tmp;
}
	
		
	
	
function mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo="",$columnas="")  {
	
	global $modal;
	global $methodpost;
	global $extracolumna;
	
	
	
	$numcolumnas=count($campos);
	$filas=($numcolumnas)?count($campos[0]):1;
	@$metodo=($methodpost==1)?"POST":"GET";
	if ($numcolumnas>1) {
			for ($i=0;$i<$numcolumnas;$i++) {
				@$pcolumnas[$i]=($columnas[$i]>0)?$columnas[$i]:floor(100/$numcolumnas);
			}
	} else {
		$pcolumnas[0]=100;
	}
	
	$tmp="";

	

	$camposhidden.="<input type='hidden' name='boton_tag' id='boton_tag' value='0'>";

	if ($titulo) {
//		$tmp.= "<div class='zpCalSubHeader'  style='text-align:center; '>$titulo</div>\n";
	}
	$tmp.= "<div id='body'>\n";
	$tmp.= "	<div id='content_fixed'>\n";
	$tmp.= "		<div id='data_table'>\n";
	if ($titulo) $tmp.= "			<h2>$titulo</h2>\n";
	if ($leyenda) $tmp.= "			<h3>$leyenda</h3>\n";
	
	$tmp.= "<form  name='userform$numform' id='userform$numform' method='$metodo' autocomplete='off' style='text-align:left; margin: 0px; padding: 0px;' enctype='multipart/form-data' onSubmit=\" \">\n";		

	$tmp.= "<div id='erroutput$numform' class='erroutput'></div>\n";		
	$tmp.= "<div class='spformContent' id='divform$numform'  style='visibility:hidden'>\n";
	if ($extracampo) {
		// ec.
		
		$tmp.= "<div class='tabber'>\n";
		$tmp.= "     <div class='tabbertab'>\n";			
		if ($leyenda) $tmp.= "	  <h2>$leyenda</h2>\n";
	} else {			
		
		if ($leyenda)   $tmp.= "	<fieldset>\n";
//		if ($leyenda)  $tmp.= "		<legend>$leyenda</legend>\n";
		
	}
	
	if ($numcolumnas>=1) {
	
		$tmp.="<table width=97% border=1 style='padding: 0px 0px 0px 0px;'>";			
		
		if ($filas>1) {
			for ($f=0;$f<$filas;$f++) {
				$tmp.="<tr>";
				for ($e=0;$e<$numcolumnas;$e++) {
					$colspan=1;
					if ($e<($numcolumnas-1)) {
						if (@$campos[$e+1][$f]=="") {
							$colspan=2;
							
						}
					}
					if (@$campos[$e][$f]!="") {
						$tmp.="<td width='".$pcolumnas[$e]."%' colspan=$colspan valign='bottom'>".$campos[$e][$f]."</td>";
					}
				}
				$tmp.="</tr>";					
			}
			$tmp.="</table>";
		} else {
		
		
			$tmp.="<tr>";
				for ($e=0;$e<$numcolumnas;$e++) {
					$tmp.="<td width='".$pcolumnas[$e]."%' valign='top'>".$campos[$e]."</td>";
				}			
				$tmp.="</tr></table>";
		}
		
	} else {
		$tmp.=$campos;
	}




	
	if ($extracampo) {
		// los campos extras.
		$tmp.= "</div> <!-- tabbertab -->\n";			
		for ($i=0;$i<count($extracampo)/2;$i++) {			
			$numcolumnas=count($extracampo[$i]);
			$pcolumnas=floor(100/$numcolumnas);	
			if (!isset($extracolumna[$i])) {
				for ($e=0;$e<$numcolumnas;$e++) {
				$extracolumna[$i][$e]=$pcolumnas;
				}
			}				
			$numfilas=count($extracampo[$i][0]);
			
			$tmp.= "     <div class='tabbertab'>\n";
			$tmp.= "	  <h2>".$extracampo["titulo$i"]."</h2>\n";
			if ($numcolumnas>1) {
				$tmp.="<table width=97% border=1 style='padding: 0px 0px 0px 0px;'>";
				for ($e2=0;$e2<$numfilas;$e2++) {
				$tmp.="<tr>";
				
				if (@$extracampo[$i][1][$e2]=="") {
					$tmp.="<td colspan=2 width='".$extracolumna[$i][0]."%' valign='top'>".$extracampo[$i][0][$e2]."</td>";
				} else {
					for ($e=0;$e<$numcolumnas;$e++) {
						
						$tmp.="<td width='".$extracolumna[$i][$e]."%' valign='top'>".$extracampo[$i][$e][$e2]."</td>";
					}				
				}

				$tmp.="</tr>";
				}
				$tmp.="</table>";
			} else {
				$tmp.="<p>".$extracampo[$i]."</p>";
			}		
			
			$tmp.= "</div> <!-- ultimo tab -->\n"; // ultimo tab
			}
	} else {
		if ($leyenda)  $tmp.= "	</fieldset>\n";	
	}



	
	if ($extracampo) {
		// ec. FINALIZAMOS			
		$tmp.= "</div>	<!-- div mayor -->	\n"; // DIV MAYOR
	}


	

					
		
				
	
	$tmp.= "<div id='data_table_list'><ul>";
	for ($i=0;$i<count($boton);$i+=3) {
		$js_tmp="if (document.userform$numform.onsubmit()) { document.getElementById('boton_tag').value='".$boton[$i+1]."';";
		$js_tmp2="";
		if (strpos($boton[$i+2],"return(false);")===false) {
			$js_tmp2="document.userform$numform.submit();return(false);";
		}		
			$tmp.="<li><a  onclick=\"javascript:$js_tmp } else {return(false);}".$boton[$i+2].$js_tmp2."\" href='#' tarjet='iframe2' >".@$boton[$i]."</a></li>";
	}
	$tmp.= "</ul></div><br>\n";		// spformbutton
	$tmp.= "</div> <!-- spformcontent-->\n"; // spformcontent
	
		
	$tmp.="<div id='campoocultos$numform' style=' width:0px; height:0px; background-color:#f0FF33;'></div>\n";
	//$tmp.=$camposhidden;  
	

	$tmp.=$camposhidden;
	$tmp.= "</form>\n";

				$tmp.= "<div style='clear:both;'></div>\n";
			$tmp.= "</div>	\n"; // data_table
	
	if ($resultado) {
		//$tmp.= "<fieldset>\n";
		//resultado
		//<p id="paginate">PAGINA <a href="#">1</a> <a href="#">&raquo;</a></p>
		$tmp.= "		<legend><p id='paginate'>$resultado</p></legend>\n";

		$tmp.=$resultadohtm;
		//$tmp.= "	</fieldset>\n";		
	} else {
		if ($resultadohtm) {
			$tmp.=$resultadohtm;
		}
	}
	
	
	$tmp.="</div></div>"; // content_fixed  body

	
	//$tmp.="<br>";
	
	
	$tmp.= "<script type=\"text/javascript\">\n";
	$tmp.="var frmvalidator  = new Validator('userform$numform');\n";
	$tmp.= "	document.userform1.onsubmit=form_submit_handler;\n";
	if (!$extracampo and !$modal) {			
		// borramos el ultimo tab seleccionado salvo que este en modal.
		$tmp.=" Set_Cookie( 'tabulacion', 0, '', '/', '', '' );\n";
		
	}
	
	
	
	$tmp.= "document.getElementById('divform$numform').style.visibility = \"visible\"; ";
	$tmp.= "if (document.getElementById('divformwait')) {\n ";
	$tmp.= "    document.getElementById('divformwait').style.visibility = \"hidden\"; ";
	$tmp.= "    document.getElementById('divformwait').innerHTML = \"\"; }";
	
	$tmp.= "</script>\n";

	return $tmp;
}
	
	function headerform($withbrackets) {
		// esto va en el header de la pagina web.
	
	$tmp="";
	if ($withbrackets) {	$tmp.="<header>"; }
	$tmp.=  "<!-- Common JS files -->\n";
	$tmp.=  "<script type='text/javascript' src='ajaxlib/utils/southprojects.js'></script>\n";
	$tmp.=  "<script type=\"text/javascript\" src=\"ajaxlib/sptabs/src/sptabs.js\"></script>\n";
	$tmp.=  "<!-- Custom includes -->	\n";
	$tmp.=  "<script type='text/javascript' src='ajaxlib/spform/src/form.js'></script>\n";
	$tmp.=  "<script type='text/javascript' src='ajaxlib/sptree/src/tree.js'></script>\n";
	$tmp.=  "<script type=\"text/javascript\" src=\"ajaxlib/spcal/src/calendar.js\"></script>\n";
	$tmp.=  "<script type=\"text/javascript\" src=\"ajaxlib/spcal/lang/calendar-es.js\"></script>\n";
	$tmp.=  "<!-- Theme css -->\n";
	$tmp.=  "<link href=\"ajaxlib/spcal/themes/fancyblue.css\" rel=\"stylesheet\" type=\"text/css\"> <!-- calendario  -->\n";
	$tmp.=  "<link href=\"ajaxlib/spform/themes/winxp2.css\" rel=\"stylesheet\" type=\"text/css\">\n";
	if ($withbrackets) {	$tmp.="</header>"; }
	return $tmp;
	}	
	function mensajeformulario($titulo,$icon,$descripcion,$numform=2,$boton="") {
		$tmp="";
		$tmp.= "<div id='body'>\n";
		$tmp.= "	<div id='content_fixed'>\n";
		$tmp.= "		<div id='data_table'>\n";
		if ($titulo) $tmp.= "			<h3>$titulo</h3>\n";
		//if ($descripcion) $tmp.= "			<h3>$descripcion</h3>\n";		

		$tmp.= "<form  name='userform$numform' id='userform$numform' method='GET' style='text-align:left; margin: 0px; padding: 0px;' enctype='multipart/form-data'>\n<br>";		
		$tmp.= "<input type='hidden' name='boton_tag' id='boton_tag' value='0'>";
		$tmp.= "<div id='erroutput$numform' class='erroutput'></div>\n";		
		$tmp.= "<div class='spformContent'  >\n";
		$tmp.= "<p align='center' style='line-height:100%; margin-top:0; margin-bottom:0;'><img width=64 height=64 src='$icon'  border='0'></p>";
		$tmp.= "<p align='center' style='line-height:100%; margin-top:0; margin-bottom:0;'>$descripcion</p>";
		if ($boton) {
			$tmp.= "<div class='spformButtons' ><p align='center'>";
			for ($i=0;$i<count($boton);$i+=3) {
				$js_tmp="document.getElementById('boton_tag').value='".$boton[$i+1]."';";
				$tmp.= "<input value='".$boton[$i]."' name='boton'  type='submit' class='button' onclick=\"$js_tmp".$boton[$i+2]."\" >"; 
			}
			$tmp.= "</p></div>";		// spformbutton
		}
		$tmp.= "</div>\n"; // spformcontent
		$tmp.="<br>";
		
		$tmp.= "</form>\n";
		$tmp.="</div></div></div>\n";


		
		

		
		
		
		
		
		
		
		return $tmp;
	}
function jsrun($jsfuncion) {	
	// ejecuta una funcion de javascript
	$tmp= "<script type='text/javascript'>";
	$tmp.= $jsfuncion;
	$tmp.= "</script>";				
	return($tmp);
}		
	
function jsfun($codigo,$param="") {
// crea una funcion en javascript
$tmp="";
switch ($codigo) {
	case "CERRARME":
		$tmp="window.close();";
		break;
	case "REFRESCARME":
		$tmp="window.close();";
		break;
	case "VOLVER":	
		$tmp="history.back();";
		break;
	case "CERRARYREFRESCAR":
		// usar para un popup
		$tmp="window.opener.location.reload();self.close();return false;";
		break;
	case "CERRARYREFRESCAR2":
		// usar para cuando se abre un iframe
		$tmp="self.parent.googlewin.hide();self.parent.location.reload(true);"; //return false;";
		break;
	case "CERRAR":
		// usar para cuando se abre un iframe
		$tmp="self.parent.googlewin.hide();\n document.location=\"vacio.htm\";\n";
		break;
	case "CERRAR2":
		// usar para cuando se abre un iframe
		$tmp="self.parent.googlewin.hide();\n document.location='vacio.htm';\n";
		break;		
	case "CAMBIARURLPADRE":	
		$tmp="self.parent.location='$param';";
		break;		
	case "CAMBIARURL":	
		$tmp="self.location='$param';";
		break;		
		
	case "CERRARYREFRESCAR3":
		// usar para cuando se abre un iframe
		$tmp="self.parent.googlewin.hide();self.parent.location.reload(true);"; // self.parent.location='$param'
		break;
		
	default:
		$tmp=$codigo;		
		break;
	}
	return ($tmp);
}	

?>