//a = amount
// n = term
//p = Interest Rate
	function formatCurrency(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 getAmortization(a,n,p) {
		var i=0;
		//var sATline="";
		//var oAmortizationTable=document.getElementById("tblMain");
		//oAmortizationTable.style.visibility="visible";
		//var sCR=String.fromCharCode(13);
		//var sTab=String.fromCharCode(27);
		/* Calculate amortization and write table to text area **/
		var win1 = window.open('','Amortization_Calc','top=10,left=100,width=650,height=650,menubar=0,toolbar=0,status=0,scrollbars=yes');
		win1.document.write("<LINK href='../sne.css' type='text/css' rel='stylesheet'>");
		var payment = getPayment(a,n,p);
		win1.document.write("<table border=0 align=center cellspacing=0 cellpadding=0 width='100%'>");
		win1.document.write("<tr><td height=25 align='left' width='20%'>");
		win1.document.write("<input type='button' class='clickButton' value='Close' id='btnCloseTop' onclick='javascript:self.close();'></td>");
		win1.document.write("<td align='left'><input type='button' class='clickButton' value='Print' id='btnPrintTop' onclick='javascript:self.print();'></td></tr>");	
		win1.document.write("</table>");
		win1.document.write("<div id='mainDiv' width=100% height=100%>")
		win1.document.write("<table border=0 id='tblMain' cellspacing=0 cellpadding=0><tr><td height=5></tr></td></table>")
		win1.document.write("<table border=0 id='tblData' class='rightmenutableborder' cellspacing=2 bgcolor=#f8f8f8><tr><td></td><td colspan=8><font class='h2'>Monthly Payment = $" + (Math.round(payment*100)/100) + "</font></td></tr>");
		//oAmortizationTable.value = sCR + "Monthly Payment = " + (Math.round(payment*100)/100);
		win1.document.write("<tr><td></td><td  colspan=8><font class='h2'>Loan Amount = $" + a + " </font></td></tr>");
		//oAmortizationTable.value +=  sCR + "Loan Amount = " + a + sCR + sCR;
		win1.document.write("<tr><td></td><td colspan=8><font class='h2'>Terms (Months) = " + n + " </font></td></tr>");
		win1.document.write("<tr><td></td><td colspan=8><font class='h2'>Interest Rate (APR) = " + p + "% </font></td></tr>");
		//oAmortizationTable.value += "Month  Balance    Principal  Interest  Payment    Total Interest	Monthly Payment" + sCR;
		win1.document.write("<tr><td height=25></td><td class='panelBottomtext' bgColor='#555555'>Month</td><td class='panelBottomtext' bgColor='#555555'>Balance</td><td class='panelBottomtext' bgColor='#555555'>Monthly Payment </td><td class='panelBottomtext' bgColor='#555555'>Interest</td><td class='panelBottomtext' bgColor='#555555'>Principal </td><td class='panelBottomtext' bgColor='#555555'>Ending Balance</td><td class='panelBottomtext' bgColor='#555555'>Payment</td><td class='panelBottomtext' bgColor='#555555'>Total Interest</td><td></td></tr>");
	//===win1.document.write("<tr><td></td><td class='h2'>Month</td><td class='h2'>Balance</td><td class='h2'>Principal</td><td class='h2'>Interest</td><td class='h2'>Payment</td><td class='h2'>Total Interest</td><td class='h2'>Monthly Payment</td></tr>");	
		var balance=a;
		var interest = 0.0;
		var principal=0.0;
		var totalinterest=0.0;
		var dmp = 0.0;
		var dint = 0.0;
		var dPrincipal = 0.0;
		var gmp = 0.0;
		var gint = 0.0;
		var gPrincipal=0.0;
		for (i=1;i<=n;i++) {

			interest = balance*p/1200;
			totalinterest += interest;
			principal = payment-interest;
           

			win1.document.write("<tr><td height=20></td>");
			win1.document.write("<td bgcolor=#ffffff>" + i + "</td>");
			//sATline = i.toString()+getSpaces(7-i.toString().length);
			win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency(Math.round(balance*100)/100) + "</td>");//4 Balance
			
			//sATline += Math.round(balance*100)/100;
			//sATline += getSpaces(18-sATline.length);
			win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency((Math.round(payment*100)/100)) + "</td>");//1 Monthly Payment
			dmp = dmp + Math.round(payment*100)/100; //calculate every 12 months payment
//			sATline += (Math.round(principal*100)/100);
		//	sATline += getSpaces(29-sATline.length);
			win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency((Math.round(interest*100)/100)) + "</td>");//2 Interest
			dint = dint + Math.round(interest*100)/100; // calculate every 12 months interest
			//sATline += (Math.round(interest*100)/100);
			//sATline += getSpaces(39-sATline.length);
			win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency((Math.round(principal*100)/100)) + "</td>");//3Principal
			dPrincipal = dPrincipal + Math.round(principal*100)/100;// calculate every 12 months principal
			balance -= principal;
			win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency(Math.round(balance*100)/100) + "</td>");//Ending Balance
			
//			sATline += (Math.round(i*payment*100)/100);
	//		sATline += getSpaces(50-sATline.length);
			 win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency((Math.round(i*payment*100)/100)) + "</td>");//Payment
			
