// General

function CurrencyFormatted(amount) {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
 }

function CommaFormatted(amount) {
	              var delimiter = ","; // replace comma if desired
	              var a = amount.split('.',2)
	              var d = a[1];
	              var i = parseInt(a[0]);
	              if(isNaN(i)) { return ''; }
	              var minus = '';
	              if(i < 0) { minus = '-'; }
	              i = Math.abs(i);
	              var n = new String(i);
	              var a = [];
	              while(n.length > 3)	{
		             var nn = n.substr(n.length-3);
		             a.unshift(nn);
		             n = n.substr(0,n.length-3);
	              }
	              if(n.length > 0) { a.unshift(n); }
	              n = a.join(delimiter);
	              if(d.length < 1) { amount = n; }
	              else { amount = n + '.' + d; }
	              amount = minus + amount;
	              return amount;
}

// Calculate Repayment Schedule

 function showtable() {
			   var form = document.myform; 
               var Loan = form.Loan.value; 
		       var DownPayment = "0" 
               var AnnualInterestRate = form.InterestRate.value/100 ;
               var Years = form.NumberOfYears.value ;
               var MonthRate = AnnualInterestRate/12 ;
               var NumPayments = Years*12 ;
               var Prin = Loan-DownPayment ;
               var MonthPayment = Math.round((Prin*MonthRate)/(1-Math.pow((1+MonthRate),(-1*NumPayments)))*100)/100 ;
               var n = 1;
               var l = Loan;
               var m = MonthPayment;
               var i = l*MonthRate;
               var P = m-i;
			   var Tm = 0;
			   var Tp = 0;
			   var Ti = 0;
			   var text = '<table width=\"90%%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';
			   text = text + '<tr><td colspan=\"5\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"5\"><strong>Repayment Schedule</strong></td></tr>';
			   text = text + '<tr><td colspan=\"5\"><hr /></td></tr>';
			   text = text + '<tr align="right"><td>Inst #</td><td>Loan B./F</td><td>Monthly Instalment</td><td>Principal</td><td>Interest</td></tr>';
			   while (l > P) {
			   if (n < NumPayments) {
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;			   
               text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
               n++;
               l=l-P;
               i=l*MonthRate;
               P=m-i;
			   }
			   else if (n = NumPayments) {
			   m = l + i;
			   P = m-i;
			   text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
			   n++;
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;	
			   }
               }
			   
			   if (n <= NumPayments) {
	           m = l + i;
               P=m-i;
               text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
			   
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;	
			   }				   
			   text = text + '<tr align="right"><td>' + '' + '</td><td>' + 'Total:' + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Tm*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Tp*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Ti*100)/100)) + '</td></tr>';
			   text = text + '</table>';
               var id = 'schedule';
			   if (document.getElementById)	{
		          x = document.getElementById(id);
		          x.innerHTML = '';
		          x.innerHTML = text;
	             }
	           else if (document.all) {
		          x = document.all[id];
		          x.innerHTML = text;
	             }
	           else if (document.layers) {
		          x = document.layers[id];
		          text2 = '<P>' + text + '</P>';
		          x.document.open();
		          x.document.write(text2);
		          x.document.close();
	            }
               }

 function showctable() {
			   var form = document.myform; 
               var Loan = form.Loan.value; 
		       var DownPayment = "0" 
               var AnnualInterestRate = form.InterestRate.value/100 ;
               var Years = form.NumberOfYears.value ;
               var MonthRate = AnnualInterestRate/12 ;
               var NumPayments = Years*12 ;
               var Prin = Loan-DownPayment ;
               var MonthPayment = Math.round((Prin*MonthRate)/(1-Math.pow((1+MonthRate),(-1*NumPayments)))*100)/100 ;
               var n = 1;
               var l = Loan;
               var m = MonthPayment;
               var i = l*MonthRate;
               var P = m-i;
			   var Tm = 0;
			   var Tp = 0;
			   var Ti = 0;
			   var text = '<table width=\"90%%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';
			   text = text + '<tr><td colspan=\"5\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"5\"><strong>還款表</strong></td></tr>';
			   text = text + '<tr><td colspan=\"5\"><hr /></td></tr>';
			   text = text + '<tr align="right"><td>期數</td><td>貸款餘額</td><td>每月供款</td><td>本金</td><td>利息</td></tr>';
			   while (l > P) {
			   if (n < NumPayments) {
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;			   
               text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
               n++;
               l=l-P;
               i=l*MonthRate;
               P=m-i;
			   }
			   else if (n = NumPayments) {
			   m = l + i;
			   P = m-i;
			   text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
			   n++;
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;	
			   }
               }
			   
			   if (n <= NumPayments) {
	           m = l + i;
               P=m-i;
               text = text + '<tr align="right"><td>' + n + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(l*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(m*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(P*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(i*100)/100)) + '</td></tr>';
			   
			   Tm = Tm + m;
			   Tp = Tp + P;
			   Ti = Ti + i;	
			   }				   
			   text = text + '<tr align="right"><td>' + '' + '</td><td>' + '總數：' + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Tm*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Tp*100)/100)) + '</td><td>' + CommaFormatted(CurrencyFormatted(Math.round(Ti*100)/100)) + '</td></tr>';
			   text = text + '</table>';
               var id = 'schedule';
			   if (document.getElementById)	{
		          x = document.getElementById(id);
		          x.innerHTML = '';
		          x.innerHTML = text;
	             }
	           else if (document.all) {
		          x = document.all[id];
		          x.innerHTML = text;
	             }
	           else if (document.layers) {
		          x = document.layers[id];
		          text2 = '<P>' + text + '</P>';
		          x.document.open();
		          x.document.write(text2);
		          x.document.close();
	            }
               }

