
function getAmortization2(form) {
	var amount=form.amount.value;
	var term=form.term.value;
	var rate=form.apr.value;

	var regexp = /,/;
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");

	var regexp = / /;
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");
	amount=amount.replace(regexp,"");

	var regexp = /\$/;
	amount=amount.replace(regexp,"");

	form.amount.value = inDollars(amount);

	term=asInt(term);
	form.term.value = term;
	var months=term*12;

	/* Calculate amortization and write table to text area **/
	var payment = getPayment(amount,term,rate);
	form.Payment.value = inDollars(payment);
	form.AnnualCost.value = inDollars(payment*12);
	form.TotalCost.value = inDollars(payment*months);

	var balance=amount;
	var interest = 0.0;
	var principal=0.0;
	var totalinterest=0.0;
	for (i=1;i<=months;i++) {
		interest = balance*rate/1200;
		totalinterest += interest;
		principal = payment-interest;
		balance -= principal;
	}
	form.Interest.value = inDollars(totalinterest);
}


function getPayment(a,n,p) {
	/* Calculates the monthly payment from annual percentage
	   rate, term of loan in months and loan amount. **/
	var months=n*12;
	var acc=0;
	var base = 1 + p/1200;
	for (i=1;i<=months;i++) 
		{ acc += Math.pow(base,-i); }
	return a/acc;
}

function inDollars(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<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))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function asInt(input) {
    return Math.round(input - 0.5);
}