//			sATline += (Math.round(totalinterest*100)/100);
//			sATline += getSpaces(70-sATline.length);
/*			sATline += (Math.round((i*payment*100) - payment)/100);
			sATline += getSpaces(80-sATline.length);*/
			
			
			//win1.document.write("<td bgcolor=#ffffff align=right>$" + (Math.round(payment*100)/100) + "</td>");//1 Monthly Payment
//			sATline += (Math.round(payment*100)/100);
//			sATline += getSpaces(120-sATline.length) + sCR;
		//	oAmortizationTable.value += sATline;
		     win1.document.write("<td bgcolor=#ffffff align=right>" + formatCurrency((Math.round(totalinterest*100)/100)) + "</td>");//Total Interest
			win1.document.write("</tr>");
			
			if (i%12 == 0)
			{
			
				
				win1.document.write("<tr><td height=25></td>");
				win1.document.write("<td class='panelBottomtext' bgColor='#555555' colspan='2'>Summary for " + i + " Months</td>");
				//win1.document.write("<td>&nbsp;</td>");
				win1.document.write("<td class='panelBottomtext' bgColor='#555555' align=right>" + formatCurrency((Math.round(dmp*100)/100)) + "</td>");
				win1.document.write("<td class='panelBottomtext' bgColor='#555555' align=right>" + formatCurrency((Math.round(dint*100)/100)) + "</td>");
				win1.document.write("<td class='panelBottomtext' bgColor='#555555' align=right>" + formatCurrency((Math.round(dPrincipal*100)/100)) + "</td>");
				win1.document.write("<td class='panelBottomtext' bgColor='#555555' colspan=3>&nbsp;</td>");
				win1.document.write("</tr>");
				
				gmp = gmp + dmp;
				gint = gint + dint;
				gPrincipal = gPrincipal + dPrincipal;

				dmp=0.0; //zeroed out after 12 months
				dint=0.0; //zeroed out after 12 months
				dPrincipal=0.0; //zeroed out after 12 months
			}
			
		}
		
			gmp = gmp + dmp;
			gint = gint + dint;
			gPrincipal = gPrincipal + dPrincipal;

		//win1.document.write("<tr><td></td><td><input name='a1' type='text' value='ss' size='10'></td></tr>");
			//win1.document.write("addCommas((Math.round(dmp*100)/100));
			win1.document.write("<tr><td height=25></td>");
			win1.document.write("<td bgColor='#EFDFAE' colspan='2'>Grand Total</td>");
			//win1.document.write("<td>&nbsp;</td>");
			win1.document.write("<td  bgColor='#EFDFAE' align=right>" +formatCurrency((Math.round(gmp*100)/100)) + "</td>");
			win1.document.write("<td bgColor='#EFDFAE' align=right>" + formatCurrency((Math.round(gint*100)/100)) + "</td>");
			win1.document.write("<td  bgColor='#EFDFAE' align=right>" + formatCurrency((Math.round(gPrincipal*100)/100)) + "</td>");
			win1.document.write("<td  bgColor='#EFDFAE' colspan=3>&nbsp;</td>");
			win1.document.write("</tr>");
		
		win1.document.write("</table>");
		win1.document.write("</div>");
		win1.document.write("<p></p>");
		win1.document.write("<table border=0 align=center cellspacing=2 cellpadding=0 width=60%>");
		win1.document.write("<tr><td></td><td>");
		win1.document.write("<input type='button' class='clickButton' value='Close' id='btnClose' onclick='javascript:self.close();'></td>");
		win1.document.write("<td><input type='button' class='clickButton' value='Print' id='btnPrint' onclick='javascript:self.print();'></td>");
		//win1.document.write("<td><input type='button' class='button' value='Export To PDF' id='btnPDF' onclick='javascript:ExportPDF();' style='Width:120px'></td>");
		win1.document.write("<script language=Javascript>");
		win1.document.write("function ExportPDF(){");
		
		win1.document.write("window.opener.document.getElementById('txtPDFSource').value=document.getElementById('mainDiv').innerHTML;");
		/*win1.document.write("var mytxt=document.getElementById('mainDiv').innerHTML;");*/
		win1.document.write("document.location.href('Amortization_PDF.aspx');");
		win1.document.write("}");
		win1.document.write("</script>");
		win1.document.close();
	
	}

	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;
	}
	
	//mp = monthly payment
	// n = term
	//p = Interest Rate
	
	function LoanAmount(p,n,mp)
	{
		var ir = p;
		var terms = n;
		var monpay = mp;
		var principalamt,pamt=0;
		var val1,val2,val3,val4,val5=0;

		 val1 = (1 + (ir/1200));

		 val2 = Math.pow(val1,terms) - 1;

		val5 = Math.pow(val1,terms);
		 val3 = (ir/1200) * val5;
//		 alert(val2);
//		alert(val3);		 		 
		 val4 = val2 / val3;
//		alert(val4);		
		 principalamt = monpay * val4;
 		 pamt = Math.round(principalamt);
//		alert(pamt);
		getAmortization(pamt,terms,ir);
	}

