function limpiarRut(strRut){	
	var digVerif ="";
	var digVerifIn ="";
	var straux ="";
	var rutsgnp = "";
	if((strRut.charAt(0)=="0")&&(strRut!=""))
		strRut=strRut.substring(1,strRut.length);		
	for (i=0; i < strRut.length; i++)
		if ((strRut.charAt(i) != ".") && (strRut.charAt(i) != "-") && (strRut.charAt(i)!=" "))
			rutsgnp= rutsgnp + strRut.charAt(i);
	return rutsgnp;
}

function envia_sim(){
	var pregunta1 = "--";
	var pregunta2 = "--";
	var pregunta3 = "--";
	var b_pregunta2 = false;
	var b_pregunta3 = false;
	for (i=0;i<document.sim_hipo.paso2.length;i++)
	{
		if (document.sim_hipo.paso2[i].checked)
		{
			pregunta2 = document.sim_hipo.paso2[i].value;
		}
	}
	
	
	if (pregunta2 == "--") {
		alert("Por favor selecciona por cuánto tiempo deseas pagar un Dividendo Fijo.");
		return;
	} else {
		b_pregunta2 = true;
	}
	
	if (document.sim_hipo.cambioCasa.value=="1")//cambio de casa
	{
		
		
		if (pregunta2 == "si_5"){
			window.location.href="sim_hipo/simcasnue/simcasnue.asp?tiempo=2";
		}
		else{
			window.location.href="sim_hipo/simcasnue/simcasnue.asp?tiempo=3";
		}
	}else{
	
		pregunta3 = document.sim_hipo.paso3.options[document.sim_hipo.paso3.selectedIndex].value;
		
		if (b_pregunta2 && ((pregunta2 == "si_5") || (pregunta2 == "si_todos"))){
			if (pregunta3 == "--") {
				alert("Por favor selecciona si deseas disminuir tu Dividendo postergando una parte del crédito.");
				return;
			} else {
				b_pregunta3 = true;
			} 
		}
	
		if (b_pregunta2 || (b_pregunta3 && ((pregunta2 == "si_5") || (pregunta2 == "si_todos")))){
			if(pregunta2 == "si_1"){
				//graba_log(rut_log,"TV");
				window.location.href="sim_hipo/indexs.asp?simulador=4&ori=&des=24";
			} else {
				if (pregunta3=="no")
					if (pregunta2=="si_todos"){
						//graba_log(rut_log,"TF");
						window.location.href="sim_hipo/indexs.asp?simulador=3&ori=&des=23";
					} else {
						//graba_log(rut_log,"TM");
						window.location.href="sim_hipo/indexs.asp?simulador=10&ori=&des=25";
					}
				else
					if (pregunta2=="si_todos"){
						//graba_log(rut_log,"CPTF");
						window.location.href="sim_hipo/indexs.asp?simulador=5";
					} else {
						//graba_log(rut_log,"CPTM");
						window.location.href="sim_hipo/indexs.asp?simulador=6";
					}
			}
		}
	}
	
}

function envia_sim2(){
	var pregunta2 = "--";	
	
	if (document.sim_hipo.rut.value ==""){
			alert("Por favor ingresa un RUT.");
			document.sim_hipo.rut.focus();
			return;
	} else {
		if (!(el_rut(document.sim_hipo.rut.value))){
			alert ("Por favor ingresa un RUT válido.");
			document.sim_hipo.rut.focus();
			return;
		} else {
			formatearRut(document.sim_hipo.rut.value);
		}
	}
	if (!emailCheck(document.sim_hipo.email.value)){
		alert("Debe ingresar una dirección de email válido");
		document.sim_hipo.email.focus();
		return;
	}
	var email = document.sim_hipo.email.value;

	if (document.sim_hipo.ckbRespuesta[0].checked==true){
		pregunta2 = "si";
	}else{
		pregunta2 = "no";
	}

	if ((document.sim_hipo.ckbRespuesta[0].checked==false)&&(document.sim_hipo.ckbRespuesta[1].checked==false)){
		alert("Por favor selecciona si necesitas un crédito hipotecario nuevo");
		return;
	}

	rut_log = new String(limpiarRut(document.sim_hipo.rut.value));
	rut_log = rut_log.substr(0,rut_log.length-1) + "-" + rut_log.substr(rut_log.length-1,1);

	if (pregunta2 == "si"){
		//redireccionar al cambio de casa
		graba_log(rut_log,email,"CCTV",pregunta2);
		window.location.href="sim_hipo/simcasnue/simcasnue.asp?tiempo=1";
	}
	else{
		//simulador tasa variable
		graba_log(rut_log,email,"TV",pregunta2);
		window.location.href="sim_hipo/indexs.asp?simulador=4&ori=&des=25&inicio=si";
	}

	

}