// Calculate Loan Amount

function loanamount() { 
			   form = document.myform; 
			   Income = form.MonthIncome.value;
			   MonthPayment = Income/2;
			   DownPayment = "0" ;
			   AnnualInterestRate = form.InterestRate.value/100 ;
			   Years = form.NumberOfYears.value ;
			   MonthRate = AnnualInterestRate/12 ;
               NumPayments = Years*12 ;
			   Prin = CommaFormatted(CurrencyFormatted(Math.round((MonthPayment*(1-Math.pow((1+MonthRate),(-1*NumPayments))))/MonthRate)));
			   form.NumberOfPayments.value = NumPayments ;
			   form.Loan.value = Prin;
			   form.Payment.value = MonthPayment;
} 

// Calculate Monthly Installment

function installment() { 
			   form = document.myform ;
               Loan = form.Loan.value ;
			   DownPayment = "0" ;
			   AnnualInterestRate = form.InterestRate.value/100 ;
			   Years = form.NumberOfYears.value ;
			   MonthRate = AnnualInterestRate/12 ;
               NumPayments = Years*12 ;
			   Prin = Loan-DownPayment ;
			   MonthPayment = CommaFormatted(CurrencyFormatted(Math.round((Prin*MonthRate)/(1-Math.pow((1+MonthRate),(-1*NumPayments)))*100)/100)); 
               form.NumberOfPayments.value = NumPayments ;
			   form.MonthlyPayment.value = MonthPayment ;
			   } 
			   
// Calcaluate Remaining Balance

function balance() { 
			   form = document.myform ;
               Loan = form.Loan.value ;
  		       IP = form.InstallmentPaid.value ;
			   DownPayment = '0' ;
			   AnnualInterestRate = form.InterestRate.value/100 ;
			   Years = form.NumberOfYears.value ;
			   MonthRate = AnnualInterestRate/12 ;
               NumPayments = Years*12 ;
			   Prin = Loan-DownPayment ;
			   MonthPayment = Math.round((Prin*MonthRate)/(1-Math.pow((1+MonthRate),(-1*NumPayments)))*100)/100; 
			   var n = 1;
               var l = Loan;
               var m = MonthPayment;
               var i = l*MonthRate;
               var P = m-i;
			   while (n <= IP) {
               n++;
               l=l-P;
               i=l*MonthRate;
               P=m-i;
			   }	   
			   RemainingBalance = CommaFormatted(CurrencyFormatted(l));
			   MP = CommaFormatted(CurrencyFormatted(MonthPayment));
			   form.MonthlyPayment.value = MP ;			   
               form.RemainBalance.value = RemainingBalance ;
			   } 

