$(document).ready(function(){

    //acordeon
    if( 
        $('#dt_pregunta1').length && 
        $('#dt_pregunta2').length && 
        $('#dt_pregunta3').length && 
        $('#dt_pregunta4').length && 
        $('#dt_pregunta5').length && 
        $('#dt_pregunta6').length && 
        $('#dt_pregunta7').length && 
        $('#dt_pregunta8').length && 
        $('#dt_pregunta9').length && 
        $('#dt_pregunta10').length && 
        $('#dt_pregunta11').length && 
        $('#dt_pregunta12').length  
       ) 
   {
        $("dd").hide();
        $("dt a").click(function(){           
            $("dd:visible").slideUp("fast");            
            $(this).parent().next().slideDown("fast");
            return false;
        });
	}
})

function calculaMontos(campo)
{
    var valor1 = parseInt($('#ctl00_ContentPlaceHolder1_txtValorPropiedad').val());
    var valor2 = parseInt($('#ctl00_ContentPlaceHolder1_txtMontoCredito').val());
    var valor3 = parseInt($('#ctl00_ContentPlaceHolder1_txtFinanciamiento').val());

    if (campo=="1" && valor1     > 0) //Valor Propiedad
    {
        if (valor2 > 0) //Calcula Financiamiento
        {
            valor3 = Math.round(valor2*100/valor1);
        }
        else
        {
            if (valor3 > 0) //Calcula Monto Crédito
            {
                valor2 = Math.round(valor1*valor3/100);
            }
        }
        
    }
    if (campo=="2" && valor2 > 0) //Monto Crédito
    {
        if (valor1 > 0) //Calcula Financiamiento
        {
            valor3 = Math.round(valor2*100/valor1);
        }
        else
        {
            if (valor3   > 0) //Valor Propiedad
            {
                valor1 = Math.round(valor2*100/valor3);
            }    
        }
    }
    if (campo=="3" && valor3 > 0) // Financiamiento
    {
        if (valor1 > 0) //Calcula Monto Credito
        {
            valor2 = Math.round(valor1*valor3/100);
        }
        else
        {
            if (valor2 > 0) //Valor Propiedad
            {
                valor1 = Math.round(valor2*100/valor3);
            }    
        }
    }
    
    $('#ctl00_ContentPlaceHolder1_txtValorPropiedad').val(valor1>0?valor1:"");
    $('#ctl00_ContentPlaceHolder1_txtMontoCredito').val(valor2>0?valor2:""); 
    $('#ctl00_ContentPlaceHolder1_txtFinanciamiento').val(valor3>0?valor3:"");
}


function valRenta(s, e)
{
    
    e.IsValid = true;
    if (e.Value == '0')
    {        
        e.IsValid = false;
    }        
}

function valRutFinanciamiento(s, e)
{
    valRut(s, e)
    $('#ctl00_ContentPlaceHolder1_txtRut').val(formato_rut($('#ctl00_ContentPlaceHolder1_txtRut').val(), true) )
}


