/*************************************************************************************************

* Archivo           validaForm.js

* Descripción		Contiene funciones javascript para la validacion de formularios.

* Autor             José Verdugo Benavides

* Versión           1.0

* Fecha creación	27/07/2008

* Historial de cambios
versión   fecha      	autor   							cambios
=======   ==========    ======================  				=================================


*************************************************************************************************/

function valida_objeto_NoVacio(o,m)
{
	if (o.value == '')	{
		if (m == '') m='Ingrese Información Solicitada';
		alert (m);
		o.focus();
		return false;
	}
	return true;
}

function valida_eq_password(p1,p2,m)
{
	if (m == '') m='La password ingresada es distinta a la password de confirmación';
	if (p1.value != p2.value)
	{
		p1.value='';
		p2.value='';
		alert(m);
		p1.focus();
		return false;
	}
	return true;
}

function confirma (ur) {
	if (confirm("Está seguro que desea eliminar este elemento?")) location.replace(ur);
}

function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
	bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
	return bOk;
}
function finMes(oTxt){
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){
		case 1: nRes = 31; break;
		case 2: nRes = 29; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}
	return nRes;
}
function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.value.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}
function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}
function valAno(oTxt){
	var bOk = true;
	var nAno = oTxt.value.substr(6);
	bOk = bOk && (nAno.length == 4);
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}
	}
	return bOk;
}
function valFecha(oTxt){
	var bOk = true;
	if (oTxt.value != ""){
		bOk = bOk && (valAno(oTxt));
		bOk = bOk && (valMes(oTxt));
		bOk = bOk && (valDia(oTxt));
		bOk = bOk && (valSep(oTxt));
		if (!bOk){
			alert("Fecha inválida. ej: \"21-10-2008\"");
			//oTxt.value = "";
			oTxt.focus();
			return false
		}
	}
	return true;
}

function valida_objeto_Numerico(t,m)
{
	var er = new RegExp("^[0-9]{0,9}$");
		
	if ( !er.test(t.value) )	{
		t.focus();
		alert(m+" menores a 9 digitos");		
		return false;
	}
		
	return true;

}