function envia_sim3(){
	var pregunta1 = "--";
	var pregunta2 = "--";
	var pregunta3 = "--";
	var b_pregunta2 = false;
	var b_pregunta3 = false;
	
	
	if (document.sim_hipo.rut.value ==""){
			alert("Por favor ingresa un RUT.");
			document.sim_hipo.rut.focus();
			return;
	} else {
		if (!(el_rut(document.sim_hipo.rut.value))){
			alert ("Por favor ingresa un RUT válido.");
			document.sim_hipo.rut.focus();
			return;
		} else {
			formatearRut(document.sim_hipo.rut.value);
		}
	}
	if (!emailCheck(document.sim_hipo.email.value)){
		alert("Debe ingresar una dirección de email válido");
		document.sim_hipo.email.focus();
		return;
	}
	var email = document.sim_hipo.email.value;

	/*
	if ((document.sim_hipo.ckbRespuesta[0].checked==false)&&(document.sim_hipo.ckbRespuesta[1].checked==false)){
		alert("Por favor selecciona si necesitas un crédito hipotecario nuevo");
		return;
	}
	*/

	if (document.sim_hipo.ckbRespuesta[0].checked==false&&document.sim_hipo.ckbRespuesta[1].checked==false){
		alert("Por favor selecciona si necesitas un crédito hipotecario nuevo");
		return;
	}
	if (document.sim_hipo.ckbRespuesta[0].checked==true){
		pregunta2 = "uno";
	}else{
		if (document.sim_hipo.ckbRespuestab[0].checked==false){
			pregunta2 = "dos";
		}else{
			if (document.sim_hipo.ckbRespuestac[0].checked==true){
				pregunta2 = "mixto";				
			}else{
				pregunta2 = "fijo";
			}			
		}
	}

	rut_log = new String(limpiarRut(document.sim_hipo.rut.value));
	rut_log = rut_log.substr(0,rut_log.length-1) + "-" + rut_log.substr(rut_log.length-1,1);

	if (pregunta2 == "uno"){
		//redireccionar al cambio de casa
		graba_log(rut_log,email,"CCTV",pregunta2);
		window.location.href="sim_hipo/simcasnue/simcasnue.asp?tiempo=1&rut="+rut_log+"&email="+email;
	}
	if (pregunta2 == "dos"){
		//simulador tasa variable
		graba_log(rut_log,email,"TV",pregunta2);
		window.location.href="sim_hipo/indexs.asp?simulador=3&ori=&des=25&inicio=si";
	}
	if (pregunta2 == "fijo"){
		window.location.href="sim_hipo/indexs.asp?simulador=7&ori=&des=25&inicio=si";
	}	
	if (pregunta2 == "mixto"){
		window.location.href="sim_hipo/indexs.asp?simulador=8&ori=&des=25&inicio=si";
	}	
}

function muestra(que, como){
	if(typeof que == "string")
		elemento = getElement(que);
	else
		elemento = que;
	//alert(elemento);
	elemento.style.display = (como==0)? "none":"block";
}

function el_rut(strRut){
	if (strRut==""){
			alert("Por favor ingresa un RUT.");
			return (false);
	} else {
			strRut=limpiarRut(strRut);
			return (verificarRut(strRut));
	}
}

//--------------------------------------
//function limpiarRut
//Objetivo: Solo Limpieza de RUT de ceros a la izquierda, guiones y puntos(deja digitos y k)
//Parametro(s):(input)String con Rut
//(output) String con rut limpio
//Uso: desde fnc. verificarRutGeneral
//Requiere:  
//--------------------------------------
function limpiarRut(strRutIn){	
	//document.autent.rut.value = document.autent.d_rut.value;
	 strRut = new String(strRutIn)
	var digVerif ="";
	var digVerifIn ="";
	var straux ="";
	var rutsgnp = "";
	while((new Number(strRut.charAt(0))==0)&&(strRut!="")){
		strRut=strRut.substring(1,strRut.length);		
	}
	for (i=0; i < strRut.length; i++)
	{
		if ((strRut.charAt(i) != ".") && (strRut.charAt(i) != "-") && (strRut.charAt(i)!=" "))
			rutsgnp= rutsgnp + strRut.charAt(i);
	   }
	return rutsgnp;
}