// Calculate Second Mortgage

function smortgage() { 
			   form = document.myform ;
               Loan = form.Loan.value ;
			   LPortion01 = form.LPortion01.value ;
			   LPortion02 = form.LPortion02.value ;
			   Loan01 = Loan * LPortion01/100;
			   Loan02 = Loan * LPortion02/100;
			   DownPayment = "0" ;
			   AnnualInterestRate01 = form.InterestRate01.value/100 ;
			   AnnualInterestRate02 = form.InterestRate02.value/100 ;
			   Years01 = form.NumberOfYears01.value ;
			   Years02 = form.NumberOfYears02.value ;
			   MonthRate01 = AnnualInterestRate01/12 ;
			   MonthRate02 = AnnualInterestRate02/12 ;
               NumPayments01 = Years01*12 ;
			   NumPayments02 = (Years02-2)*12 ;
			   Prin = Loan-DownPayment ;
			   MonthPayment = CommaFormatted(CurrencyFormatted(Math.round((((Loan01*MonthRate01)/(1-Math.pow((1+MonthRate01),(-1*NumPayments01))))+((Loan02*MonthRate02)/(1-Math.pow((1+MonthRate02),(-1*NumPayments02)))))*100)/100)); 
			   form.MonthlyPayment.value = MonthPayment ;
			   } 
			   
// Calculate Second Mortgage & Table (New)

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


