/*
File name: cc_calculator.js
Authored by: Loic Kreitmann
Date authored: 08/17/2001
Modified by: Loic Kreitmann
Date last modified: 08/22/2001
Description:
	Credit Card Interest Calculator Functions for Visa USA
*/

//APR
var APR = 0;

//purchase amount
var purchaseAmount = 0;

//balance
var balance = 0;

//Monthly payment amount
var moPayAmnt = 0;

//monthly percentage rate
var moPercRate = 0;

//monthly interest
var moInt = 0;

//initial monthly payment
var initMoPay = 0;

//months to pay off
var moToPay = 0;

//principle
var princ = 0;

//average monthly finance charge
var avgMoFin = 0;

//Total finance charges
var totFinance = 0;

//total cost
var totCost = 0;

//function grabs the values of the form fields and makes the necessary calculations
function storeVariables() {
	if (numbersValidator("credit_card_calc","apr") && numbersValidator("credit_card_calc","purchase_amount") && numbersValidator("credit_card_calc","pay_per_m")) {
		APR = Number(document.credit_card_calc.apr.value);
		purchaseAmount = Number(document.credit_card_calc.purchase_amount.value);
		initMoPay =  (purchaseAmount * (APR / 100)) / 12; //purchaseAmount * 0.02;
		moPayAmnt = Number(document.credit_card_calc.pay_per_m.value);
		if (APR > 100) {
			alert("Your annual percentage rate\ncannot be greater than 100%.");
			document.credit_card_calc.apr.value = "";
			document.credit_card_calc.apr.focus();
			}
		else if (purchaseAmount == 0) {
			alert("What is your purchase amount?");
			document.credit_card_calc.purchase_amount.value = "";
			document.credit_card_calc.purchase_amount.focus();
			}
		else if (moPayAmnt == 0) {
			alert("Please enter the amount you\nplan to pay per month.");
			document.credit_card_calc.pay_per_m.value = "";
			document.credit_card_calc.pay_per_m.focus();
			}
		else if (moPayAmnt < initMoPay) {
			alert("Sorry, the monthly payment entered is\nsmaller than the required approximate\nminimum payment of $" + (Math.round(initMoPay * 100) / 100) + ".\n----------------------------------\nPlease enter a monthly payment\ngreater than $" + (Math.round(initMoPay * 100) / 100) + ".");
			document.credit_card_calc.pay_per_m.value = "";
			document.credit_card_calc.pay_per_m.focus();
			}
		else {
			var count = 0;
			moPercRate = Math.round((APR / 12) * 100) / 100;
			princ = moPayAmnt;
			balance = purchaseAmount;
			do {
				moInt = (balance * (APR / 100)) / 12;
				princ = moPayAmnt - moInt;
				balance = balance - princ;
				totFinance += moInt;
				count++;
				}
			while (balance > 0);
			moToPay = count;
			avgMoFin = Math.round((totFinance / count) * 100) / 100;
			displayResults();
			}
		}
	}