//--------------------------------------
//function verificarRut
//Objetivo: Solo Verificacion del string RUT
//Parametro(s):(input)String con Rut
//(output) true si el rut es correcto, false si no
//Uso: desde fnc. verificarRutGeneral
//Requiere:  fnc. solonumeros, digitoVerificador
//--------------------------------------
function verificarRut(strRut)
{	
	if (strRut != "")  
	{
	   straux = strRut.substring(strRut.length-1,strRut.length);
	   if (straux == "k") 
		 digVerifIn = straux.toUpperCase()
	   else
		 digVerifIn = straux;
	   straux = strRut.substring(0,strRut.length-1);
	   if (soloNumeros(straux) == 0)
		 digVerif = "KX"
	   else
		 digVerif = digitoVerificador(straux);

	   if(digVerif == digVerifIn){
			accionInterna=1;
			return true;
			}
	   else 
	   {
		   accionInterna=0;		   
		   return false;
		}
	} 
	else
	{	
		return false;
	}
}
//--------------------------------------
//function soloNumeros
//Objetivo: Verifica que existan solo numeros.
//Parametro(s):(input)String 
//(output) 1 sin son solo numeros, 0 en caso contrario
//Uso: desde fnc. verificarRut y verificarRutGeneral
//Requiere:  
//--------------------------------------
function soloNumeros(strIn) {
  var Nros="1234567890";
  var CrtrAux;
  var iaux=0;
  for (var i=0; i < strIn.length; i++)
  {
    CrtrAux = strIn.charAt(i);
    if (Nros.indexOf(CrtrAux) != -1)
      iaux++;
  }
  if ((iaux != strIn.length) || (strIn.length==0)){
   	return 0
	}
  else
    return 1;
}
//--------------------------------------
//function digitoVerificador
//Objetivo: Retornar el Digito verificador de un RUT.
//Parametro(s):(input)String de ingreso de rut (incluyendo el DV).
//(output) DV obtenido
//Uso: desde fnc. verificarRut
//Requiere:  
//--------------------------------------
function digitoVerificador(strRut) {
    var Largo, LargoN, i, Total;
    var Numero="", Verif, Carac, CaracVal;
    var tmpRut,intTmp;
    
    tmpRut = strRut;
    Largo = tmpRut.length;
    LargoN = 0;
    for(i=0;i<Largo;i++) {
        Carac = parseInt(tmpRut.charAt(i),10);
        if(Carac >=0 && Carac <=9) {
			Numero+=tmpRut.charAt(i);
            LargoN++;
	 	}
    }
	Total=0;
    for(i=LargoN-1;i>=0;i--) {
		if((LargoN - i) < 7) {
		   intTmp=LargoN - i + 1;
		} else {
		   intTmp=LargoN - i - 5;
		}
        Total+= parseInt(Numero.charAt(i),10) * intTmp 
    }
    
    CaracVal = 11 - (Total % 11)

    if(CaracVal==10) {
       return('K');
	}
	
	if(CaracVal >=0 && CaracVal <=9) {
       return(CaracVal);
	}
	
	if(CaracVal==11) {
	   return(0);
    }
}
//--------------------------------------
//function formatearRut
//Objetivo: Formateo del RUT
//Parametro(s):(input)String con Rut
//(output) imprime rut formateado en cuadro de texto
//Uso: desde fnc. verificarRutGeneral
//Requiere:  
//--------------------------------------
function formatearRut(strRutIn){
	strRutIn = limpiarRut(strRutIn);
	strRut = new String(strRutIn);
	straux = strRut.substring(strRut.length-1,strRut.length);
	rutsgnp= strRut.substring(0,strRut.length-1);

	strAuxArray = new Array(0,0,0);
	strAuxArray[0]=rutsgnp.substring(rutsgnp.length-3,rutsgnp.length);
	strAuxArray[1]=rutsgnp.substring(rutsgnp.length-6,rutsgnp.length-3);
	strAuxArray[2]=rutsgnp.substring(0,rutsgnp.length-6);
	i=0;
	rutsgnp="-"+straux;
	for (i=0; i < 3; i++){
		if (strAuxArray[i]==""){
			i=3;
		}else{
			if (i>0){
				rutsgnp="."+rutsgnp;
			}
			rutsgnp=strAuxArray[i]+rutsgnp;
		}
	}
	document.sim_hipo.rut.value=rutsgnp;
	
}

function graba_log(rut,email,codigo,pregunta2){
	
	var i = new Image();
	i.src="log.asp?rut="+rut+"&email="+email+"&codigo="+codigo+"&cambioCasa="+pregunta2+"dl=" + Math.random()*1000;
}

/***************VERIFICA MAIL*******/
		function emailCheck(emailStr) {
			
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=emailStr.match(emailPat);
		if (matchArray==null) {
			return false;
		}
		
		var user=matchArray[1];
		var domain=matchArray[2];
		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				return false;
			   }
		}
		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				return false;
			   }
		}
		if (user.match(userPat)==null) {
			return false;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			   }
			}
			return true;
		}
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
		   }
		}
		if (checkTLD && domArr[domArr.length-1].length!=2 && 
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
			return false;
		}
		if (len<2) {
			return false;
		}
		
		return true;
		
	}
/*************FIN MAIL**************/

