var capital="<%=cap%>";
	    var importe,interes,plazo;
        var foco=1;
        var pfoco1=0;
        var pfoco2=0;
        var pfoco3=0;
        var pfoco4=0;
//window.open('http://www.bsmarkets.com/esp/doc/contents/mainEURIBOR.htm','_blank', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=335,left=800,top=300');        
function redondea()
{
 if(!NiftyCheck())
 return;
 RoundedTop("td.cabetop","#FFF","#6634cb");
}

function checkdatos() 
 {
   importe=document.getElementById('importe').value;
   interes=document.getElementById('tipo').value;
   plazo=document.getElementById('plazo').value;
   if(plazo>60&&document.getElementById('mes').selectedIndex==0){controlerror(7);return;}
   cuota=document.getElementById('cuota').value;
   document.getElementById('titletabla').innerHTML="";
   document.getElementById('tabla').innerHTML="";
   document.getElementById('msg').innerHTML="Deja en blanco el valor que quieras calcular.";
   //document.getElementById('boton1').innerHTML="<A HREF='javascript:onclick=window.close()'><img src='http://www.arriendopiso.com/pics/cerrar.gif' border='0'></A>";
 
   if ((importe!= 0 || importe.length != 0)&&(interes!= 0 || interes.length != 0)&&(plazo!= 0 ||plazo.length != 0)&&(cuota==0 || cuota.length==0))
   {calcularcuota(importe,interes,plazo);}
    else
     if ((importe!= 0 || importe.length != 0)&&(cuota!= 0 || cuota.length != 0)&&(plazo!= 0 ||plazo.length != 0)&&(interes==0 || interes.length==0))
     {calcularinteres(importe,cuota,plazo);}
       else
        if ((importe!= 0 || importe.length != 0)&&(cuota!= 0 || cuota.length != 0)&&(plazo== 0 ||plazo.length == 0)&&(interes!=0 || interes.length!=0))
        {calcularplazo(importe,interes,cuota);}
		  else
		   if ((importe== 0 || importe.length == 0)&&(cuota!= 0 || cuota.length != 0)&&(plazo!= 0 ||plazo.length != 0)&&(interes!=0 || interes.length!=0))
		   {calcularcapital(cuota,interes,plazo);}
			 else
			  if ((importe!= 0 || importe.length != 0)&&(cuota!= 0 || cuota.length != 0)&&(plazo!= 0 ||plazo.length != 0)&&(interes!=0 || interes.length!=0))
		      {controlerror(1);}
			    else
			     {controlerror(2);}
}
  

function calcularinteres(capitalpedido,cuotaapagar,plazo)
 {
   mes=document.getElementById('mes').value;
   if (mes==0){plazo = plazo * 12.0;}
   intRate = 20.0 / 1200.0
   inc_tipo_mensual = 10.0 / 1200.0
   y  = 1.0 + intRate
   cuotaapagar_actual = Math.round(capitalpedido * intRate * Math.pow(y,plazo) / ( Math.pow(y,plazo) - 1 ))
	 //cuotaapagar_actual=Math.floor((capitalpedido*intRate)/(1-Math.pow(1+intRate,(-1*months)))*100)/100;
   var contador=0
   if (cuotaapagar*plazo<capitalpedido)
    {
    controlerror(5);
    return;
    }
   var cuotaapagar_redondeada=Math.round(cuotaapagar)
	 while ( cuotaapagar_actual != cuotaapagar_redondeada && contador<40)
	   {
		y  = 1.0 + intRate
		cuotaapagar_actual = Math.round(capitalpedido * intRate * Math.pow(y,plazo) / ( Math.pow(y,plazo) - 1 ))
		if (cuotaapagar_actual==cuotaapagar_redondeada || contador==40){ inc_tipo_mensual=0;}
		if (cuotaapagar_actual > cuotaapagar){intRate= intRate - inc_tipo_mensual}
		 else {intRate= intRate + inc_tipo_mensual;}
		inc_tipo_mensual = inc_tipo_mensual / 2.0
		contador++;
	  }
	if (contador==40) {
	  controlerror(3);
	  return
	}
	intRate = intRate * 1200.0;
	intRate=Math.round(intRate * 100.0) / 100.0;
	document.getElementById('tipo').value = intRate.toFixed(2);
	intRate = (intRate.toFixed(2)/100) / 12;
	creatabla(capitalpedido,plazo,cuotaapagar,intRate);
   }

function calcularcuota(capitalpedido,interes,plazo) 
{
  intRate = (interes/100) / 12;
  mes=document.getElementById('mes').value;
  if (mes==0){months = plazo * 12;}else {months=plazo;}
  var cuotaapagar=Math.floor((capitalpedido*intRate)/(1-Math.pow(1+intRate,(-1*months)))*100)/100;
  document.getElementById('cuota').value = cuotaapagar;
  creatabla(capitalpedido,months,cuotaapagar,intRate)
}