//function displays the results
function displayResults() {
	var str1 = "";
	var str2 = "";
	var str3 = "";
	var str4 = "";
	str1 += "<html>\n";
	str1 += "<head>\n";
	str1 += "<link rel=\"stylesheet\" href=\"/stylesheets/student.css\" type=\"text/css\"/>\n";
	str1 += "</head>\n";
	str1 += "<body topmargin=\"0\" leftmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" onload=\"window.focus();\">\n";
	str1 += "<table width=\"409\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
	str1 += "<tr>\n";
	str1 += "<td valign=\"top\">\n";
	str1 += "<p>Los resultados de tus c&aacute;lculos aparecen m&aacute;s abajo. Imprime esta p&aacute;gina y &uacute;sala como una referencia &uacute;til. &iquest;Quieres intentarlo de nuevo? Regresa a la <a href=\"/espanol/consejos/introduccion_al_credito/calcula_tus_pagos.html\" target=\"_parent\">planilla de c&aacute;lculos</a>.</p><br>\n";
	str2 += "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"360\">\n";
	str2 += "<tr>\n";
	str2 += "<td rowspan=\"9\">&nbsp;&nbsp;&nbsp;</td>\n";
	str2 += "<td><img src=\"/img/personal/student/a.gif\" width=\"19\" height=\"19\" alt=\"A.\"></td>\n";
	str2 += "<td>Tasa de porcentaje anual (APR)</td>\n";
	str2 += "<td></td>\n";
	str2 += "<td align=\"RIGHT\">" + APR + "</td>\n";
	str2 += "<td>%</td>\n";
	str2 += "</tr>\n";
	str2 += "<tr>\n";
	str2 += "<td><img src=\"/img/personal/student/b.gif\" width=\"19\" height=\"19\" alt=\"B.\"></td>\n";
	str2 += "<td>Cantidad total de la compra</td>\n";
	str2 += "<td>$</td>\n";
	str2 += "<td align=\"RIGHT\">" + purchaseAmount + "</td>\n";
	str2 += "<td></td>\n";
	str2 += "</tr>\n";
	str2 += "<tr>\n";
	str2 += "<td><img src=\"/img/personal/student/c.gif\" width=\"19\" height=\"19\" alt=\"C.\"></td>\n";
	str2 += "<td>Cantidad que planeas pagar cada mes</td>\n";
	str2 += "<td>$</td>\n";
	str2 += "<td align=\"RIGHT\">" + moPayAmnt + "</td>\n";
	str2 += "<td></td>\n";
	str2 += "</tr>\n";
	str2 += "<tr>\n";
	str2 += "<td valign=\"TOP\"><img src=\"/img/personal/student/d.gif\" width=\"19\" height=\"19\" alt=\"D.\"></td>\n";
	str2 += "<td>Tasa de porcentaje mensual</td>\n";
	str2 += "<td></td>\n";
	str2 += "<td align=\"RIGHT\">" + moPercRate + "</td>\n";
	str2 += "<td>%</td>\n";
	str2 += "</tr>\n";
	str2 += "<tr>\n";
	str3 += "<td valign=\"TOP\"><img src=\"/img/personal/student/e.gif\" width=\"19\" height=\"19\" alt=\"E.\"></td>\n";
	str3 += "<td>Pago m&iacute;nimo mensual inicial aproximado</td>\n";
	str3 += "<td>$</td>\n";
	str3 += "<td align=\"RIGHT\">" + initMoPay + "</td>\n";
	str3 += "<td></td>\n";
	str3 += "</tr>\n";
	str3 += "<tr>\n";
	str3 += "<td><img src=\"/img/personal/student/f.gif\" width=\"19\" height=\"19\" alt=\"F.\"></td>\n";
	str3 += "<td>N&uacute;mero de meses para terminar de pagar</td>\n";
	str3 += "<td></td>\n";
	str3 += "<td align=\"RIGHT\">" + moToPay + "</td>\n";
	str3 += "<td></td>\n";
	str3 += "</tr>\n";
	str3 += "<tr>\n";
	str3 += "<td><img src=\"/img/personal/student/g.gif\" width=\"19\" height=\"19\" alt=\"G.\"></td>\n";
	str3 += "<td>Cargo financiero promedio mensual</td>\n";
	str3 += "<td>$</td>\n";
	str3 += "<td align=\"RIGHT\">" + avgMoFin + "</td>\n";
	str3 += "<td></td>\n";
	str3 += "</tr>\n";
	str3 += "<tr>\n";
	str3 += "<td><img src=\"/img/personal/student/h.gif\" width=\"19\" height=\"19\" alt=\"H.\"></td>\n";
	str3 += "<td>Total de cargos financieros</td>\n";
	str3 += "<td>$</td>\n";
	str3 += "<td align=\"RIGHT\">" + (Math.round(totFinance * 100) / 100) + "</td>\n";
	str3 += "<td></td>\n";
	str3 += "</tr>\n";
	str3 += "<tr>\n";
	str3 += "<td><img src=\"/img/personal/student/i.gif\" width=\"19\" height=\"19\" alt=\"I.\"></td>\n";
	str3 += "<td>Costo total del art&iacute;culo</td>\n";
	str3 += "<td>$</td>\n";
	str3 += "<td align=\"RIGHT\">" + (Math.round((totFinance + purchaseAmount) * 100) / 100) + "</td>\n";
	str3 += "<td></td>\n";
	str3 += "</tr>\n";
	str3 += "</table>\n";
	str4 += "<p>Todos los c&aacute;lculos de esta p&aacute;gina contemplan que no hay un per&iacute;odo de gracia, que la tasa mensual de acumulaci&oacute;n se basa en 30 d&iacute;as por mes y 360 d&iacute;as por a&ntilde;o, y que el cargo de financiamiento mensual se basa en el saldo final del mes anterior.</p>\n";
	str4 += "<p>Recuerda: Las diferentes tarjetas tienen t&eacute;rminos diferentes. Tus resultados de la hoja de trabajo de la tarjeta de cr&eacute;dito podr&iacute;an variar, dependiendo de los t&eacute;rminos espec&iacute;ficos de tu tarjeta.</p>\n";
	str4 += "</td>\n";
	str4 += "</tr>\n";
	str4 += "</table>\n";
	str4 += "</body>\n";
	str4 += "</html>\n";
	
	document.write(str1 + str2 + str3 + str4);
	}

