﻿function soloNumerosComa(evt,objeto){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var nav4 = window.Event ? true : false;
var key = nav4 ? evt.which : evt.keyCode;
var valor = objeto.value;
   if(valor.indexOf(",")!= -1){  
   	    if (valor.charAt(valor.length-1)=="," || valor.charAt(valor.length-2)==","){
      		return (key <= 13 || (key >= 48 && key <= 57));
      	 }else{
      	  return ( key <= 13);  
         }
   }
   else {
   	     
      return (key <= 13 || (key >= 48 && key <= 57) || key==44); 
   }	  
}
function importeFormatear(importe){
   nuDecimales=2;
   importe= StrReplace(importe.toString(), ".", '');
   importe= StrReplace(importe.toString(), ",", '.');
   importe=redondear(importe, nuDecimales);     
   importe= StrReplace(importe.toString(), ".", ',');
   importe=  importeConFormato(importe, nuDecimales, ",", ".");
   return importe;
}
//Da formato al resultado cuota
function importeFormatearCuota(importe){
   nuDecimales=2;
   importe= StrReplace(importe.toString(), ",", '.');
   importe=redondear(importe, nuDecimales);     
   importe= StrReplace(importe.toString(), ".", ',');
   importe=  importeConFormato(importe, nuDecimales, ",", ".");
   return importe;
}


//  Redondea un nmero a un determinado nmero de decimales.
function redondear(numero,X) {
//  X = (!X ? 2 : X);

  var result= Math.round(numero*Math.pow(10,X))/Math.pow(10,X);
  
	return result;
}
//Da formato al importe
function importeConFormato(num,numDec, decSep, thousandSep){
   if (num==""){
   		return num;
   }

    var  valor;
    var Dec;

    Dec = Math.pow(10, numDec); 

	num= StrReplace(num.toString(), thousandSep, '');
	num= StrReplace(num.toString(), decSep, '.');	

    if (isNaN(num)) {
	    num = "0";
    }

    sign = (num == (num = Math.abs(num)));

    num = Math.floor(num * Dec + 0.50000000001);

    
    cents = num % Dec;

    num = Math.floor(num/Dec).toString(); 

    if (cents < (Dec / 10)) cents = "0" + cents; 

    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)

     num = num.substring(0, num.length - (4 * i + 3)) + thousandSep + num.substring(num.length - (4 * i + 3));

    if (Dec == 1)

     valor=  (((sign)? '': '-') + num);

    else

     valor= (((sign)? '': '-') + num + decSep + cents);

   return valor; 
}

function StrReplace(str1, str2, str3)
{
  str1 = str1.split(str2).join(str3);
  return str1;
}
// fin comunes
function cuotaMensual(importe,interes,plazo) {
       if (plazo!=0){
       		importe=StrReplace(importe, ".","");
        	importe=StrReplace(importe, ",",".");  	
     		interes=interes/100;
     		interes=interes/12;
     		//plazo=plazo*12;
     		var numerador =interes*Math.pow(1+interes,plazo)
        	var denominador = Math.pow(1+interes,plazo)-1; 
        	var aux=importe*(numerador/denominador);
        	return redondear(aux, 2);
        }else{
           return redondear(0, 2);
        }
}
function calcularCalculeCuotaSimulador(){
   var taemensual=0.000001;
   if(document.formSimulador.importeSimulador.value==""){
   	   alert(mesajeImporte);
   }else{
      var importe= StrReplace(document.formSimulador.importeSimulador.value, ".","");
   	  importe= StrReplace(importe, ",",".");
   	  var interesFin=StrReplace(intereses, ",",".");
	    var importe= StrReplace(document.formSimulador.importeSimulador.value, ".","");
	    var importe= StrReplace(importe, ",",".");
	    var num=parseFloat(importe);
	    if ((num<limiteInf)||(num>limiteSuper)){
	          alert(mensajeAutoImporte);
	    }else{
		      var plazoSimulador=document.getElementById("plazoSimulador");
		      var periodo=plazoSimulador[plazoSimulador.selectedIndex].value;
		      var meses=0;  
		      meses=document.formSimulador.plazoSimulador.value;    
		      var iCuota=cuotaMensual(document.formSimulador.importe.value,interesFin, meses);
		      var gastos1=calculoComisionAper(importe);
	        var gastos2=calculoComisionEstu(importe);
	        var gastosTotales = gastos1 + gastos2;
		      if (comision1>0){		      	 
	            var taeAnual=calcularTaeComisiones(document.formSimulador.importe.value,periodo,interesFin,gastosTotales)
	          }else{
		          var taeAnual=calculoTae(document.formSimulador.interesSimulador.value);
			    }
		      importe=importeFormatear(document.formSimulador.importeSimulador.value);
		      document.formSimulador.importeSimulador.value=importe;  
		      iCuota=importeFormatearCuota(iCuota);  
		      taeAnual=importeFormatearCuota(taeAnual);
		      document.formSimulador.importeSimulador2.value=iCuota;    
		      document.formSimulador.taeSimulador.value=taeAnual; 
		      document.formSimulador.plazoSimulador2.value=meses; 
		      gastos1=importeFormatearCuota(gastos1);
		      document.formSimulador.caperSimulador.value=gastos1; 
		      gastos2=importeFormatearCuota(gastos2);
	          document.formSimulador.cestudioSimulador.value=gastos2; 
	        interesFin=importeFormatearCuota(interesFin); 
				  document.formSimulador.tin.value=interesFin; 
				  //mostramos el interes
				  mostrarInteres();
	   }
	}
}

