
/*************************************************************************************
Modulo 		:    
Descripción :    
Inputs		:    
Autor 		:    JRZ
Fecha/hora	:    08/12/2004
*************************************************************************************/
	
/*************************************************************************************
Modulo 		:    
Descripción :    
Inputs		:    
Autor 		:    JRZ
Fecha/hora	:    08/12/2004
*************************************************************************************/
function ponerFoco(name) {
    document.getElementById(name).focus();
}
function FP_AlertIfIsNotLength(strNameObj,intLength,strAlertMensaje)
{	var Obj = document.all[strNameObj];
	var strValue=""
	strValue = QuitaBlancos(Obj.value)
	if (strValue.length != intLength && strValue.length >0)
	{
		alert(strAlertMensaje);
		if(window.document.getElementById(strNameObj)==null)
		{
		    return false;
		}
		else
		{
		    return true;
		}		
		return true;
	}
}
function FP_AlertIfIsEmpty(strNameObj,strAlertMensaje)
{
	var Obj = document.all[strNameObj];
	if (Obj.value=='')				
	{
		alert(strAlertMensaje);
		if(window.document.getElementById(strNameObj)==null)
		{
		    return false;
		}
		else
		{
		    return true;
		}
	}
}
function FP_AlertIfIsNotNumber(strNameObj,strAlertMensaje)
{
/*************************************************************************************
	Modulo 		:    
	Descripción :    
	Inputs		:    
	Autor 		:    JRZ
	Fecha/hora	:    08/12/2004
	*************************************************************************************/

	var Obj = document.all[strNameObj];
	if (!FP_ValidaNumeroFinal(Obj.value))				
	{
		alert(strAlertMensaje);
		return true;
	}		
}
function FP_AlertIfIsNotNumberDec(strNameObj,strAlertMensaje)
{
/*************************************************************************************
	Modulo 		:    
	Descripción :    
	Inputs		:    
	Autor 		:    JRZ
	Fecha/hora	:    08/12/2004
	*************************************************************************************/

	var Obj = document.all[strNameObj];
	if (!FP_ValidaNumeroDecimalFinal(Obj.value))				
	{
		alert(strAlertMensaje);
		Obj.focus();
		return true;
	}		
}
function FP_AlertIfIsNotDate(strNameObj,strAlertMensaje)
{
/*************************************************************************************
	Modulo 		:    
	Descripción :    
	Inputs		:    
	Autor 		:    JRZ
	Fecha/hora	:    08/12/2004
	*************************************************************************************/

	var Obj = document.all[strNameObj];
	if (!FP_ValidaFechaFinal(Obj.value))		
	{
		alert(strAlertMensaje);
		Obj.focus();
		return true;
	}		
}

function FP_ValidaNumeroFinal(strCad)
{
	var strCadena = new String(strCad);
	if(strCad == "")
		return true;
			
	var valido = "1234567890";
			
	strCadena = strCadena;
	for (i = 0 ; i <= strCadena.length - 1; i++)
	{	
		if (valido.indexOf (strCadena.substring(i,i+1),0) == -1)
		{
			valido = strCadena.substring(i,i + 1);
			return false;
		} 
	}	
	return true;
}
function FP_ValidaNumeroDecimalFinal(strCad)
{
	var strCadena = new String(strCad);
	if(strCad == "")
		return true;
			
	var valido = "1234567890.";
			
	strCadena = strCadena;
	for (i = 0 ; i <= strCadena.length - 1; i++)
	{	
		if (valido.indexOf (strCadena.substring(i,i+1),0) == -1)
		{
			valido = strCadena.substring(i,i + 1);
			return false;
		} 
	}	
	return true;
}
function FP_ValidaFechaFinal(strCad)
{
	var strCadena = new String(strCad);
	if(strCad == "")
		return true;
			
	var valido = "1234567890/";
			
	strCadena = strCadena;
	for (i = 0 ; i <= strCadena.length - 1; i++)
	{	
		if (valido.indexOf (strCadena.substring(i,i+1),0) == -1)
		{
			valido = strCadena.substring(i,i + 1);
			return false;
		} 
	}	
	return true;
}
 function QuitaBlancos(Cadena)
   { while(Cadena.charAt(0) == ' ')
     { Cadena = Cadena.substring(1,Cadena.length)
     }
    
     while(Cadena.charAt(Cadena.length-1) == ' ')
     { Cadena = Cadena.substring(0,Cadena.length-1)
     }
     return (Cadena)
   }


/*************************************************************************************
Modulo 		:    
Descripción :   
Inputs		:    
Autor 		:    JRZ
Fecha/hora	:    08/12/2004
*************************************************************************************/	
function IfKeyEnterDoOnClick()
{	
	FlagButImg =true
	if(window.event.keyCode==13) //Enter
		window.event.srcElement.click();		
}