/*Simulador*/
    function pFloat(valor){//Transforma los puntos del valor en comas
		
		var valorFinal = valor.replace(".", "")
		valorFinal = valorFinal.replace(".", "")
		valorFinal = valorFinal.replace(".", "")
		var tmp = valorFinal.indexOf(",");
		if (tmp != -1){
			var a = valorFinal.substring(0, tmp);
			var b = valorFinal.substring(tmp+1);
			valorFinal = a + "." + b;
		}
		return parseFloat(valorFinal);
	}
	
	function decimales(valor){
		
		var tmp = Math.round(valor * 100);
		tmp = parseFloat(tmp/100);
		tmp = tmp.toString();
		
		var posComa = tmp.indexOf(".");
		if(posComa != -1){
			var a = tmp.substring(0, posComa);
			var b = tmp.substring(posComa+1);
		}else{
			var a = tmp;
			var b = "";
		}
		
		var largoDecimales = b.length
		if(largoDecimales == 0){
			b = "00";
		}
		if(largoDecimales == 1){
			b = b + "0";
		}
		
						
		var numFinal = "";
		var numInverso = "";
		var contador = 0;
		var largo=a.length;
		
		for ( i=(largo-1); i>=0; i-- ){
			if (contador == 3){
				numInverso = numInverso + ".";
				contador = 0;
			}
			contador += 1;
			numInverso = numInverso + a.charAt(i);
		}
		var largoInverso = numInverso.length;
		for ( i=(largoInverso-1); i>=0; i-- ){
			numFinal = numFinal + numInverso.charAt(i);
		}
		numFinal = numFinal + "," + b;
		return numFinal;
	}
	
	function sinDecimales(valor){
		
		var tmp = Math.round(valor);
		tmp = tmp.toString();
		
		var numFinal = "";
		var numInverso = "";
		var contador = 0;
		var largo=tmp.length;
		
		for ( i=(largo-1); i>=0; i-- ){
			if (contador == 3){
				numInverso = numInverso + ".";
				contador = 0;
			}
			contador += 1;
			numInverso = numInverso + tmp.charAt(i);
		}
		var largoInverso = numInverso.length;
		for ( i=(largoInverso-1); i>=0; i-- ){
			numFinal = numFinal + numInverso.charAt(i);
		}
		return numFinal;
	}
	
	function mostrarValores(vpUF, mUF, pUF, pieUF){
		document.getElementById(strUbicacion + "tbValorPropiedadUF").value = decimales(vpUF);
  		document.getElementById(strUbicacion + "tbMontoCreditoUF").value = decimales(mUF);
  		document.getElementById(strUbicacion + "tbPorcentajeUF").value = decimales(pUF);
  		document.getElementById(strUbicacion + "tbPieUF").value = decimales(pieUF);
  	}
	
	
	function valorPropiedadUF(){
	   
		var numValorPropiedadUF = document.getElementById(strUbicacion + "tbValorPropiedadUF").value;
		var numMontoCreditoUF = document.getElementById(strUbicacion + "tbMontoCreditoUF").value;
		var numPorcentajeUF = document.getElementById(strUbicacion + "tbPorcentajeUF").value;
		var numPieUF = document.getElementById(strUbicacion + "tbPieUF").value;
		
		//Comprobación de que es número
		comprobacionnumero = /^(([0-9])*(\.)*([0-9])*)+(,)*([0-9])*$/;
		//comprobacionnumero=/^([0-9])*(,|\.)*([0-9])*$/;
		if (comprobacionnumero.test(numValorPropiedadUF)){
			numValorPropiedadUF = pFloat(numValorPropiedadUF);
  			if (numMontoCreditoUF != "" && comprobacionnumero.test(numMontoCreditoUF)){
  				numMontoCreditoUF = pFloat(numMontoCreditoUF);
  				if (numValorPropiedadUF >= numMontoCreditoUF){
  					numPorcentajeUF = (numMontoCreditoUF * 100) / numValorPropiedadUF;
  					numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  				}
  				else{
  					alert("El monto del credito no puede ser superior al valor de la propiedad");
  				}
  			}
  			else{
  				if (numPorcentajeUF != ""){
  					numPorcentajeUF = pFloat(numPorcentajeUF);
  					numMontoCreditoUF = numValorPropiedadUF * numPorcentajeUF / 100;
  					numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  				}
  				else{
  					if (numPieUF != ""){
  						numPieUF = pFloat(numPieUF);
  						if (numValorPropiedadUF >= numPieUF){
  							numMontoCreditoUF = numValorPropiedadUF - numPieUF;
  							numPorcentajeUF = (numMontoCreditoUF * 100) / numValorPropiedadUF;
  							mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  						}
  						else{
  							alert("El pie no puede ser superior al valor de la propiedad");	
  						}
  					}
  					else{
  						numMontoCreditoUF = numValorPropiedadUF;
  						numPorcentajeUF = "100";
  						numPieUF = "0";
  						mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  					}
  				}
  			}
		}
		else if (numValorPropiedadUF != ""){
  			alert("El valor de la Propiedad no es correcto");
			return false;
		}
	}
	
	function montoCreditoUF(){
	
		var numValorPropiedadUF = document.getElementById(strUbicacion + "tbValorPropiedadUF").value;
		var numMontoCreditoUF = document.getElementById(strUbicacion + "tbMontoCreditoUF").value;
		var numPorcentajeUF = document.getElementById(strUbicacion + "tbPorcentajeUF").value;
		var numPieUF = document.getElementById(strUbicacion + "tbPieUF").value;
		
		//Comprobación de que es número
		comprobacionnumero = /^(([0-9])*(\.)*([0-9])*)+(,)*([0-9])*$/;
		//comprobacionnumero=/^([0-9])*(,|\.)*([0-9])*$/;
		if (comprobacionnumero.test(numMontoCreditoUF)){
			numMontoCreditoUF = pFloat(numMontoCreditoUF);
  			if (numValorPropiedadUF != ""){
  				numValorPropiedadUF = pFloat(numValorPropiedadUF);
  				if (numValorPropiedadUF >= numMontoCreditoUF){
  					numPorcentajeUF = (numMontoCreditoUF * 100) / numValorPropiedadUF;
  					numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  				}
  				else{
  					alert("El monto del credito no puede ser superior al valor de la propiedad");
  				}
  			}
  			else{
  				if (numPorcentajeUF != ""){
  					numPorcentajeUF = pFloat(numPorcentajeUF);
  					numValorPropiedadUF = numMontoCreditoUF * 100 / numPorcentajeUF;
  					numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  				}
  				else{
  					if (numPieUF != ""){
  						numPieUF = pFloat(numPieUF);
  						numValorPropiedadUF = numMontoCreditoUF + numPieUF;
  						numPorcentajeUF = (numMontoCreditoUF * 100) / numValorPropiedadUF;
  						mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  					}
  					else{
  						numValorPropiedadUF = numMontoCreditoUF;
  						numPorcentajeUF = "100";
  						numPieUF = "0";
  						mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  					}
  				}
  			}
		}
		else if (numMontoCreditoUF != ""){
  			alert("El valor del monto del crédito no es correcto");
			return false;
		}
	}
	
	function porcentajeUF(){
	
		var numValorPropiedadUF = document.getElementById(strUbicacion + "tbValorPropiedadUF").value;
		var numMontoCreditoUF = document.getElementById(strUbicacion + "tbMontoCreditoUF").value;
		var numPorcentajeUF = document.getElementById(strUbicacion + "tbPorcentajeUF").value;
		var numPieUF = document.getElementById(strUbicacion + "tbPieUF").value;
		
		//Comprobación de que es número
		comprobacionnumero = /^(([0-9])*(\.)*([0-9])*)+(,)*([0-9])*$/;
		//comprobacionnumero=/^([0-9])*(,|\.)*([0-9])*$/;
		if (comprobacionnumero.test(numPorcentajeUF)){
			numPorcentajeUF = pFloat(numPorcentajeUF);
			if(numPorcentajeUF >=1 && numPorcentajeUF <=100){
				if (numValorPropiedadUF != ""){
					numValorPropiedadUF = pFloat(numValorPropiedadUF);
					numMontoCreditoUF = numValorPropiedadUF * numPorcentajeUF / 100;
  					numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
				}
				else{
					if(numMontoCreditoUF != ""){
						numMontoCreditoUF = pFloat(numMontoCreditoUF);
						numValorPropiedadUF = numMontoCreditoUF * 100 / numPorcentajeUF;
  						numPieUF = numValorPropiedadUF - numMontoCreditoUF;
  						mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
					}
					else{
						if(numPieUF != ""){
							numPieUF = pFloat(numPieUF);
							numMontoCreditoUF = (numPieUF * numPorcentajeUF)/(100 - numPorcentajeUF);
							numValorPropiedadUF = numMontoCreditoUF * 100 / numPorcentajeUF;
  							mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
						}
					}
				}
			}
			else{
				alert("El valor del porcentaje debe estar entre 1 y 100");
			}
		}
		else if (numPorcentajeUF != ""){
  			alert("El valor del porcentaje de financiamiento no es correcto");
			return false;
		}
	}
	
	function pieUF(){
	
		var numValorPropiedadUF = document.getElementById(strUbicacion + "tbValorPropiedadUF").value;
		var numMontoCreditoUF = document.getElementById(strUbicacion + "tbMontoCreditoUF").value;
		var numPorcentajeUF = document.getElementById(strUbicacion + "tbPorcentajeUF").value;
		var numPieUF = document.getElementById(strUbicacion + "tbPieUF").value;
		
		//Comprobación de que es número
		comprobacionnumero = /^(([0-9])*(\.)*([0-9])*)+(,)*([0-9])*$/;
		//comprobacionnumero=/^([0-9])*(,|\.)*([0-9])*$/;
		if (comprobacionnumero.test(numPieUF)){
			numPieUF = pFloat(numPieUF);
			if (numValorPropiedadUF != ""){
				numValorPropiedadUF = pFloat(numValorPropiedadUF);
				if (numValorPropiedadUF >= numPieUF){
					numMontoCreditoUF = numValorPropiedadUF - numPieUF;
  					numPorcentajeUF = numMontoCreditoUF * 100 / numValorPropiedadUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
  				}
  				else
  				{
  					alert("El Pie no puede ser mayor que el valor de la propiedad");
  				}
			}
			else{
				if(numMontoCreditoUF != ""){
					numMontoCreditoUF = pFloat(numMontoCreditoUF);
					numValorPropiedadUF = numMontoCreditoUF + numPieUF;
  					numPorcentajeUF = numMontoCreditoUF * 100 / numValorPropiedadUF;
  					mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
				}
				else{
					if(numPorcentajeUF != ""){
						numPorcentajeUF = pFloat(numPorcentajeUF);
						numMontoCreditoUF = (numPieUF * numPorcentajeUF)/(100 - numPorcentajeUF);
						numValorPropiedadUF = numMontoCreditoUF * 100 / numPorcentajeUF;
  						mostrarValores(numValorPropiedadUF, numMontoCreditoUF, numPorcentajeUF, numPieUF)
					}
				}
			}
		}
			
		else if (numPieUF != ""){
  			alert("El valor del pie no es correcto");
			return false;
		}
	}