function calcularplazo(capitalpedido,interes,cuotaapagar)
{
  plazo = Math.round(Math.log(1-(capitalpedido*interes/(cuotaapagar*1200)))/(-1*Math.log(1+interes/1200)))
  document.getElementById('plazo').value=Math.round(plazo/12);
  document.getElementById('mes').selectedIndex=0;
  if (isNaN(plazo) || isFinite(plazo)==false) {
    document.getElementById('plazo').value=0;
    controlerror(4);
  }
  else {intRate = (interes/100) / 12;creatabla(capitalpedido,plazo,cuotaapagar,intRate);}
}
	
function calcularcapital(cuotaapagar,interes,plazo)
{	
  var capitalpedido=Math.round(cuotaapagar*((1-Math.pow(1+interes/1200,-plazo*12))/(interes/1200)))
  document.getElementById('importe').value=capitalpedido;
  intRate = (interes/100) / 12;
  creatabla(capitalpedido,plazo,cuotaapagar,intRate);
}


function creatabla(capitalpedido,months,cuotaapagar,intRate)
{
  var totalamortizado=0;
  var capitalpendiente=capitalpedido;
 
 var aux="<table cellSpacing=0 cellPadding=0 width=800 border=0 align=center>";
 aux=aux+"<tr>";
 aux=aux+"<td height=2 width=800 bgcolor='#6634cb' colspan=5></td></tr><tr>";
 aux=aux+"<td width=80 height=20></td>";
 aux=aux+"<td width=20 height=20><img alt='' src='http://www.arriendopiso.com/pics/pieizq.gif' width=20 height=20></td>";
 aux=aux+"<td width=600 bgcolor='#6634cb' align=center><font class='blanco10'>Tabla de amortización.</font></td>";
 aux=aux+"<td width=20 height=20><img alt='' src='http://www.arriendopiso.com/pics/pieder.gif' width=20 height=20></td>";
 aux=aux+"<td width=80 height=20></td>";
 aux=aux+"</tr>";
 aux=aux+"<tr>";
 aux=aux+"<td colspan=5>";
  aux=aux+"<table cellSpacing=0 cellPadding=0 width=570 border=0 align=center>";
  aux=aux+"<tr>";
  aux=aux+"<td>";
    aux=aux+"<div class=gradient><div class=ladoright><div class=inferior><div class=ladoleft><div class=bottomleft><div class=bottomright><div style='padding:5px 5px 5px 5px;WIDTH:570px;HEIGHT:20px;'>";
        aux=aux+"<table cellSpacing=0 cellPadding=0 width=570 border=0><tr>";
     aux=aux+"<td width=40 align=left><font class=morado11b>Mes</font></td><td width=130 align=left><font class=morado11b>Capital vivo</font></td><td width=80 align=left><font class=morado11b>Inter&#0233;s</font></td><td width=80 align=left><font class=morado11b>Amort.</font></td><td width=140 align=left><font class=morado11b>Total Amortizado</font></td><td align=left width=90><font class=morado11b>Cuota</font></td>";
     aux=aux+"</tr></table>";
     aux=aux+"</div></div></div></div></div></div></div>";
  aux=aux+"</td></tr>";
  aux=aux+"</table></td>";
 aux=aux+"</tr>";
 aux=aux+"</table>";
 document.getElementById('titletabla').innerHTML=aux;

  var aux="<table cellSpacing=0 cellPadding=0 width=550 border=0 align=center><tr>";
  for(var i=1;i<=months;i++)
    {
      cuotaintereses=capitalpendiente*(intRate);
      amortizacion=cuotaapagar-cuotaintereses;
      capitalpendiente=capitalpendiente-amortizacion;
      if (i % 2 == 0) {color="#eaeaea";}else {color="white";}
      aux=aux+"<tr bgcolor="+color+"><td width=50 ><font class=morado10>"+i+"</font></td>";
      result=Math.round(capitalpendiente*100)/100;
      aux=aux+"<td width=130><font class=morado10>"+result+"</font></td>";
      result=Math.round(cuotaintereses*100)/100;
      aux=aux+"<td width=80><font class=morado10>"+result+"</font></td>";
      result=Math.round(amortizacion*100)/100;
      aux=aux+"<td width=80><font class=morado10>"+result+"</font></td>";
      totalamortizado=totalamortizado+amortizacion;
      result=Math.round(totalamortizado*100)/100;
      aux=aux+"<td width=140><font class=morado10>"+result+"</font></td>";
      aux=aux+"<td width=80><font class=morado10>"+cuotaapagar+"</font></td></tr>";
    }
  aux=aux+"</tr></table>";
  aux=aux+"<font class=morado10>Esta calculadora de hipotecas es un simulador. Arriendopiso.com no se hace responsable<br> sobre el uso de los cálculos realizados.</font>"
  document.getElementById('tabla').innerHTML=aux;
  document.getElementById('pagos').innerHTML=months+" mensualidades.";
  //document.getElementById('boton1').innerHTML="<A HREF='javascript:window.print()' alt=Imprimir><img src='http://www.arriendopiso.com/pics/imprimir.gif' border='0'></A>&nbsp;&nbsp;<A HREF='javascript:onclick=window.close()'><img src='http://www.arriendopiso.com/pics/cerrar.gif' border='0'></A>";
  
  if(checkcampo(document.getElementById('importe').value)){pfoco1=1;}else{pfoco1=0;}
  if(checkcampo(document.getElementById('tipo').value)){pfoco3=1;}else{pfoco3=0;}
  if(checkcampo(document.getElementById('cuota').value)){pfoco4=1;}else{pfoco4=0;}
}