function showcmit() {
	var L1 = myform.Loan1.value ;
	var L2 = myform.Loan2.value ;
	var R1 = myform.InterestRate1.value ;
	var R2 = myform.InterestRate2.value ;
	var N1 = myform.NumberOfYears1.value ;
	var N2 = myform.NumberOfYears2.value ;
//	var Y1 = myform.NumberOfNoInterestYears1.value ;
//	var Y2 = myform.NumberOfNoInterestYears2.value ;
//	var I1 = myform.BankReturnRate.value ;
	
	if (IsNumeric(L1) == false) {
		alert ("請輸入正確數目");
		return false;
	};
	if (IsNumeric(L2) == false) {
		alert ("請輸入正確數目");
		return false;
	};	
	if (IsNumeric(R1) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(R2) == false) {
		alert ("請輸入正確數目");
		return false;
	};	
	if (IsNumeric(N1) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(N2) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
/*	if (IsNumeric(Y1) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(Y2) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(I1) == false) {
		alert ("請輸入正確數目");
		return false;
	};	*/	
	if (parseInt(document.myform.NumberOfYears2.value) > parseInt(document.myform.NumberOfYears1.value)) {
		alert ("第二按揭年期必須少於或等於第一按揭年期");
		return false;		
	};
	
	showcmit2();
}

function showcmit2() { 
			   form = document.myform ;
               L1 = form.Loan1.value ;
//			   DownPayment = "0" ;
			   R1 = form.InterestRate1.value/100 ;
			   N1 = form.NumberOfYears1.value ;
			   MonthRate1 = R1/12 ;
               NumPayments1 = N1*12 ;
//			   Prin = Loan-DownPayment ;
			   Y1 = 0;
//			   Y1 = form.NumberOfNoInterestYears1.value ;
               I1 = 0;
//			   I1 = form.BankReturnRate.value ;
			   L2 = form.Loan2.value ;
			   R2 = form.InterestRate2.value/100 ;
			   N2 = form.NumberOfYears2.value ;
			   MonthRate2 = R2/12 ;
			   NumPayments2 = N2*12 ;
			   Y2 = 0;
//			   Y2 = form.NumberOfNoInterestYears2.value ;   
			   NoPaymentPeriod2 = Y2*12;
			   FirstMortgagePayment = CommaFormatted(CurrencyFormatted(Math.round((L1*MonthRate1)/(1-Math.pow((1+MonthRate1),(-1*NumPayments1)))*100)/100)); 
               RateOfDeveloper = R1*100*Y1-I1 ;
               CashOfDeveloper = CommaFormatted(CurrencyFormatted(L1*(R1*100*Y1-I1)/100));		
			   CashOfBank = CommaFormatted(CurrencyFormatted(L1*I1/100)) ;
			   CashOfTotal = CommaFormatted(CurrencyFormatted(L1*(R1*100*Y1-I1)/100 + L1*I1/100)) ;
			   SecondMortgagePayment = CommaFormatted(CurrencyFormatted(Math.round((L2*MonthRate2)/(1-Math.pow((1+MonthRate2),(-1*(NumPayments2-NoPaymentPeriod2))))*100)/100));
			   
			   var n = 1;
               var l1 = L1;
			   var l2 = L2;
               var m1 = (L1*MonthRate1)/(1-Math.pow((1+MonthRate1),(-1*NumPayments1)));
			   var m2 = (L2*MonthRate2)/(1-Math.pow((1+MonthRate2),(-1*(NumPayments2-NoPaymentPeriod2))));
               var i1 = l1*MonthRate1;
			   var i2 = l2*MonthRate2;
			   var r1 = R1*100 ;
			   var r2 = R2*100 ;
               var P1 = m1 - i1;
			   var P2 = m2 - i2;
			   var Tm1 = 0;
			   var Tm2 = 0;
			   var Tp1 = 0;
			   var Tp2 = 0;
			   var Ti1 = 0;
			   var Ti2 = 0;
			   
			   var text = '<table width=\"90%%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';
               text = text + '<tr><td colspan=\"2\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"2\"><strong>計算結果</strong></td></tr>';
			   text = text + '<tr><td colspan=\"2\"><hr /></td></tr>';
//			   text = text + '<tr align="left"><td  colspan=\"2\"><strong>銀行或發展商現金回贈</strong></td></tr>';
//			   text = text + '<tr align="left"><td width=\"120\">發展商 (%)</td><td>' + Math.round(RateOfDeveloper*100)/100 + '(%)</td></tr>';	
//			   text = text + '<tr align="left"><td>發展商利息津貼 ($)</td><td>' + CashOfDeveloper + '</td></tr>';				   
//			   text = text + '<tr align="left"><td>銀行 ($)</td><td>' + CashOfBank + '</td></tr>';
//			   text = text + '<tr align="left"><td>總利息津貼 ($)</td><td>' + CashOfTotal + '</td></tr>';	
			   text = text + '<tr align="left"><td width=\"120\">一按月供金額 ($)</td><td>' + FirstMortgagePayment + '</td></tr>';	
			   text = text + '<tr align="left"><td>二按月供金額 ($)</td><td>' + SecondMortgagePayment + '</td></tr>';				   
               text = text + '</table>';	
			   text = text + '<table width=\"90%%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';			   
              text = text + '<tr><td colspan=\"10\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"10\"><strong>供款表</strong></td></tr>';
			   text = text + '<tr><td colspan=\"10\"><hr /></td></tr>';
			   text = text + '<tr align="center"><td>&nbsp;</td><td colspan=\"4\" bgcolor=\"#66FFFF\">一按</td><td colspan=\"4\" bgcolor=\"#FFCCCC\">二按</td><td>&nbsp;</td></tr>';
               text = text + '<tr align="right"><td>期數</td><td bgcolor=\"#66FFFF\">本金</td><td bgcolor=\"#66FFFF\">利息</td><td bgcolor=\"#66FFFF\">供款</td><td bgcolor=\"#66FFFF\">結餘</td><td  bgcolor=\"#FFCCCC\">本金</td><td  bgcolor=\"#FFCCCC\">利息</td><td  bgcolor=\"#FFCCCC\">供款</td><td  bgcolor=\"#FFCCCC\">結餘</td><td>總月供金額</td></tr>';
			   text = text + '<tr align="right"><td>0</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">'+ L1 +'</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">' + L2 +'</td><td>--</td></tr>';  
			   while (l1 > P1) {
			   if (n < NumPayments1) {	
			   
			     if (n <= NoPaymentPeriod2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;			   
               		text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">0</td> <td  bgcolor=\"#FFCCCC\">0</td>  <td  bgcolor=\"#FFCCCC\">0</td> <td  bgcolor=\"#FFCCCC\">' + L2 + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
				 }
				 else if (n > NoPaymentPeriod2) {
					 
					if (n <=  NumPayments2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
					Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;
               		text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(P2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(i2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(m2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(l2*100)/100)) + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;					
					}
					else if (n > NumPayments2) {
			       	m2 = 0;
					P2 = 0;
					Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
			       	Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;						
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td>  <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
			   n++;
			       i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;
			  
					}
					
				 }
					
			   }
			   
			   else if (n == NumPayments1) {
				   
				if (n > NumPayments2) {   
			   m1 = l1 + i1;
			   P1 = m1-i1;
			   l1 = l1-P1;	
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td>  <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>--</td> </tr>';
			   n++;
			   Tm1 = Tm1 + m1;
			   Tp1 = Tp1 + P1;
			   Ti1 = Ti1 + i1;	
				}
				else if (n == NumPayments2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
					Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(P2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(i2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(m2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(l2*100)/100)) + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;						
				}
			   }
               }
			   
				   
			   text = text + '<tr align="right"><td>' + '總數：' + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Tp1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Ti1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Tm1*100)/100)) + '</td> <td bgcolor=\"#66FFFF\">--</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Tp2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Ti2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Tm2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((Tm1+Tm2)*100)/100)) + '</td> </tr>';
			   text = text + '</table>';
               var id = 'schedule';
			   if (document.getElementById)	{
		          x = document.getElementById(id);
		          x.innerHTML = '';
		          x.innerHTML = text;
	             }
	           else if (document.all) {
		          x = document.all[id];
		          x.innerHTML = text;
	             }
	           else if (document.layers) {
		          x = document.layers[id];
		          text2 = '<P>' + text + '</P>';
		          x.document.open();
		          x.document.write(text2);
		          x.document.close();
	            }
			   } 
			   
