
		var curResult = 0;
		function calculate()
		{
			var c;
			var t;
			var r;
			var startM;
			var startY;
			var PrincipleLoanAmount;
			var pvifa;
			var amo;
		
			PrincipleLoanAmount = parseFloat(document.LoanCalculator.pincipleLoan.value);
			r = parseFloat(document.LoanCalculator.rate.value);
			t = parseInt(document.LoanCalculator.year.value);
			
			for(var m = 0; m <  document.LoanCalculator.monthList.options.length; m++)
				{
					if(document.LoanCalculator.monthList.options[m].selected)
						{
							startM = parseInt(document.LoanCalculator.monthList.options[m].value);
							break;
						}
				}
			for(var m = 0; m < document.LoanCalculator.yearList.options.length; m++)
				{
					if(document.LoanCalculator.yearList.options[m].selected)
						{
							startY = parseInt(document.LoanCalculator.yearList.options[m].value);
							break;
						}
				}
			for(var m = 0; m <  document.LoanCalculator.yesnoList.options.length; m++)
				{
					if(document.LoanCalculator.yesnoList.options[m].selected)
						{
							amo = parseInt(document.LoanCalculator.yesnoList.options[m].value);
							break;
						}
				}
		
			if ( isNaN(PrincipleLoanAmount) || PrincipleLoanAmount<0)
				alert("Invalid Input: Expected Mortgage Loan Amount (HKD) ");
			else if (isNaN(r) || r<0)
				alert("Invalid Input: Interest Rate ");
			else if (isNaN(t) || t<0)
				alert("Invalid Input:  Repayment period (Year(s)) ");
			else
			  {
				r = (r / 100)/12;
				t = t * 12;
				c =  PrincipleLoanAmount * r / (1 -  Math.pow(( 1 + r), -t));
				document.LoanCalculator.c.value = formatCurrency(Math.round(c));
				curResult = document.LoanCalculator.c.value;
		
				if ( amo == 1)
				  {
				    m_obj = new Date();
				    m_obj.setMonth(startM);
				    m_obj.setYear(startY);		
				    AmorizationTable(PrincipleLoanAmount, r, c, t, startM, startY, self.document);
		  		  }
			}
		
		}
		
		function formatCurrency(num) {
			var isNegative = false;
			if (num < 0) {
				isNegative = true;
				num = num * -1;
			}
			
			num = num.toString().replace(/\$|\,/g,'');
			if(isNaN(num)) num = "0";
			cents = Math.floor((num*100+0.5)%100);
			num = Math.floor((num*100+0.5)/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));
			
			if (isNegative == true) {
				num = "-" + num;
			}
			
			return (num + '.' + cents);
		}		
		
		
		function AmorizationTable(PrincipleLoanAmount, r, c, t, months, years, doc)
		{	
			var year = years;
			var month = new Array(12);
			month[0] = "Jan";
			month[1] = "Feb";
			month[2] = "Mar";
			month[3] = "Apr";
			month[4] = "May";
			month[5] = "June";
			month[6] = "July";
			month[7] = "Aug";
			month[8] = "Sept";
			month[9] = "Oct";
			month[10] =  "Nov";
			month[11] = "Dec";
			
			doc.open();
			doc.write("<html>");
			doc.write("<LINK REL=stylesheet HREF=http://lakewoodlending.orbisdesign.net/css/LoanCalculatorInstallment.css TYPE=text/css>")
			doc.write("<body>");
			doc.write("<table border=0 cellpadding=0 cellspcing=0>");
			doc.write("<tr><td align=left valign=top>");
			doc.write("<center>");
			doc.write("<table border=0 cellpadding=0 cellspacing=0>");
			doc.write("<tr align='center' valign=top>");
			doc.write("<td colspan=6>");
			doc.write("<a href=\"javascript:self.history.back()\">Back to Calculator</a>");
			doc.write("</td>");
			doc.write("<tr align='center' valign=top>");
			  doc.write("<td colspan=6> <font color=white><b> Installment Table </b></font></td>");
			doc.write("</tr>");
			doc.write("<tr valign=top bgcolor=#cccccc>");
			  doc.write("<td class=\"header\">Month/Year </td>");
			  doc.write("<td class=\"header\">Mortgage Balance </td>");
			  doc.write("<td class=\"header\">Installment </td>");
			  doc.write("<td class=\"header\">Interest Paid </td>");
			  doc.write("<td class=\"header\">Principal Paid </td>");
			  doc.write("<td class=\"header\">Outstanding Balance </td>");
			doc.write("</tr>");
			for( var i = 1 ; i<=t; i++ )
			  {
			    doc.write("<tr valign=top>");
			    doc.write("<td align=right class=small>" + month[months] + ' ' +  year + "</td>");
			    doc.write("<td align='center' class=small>" + '$' + Math.round(PrincipleLoanAmount) + "</td>");
			    doc.write("<td align='center' class=small>" + '$' + Math.round(c) + "</td>");
			    doc.write("<td align='center' class=small>" + '$' + Math.round(PrincipleLoanAmount * r) +  "</td>");
			    doc.write("<td align='center' class=small>" + '$' + Math.round(c  - (PrincipleLoanAmount * r)) + "</td>");
			    doc.write("<td align='center' class=small>" + '$' + Math.round(PrincipleLoanAmount - (c - (PrincipleLoanAmount * r))) +  "</td>");
			    PrincipleLoanAmount = PrincipleLoanAmount - (c - (PrincipleLoanAmount * r));
			    if (months == 11)
			      {
				  months = 0;
				  year += 1;    
		           	      }
			    else
			     months += 1; 
			     doc.write("</tr>");
			  }
		
			doc.write("<tr>");
			doc.write("<td align='center' valign=top colspan=6> <font color=white><b>For reference only</b></font> </td>");
			doc.write("</tr>");
			doc.write("<tr>");
			doc.write("<td align='center' valign=top colspan=6>");
			doc.write("&nbsp;<br>");
			doc.write("<a href=\"javascript:self.history.back()\">Back to Calculator</a>");
			doc.write("</td>");
			doc.write("</tr>");
			doc.write("<tr>");
			doc.write("<td colspan=6>&nbsp;</td>");
			doc.write("</tr>");
			doc.write("</table>");
			doc.write("</center>");
		
			doc.write("</td></tr></table>");	
			doc.write("</body>");
			doc.write("</html>");
			doc.close();
		
		}
		
		
		function changeResult()
		{
			var message = "You are not allow to modify this entry.";
			alert( message );
			self.document.LoanCalculator.c.value = curResult;
		}
		
			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);
			}