function controlerror(numerror)
{
 switch (numerror)
 {
  case 1:document.getElementById('pagos').innerHTML="";document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>Todos los valores están calculados. Deja en blanco el valor que quieras calcular.</font>";break;
  case 2:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>No se pueden dejar dos o más valores vacios.</font>";break;
  case 3:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>No se puede calcular el tipo de interés, indique una cuota a pagar inferior.</font>";document.getElementById('cuota').focus();break;
  case 4:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>No se puede calcular el plazo, Alguno de los datos introducidos excede límites.</font>";break;
  case 5:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>No se puede calcular el tipo de interés, indique una cuota a pagar superior.</font>";document.getElementById('cuota').focus();break;
  case 6:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>Solo se permiten valores númericos.</font>";break;
  case 7:document.getElementById('msg').innerHTML="<img src='http://www.arriendopiso.com/pics/interrogacion.gif' height=16 width=18/><font class=morado11s>El plazo introducido excede los límites.</font>";document.getElementById('plazo').focus();break;  
 }
}

function clrscreen()
{
 document.getElementById('importe').value="";
 document.getElementById('tipo').value="";
 document.getElementById('plazo').value="";
 document.getElementById('cuota').value="";
 document.getElementById('titletabla').innerHTML="";
 document.getElementById('tabla').innerHTML="";
 document.getElementById('msg').innerHTML="Deja en blanco el valor que quieras calcular.";
 document.getElementById('pagos').innerHTML="";
 //document.getElementById('boton1').innerHTML="<A HREF='javascript:onclick=window.close()'><img src='http://www.arriendopiso.com/pics/cerrar.gif' border='0'></A>";
 foco=1;
 pfoco1=0;
 pfoco2=0;
 pfoco3=0;
 pfoco4=0;
}  
function pad(numero)
{
 if(numero=='c')
 {
  clrscreen();
  return;
 }
 if(foco==1)
  {
   var aux=document.getElementById('importe').value;
   if(numero=="d")
   {
    borrado=aux.substring(aux.length-1,aux.length);
    aux=aux.substring(0,aux.length-1);
    if(borrado=="."){pfoco1=0;}
   }
   else
   {
   if (aux.length<8){
    if(pfoco1==0&&numero=="."){aux=""+aux+numero;pfoco1=1;}
    else
     if(pfoco1==1&&numero=="."){aux=""+aux;}
      else
       {aux=""+aux+numero;}
     }else{
     if(pfoco1==0&&numero=="."){aux=""+aux+numero;pfoco1=1;}
      else
       if(pfoco1==1&&numero=="."){aux=""+aux;}
        else
         {aux=aux.substring(0,8);}
     }
   }
    document.getElementById('importe').value=""+aux;
  }
  
  if(foco==2)
  {
   var aux=document.getElementById('plazo').value;
   if(numero=="d")
   {
    borrado=aux.substring(aux.length-1,aux.length);
    aux=aux.substring(0,aux.length-1);
    }
   else
   {
   if (aux.length<4){
   if(numero!=".")
   {aux=""+aux+numero;}
   }else{ if(numero!="."){aux=""+aux+numero};aux=aux.substring(0,4);}
   }
   document.getElementById('plazo').value=aux;
  }
  
  if(foco==3)
  {
   var aux=document.getElementById('tipo').value;
   if(numero=="d")
   {
    borrado=aux.substring(aux.length-1,aux.length);
    aux=aux.substring(0,aux.length-1);
    if(borrado=="."){pfoco3=0;}
   }
   else
   {
   if (aux.length<4)
    {
    if(pfoco3==0&&numero=="."){aux=""+aux+numero;pfoco3=1;}
     else
      if(pfoco3==1&&numero=="."){aux=""+aux;}
       else{aux=""+aux+numero;}
    }
   else {
    if(pfoco3==0&&numero=="."){aux=""+aux+numero;pfoco3=1;}
     else
      if(pfoco3==1&&numero=="."){aux=""+aux;}
       else{aux=aux.substring(0,4);}
   }
   
   }
   document.getElementById('tipo').value=aux;
  
  }
  
  if(foco==4)
  {
   var aux=document.getElementById('cuota').value;
   if(numero=="d")
   {
    borrado=aux.substring(aux.length-1,aux.length);
    aux=aux.substring(0,aux.length-1);
    if(borrado=="."){pfoco4=0;}
   }
   else
   {
   if (aux.length<8){
   if(pfoco4==0&&numero=="."){aux=""+aux+numero;pfoco4=1;}
   else
    if(pfoco4==1&&numero=="."){aux=""+aux;}
   else{aux=""+aux+numero;}
   }else{
      if(pfoco4==0&&numero=="."){aux=""+aux+numero;pfoco4=1;}
   else
    if(pfoco4==1&&numero=="."){aux=""+aux;}
   else{aux=aux.substring(0,8);}
    }
   
   }
   document.getElementById('cuota').value=aux;
  }
}


