var ventana;function Valida(c){c.value=c.value.replace(/ /g,'');c.value=c.value.replace(/,/,'.');if(isNaN(c.value/2)){alert("El valor "+c.name+" debe ser numerico");c.focus();c.select()}}function redondea(Valor,decimales){var temp=Math.pow(10.0,decimales);return Math.round(Valor*temp)/temp}function Calcula(Cantidad,Tipo,Anos,Pagos){if(Anos==0){alert("El período de amortización debe ser mayor que 0, expresado en años");window.Calculo.Anos.focus();window.Calculo.Anos.select();return}var AAnos=new Array(Anos/2,Anos,Anos*1.5);var Total_Pagos=new Array(AAnos[0]*Pagos,AAnos[1]*Pagos,AAnos[2]*Pagos);var temp,i,longitud;var C_Pagos=new Array(0,0,0);var texto="";if(Tipo!=0){for(i=0;i<AAnos.length;i++){temp=Math.pow(Tipo/(100.00*Pagos)+1,Total_Pagos[i]);C_Pagos[i]=(Tipo*Cantidad)/(100.00*Pagos*(1-1/temp))}}else{for(i=0;i<AAnos.length;i++)C_Pagos[i]=(Cantidad)/(Total_Pagos[i])}temp=(Math.pow(1+(Tipo/(100.00*Pagos)),Pagos)-1)*100;texto="<br><TABLE HEIGHT=\"100\" ALIGN=\"center\" BORDER=\"2\" CELLPADDING=\"3\">";texto+="<tr><th>Cantidad Solicitada</th><th>"+Cantidad+"</th></tr>"+"<tr><th>Tipo de Interes</th><th>"+Tipo+"%</th></tr>"+"<tr><th>Pagos Anuales</th><th>"+Pagos+"</th></tr>"+"<tr><th>TAE</th><th>"+redondea(temp,4)+"%</th></tr></table>";texto+="<TABLE HEIGHT=\"160\" ALIGN=\"center\" BORDER=\"2\" CELLPADDING=\"3\"><tr><th>A&ntilde;os</th>";for(i=0;i<AAnos.length;i++)texto+="<th>"+AAnos[i]+"</th>";texto+="</tr><tr><td><b>Cuotas Totales</b></td>";for(i=0;i<AAnos.length;i++)texto+="<td align=\"center\">"+Total_Pagos[i]+"</td>";texto+=("</tr><tr><td><b>Cuotas de</b></td>");for(i=0;i<AAnos.length;i++)texto+="<td align=\"right\">"+(Math.round(C_Pagos[i]))+"</td>";texto+="</tr><tr><td><b>Total a Pagar</b></td>";for(i=0;i<AAnos.length;i++)texto+="<td align=\"right\">"+(Math.round(C_Pagos[i]*Total_Pagos[i]))+"</td>";texto+="</tr><tr><td><b>Intereses a Pagar</b></td>";for(i=0;i<AAnos.length;i++)texto+="<td align=\"right\">"+(Math.round(C_Pagos[i]*Total_Pagos[i])-Cantidad)+"</td>";texto+="</tr></table>";window.document.getElementById("resultados").innerHTML=texto}function Desglosa(Cantidad,Tipo,Anos,Pagos){var i,Interes,Amortizado=0;var Balance=Cantidad;var Ttpo=Tipo/100.0;var TInteres=0.0;var Total_Pagos=Anos*Pagos;var temp=Math.pow(Tipo/(100.00*Pagos)+1,Total_Pagos);var C_Pagos=(Tipo*Cantidad)/(100.00*Pagos*(1-1/temp));var texto="<TABLE HEIGHT='100' ALIGN='center' BORDER='2' CELLPADDING='3'>";Calcula(Cantidad,Tipo,Anos,Pagos);texto+="<tr><th>Pago</th><th>Cuota</th><th>Capital</th><th>Intereses</th><th>Pendiente</th><th>T.Intereses</th></tr>";for(i=1;i<=Total_Pagos;i++){Interes=(Balance/Pagos)*Ttpo;Amortizado=C_Pagos-Interes;Balance-=Amortizado;TInteres+=Interes;texto+="<tr><td align='right'>"+i+"</td><td>"+Math.round(C_Pagos*100)/100+"</td><td>"+Math.round(Amortizado*100)/100+"</td><td>"+Math.round(Interes*100)/100+"</td><td>"+Math.round(Balance*100)/100+"</td><td>"+Math.round(TInteres*100)/100+"</td></tr>"}texto+="</table>";ventana=window.open('./Desglose.htm','Desglose','height=600,width=600,toolbar=no,scrollbars=yes,resizable=yes');alert("Los resultados se han enviado a la ventana de Resultados.");ventana.document.getElementById("Resumen").innerHTML=window.document.getElementById("resultados").innerHTML;ventana.document.getElementById("Listado").innerHTML=texto;ventana.focus()}function Construye(N,Cantidad){var i,j,Tipo,temp;var Anos=new Array(1,2,3,4,5,7,10,12,15,20,25,30,35,40,50);var paso=0.25;var Pagos=12;var Contenido="<table width='800' align='center'><tr><th>Tipo/A&ntilde;os<\/th>";for(j=0;j<Anos.length;j++)Contenido+="<th>"+Anos[j]+"<\/th>";Contenido+="</tr><tr onmouseover=\"Cambia(this,'#FFFFCC');\" onmouseout=\"Cambia(this,document.bgColor);\"><th>0<\/th>";for(j=0;j<Anos.length;j++)Contenido+="<td class=mitd>"+Math.round(Cantidad/(Pagos*Anos[j]))+"<\/td>";for(i=1;i<=N/paso;i++){Tipo=parseFloat(paso*i);Contenido+="<\/tr><tr onmouseover=\"Cambia(this,'#FFFFCC');\" onmouseout=\"Cambia(this,document.bgColor);\"><th>"+Tipo+"<\/th>";for(j=0;j<Anos.length;j++){temp=Math.pow(Tipo/(100.00*Pagos)+1,Pagos*Anos[j]);C_Pago=(Tipo*Cantidad)/(100.00*Pagos*(1-1/temp));Contenido+="<td class=mitd>"+Math.round(C_Pago)+"<\/td>"}}Contenido+="<\/tr><\/table>";window.document.getElementById("tabla").innerHTML=Contenido}function Cambia(objeto,color){objeto.bgColor=color}function Deposito(Cantidad,Interes,Periodos,Plazo,Pagos){var intereses=0,tae=0,duracion=0,T_Abonos=1;var num_cuotas=Periodos*Plazo;var num_meses=(1/Pagos)*12;var num_pago=parseInt(Pagos);if(num_cuotas==0){alert("Debe introducir una duración para el depósito");document.Calculo.Periodos.focus();return}else if((Pagos!=0&&Pagos!=100)&&num_cuotas%num_meses!=0){alert("La duración del depósito y la periodicidad de pagos no concuerdan:\n"+"La duración total del depósito debe de ser un múltiplo del periodo entre pagos.");document.Calculo.Pagos.focus();return}switch(num_pago){case 0:duracion=num_cuotas/12.0;intereses=(Cantidad*(Interes/1200))*num_cuotas;tae=(Math.pow(Cantidad/(Cantidad-intereses),1/duracion)-1)*100;break;case 100:duracion=num_cuotas/12.0;intereses=(Cantidad*(Interes/1200))*num_cuotas;tae=(Math.pow(1+((Interes/100)*duracion),1/duracion)-1)*100;break;default:intereses=((Cantidad*(Interes/1200)*num_meses));tae=(Math.pow(1+((Interes/100)/num_pago),num_pago)-1)*100;T_Abonos=num_cuotas/num_meses}document.getElementById("resultados").innerHTML="<p>&nbsp;</p><center><table width='270' border='2' cellpadding='5'>"+"<tr><th>Intereses por Abono</th><th>TAE</th><th>Total Intereses</th></tr><tr><td>"+redondea(intereses,2)+"</td><td>"+redondea(tae,4)+"%</td><td>"+redondea(T_Abonos*intereses,2)+"</td></tr></table></center>"}
