//Calcula la tabla de amortizacion function getAmortizacion(monto,plazo,tasa,frecuencia,cuotagracia,fechaapertura,fechainicio,diapago) { qxIni("getAmortizacion(monto,plazo,tasa,frecuencia,cuotagracia,fechaapertura,fechainicio,diapago)", 1, "amortizaciones.js"); var i = 0; var linea = ""; var ln = String.fromCharCode(13); var balance = monto; var cuota = getCuota(monto, plazo - cuotagracia, tasa, frecuencia); var valorcuota = 0.0; var interes = 0.0; var capital = 0.0; var sumainteres = 0.0; var sumacapital = 0.0; var sumacuota = 0.0; var finicio = ""; var ffinal = ""; var dias = ""; var oTablaAmortizacion=document.getElementById("tablaamortizacion"); oTablaAmortizacion.style.visibility = "visible"; oTablaAmortizacion.value = ""; oTablaAmortizacion.value += "CUOTA CAPITAL REDUCIDO DIAS FECHA INTERES ABONO CAPITAL VALOR CUOTA" + ln; for (i=1; i<=plazo; i++) { if(i==1) { dias = getDias(fechaapertura, fechainicio); if(dias <= 0) { alert('La Fecha Inicio del Pago debe ser mayor que la Fecha de Apertura...'); return; } finicio = fechainicio; interes = balance * tasa / 36500 * dias; if(i <= cuotagracia) { valorcuota = interes; capital = 0.0; balance = monto - 0.00; }else { valorcuota = cuota; capital = cuota - interes; balance -= capital; } }else if(i==plazo) { ffinal = getFecha(finicio, frecuencia, diapago); dias = getDias(finicio, ffinal); finicio = ffinal; interes = balance * tasa / 36500 * dias; capital = cuota - interes; balance -= capital; cuota = cuota + balance; valorcuota = cuota; capital = capital + balance; balance = 0.0; }else{ ffinal = getFecha(finicio, frecuencia, diapago); dias = getDias(finicio, ffinal); finicio = ffinal; interes = balance * tasa / 36500 * dias; if(i<=cuotagracia){ valorcuota = interes; capital = 0.0; balance = monto - 0.00; }else{ valorcuota = cuota; capital = cuota - interes; balance -= capital; } } linea = getSpaces(1) + i.toString(); linea += getSpaces(20 - balance.toFixed(2).toString().length - linea.length) + balance.toFixed(2); linea += getSpaces(30 - linea.length) + dias; linea += getSpaces(38 - linea.length) + finicio; linea += getSpaces(61 - interes.toFixed(2).toString().length - linea.length) + interes.toFixed(2); linea += getSpaces(76 - capital.toFixed(2).toString().length - linea.length) + capital.toFixed(2); linea += getSpaces(91 - cuota.toFixed(2).toString().length - linea.length) + valorcuota.toFixed(2) + ln; sumacuota += valorcuota; sumainteres += interes; sumacapital += capital; oTablaAmortizacion.value += linea; } suma = getSpaces(61 - sumainteres.toFixed(2).toString().length) + sumainteres.toFixed(2); suma += getSpaces(76 - sumacapital.toFixed(2).toString().length - suma.length) + sumacapital.toFixed(2); suma += getSpaces(91 - sumacuota.toFixed(2).toString().length - suma.length) + sumacuota.toFixed(2) + ln; oTablaAmortizacion.value += suma; qxEnd(); } //Obtiene espacios en blanco function getSpaces(n) { var i = 0; var sSpaces = ""; for (i=0; i