function cogefocus(numero)
{
foco=numero;
}

function textsizer(e){
var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
if ((keyCode<48 || keyCode>57) && (keyCode!=13 && keyCode!=8 && keyCode!=9)&&(keyCode!=44 && keyCode!=46))
  {
     controlerror(6);
     keyCode=8;
     return false;
  }
var actualkey=String.fromCharCode(unicode)
if (actualkey==",")
document.body.style.fontSize="120%"
if (actualkey=="z")
document.body.style.fontSize="100%"
}


function teclas (field, event) 
{
//var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode; 
//var evtobj=window.event? event : event //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
var unicode=event.charCode? event.charCode : event.keyCode
var actualkey=String.fromCharCode(unicode)

 if ((unicode<48 || unicode>57) && (unicode!=13 && unicode!=8 && unicode!=9)&&(actualkey!="," && actualkey!="."))
  {
     controlerror(6);
     return false;
  }
   document.getElementById('msg').innerHTML="Deja en blanco el valor que quieras calcular.";
   if(field.id=="importe")
   {
    var aux=document.getElementById('importe').value;
    if (aux.length>=8&&unicode!=8){return false;}
    if (actualkey=="," && pfoco1==1) {return false;}
    if (actualkey=="," && pfoco1==0) {pfoco1=1;foco=1;field.value=field.value+".";return false;}
    if (actualkey=="." && pfoco1==1) {return false;}
    if (actualkey=="." && pfoco1==0) {pfoco1=1;foco=1;}
    if (unicode==8){if (checkpuntos(aux)==true){pfoco1=0;foco=1}else{pfoco1=0;}return true;}
   }else
   if(field.id=="plazo")
   {
    var aux=document.getElementById('plazo').value;
    if (aux.length>=4&&unicode!=8){return false;}
    if (actualkey==",") {return false;}
    if (actualkey==".") {return false;}
    if (unicode==8){return true;}
   }else
   if(field.id=="tipo")
   {
    var aux=document.getElementById('tipo').value;
    if (aux.length>=4&&unicode!=8){return false;}
    if (actualkey=="," && pfoco3==1) {return false;}
    if (actualkey=="," && pfoco3==0) {pfoco3=1;foco=3;field.value=field.value+".";return false;}
    if (actualkey=="." && pfoco3==1) {return false;}
    if (actualkey=="." && pfoco3==0) {pfoco3=1;foco=3;}
    if (unicode==8){if (checkpuntos(aux)==true){pfoco3=0;foco=3}else{pfoco3=0;}return true;}
   }else
   if(field.id=="cuota")
   {
    var aux=document.getElementById('cuota').value;
    if (aux.length>=8&&unicode!=8){return false;}
    if (actualkey=="," && pfoco4==1) {return false;}
    if (actualkey=="," && pfoco4==0) {pfoco4=1;foco=4;field.value=field.value+".";return false;}
    if (actualkey=="." && pfoco4==1) {return false;}
    if (actualkey=="." && pfoco4==0) {pfoco4=1;foco=4;}
    if (unicode==8){if (checkpuntos(aux)==true){pfoco4=0;foco=4}else{pfoco4=0;}return true;}
   }
   if (unicode == 13) 
    {
     var i;
     for (i = 0; i < field.form.elements.length; i++)
     if (field == field.form.elements[i])
     break;
     i = (i + 1) % field.form.elements.length;
	 field.form.elements[i].focus();
	 return false;
    } 
     else
      return true;
}  
function checkcampo(valor)
{
for (i=0;i<valor.length;i++)
 {
  caracter=valor.substring(i,i-1);
  if (caracter=="."){return true;break;}
 }
 
}
function checkpuntos(valor)
{
  caracter=valor.substring(valor.length-2,valor.length-1);
  if (caracter=="."){return true;}else{return false;}
}