// English Monthly Installment & Repayment Schedule

function showcmit_e() {
	var L1 = myform.Loan1.value ;
	var L2 = myform.Loan2.value ;
	var R1 = myform.InterestRate1.value ;
	var R2 = myform.InterestRate2.value ;
	var N1 = myform.NumberOfYears1.value ;
	var N2 = myform.NumberOfYears2.value ;
//	var Y1 = myform.NumberOfNoInterestYears1.value ;
//	var Y2 = myform.NumberOfNoInterestYears2.value ;
//	var I1 = myform.BankReturnRate.value ;
	
	if (IsNumeric(L1) == false) {
		alert ("Please input a numeric value");
		return false;
	};
	if (IsNumeric(L2) == false) {
		alert ("Please input a numeric value");
		return false;
	};	
	if (IsNumeric(R1) == false) {
		alert ("Please input a numeric value");
		return false;
	};		
	if (IsNumeric(R2) == false) {
		alert ("Please input a numeric value");
		return false;
	};	
	if (IsNumeric(N1) == false) {
		alert ("Please input a numeric value");
		return false;
	};		
	if (IsNumeric(N2) == false) {
		alert ("Please input a numeric value");
		return false;
	};		
/*	if (IsNumeric(Y1) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(Y2) == false) {
		alert ("請輸入正確數目");
		return false;
	};		
	if (IsNumeric(I1) == false) {
		alert ("請輸入正確數目");
		return false;
	};	*/	
	if (parseInt(document.myform.NumberOfYears2.value) > parseInt(document.myform.NumberOfYears1.value)) {
		alert ("Second mortgage period must be less than or equal to first mortgage period");
		return false;		
	};
	
	showcmit2e();
}