function calculoTae(interes){
    interes=StrReplace(interes, ",",".");
		interesesAux=parseFloat(interes);
    interesesAux=interesesAux/100;
  	 interesesAux=interesesAux/12;
     var auxTae=(Math.pow(interesesAux+1,12)-1);
     auxTae=auxTae * 100;
     return redondear(auxTae, 2);
}
function borrarCalculeCuotaSimulador(){

    document.formSimulador.importeSimulador.value="";
    document.formSimulador.importeSimulador2.value="";
    document.formSimulador.plazoSimulador2.value="";
    document.formSimulador.taeSimulador.value="";
    document.formSimulador.caperSimulador.value="";
    document.formSimulador.cestudioSimulador.value="";
}
function mostrar(nombreCapa) {
	document.getElementById(nombreCapa).style.display="block";
}
function ocultar(nombreCapa)
{
document.getElementById(nombreCapa).style.display="none";
}    
function borrarCalculeImporteSimulador(){
   document.formSimuladorImporte.cuotaSimulador.value="";
   document.formSimuladorImporte.importeSimulador2.value="";
   document.formSimuladorImporte.plazoSimulador2.value="";
   document.formSimuladorImporte.taeSimulador.value="";
   document.formSimuladorImporte.caperSimulador.value="";
   document.formSimuladorImporte.cestudioSimulador.value="";
}

function calcularCalculeImporteSimulador(){
   var taemensual=0.000001;
   var interesFin=StrReplace(intereses, ",",".");
   if(document.formSimuladorImporte.cuotaSimulador.value==""){
   	   alert(mesajeImporte);
   }else{
   	  var importe=document.formSimuladorImporte.cuotaSimulador.value;
   	  var plazoSimuladorImporte=document.getElementById("plazoSimuladorImporte");
	    var periodo=plazoSimuladorImporte[plazoSimuladorImporte.selectedIndex].value;
	    var meses=0;  
	    meses=document.formSimuladorImporte.plazoSimuladorImporte.value;
	    var iCuota=cuotaMensualImporte(importe,interesFin,meses);
	    var gastos1=calculoComisionAper(iCuota);
	    var gastos2=calculoComisionEstu(iCuota);
	    var gastosTotales = gastos1 + gastos2;		 
	    importe=importeFormatear(document.formSimuladorImporte.cuotaSimulador.value);
	    document.formSimuladorImporte.cuotaSimulador.value=importe;  
	    iCuota=importeFormatearCuota(iCuota); 
	    document.formSimuladorImporte.importeSimulador2.value=iCuota;
	     if (comision1>0){	     	   
	           var taeAnual=calcularTaeComisiones(iCuota,periodo,interesFin,gastosTotales); 
	    }else{
		         var taeAnual=calculoTae(document.formSimulador.interesSimulador.value);
			}
	    taeAnual=importeFormatearCuota(taeAnual);
	    document.formSimuladorImporte.taeSimulador.value=taeAnual; 
	    document.formSimuladorImporte.plazoSimulador2.value=meses; 
	    gastos1=importeFormatearCuota(gastos1);
	    document.formSimuladorImporte.caperSimulador.value=gastos1; 
	    gastos2=importeFormatearCuota(gastos2);
	    document.formSimuladorImporte.cestudioSimulador.value=gastos2;
	    interesFin=importeFormatearCuota(interesFin); 
		document.formSimuladorImporte.tin.value=interesFin; 
		//mostramos el interes
		mostrarInteres2(); 
   }
}