function IsButImg()
{	if(FlagButImg == true) 
	{	FlagButImg =false;					
		return true;
	}
	else	
		return false;
}
var FlagButImg = false;

function esTeclaNumero(e) {
    var valid = "0123456789";
    var key = String.fromCharCode(event.keyCode);
    if (valid.indexOf("" + key) == "-1") return false;
}
function validarHora(strHora) {
    if (longitudcorrecta(strHora, 5)) {
        strHora += ":00";
    }
    return !(!(/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]/.test(strHora)) || (strHora.substring(0, 2) < 0 || strHora.substring(0, 2) > 23));
}
function formateafecha(valor) {
    var l = StringTokenizer(valor, "/");
    return rellena(l[0], "0", 2) + "/" + rellena(l[1], "0", 2) + "/" + l[2];
}
function estelefono(valor) {
    if (valor == '')
    {return true;}
    var i = 0;
    for (i = 0; i < valor.length; i++) {
        if (!(esNumero2(valor.substring(i, i + 1)) == true || valor.substring(i, i + 1) == '/' || valor.substring(i, i + 1) == '*' || valor.substring(i, i + 1) == '#' || valor.substring(i, i + 1) == '-' || valor.substring(i, i + 1) == ',' || valor.substring(i, i + 1) == ' ')) {            
            return false;         
        }
    }
    return true;
}
function esNumero2(valor) {
    for (i = 0; i < valor.length; i++) {
        if (!(valor.substring(i, i + 1) == '0' || valor.substring(i, i + 1) == '1' || valor.substring(i, i + 1) == '2' || valor.substring(i, i + 1) == '3' || valor.substring(i, i + 1) == '4' || valor.substring(i, i + 1) == '5' || valor.substring(i, i + 1) == '6' || valor.substring(i, i + 1) == '7' || valor.substring(i, i + 1) == '8' || valor.substring(i, i + 1) == '9')) {
            return false;
        }
    }
    return true;
}
function esEntero(numero) {
    tokens = StringTokenizer(numero, '.');
    return ((tokens.length <= 1) && (esnumero(numero)));
}
function validaDecimal(numero, dec) {
    tokens = StringTokenizer(numero, '.');
    return ((tokens.length > 1) ? (tokens[tokens.length - 1].length > 0 && tokens[tokens.length - 1].length <= dec) : true) && (esdecimal(numero));
}
function esdecimal(valor) {
    var pattern = "/\\b(^(\\d+)(\\.\\d+)$)\\b/gi";
    return valor.match(eval(pattern));
}
function validacorreo(myString) {
    if (myString.length <= 0)
    {return true;}
    return myString.match(/\b(^(\S+@).+((\.gob)|(\.com)|(\.net)|(\.edu)|(\.pro)|(\.mil)|(\.gov)|(\.biz)|(\.org)|(\..{2,2}))$)\b/gi)
}
/* fn & ext Rt T F */
function validanombrearchivo(nombre, ext) {
    var pattern = "/\\b(^(((\\S)|(\\s))+)(\\." + ext + ")$)\\b/gi";
    return nombre.match(eval(pattern));
}
/* Rt Arr */
function StringTokenizer(cad, delim) {
    var cads = new Array();
    var n = cad.length;
    var j = 0;
    var ic = 0;
    for (i = 0; i < n; i++) {
        if (cad.charAt(i) == delim) { cads[j] = cad.substring(ic, i); ic = i + 1; j++; }
    }
    cads[j] = cad.substring(ic, n);
    return cads;
}





function comparafecha(fecha1, fecha2) {
    if (!checkdate(fecha1) || !checkdate(fecha2)) return -1;
    dia = fecha1.substring(0, 2)
    mes = fecha1.substring(3, 5)
    anho = fecha1.substring(6, 10)
    fecha1x = anho + mes + dia
    dia = fecha2.substring(0, 2)
    mes = fecha2.substring(3, 5)
    anho = fecha2.substring(6, 10)
    fecha2x = anho + mes + dia
    return (fecha1x > fecha2x ? 1 : (fecha1x < fecha2x ? 2 : 0));
}
function nada() { }
function corta(campo, longitud, cars) {
    if (campo.value.length > longitud) campo.value = campo.value.substring(0, longitud);
    cuenta(campo, cars);
}
function cuenta(campo, cars) { cars.value = campo.value.length; }
function rellena(dato, caracter, tamanho) {
    dato_trim = trim(dato);
    len = dato_trim.length;
    dato_fill = "";
    for (var i = 0; i < tamanho - len; i++) { dato_fill += caracter; }
    dato_fill += dato_trim;
    return dato_fill;
}


