 //---------------- fechas  ---------------------



function ValidarFecha(obj)

// recibe el objeto desde el onblur del campo para posicionar el foco

{

	bRet = ValidoDate(obj.value);

	

	if (!bRet) 

	{

		alert("La fecha ingresada no es correcta. Ingrese DIA/MES/AÑO (01/08/2000)");

		obj.focus()

	}

}



function ValidoDate ( sDato, sFormat ) 

// valida un string como fecha valida

{

	var fecha;

	var sDD;

	var sMM;

	var sYYYY;



	bRet = false;



	if (sDato.length == 0) return true;



	if (sDato.charAt(2) != "/") return false;

	if (sDato.charAt(5) != "/") return false;



	if (sDato.length == 10) 

	{

		switch ( sFormat )

		{

			case "dmy" :

			{

				sDD = sDato.substring( 0, 2 );

				sMM = sDato.substring( 3, 5 );

				break;

			}

			case "mdy" :

			{

				sDD = sDato.substring( 3, 5 );

				sMM = sDato.substring( 0, 2 );

				break;

			}

		}

		sYYYY = sDato.substring( 6)   

		fecha = new Date(sYYYY, sMM - 1, sDD)

		fecha.getFullYear();

		if (sYYYY != fecha.getFullYear()

		    || sMM != (fecha.getMonth() + 1) 

			|| (fecha.getFullYear() < 0)) {

				//alert("Fecha Inválida F");

				}

		else

			bRet = true;

	}

	return bRet;

}	



//---------------- numeros  ---------------------



function ValidarNume(obj, Mascara)

// recibe el objeto (para posicionar el foco) y la mascara desde el onblur del campo

{



	F=false;

	for(i=0; i < Mascara.length-1; i++)	

	{

		if (Mascara.charAt(i) != "#") 

		{

			F=true; // es un float

			break;

		}

	}



	if (F)

		bRet = ValidoNumeDeci(obj.value, Mascara);

	else

		bRet = ValidoNumeInt(obj.value, Mascara);

	

	if (!bRet)

	{

		//alert("Número inválido. Formato " + Mascara);

		alert("Debe ingresar valores numéricos")

		obj.value =""

		obj.focus()

	}

	

}



function ValidoNumeDeci (sDato, sMascara) 

// valida un string como numero decimal (mascara con decimales)

{

	var iLongi;

	var iDeciCanti;

	var iEnteCanti;

	var iPosiSepa;



	iLongi = sMascara.length;



	bRet = false;

	

	if (sDato.length == 0) return true;



	iPosiSepa = sMascara.indexOf( ".");

	iEnteCanti = sMascara.substring( 0, iPosiSepa).length;

	iDeciCanti = sMascara.substring(iPosiSepa + 1).length;

	

	iPosiSepa = sDato.indexOf( ".");

	if (iPosiSepa != -1) {	

		if (sDato.substring( 0, iPosiSepa).length > iEnteCanti) return false;

		if (sDato.substring(iPosiSepa + 1).length > iDeciCanti) return false;

	}

	// sDato TODO ENTERO

	else

		if (sDato.length > iEnteCanti) return false;



	// valido caracteres

	

	for(i=0; i <= sDato.length-1; i++)

	{

		if (isNaN(sDato.charAt(i))&&sDato.charAt(i)!=".") 

		{

			return false

		}

	}

	

	bRet = true;

	return bRet;

}





function ValidoNumeInt(sDato, sMascara) 

// valida un string como numero entero (mascara sin decimales)

{

	var iLongi;

	var iDeciCanti;

	var iEnteCanti;

	var iPosiSepa;



	iLongi = sMascara.length;

	bRet = false;

	if (sDato.length == 0) return true;

	iEnteCanti = sMascara.length;

	if (sDato.length > iEnteCanti) return false;

	

	// valido caracteres

	for(i=0; i <= sDato.length-1; i++)

	{

		if (isNaN(sDato.charAt(i))) 

		{

			return false

		}

	}

	

	bRet = true;

	return bRet;

}



function ValidarSQL(obj) {



	var bValido = true;



	for(i=0;i<obj.value.length && bValido; i++) {

		if ((obj.value.charAt(i) == "'") || (obj.value.charCodeAt(i) == 34)) {

			bValido = false;

		}

	}

	if (!bValido) {

		alert("El valor ingresado contiene caracteres inválidos");

		obj.focus();

	}

}



/*

function ValidarEMail(obj) { 

	

	if (obj.value != "") {



		var emailexp = /[a-z_0-9\.]@[a-z_0-9\.]+\.([a-z]{2}|[a-z]{3})$/i;



		if (!emailexp.test(obj.value)) {

			alert("La dirección de e-mail ingresada es inválida");

			obj.focus();

		}

	}

}

*/





function ValidarEMail(obj) { 



	var bVali = ValidoEMail(obj);

	if (!bVali) {

		alert("La dirección de e-mail ingresada es inválida");

		obj.focus();	

	}



}



function ValidoEMail(obj) { 



	var bVali = true;	



	if (obj.value != "") {



		aMail = obj.value.split("@")

		if (aMail.length != 2) {

			bVali = false;

		} else {

			usuaExp = /[a-z_0-9\.]/;

			if (!usuaExp.test(aMail[0])) {

				bVali = false;

			} else {

				aHost = aMail[1].split(".");

				if (aHost.length < 2) {

					bVali = false;

				}

			}



		}



	}



	return bVali;

}


