/* Digigimp Developments 2004. */
/* Email mcgowan@digigimp.com */

	function getAmortization(a,n,p) {
		var i=0;
		var sATline="";
		n = n * 12;	// convert years into months
		var oAmortizationTable=document.getElementById("amortizationtable");
		oAmortizationTable.style.visibility="visible";
		var sCR=String.fromCharCode(13);
		var sTab=String.fromCharCode(27);

	
		var m_names = new Array("January", "February", "March", 
				"April", "May", "June", "July", "August", "September", 
				"October", "November", "December");
		var m_col = new Array("#FFFFFF", "#CCCCCC","#6699CC");
		var d = new Date();
		//var curr_date = d.getDate();
		var curr_month = d.getMonth();
		var curr_year = d.getFullYear();
		//document.write(curr_date +  m_names[curr_month] + " " + curr_year);

	
		/* Calculate amortization and write table to text area **/
		var payment = getPayment(a,n,p);


		// Add Monthly Account keeping fee to the monthly payment.
		var AFee = document.all.AcctFee.value;
		//payment +=  parseFloat(AFee);


		// write the html parts

		document.write(sCR + "<HTML><HEAD><TITLE>Better Mortgage Management - Loan Amortization Table</TITLE></hEAD><body>");
		
		document.write("<TABLE BORDER=1 bordercolor=#000000 CELLPADDING=3 CELLSPACING=0 width=700>");
		document.write("<TR><TD colspan=6><img src=\"Bmm_top.gif\"></td></tr>"+sCR);
		document.write("<TR><TD colspan=6 align=left><BR>"+FC(a)+" at "+p+"% over "+Math.round(n/12)+" years<br><Br>");
		document.write("<b>Monthly Payment: </b> $" + (Math.round((payment+parseFloat(AFee))*100)/100) + " (includes $"+AFee.valueOf()+" Monthly Account Keeping Fee)<BR><br></TD></TR>" +sCR + sCR);
		//document.write("<TR><TD>Month</TD><TD>Balance</TD><TD>Principal</TD><TD>Interest</TD><TD>Payment</TD><TD>Total Interest</TD></TR>");
		var balance=a;
		var interest = 0.0;
		var principal=0.0;
		var totalinterest=0.0;
		var mCounter = 0;
		var cAlternate = 0;
		for (i=1;i<=n;i++) {
			if(mCounter == 0){
				document.write("<TR><TD colspan=6 bgcolor="+m_col[2]+">Payment schedule for year: " + curr_year + "</td></tr>" + sCR);
				document.write("<TR><TD bgcolor=#CCFFCC>Month</TD><TD bgcolor=#CCFFCC>Balance</TD><TD bgcolor=#CCFFCC>Principal</TD><TD bgcolor=#CCFFCC>Interest</TD><TD bgcolor=#CCFFCC>Payment</TD><TD bgcolor=#CCFFCC>Total Interest</TD></TR>" + sCR);
			}
			document.write("<TR>");
			interest = balance*p/1200;
			totalinterest += interest;
			principal = payment-interest;
			balance -= principal;
//			document.write("<TD>"+i.toString()+"</TD>");
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+m_names[mCounter]+"</TD>"+sCR);
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+FC(Math.round(balance*100)/100)+"</TD>" + sCR);
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+FC(Math.round(principal*100)/100)+"</TD>" + sCR);
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+FC(Math.round(interest*100)/100)+"</TD>" + sCR);
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+FC(Math.round(i*payment*100)/100)+"</TD>" + sCR);
			document.write("<TD bgcolor="+m_col[cAlternate]+">"+FC(Math.round(totalinterest*100)/100) +"</TD>" + sCR);
		 	document.write("</TR>")
		 	mCounter++;
		 	if(cAlternate == 0){
		 		cAlternate = 1;
		 	}else{
		 		cAlternate = 0;
		 	}
		 	if(i%12==0){
		 		mCounter = 0;
		 		curr_year++;
		 	}
		 	
		}
		document.write('<tr><td colspan=6 style="color: 666666; font-size: 10pt;" align=center>DISCLAIMER:<br>The results from the calculator are only indicative estimates of how much you can borrow.');
		document.write('They are not a quote, qualification or approval of or offer for a loan.	Please note that each financial institution applies different criteria when assessing and approving loan applications.');
		document.write('All loan applications are subject to those criteria. For more information please contact your Better Mortgage Management consultant.</td></tr>');

		document.write("</TABLE>");
		document.write("</body></html>");
	}

	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 FC(num) {	// format currency
		num += "";
		var parts = num.split(".");	// to get the decimals off the end.  parts[0] is the LHS, parts[1] is the decimals
		if(isNaN(parts[1])){
			parts[1] = "00";
		}
		parts[1] += "";
		if(parts[1].length == 1){	// if it has only 1 decimal point value ie. 2500.1  convert to 2500.10 
			parts[1] += "0";
		}
		num = parts[0];
		for (var i = 0; i < num.length; i++)
		{
				var textFormat = "";
				var t=0;
				var str=""; 
				for (var j = 0; j < num.length; j++) 
				{
					num=num.replace(',','');
				}
				str=num; 

				if (str.length != 0)
				{
					for (var k = str.length-1; k>=0 ; k--)
					{
						t++;
						if (t % 3 == 0)
						{ 
							textFormat = "," + str.substr(k,1) + textFormat; 
						} else {
							textFormat =  str.substr(k,1) + textFormat;
						}
					} 

					if (textFormat.substr(0,1) == ",")
					{ 
						num = textFormat.substr(1,textFormat.length-1);
					} else { 
						num = textFormat;
					}
				}
		}
		return "$"+num+"."+parts[1];	// re-attach the decimals 
	}