
var nav = (navigator.appName == "Microsoft Internet Explorer") ? "ie" : "ns";
iCheck = -1;
/**************************************************************************/
/* Check_Form (frm)                                             		  */
/**************************************************************************/
/* Funcion principal para chequear un formulario						  */
/**************************************************************************/
function Check_Form (frm)
{

	//aTipos == 0 -> Text
	//aTipos == 1 -> Select
	//aTipos == 2 -> Textarea
	//aTipos == 3 -> radio
	
	
	//aFormato == 1 -> obligatorio
	//aFormato == 2 -> numero
	//aFormato == 3 -> mail
	
	Init (frm); //Declaracion de arrays
	frm.action = accion	//el destino
	
	sMsg = "Debe rellenar los siguientes campos obligatorios:\n"
	
	for ( ii = 0 ; ii < aCampos.length ; ii++) {
	
		switch (aTipos[ii]) {
		
			case 0: //Text
				
							
				switch (aFormato[ii]) {
				
					case 1:	//obligatorio (no espacios en blanco)
					
						if (javaTrim (eval("frm." + aCampos[ii] + ".value")).length <= 0) {
							
							sMsg += aMensajes[ii] + "\n"
							if (iCheck == -1) iCheck = ii;
							
						}
						
					break;
					
					case 2:	//numero
						
						if (javaTrim (eval("frm." + aCampos[ii] + ".value")).length <= 0) {
							
							sMsg += aMensajes[ii] + "\n"
							if (iCheck == -1) iCheck = ii;
							
						}else {
						
							// Reemplazar la coma por punto
							sCad = eval("frm." + aCampos[ii] + ".value")
							if (sCad.indexOf(",") != -1){
								
								sCad = sCad.replace (",", ".")
								eval("frm." + aCampos[ii] + ".value=" + sCad)
								
							}
							
							if (isNaN (eval("frm." + aCampos[ii] + ".value"))) {
							
								sMsg += aMensajes[ii] + " ha de ser numerico\n"
								if (iCheck == -1) iCheck = ii;
							
							}
						
						}
						
									
					break;
					
					case 3:	//mail
					
						if (javaTrim (eval("frm." + aCampos[ii] + ".value")).length <= 0) {
							
							sMsg += aMensajes[ii] + "\n"
							if (iCheck == -1) iCheck = ii;
							
						}else {
						
							if (!isMail (eval("frm." + aCampos[ii] + ".value"))) {
							
								sMsg += aMensajes[ii] + " no es correcto\n"
								if (iCheck == -1) iCheck = ii;
							
							}			
						
						}
						
					break;
				
				}
			
			break;
			
			case 1: //Select
				
				switch (aFormato[ii]) {
				
					case 1:
					
						if ((eval("frm." + aCampos[ii] + ".options[frm." + aCampos[ii] +".selectedIndex].value == ''"))) {
						
							sMsg += aMensajes[ii] + "\n"
							if (iCheck == -1) iCheck = ii;
						
						}
				
					break;
				}
				
			break;
		
			case 2:	//textarea
			
				switch (aFormato[ii]) {
				
					case 1:
			
						if (javaTrim (eval("frm." + aCampos[ii] + ".value")).length <= 0) {
							
							sMsg += aMensajes[ii] + "\n"
							if (iCheck == -1) iCheck = ii;
							
						}
					break;
				}
				
			break;
		}
	
	}
	
	// Hacemos el focus en el primer elemento
	if (iCheck != -1) {
		
		alert (sMsg)
		eval("frm." + aCampos[iCheck] + ".focus ();")
		
	} else {
	
		Cases (frm)
		if (iCheck != -1) {
			
			alert (sMsg)
			eval("frm." + frm.elements[iCheck].name + ".focus ();")
		
		}
			
	}

	if (iCheck == -1){
		frm.submit ();
	} else {
		iCheck = -1;
	}
	
}