function cuotaMensualImporte(importe,interesFin,plazo) {
     
	   if (plazo!=0){
       		importe=StrReplace(importe, ".","");
        	importe=StrReplace(importe, ",",".");  	
     		interesFin=interesFin/100;
     		interesFin=interesFin/12;
     		//plazo=plazo*12;
     		var numerador =importe;
        	var denominador = interesFin*(Math.pow(1+interesFin,plazo))/(Math.pow(1+interesFin,plazo)-1); 
        	var aux=(numerador/denominador);
			return redondear(aux, 2);
        }else{
           return redondear(0, 2);
        }
}
function inicializacionInteres(idiomas,intereses){
    if (idiomas=="pt_PT"){
	   intereses=StrReplace(intereses, ",",".");
	   var aux1=parseFloat(intereses);
	   aux1=aux1*1.04;
	   return aux1;
	}else{
	  intereses=StrReplace(intereses, ",",".");
	  return intereses;
	}
}
 
function calculoTaeAnual(taeMensual){
     var aux=parseFloat(taeMensual);
     var suma=1+aux;
     var resultadoTae=Math.pow(suma,12)-1;
     return resultadoTae;
  }
	function importePorTAEMensual(cuotas, cuota1, cuota2, tae)
		{
		
			var primera=parseFloat(cuota1); 
			var segunda=parseFloat(cuota2);
			var ta=parseFloat(tae);
			var resultado=0;
			var cuota = 0;
		  
			for (var i=1;i<=cuotas;i++)
			{
				
				if (i==1)
				{
					cuota = primera;
				}
				else
				{
					cuota = segunda;
				}
				
				resultado += cuota*(Math.pow((1+ta),-i));
				
			}
			
			return resultado;
		}
   

		
		
function calculoComisionAper(importe){
  var aux=parseFloat(importe);
  comision1=StrReplace(comision1, ",",".");
	var porcent1=parseFloat(comision1);
	porcent1=porcent1/100;
	auxFin=aux*porcent1;
	return auxFin;
}
function calculoComisionEstu(importe){
	var aux=parseFloat(importe);
	comision2=StrReplace(comision2, ",",".");
	var porcent1=parseFloat(comision2);
	porcent1=porcent1/100;
	auxFin=aux*porcent1;
	return auxFin;
}
function calcularTaeComisiones(monta,plazo,interes,gastosTotal) {
  var interes = parseFloat(interes);  
  monta2 = StrReplace(monta,".","");
  monta2 = StrReplace(monta2,",",".");
  
  gastos2 = StrReplace(monta,".","");
  gastos2 = StrReplace(monta2,",",".");
  var comisiones = parseFloat(gastosTotal);

  var cont=0;
  var Periodicidad=12;
  var temp = Math.pow(1 + (interes /(Periodicidad*100)) , plazo);
   
  var a = monta2 * interes /(Periodicidad * 100) / (1 - (1 / temp));
  
  var vmin = 0.0001;
  var vmax = 0.7;
  var vmed = 0.15;
  var AA = monta2 - comisiones;

  var Objetivo;  
var cont =1;
  do
  {   
    var p1 = (AA/a);
    var p2 = 1-Math.pow(Math.pow((1+vmed),(1/Periodicidad)),-(plazo));
    var p3 = Math.pow((1+vmed),(1/Periodicidad))-1;
    
    Objetivo=p1-(p2/p3);    
    if (Objetivo > 0)
      vmax = vmed;
    else
      vmin = vmed;
      
    vmed = (vmax + vmin) / 2;
    cont = cont + 1;
  }
  while (Math.abs(Objetivo) > 0.000001); 
  var TAE1 = vmed * 100;
  
  TAE1 = Math.round(TAE1*10000)/10000;
  
 return(TAE1);

  }
  
  
function mostrarInteres() {
  document.getElementById("tipotin").style.display="block";
	document.getElementById("tipotae").style.display="block";	
}
function mostrarInteres2() {  
	document.getElementById("tipotin2").style.display="block";
	document.getElementById("tipotae2").style.display="block";	
	
}
function quitarInteres() {  
	document.getElementById("tipotin").style.display="none";
	document.getElementById("tipotae").style.display="none";		
}
function quitarInteres2() {  
	document.getElementById("tipotin2").style.display="none";
	document.getElementById("tipotae2").style.display="none";	
	
}