//*************************************************************
// MODULO 11 PARA VALIDACION DE RUC EMPRESAS
//*************************************************************
function GFun_Obtiene_Digito_Verificador_11 (P_St_Numero, P_St_Coeficiente){
var Vt_In_Contador	 = 0;
var Vt_In_Contador_2 = 0;
var Vt_In_Suma       = 0;
var Vt_In_Auxiliar   = 0;
var Vt_In_Residuo    = 0;

	if (P_St_Numero.length != P_St_Coeficiente.length) {
		return(-1);
	}
	
	while(Vt_In_Contador < P_St_Numero.length) {
	
		Vt_In_Auxiliar =  parseInt(P_St_Coeficiente.substr(Vt_In_Contador,1)) * (parseInt(P_St_Numero.substr(Vt_In_Contador,1))); 
		Vt_In_Suma       = Vt_In_Suma + Vt_In_Auxiliar;

		Vt_In_Auxiliar   = 0;
		Vt_In_Contador   = Vt_In_Contador + 1;
		Vt_In_Contador_2 = Vt_In_Contador_2 - 1;
	
	}

	Vt_In_Residuo = (Vt_In_Suma % 11);
	
	if(Vt_In_Residuo==0){
		Vt_In_Residuo = 0;
	}
	else {
		Vt_In_Residuo = 11 - Vt_In_Residuo;
	}
	
	return(Vt_In_Residuo);

}



//*************************************************************
// MODULO 10 PARA VALIDACION DE CEDULA Y RUC PERSONA NATURAL
//*************************************************************
function GFun_Obtiene_Digito_Verificador_10 (P_St_Numero, P_St_Coeficiente){
var Vt_In_Contador	 = 0;
var Vt_In_Contador_2 = 0;
var Vt_In_Suma       = 0;
var Vt_In_Auxiliar   = 0;
var Vt_In_Residuo    = 0;

	if (P_St_Numero.length != P_St_Coeficiente.length) {
		return(-1);
	}
	
	while(Vt_In_Contador < P_St_Numero.length) {
	
		Vt_In_Auxiliar = parseInt(P_St_Coeficiente.substr(Vt_In_Contador,1)) * (parseInt(P_St_Numero.substr(Vt_In_Contador,1))); 
	
		if (Vt_In_Auxiliar > 9) {
			Vt_In_Auxiliar = Vt_In_Auxiliar % 9;
			if (Vt_In_Auxiliar == 0) {
			   Vt_In_Auxiliar = 9;
			}
		}
	
		Vt_In_Suma       = Vt_In_Suma + Vt_In_Auxiliar;
		Vt_In_Auxiliar   = 0;
		Vt_In_Contador   = Vt_In_Contador + 1;
		Vt_In_Contador_2 = Vt_In_Contador_2 - 1;
	
	}
	
	Vt_In_Residuo = (Vt_In_Suma % 10);
	
	if(Vt_In_Residuo==0){
		Vt_In_Residuo = 0;
	}
	else {
		Vt_In_Residuo = 10 - Vt_In_Residuo;
	}
	return(Vt_In_Residuo);

}


function GFun_Valida_Documento_Indentificacion(P_St_Cadena, P_St_Tipo_Identificacion) {
	
	var Vt_St_Mensaje_Error;
	Vt_St_Mensaje_Error = "Identificacion incorrecta";
	
	if (P_St_Tipo_Identificacion == "1") {

		if (P_St_Cadena.length != 10) {
			alert(Vt_St_Mensaje_Error);
			return null;
		}

		if (P_St_Cadena.substr(9,1) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
			return("CED");
			}
		else{
			alert(Vt_St_Mensaje_Error);
			return null;
		}
	}
	else{
		if (P_St_Cadena.length != 13) {
			alert(Vt_St_Mensaje_Error);
			return null;
		}

		Vt_Bo_TipoID = parseInt(P_St_Cadena.substr(2,1));
		switch (Vt_Bo_TipoID) {
			case 9:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_11(P_St_Cadena.substr(0,9), "432765432")) {
					return("PRI");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}

			case 6:
				if (parseInt(P_St_Cadena.substr(8,1)) == GFun_Obtiene_Digito_Verificador_11(P_St_Cadena.substr(0,8), "32765432")) {
					return("PUB");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}

			case 0:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}
				



			case 1:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}



			case 2:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}

			case 3:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}

			case 4:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}

			case 5:
				if (parseInt(P_St_Cadena.substr(9,1)) == GFun_Obtiene_Digito_Verificador_10(P_St_Cadena.substr(0,9), "212121212")) {
					return("NAT");
					}
				else{
					alert(Vt_St_Mensaje_Error);
					return null;
				}



		}
	}

}



function GFun_St_Convierte_Numero_Entero(P_Vr_Valor){ 
    //intento convertir a entero. 
    //si era un entero no le afecta, si no lo era lo intenta convertir 
    P_Vr_Valor = parseInt(P_Vr_Valor) 

    //Compruebo si es un valor numérico 
    if (isNaN(P_Vr_Valor)) { 
       //entonces (no es numero) devuelvo el valor cadena vacia 
       return "" 
    }else{ 
       //En caso contrario (Si era un número) devuelvo el valor 
       return P_Vr_Valor 
    } 
} 



function GFun_Bo_Valida_Correo(P_St_Cadena){
	ingreso = new String() 
	ingreso = P_St_Cadena

	if (ingreso.length == 0) { 
		alert("Debe especifcar email") 
		return false 
	} 

	ingreso = P_St_Cadena;
	
	if (!ingreso.match("@")) { 
		alert("Debe especificar @") 
		return false 
	} 

	ingreso = P_St_Cadena;
	
	if (!ingreso.match(".")) { 
		alert("Debe especificar punto.") 
		return false 
	} 
	
	return true 
}