function showcmit2e() { 
			   form = document.myform ;
               L1 = form.Loan1.value ;
//			   DownPayment = "0" ;
			   R1 = form.InterestRate1.value/100 ;
			   N1 = form.NumberOfYears1.value ;
			   MonthRate1 = R1/12 ;
               NumPayments1 = N1*12 ;
//			   Prin = Loan-DownPayment ;
			   Y1 = 0;
//			   Y1 = form.NumberOfNoInterestYears1.value ;
               I1 = 0;
//			   I1 = form.BankReturnRate.value ;
			   L2 = form.Loan2.value ;
			   R2 = form.InterestRate2.value/100 ;
			   N2 = form.NumberOfYears2.value ;
			   MonthRate2 = R2/12 ;
			   NumPayments2 = N2*12 ;
			   Y2 = 0;
//			   Y2 = form.NumberOfNoInterestYears2.value ;   
			   NoPaymentPeriod2 = Y2*12;
			   FirstMortgagePayment = CommaFormatted(CurrencyFormatted(Math.round((L1*MonthRate1)/(1-Math.pow((1+MonthRate1),(-1*NumPayments1)))*100)/100)); 
               RateOfDeveloper = R1*100*Y1-I1 ;
               CashOfDeveloper = CommaFormatted(CurrencyFormatted(L1*(R1*100*Y1-I1)/100));		
			   CashOfBank = CommaFormatted(CurrencyFormatted(L1*I1/100)) ;
			   CashOfTotal = CommaFormatted(CurrencyFormatted(L1*(R1*100*Y1-I1)/100 + L1*I1/100)) ;
			   SecondMortgagePayment = CommaFormatted(CurrencyFormatted(Math.round((L2*MonthRate2)/(1-Math.pow((1+MonthRate2),(-1*(NumPayments2-NoPaymentPeriod2))))*100)/100));
			   
			   var n = 1;
               var l1 = L1;
			   var l2 = L2;
               var m1 = (L1*MonthRate1)/(1-Math.pow((1+MonthRate1),(-1*NumPayments1)));
			   var m2 = (L2*MonthRate2)/(1-Math.pow((1+MonthRate2),(-1*(NumPayments2-NoPaymentPeriod2))));
               var i1 = l1*MonthRate1;
			   var i2 = l2*MonthRate2;
			   var r1 = R1*100 ;
			   var r2 = R2*100 ;
               var P1 = m1 - i1;
			   var P2 = m2 - i2;
			   var Tm1 = 0;
			   var Tm2 = 0;
			   var Tp1 = 0;
			   var Tp2 = 0;
			   var Ti1 = 0;
			   var Ti2 = 0;
			   
			   var text = '<table width=\"90%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';
               text = text + '<tr><td colspan=\"2\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"2\"><strong>Calculation Results</strong></td></tr>';
			   text = text + '<tr><td colspan=\"2\"><hr /></td></tr>';
//			   text = text + '<tr align="left"><td  colspan=\"2\"><strong>銀行或發展商現金回贈</strong></td></tr>';
//			   text = text + '<tr align="left"><td width=\"120\">發展商 (%)</td><td>' + Math.round(RateOfDeveloper*100)/100 + '(%)</td></tr>';	
//			   text = text + '<tr align="left"><td>發展商利息津貼 ($)</td><td>' + CashOfDeveloper + '</td></tr>';				   
//			   text = text + '<tr align="left"><td>銀行 ($)</td><td>' + CashOfBank + '</td></tr>';
//			   text = text + '<tr align="left"><td>總利息津貼 ($)</td><td>' + CashOfTotal + '</td></tr>';	
			   text = text + '<tr align="left"><td width=\"120\">Monthly instalment for 1st mortgage ($)</td><td>' + FirstMortgagePayment + '</td></tr>';	
			   text = text + '<tr align="left"><td>Monthly instalment for 2nd mortgage ($)</td><td>' + SecondMortgagePayment + '</td></tr>';				   
               text = text + '</table>';	
			   text = text + '<table width=\"90%%\"  border=\"0\" align=\"center\" cellpadding=\"4\" cellspacing=\"0\">';			   
              text = text + '<tr><td colspan=\"10\"><hr /></td></tr>';
			   text = text + '<tr bgcolor=\"#66FFFF\"><td colspan=\"10\"><strong>Repayment Schedule</strong></td></tr>';
			   text = text + '<tr><td colspan=\"10\"><hr /></td></tr>';
			   text = text + '<tr align="center"><td>&nbsp;</td><td colspan=\"4\" bgcolor=\"#66FFFF\">1st Mortgage</td><td colspan=\"4\" bgcolor=\"#FFCCCC\">2nd Mortgage</td><td>&nbsp;</td></tr>';
               text = text + '<tr align="right"><td>Inst #</td><td bgcolor=\"#66FFFF\">Principal</td><td bgcolor=\"#66FFFF\">Interest</td><td bgcolor=\"#66FFFF\">Monthly Instalment</td><td bgcolor=\"#66FFFF\">Balance</td><td  bgcolor=\"#FFCCCC\">Principal</td><td  bgcolor=\"#FFCCCC\">Interest</td><td  bgcolor=\"#FFCCCC\">Monthly Instalment</td><td  bgcolor=\"#FFCCCC\">Balance</td><td>Total Monthly Instalment</td></tr>';
			   text = text + '<tr align="right"><td>0</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">--</td><td bgcolor=\"#66FFFF\">'+ L1 +'</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">--</td><td  bgcolor=\"#FFCCCC\">' + L2 +'</td><td>--</td></tr>';  
			   while (l1 > P1) {
			   if (n < NumPayments1) {	
			   
			     if (n <= NoPaymentPeriod2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;			   
               		text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">0</td> <td  bgcolor=\"#FFCCCC\">0</td>  <td  bgcolor=\"#FFCCCC\">0</td> <td  bgcolor=\"#FFCCCC\">' + L2 + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
				 }
				 else if (n > NoPaymentPeriod2) {
					 
					if (n <=  NumPayments2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
					Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;
               		text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(P2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(i2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(m2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(l2*100)/100)) + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;					
					}
					else if (n > NumPayments2) {
			       	m2 = 0;
					P2 = 0;
					Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
			       	Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;						
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td>  <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
			   n++;
			       i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;
			  
					}
					
				 }
					
			   }
			   
			   else if (n == NumPayments1) {
				   
				if (n > NumPayments2) {   
			   m1 = l1 + i1;
			   P1 = m1-i1;
			   l1 = l1-P1;	
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td>  <td  bgcolor=\"#FFCCCC\">--</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>--</td> </tr>';
			   n++;
			   Tm1 = Tm1 + m1;
			   Tp1 = Tp1 + P1;
			   Ti1 = Ti1 + i1;	
				}
				else if (n == NumPayments2) {
			       	Tm1 = Tm1 + m1;
			   		Tp1 = Tp1 + P1;
			   		Ti1 = Ti1 + i1;	
               		l1 = l1-P1;	
					Tm2 = Tm2 + m2;
			   		Tp2 = Tp2 + P2;
			   		Ti2 = Ti2 + i2;	
               		l2 = l2-P2;
               text = text + '<tr align="right"><td>' + n + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(P1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(i1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(m1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(l1*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(P2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(i2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(m2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(l2*100)/100)) + '</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((m1+m2)*100)/100)) + '</td> </tr>';
               		n++;
               		i1=l1*MonthRate1;
               		P1=m1-i1;
               		i2=l2*MonthRate2;
               		P2=m2-i2;						
				}
			   }
               }
			   
				   
			   text = text + '<tr align="right"><td>' + 'Total:' + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Tp1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Ti1*100)/100)) + '</td><td bgcolor=\"#66FFFF\">' + CommaFormatted(CurrencyFormatted(Math.round(Tm1*100)/100)) + '</td> <td bgcolor=\"#66FFFF\">--</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Tp2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Ti2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">' + CommaFormatted(CurrencyFormatted(Math.round(Tm2*100)/100)) + '</td> <td  bgcolor=\"#FFCCCC\">--</td> <td>' + CommaFormatted(CurrencyFormatted(Math.round((Tm1+Tm2)*100)/100)) + '</td> </tr>';
			   text = text + '</table>';
               var id = 'schedule';
			   if (document.getElementById)	{
		          x = document.getElementById(id);
		          x.innerHTML = '';
		          x.innerHTML = text;
	             }
	           else if (document.all) {
		          x = document.all[id];
		          x.innerHTML = text;
	             }
	           else if (document.layers) {
		          x = document.layers[id];
		          text2 = '<P>' + text + '</P>';
		          x.document.open();
		          x.document.write(text2);
		          x.document.close();
	            }
			   } 