function esnulo(campo) { return (campo == null || campo == ""); }
function esnulooguion(campo) {
    return esnulo(campo) || (trim(campo) == "-");
}
function esnumero(campo) { return (!(isNaN(campo))); }
function longitudcorrecta(campo, len) {
    if (campo != null) return (campo.length == len);
    else return false;
}
function mayuscula(campo) { return campo.toUpperCase(); }
function minuscula(campo) { return campo.toLowerCase(); }
function eslongrucok(ruc) { return (ruc.length == 11); }
function eslongcontrasenhaok(contrasenha) {
    return (contrasenha.length >= longcontrasenhaok());
}
function longcontrasenhaok() { return 6; }
function esnegativo(valor) { return (valor < 0); }
function esrucok(ruc) {
    return (!(esnulo(ruc) || !esnumero(ruc) || !eslongrucok(ruc) || !valruc(ruc)));
}
function valruc(valor) {
    valor = trim(valor)
    if (esnumero(valor)) {
        if (valor.length == 8) {
            suma = 0
            for (i = 0; i < valor.length - 1; i++) {
                digito = valor.charAt(i) - '0';
                if (i == 0) suma += (digito * 2)
                else suma += (digito * (valor.length - i))
            }
            resto = suma % 11;
            if (resto == 1) resto = 11;
            if (resto + (valor.charAt(valor.length - 1) - '0') == 11) {
                return true
            }
        } else if (valor.length == 11) {
            suma = 0
            x = 6
            for (i = 0; i < valor.length - 1; i++) {
                if (i == 4) x = 8
                digito = valor.charAt(i) - '0';
                x--
                if (i == 0) suma += (digito * x)
                else suma += (digito * x)
            }
            resto = suma % 11;
            resto = 11 - resto

            if (resto >= 10) resto = resto - 10;
            if (resto == valor.charAt(valor.length - 1) - '0') {
                return true
            }
        }
    }
    return false
}


function longitudmayor(campo, len) {
    return (campo != null) ? (campo.length > len) : false;
}
function estaentre(campo, inicio, fin) {
    if (campo != null) return (campo.length >= inicio && campo.length <= fin);
    else return false;
}
function trim(cadena) {
    cadena2 = "";
    len = cadena.length;
    for (var i = 0; i <= len; i++) if (cadena.charAt(i) != " ") { cadena2 += cadena.charAt(i); }
    return cadena2;
}



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 == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
if (nAno < 1990 || nAno > 2050) {
    bOk = false;
}
return bOk;
}
/*dd/MM/yyyy*/
var mensajeFechaInvalida = 'Fecha inválida';
function valFecha(oTxt) {
    try {
        var bOk = true;
        if (oTxt.value != "") {
            bOk = bOk && (valAno(oTxt));
            bOk = bOk && (valMes(oTxt));
            bOk = bOk && (valDia(oTxt));
            bOk = bOk && (valSep(oTxt));
            if (!bOk) {
                //mensaje=("Fecha inválida");
                oTxt.focus();
                bOk = false;
            }
        }
    }
    catch (everything) {
        // mensaje = ("Fecha inválida");
        oTxt.focus(); bOk = false;
    }
    if (bOk == false) {
        oTxt.style.backgroundColor = '#fde3db'; //document.getElementById('colorInactivo').style.backgroundColor;
    }
    else {
        oTxt.style.backgroundColor = '#FFFFC0'; //document.getElementById('colorActivo').style.backgroundColor;
    }
    return bOk;
}

//<input id="colorInactivo" style="background-color: #fde3db" type="hidden" />
//<input id="colorActivo" style="background-color: #FFFFC0" type="hidden" />
function validarTelefonoOnBlur(obj) {
    var key = String.fromCharCode(event.keyCode); var texto = obj.value + '' + key;
    if (estelefono(texto) == false) {
        event.returnValue = false;
    }
}
function DarFocoVista(obj) {
    document.getElementById(obj).focus();
}
function UrlObtenerQueryString(variable) {
    var remplaza = /\+/gi;
    var url = window.location.href;

    url = unescape(url);
    url = url.replace(remplaza, " ");
    url = url.toUpperCase();
    return UrlObtenerQueryString_Aux(url,variable);
}
function UrlObtenerQueryString_Aux(url,variable) {
    var variable_may = variable.toUpperCase();
    var variable_pos = url.indexOf(variable_may);

    if (variable_pos != -1) {
        var pos_separador = url.indexOf("&", variable_pos);

        if (pos_separador != -1) {
            return url.substring(variable_pos + variable_may.length + 1, pos_separador);
        } else {
            return url.substring(variable_pos + variable_may.length + 1, url.length);
        }
    } else {
        return "NO_ENCONTRADO";
    }
}
