// Funciones en Cliente

function validar() {
	for (i=0; i<validar.arguments[0].length; i++) { 
		ok = ValidaCampo(validar.arguments[0][i],validar.arguments[1][i],validar.arguments[2][i],validar.arguments[3][i],validar.arguments[4])
		if (!ok) break 
		}
	return(ok);
	}

function ValidaCampo() { // Nombre de campo, Tipo 0=>txt 1=>num 2=>fecha 3=>jpg/gif 4=>e-mail 5=>Combo, Obligatorio? (boolean)
  var error = "";
  var frmId = ValidaCampo.arguments[4];
  var frm;
  if (document.all){ frm = document.all[frmId];
  }else if (document.getElementById){ frm=document.getElementById(frmId);
  }else if (document.layers){ frm = document.forms[frmId]; }
  
	var valor = frm[ValidaCampo.arguments[0]].value + "";
	valor = valor.replace(/(\s+)/,"") // Eliminamos blancos al inicio de la cadena		
	if (!ValidaCampo.arguments[2] && valor.length == 0) // Comprobamos nulos
		error = "El campo " + ValidaCampo.arguments[3] + " es obligatorio" ;
	else if (ValidaCampo.arguments[1] == 0 && valor.length > 0) {
		var filtro = /(')/;
		if (filtro.test(valor))
			error = "El campo " + ValidaCampo.arguments[3] + " no admite el caracter (') .";
		}
	else if (ValidaCampo.arguments[1] == 1 && valor.length != 0) { // Comprobamos numerico
	
		valor = valor.replace(/[,]/,".");
		valor = valor.replace(/^[0]*/,"");
//if (valor.search(/[.]+[0]*$/) > -1) valor = valor.replace(/[.]+[0]*$/,"");	
		if (valor.search(/[.]+[1-9]*[0]*$/) > -1) valor = valor.replace(/[0]*$/,"");	
		if (valor.replace(/[.]*$/,"") != parseFloat(valor) + "") error = "El campo " + ValidaCampo.arguments[3] + " debe ser un numero valido"; 		
//if (valor.replace(/.[0]*$/,"") + "" != parseFloat(valor.replace(/[,]/,".")) + "") error = "El campo " + ValidaCampo.arguments[3] + " debe ser un numero"; 
		}
	else if (ValidaCampo.arguments[1] == 2 && isNaN(Date.parse(valor))) // Comprobamos fecha
		error = "El campo " + ValidaCampo.arguments[3] + " contiene una fecha incorrecta";
	else if (ValidaCampo.arguments[1] == 3 && valor.length > 0)
		{ 	re1 = /(GIF)$/
			re2 = /(JPG)$/	
			valor = valor.toUpperCase();
			if (!re1.test(valor) && !re2.test(valor))
				error = "El archivo " + ValidaCampo.arguments[3] + " debe tener extension GIF ó JPG";
		}
	else if (ValidaCampo.arguments[1] == 4 && valor.length > 0)
		{
			var filtro = /^[a-z||0-9||_||-]+[.][a-z||0-9||_||-]+@[a-z||0-9||_||-]+[.][a-z]{2,3}$/;
			var filtro1 = /^[a-z||0-9||_||-]+@[a-z||0-9||_||-]+[.][a-z]{2,3}$/;                                                      
			var filtro2 = /^[a-z||0-9||_||-]+@[a-z||0-9||_||-]+[.][a-z||0-9||_||-]+[.][a-z]{2,3}$/;                                                                                        
			var filtro3 = /^[a-z||0-9||_||-]+[.][a-z||0-9||_||-]+@[a-z||0-9||_||-]+[.][a-z||0-9||_||-]+[.][a-z]{2,3}$/;
			if (!filtro.test(valor) && !filtro1.test(valor) && !filtro2.test(valor) && !filtro3.test(valor))
				error = "El campo " + ValidaCampo.arguments[3] + " no es correcto";
		}
	else if (ValidaCampo.arguments[1] == 5 && (frm[ValidaCampo.arguments[0]].selectedIndex < 0 || frm[ValidaCampo.arguments[0]].options[frm[ValidaCampo.arguments[0]].selectedIndex].value < 0))
		error = "El campo " + ValidaCampo.arguments[3] + " debe tener una seleccion";
	if (error == "")
		return(true);
	else {
		alert(error);
		frm[ValidaCampo.arguments[0]].focus();	
		return(false);
		}
	}
