function getAmortization(a,n,p,h,w) {
	//a=amount, n=term, p=rate
	n = n*1*12;
	var i=0;
	var sATline="";
	var amorTbl="";
	var amorTblDiv=document.getElementById("amortization_result");
	//var oAmortizationTable=document.getElementById("amortizationtable");
	//oAmortizationTable.style.visibility="visible";
	var sCR=String.fromCharCode(13);
	var sTab=String.fromCharCode(27);

	/* Calculate amortization and write table to text area **/
	var payment = getPayment(a,n,p);
	if(isNaN(payment))
	{
		//alert("Please Complete the fields");
		//oAmortizationTable.value="";
	}
	else
	{
		//table labels
		amorTbl="<table cellpadding='5' cellspacing='0' width='90%'><tr align='center'><td colspan='5' align='left' bgcolor='#aaffaa'><b>AMORTIZATION SCHEDULE</b></td></tr><tr bgcolor='#aaffaa' align='center'><td>Period</td><td>Beginning Balance</td><td>Interest</td><td>Principal</td><td>Ending Balance</td></tr>";		
 		
		//oAmortizationTable.value = sCR + "Monthly Payment = " + (Math.round(payment*100)/100) + sCR + sCR;
		//oAmortizationTable.value += "Month  Balance    Principal  Interest  Payment    Total Interest" + sCR;
		var balance=a*1;
		var interest = 0.0;
		var principal=0.0;
		var totalinterest=0.0;
		var bg="";
		for (i=1;i<=n;i++) {
			if(i==1)
				bg="#eeffee";
			else if(i%2==0)
				bg="#efefef";
			else
				bg="#f7f7f7";
				
			amorTbl+="<tr align='right' bgcolor=" + bg + ">";
			amorTbl+="<td align='center'>" + i.toString()+getSpaces(7-i.toString().length) + "</td>";
			amorTbl+="<td>" + addCommas(balance.toFixed(2)) + "</td>";
			
			interest = balance*p/1200;
			totalinterest += interest;
			principal = payment-interest;
			balance -= principal;
			
			amorTbl+="<td>" + addCommas(interest.toFixed(2)) + "</td>";
			amorTbl+="<td>" + addCommas(principal.toFixed(2)) + "</td>";
			
			amorTbl+="<td>" + addCommas(balance.toFixed(2)) + "</td>";
			//amorTbl+="<td>" + (Math.round(totalinterest*100)/100) + sCR + "</td>";
			amorTbl+="</tr>";
			
			/*sATline = i.toString()+getSpaces(7-i.toString().length);
			sATline += Math.round(balance*100)/100;
			sATline += getSpaces(18-sATline.length);
			sATline += (Math.round(principal*100)/100);
			sATline += getSpaces(29-sATline.length);
			sATline += (Math.round(interest*100)/100);
			sATline += getSpaces(39-sATline.length);
			sATline += (Math.round(i*payment*100)/100);
			sATline += getSpaces(50-sATline.length);
			sATline += (Math.round(totalinterest*100)/100) + sCR;
			oAmortizationTable.value += sATline;*/
		}
		
		amorTbl+="</table>";
		preResult(a,n,payment);
		generateGraph(p,n,a,h,w);
	}
	
	amorTblDiv.innerHTML=amorTbl;
}

function preResult(a,n,mo)
{
	//a=amount, n=term, mo=monthly payment
	var preResultDiv=document.getElementById("amortization_preResult");
	var totalPrincipal = n*mo;
	var interestPaid = totalPrincipal-a;
	var amt = a;
	var debtService =mo*12;
	$preOut="<table width='100%' cellspacing='5'>";
	$preOut+="<tr>";
	$preOut+="<td valign='top' bgcolor='#aaffaa'><br>";
		$preOut += "<table  width='100%'>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Number of Payments per year</td><td align='right'>12</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Amortization period in years</td><td align='right'>" + Math.round(n/12) + "</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Total Number of Payments</td><td align='right'>" + Math.round(n) + "</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Periodic Payment</td><td align='right'>" + addCommas(mo.toFixed(2)) + "</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Annual Debt Service</td><td align='right'>" + addCommas(debtService.toFixed(2)) + "</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Total Interest Paid</td><td align='right'>" + addCommas(interestPaid.toFixed(2)) + "</td>";
		$preOut += "</tr>";
		$preOut += "<tr>";
		$preOut += "<td align='left'>Total Principal Paid</td><td align='right'>"+ addCommas(totalPrincipal.toFixed(2)) + "</td>";
		$preOut += "</tr>";
		$preOut += "</table>";
	$preOut+="</td>";
	$preOut+="<td valign='top' bgcolor='#aaffaa'>";
		$preOut += "<table width='100%'>";
		$preOut += "<tr>";
		$preOut += "<td align='right'><div align='center'><b>YOU</b></div>";
		$preOut += "<br>12";
		$preOut += "<br> x <u>" + n/12 +"</u>";
		$preOut += "<br>" + n ;
		$preOut += "<br> x <u>" + addCommas(mo.toFixed(2)) +"</u>";
		$preOut += "<br> " + addCommas(totalPrincipal.toFixed(2)) +"";
		$preOut += "<br> - <u>" + addCommas((amt*1).toFixed(2)) + "</u>";
		$preOut += "<br> " + addCommas(interestPaid.toFixed(2)) +"";
		$preOut += "</td></tr>";
		$preOut += "</table>";
	$preOut+="</td>";
	$preOut+="<td valign='top' bgcolor='#aaffaa'>";
	$preOut += "<div><b>BANK</b></div>";
	$preOut += "<table  width='100%'>";
		$preOut += "<tr>";
		$preOut += "<td valign='bottom' align='left'>";
		$preOut +="<br><br><br><br><br>- Total Payment";	
		$preOut +="<br> - Your Equity";	
		$preOut +="<br> - Bank's Profit";	
		$preOut +="</td>";	
		$preOut +="</tr>";	
		$preOut +="</table>";	
	$preOut+="</td>";
	$preOut+="</tr>";
	$preOut+="</table><br>";
	
	preResultDiv.innerHTML=$preOut;
	
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function getSpaces(n) {
	var i=0; 
	var sSpaces="";
	for (i=0;i<n;i++) {sSpaces += " ";}
	return sSpaces;
}

function getPayment(a,n,p) {
	/* Calculates the monthly payment from annual percentage
	   rate, term of loan in months and loan amount. **/
	var acc=0;
	var base = 1 + p/1200;
	for (i=1;i<=n;i++) 
		{ acc += Math.pow(base,-i); }
	return a/acc;
}

function clearLamor(form)
{
	form.amount.value="";
	form.apr.value="";
	form.term.value="";
	
	document.getElementById('amortization_preResult').innerHTML="";
	document.getElementById('amortization_graph').innerHTML="";
	document.getElementById('amortization_result').innerHTML="";	
}