/*Calculo*/
    function calculoResumen()
    {

        var TasaAnual;
        var Anios;
        var PrecioFinanciar;
        var PrecioPropiedad;
        
        PrecioPropiedad = $(JQstrUbicacion+"tbValorPropiedadUF").val().replace(".","").replace(",",".");
        PrecioFinanciar = $(JQstrUbicacion+"tbMontoCreditoUF").val().replace(".","").replace(",",".");
        TasaAnual = $(JQstrUbicacion+"tbTasaAnual").val().replace(",",".");
        Anios = $(JQstrUbicacion+"ddlAgnos").val();
        
        var numero = dividendoCalcular(TasaAnual, Anios, "UF", PrecioFinanciar, 0, 100);
        var num4 = numero;
        $(JQstrUbicacion+"lblDividendoMensual").text(decimales(numero));        
        var num2 = (PrecioFinanciar * 3) / 10000;
        if (num2 < 0.32) num2 = 0.32;


        var num3 = (PrecioPropiedad * 0.22) / 1000;
        $(JQstrUbicacion+"lblSeguro").text(decimales(num2));
        $(JQstrUbicacion+"lblSeguroIncendio").text(decimales(num3));
        num4 = num4 + num2 + num3;
        $(JQstrUbicacion+"lblDividendoTotal").text(decimales(num4));

    }

    function dividendoCalcular(TasaAnual, Anios, Tipo, PrecioFinanciar, PrecioPropiedad, Porcentaje)
    {
        var num5 = (TasaAnual / 12) / 100;
        var num4 = Anios * 12;
        var num3 = Math.pow(1 + num5, num4);
        if (Tipo != "UF")
        {
            PrecioFinanciar = (PrecioPropiedad * Porcentaje) / 100;
        }
        return ((PrecioFinanciar * (num5 * num3)) / (num3 - 1));
    }


    var postponedCallbackValue = null;

    function Validar()
    {            
        WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$ContentPlaceHolder1$btnCalcular', '', true, 'Simulador', '', false, false));
        if (WebForm_OnSubmit())
        {
            calculoResumen();
        }
        
    }

    function OnEndCallback(s, e) {
        if(postponedCallbackValue != null) {
            CallbackPanel.PerformCallback(postponedCallbackValue);
            postponedCallbackValue = null;
        }
    }
    function OnComboBoxIndexChanged(obj)
    {		
        if(CallbackPanel.InCallback())
            postponedCallbackValue = obj.selectedIndex;
        else
            CallbackPanel.PerformCallback(obj.selectedIndex);        
    }


