Want more features on Pastebin? Sign Up, it's FREE!
Guest

Loan calculators - 2 of 4 will not work

By: rbsp97 on Jul 3rd, 2012  |  syntax: JavaScript  |  size: 19.89 KB  |  views: 90  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.  
  2. function PopUpPrint () {
  3.         var input_string = "";
  4.         if (CalQualAmt()) {
  5.                 input_string = "loanqualifier_calc_displaycertificate_frame.asp";
  6.                 input_string = input_string + "?IncOne=" +  document.getElementById('qualify').IncOne.value;
  7.                 input_string = input_string + "&IncTwo=" +  document.getElementById('qualify').IncTwo.value;
  8.                 input_string = input_string + "&OthInc=" +  document.getElementById('qualify').OthInc.value;
  9.                 input_string = input_string + "&RentInc=" +  document.getElementById('qualify').RentInc.value;
  10.                 input_string = input_string + "&income1=" +  document.getElementById('qualify').income1.options[ document.getElementById('qualify').income1.selectedIndex].text;
  11.                 input_string = input_string + "&income2=" +  document.getElementById('qualify').income2.options[ document.getElementById('qualify').income2.selectedIndex].text;
  12.                 input_string = input_string + "&incomeother=" +  document.getElementById('qualify').incomeother.options[ document.getElementById('qualify').incomeother.selectedIndex].text;
  13.                 input_string = input_string + "&incomerental=" +  document.getElementById('qualify').incomerental.options[ document.getElementById('qualify').incomerental.selectedIndex].text;
  14.                 input_string = input_string + "&Applicants=" + returnRadioValue( document.getElementById('qualify').Applicants);
  15.                 input_string = input_string + "&HomeLoan=" +  document.getElementById('qualify').HomeLoan.value;
  16.                 input_string = input_string + "&OthLoan=" +  document.getElementById('qualify').OthLoan.value;
  17.                 input_string = input_string + "&CardLim=" +  document.getElementById('qualify').CardLim.value;
  18.                 input_string = input_string + "&NumbDep=" +  document.getElementById('qualify').NumbDep.value;
  19.                 input_string = input_string + "&IntRate=" +  document.getElementById('qualify').IntRate.value;
  20.                 input_string = input_string + "&TermYear=" +  document.getElementById('qualify').TermYear.value;
  21.                 input_string = input_string + "&TermMonth=" +  document.getElementById('qualify').TermMonth.value;
  22.                 input_string = input_string + "&LoanAmt=" +  document.getElementById('qualify').LoanAmt.value;
  23.                 input_string = input_string + "&loanType=" + returnRadioValue( document.getElementById('qualify').loanType);
  24.  
  25.                 window.open(input_string,'certificate','width=640,height=600,scrollbars=yes,resizable=yes,screenX=0,screenY=0,left=0,top=0');
  26.         }
  27. }
  28.  
  29.  
  30. function returnRadioValue(sFieldName) {
  31.         var cFields = sFieldName;
  32.  
  33.         for (x = 0; x < cFields.length; x++) {
  34.                 if (cFields[x].checked) {
  35.                         return cFields[x].value;
  36.                         break;
  37.                 }
  38.         }
  39.  
  40.         return null;
  41. }
  42.  
  43.  
  44. function checkEnter(pfield, pname) {
  45.     var field = pfield.value
  46.     var msg
  47.     var status = true
  48.  
  49.     if (field.length == 0) {
  50.         msg = "The '" + pname + "' field must be entered."
  51.         alert(msg)
  52.         status = false
  53.     }
  54.  
  55.     return status
  56. }
  57.  
  58. function checkNumberofApplicants(pfield, pname) {
  59.     var field = returnRadioValue(pfield)
  60.     var msg
  61.     var status = true
  62.  
  63.     if ((field == 2) && ( document.getElementById('qualify').IncTwo.value.length==0)) {
  64.         msg = "You have entered Joint for the No. of Applicants. The Income 2 field must be entered."
  65.         alert(msg)
  66.         status = false
  67.     }
  68.  
  69.     if ((field == 1) && (ParseDollar( document.getElementById('qualify').IncTwo.value)>0)) {
  70.         msg = "You have entered Single for the No. of Applicants. The Income 2 field cannot be entered."
  71.         alert(msg)
  72.         status = false
  73.     }
  74.  
  75.     return status
  76. }
  77.  
  78.  
  79. function checkLoanType(pfield) {
  80.     var field = returnRadioValue(pfield)
  81.     var msg
  82.     var status = true
  83.  
  84.     if (field == "Home") {
  85.                  document.getElementById('qualify').IntRate.value = "8.16"
  86.                 ACF=10 // Account Keeping Fee
  87.                 fixedInterestRate = false    //sets the intrest rate text box to a free form box
  88.         status = false
  89.     }
  90.  
  91.     if (field == "Personal") {
  92.          document.getElementById('qualify').IntRate.value = "12.95"
  93.                 ACF=0 // Account Keeping Fee
  94.                 fixedInterestRate = false  //sets the intrest rate text box to a free form box
  95.         status = false
  96.     }
  97.  
  98.     return status
  99. }
  100.  
  101.  
  102. function checkIfFixInterestRateApplies() {
  103.         if (fixedInterestRate == true) {  // remove focus
  104.                  document.getElementById('qualify').TermYear.focus();
  105.         }
  106. }
  107.  
  108.  
  109. function checkNumb(pnumb, pname) {
  110.     var numb = pnumb.value
  111.     var message
  112.     var indx
  113.     var status = false
  114.  
  115.     if (numb.length == 0) {
  116.         status = true
  117.     }
  118.  
  119.     for (var indx = 0; indx < numb.length; indx++) {  /* the field should contain at least one digit */
  120.         if (numb.charAt(indx)>= "0" && numb.charAt(indx) <= "9") {
  121.             status = true
  122.         }
  123.     }
  124.  
  125.     for (var indx = 0; indx < numb.length; indx++) {
  126.         if (!((numb.charAt(indx)>= "0" && numb.charAt(indx) <= "9") ||
  127.              numb.charAt(indx) == " " ||
  128.              numb.charAt(indx) == "." ||
  129.              numb.charAt(indx) == ",")) {
  130.             status = false
  131.         }
  132.     }
  133.  
  134.     if (!status) {
  135.         msg = "The '" + pname + "' field must be a number."
  136.         alert(msg)
  137.     }
  138.     return status
  139. }
  140.  
  141. function parseNumb(pnumbstr) {
  142.     var numb = pnumbstr.value
  143.     var indx
  144.  
  145.     if (numb.length> 0) {
  146.         indx = numb.indexOf(",")
  147.     } else {
  148.         indx = -1
  149.     }
  150.     while (indx != -1) {
  151.         numb = numb.substring(0,indx) + numb.substring(indx*1 + 1,numb.length)
  152.         indx = numb.indexOf(",")
  153.     }
  154.  
  155.     if (numb.length> 0) {
  156.         indx = numb.indexOf(" ")
  157.     } else {
  158.         indx = -1
  159.     }
  160.     while (indx != -1) {
  161.         numb = numb.substring(0,indx) + numb.substring(indx*1 + 1,numb.length)
  162.         indx = numb.indexOf(" ")
  163.     }
  164.     if (numb == "") {
  165.         numb = 0
  166.     }
  167.     return numb
  168. }
  169.  
  170. function parseMonth(pyear, pmonth) {
  171.     var year  = parseNumb(pyear)
  172.     var month = parseNumb(pmonth)
  173.     var period
  174.     var indx
  175.  
  176.     period = Math.ceil(month*1 + year*12)
  177.  
  178.     return period
  179. }
  180.  
  181. function ParseDollar(pNumber) {
  182.     var money = ""
  183.     var numb = Math.round(pNumber)
  184.     var indx1
  185.     var indx2 = 0
  186.  
  187.     numb = "" + numb
  188.     indx1 = numb.length - 1
  189.  
  190.     while (indx1> -1) {
  191.         indx2 += 1
  192.         if (indx2 == 4) {
  193.             money = "," + money
  194.             indx2 = 1
  195.         }
  196.         money = numb.substring(indx1,indx1*1 + 1) + money
  197.         indx1 -= 1
  198.     }
  199.  
  200.      return money
  201. }
  202.  
  203. function checkIncOne(pInc) {
  204.     var Inc = pInc
  205.     var status = false
  206.  
  207.     if (checkEnter(Inc,"First Income")) {
  208.         status = checkNumb(Inc,"First Income")
  209.     }
  210.  
  211.     return status
  212. }
  213.  
  214.  
  215. function checkIntRate(pIntRate) {
  216.     var IntRate = pIntRate
  217.     var status  = true
  218.  
  219.     if (checkEnter(IntRate,"Interest Rate")) {
  220.         if (checkNumb(IntRate,"Interest Rate")) {
  221.             if (IntRate.value == 0) {
  222.                 alert("The Interest Rate can not be zero.")
  223.                 status = false
  224.             }
  225.         } else {
  226.             status = false
  227.         }
  228.     } else {
  229.         status = false
  230.     }
  231.  
  232.     return status
  233. }
  234.  
  235. function checkTermY(pYear) {
  236.     var TermYear = pYear
  237.     var status   = true
  238.  
  239.     if (checkEnter(TermYear,"Year Period")) {
  240.         if (checkNumb(TermYear,"Year Period")) {
  241.             if (TermYear.value> 30) {
  242.                 alert("The Term of Loan can not be longer than 30 years.")
  243.                 status = false
  244.             }
  245.         } else {
  246.             status = false
  247.         }
  248.     } else {
  249.         status = false
  250.     }
  251.  
  252.     return status
  253. }
  254.  
  255. function checkTermM(pYear, pMonth) {
  256.     var TermYear  = pYear
  257.     var TermMonth = pMonth
  258.     var status    = true
  259.     var ValMonth  = pMonth.value
  260.  
  261.     if (ValMonth.length != 0) {
  262.         if (checkNumb(TermMonth,"Month Period")) {
  263.            if (TermMonth.value> 0 && TermYear.value> 29) {
  264.                 alert("The Term of Loan can not be longer than 30 years.")
  265.                 status = false
  266.             }
  267.             if (TermMonth.value> 11) {
  268.                 alert("Please use the Year field to enter a period longer than 11 months.")
  269.                 status = false
  270.             }
  271.         } else {
  272.             status = false
  273.         }
  274.     }
  275.  
  276.     return status
  277. }
  278.  
  279. var ACF = 10 //Account Keeping Fee
  280. var fixedInterestRate = true //default interest rate type
  281.  
  282. function CalQualAmt() {
  283.     var IncOne
  284.     var IncTwo
  285.     var OthInc
  286.     var RentInc
  287.     var TotInc
  288.  
  289.     var HomeLoan
  290.     var OthLoan
  291.     var CardLim
  292.     var NumbDep
  293.         var AmtDep
  294.     var OthExp
  295.     var TotExp
  296.  
  297.     var IntRate
  298.     var MonthTerm
  299.     var RepayAmt
  300.     var QualAmt
  301.  
  302.     if (checkIncOne( document.getElementById('qualify').IncOne) &&
  303.           checkNumb( document.getElementById('qualify').IncTwo,"Second Income") &&
  304.           checkNumb( document.getElementById('qualify').OthInc,"Other Income") &&
  305.           checkNumb( document.getElementById('qualify').RentInc,"Rental Income") &&
  306.           checkNumberofApplicants( document.getElementById('qualify').Applicants, "No. of Applicants") &&
  307.           checkNumb( document.getElementById('qualify').HomeLoan,"Home Loan") &&
  308.           checkNumb( document.getElementById('qualify').OthLoan,"Other Loan") &&
  309.           checkNumb( document.getElementById('qualify').CardLim,"Card Limit") &&
  310.           checkNumb( document.getElementById('qualify').NumbDep,"Number of Dependants") &&
  311.           checkIntRate( document.getElementById('qualify').IntRate) &&
  312.       checkTermY( document.getElementById('qualify').TermYear) &&
  313.       checkTermM( document.getElementById('qualify').TermYear, document.getElementById('qualify').TermMonth)) {
  314.         IncOne  = (parseNumb( document.getElementById('qualify').IncOne)/12)* document.getElementById('qualify').income1.options[ document.getElementById('qualify').income1.selectedIndex].value;
  315.         IncTwo =  (parseNumb( document.getElementById('qualify').IncTwo)/12)* document.getElementById('qualify').income2.options[ document.getElementById('qualify').income2.selectedIndex].value;
  316.         OthInc =  (parseNumb( document.getElementById('qualify').OthInc)/12)* document.getElementById('qualify').incomeother.options[ document.getElementById('qualify').incomeother.selectedIndex].value;
  317.         RentInc = (parseNumb( document.getElementById('qualify').RentInc)/12)* document.getElementById('qualify').incomerental.options[ document.getElementById('qualify').incomerental.selectedIndex].value;
  318.         HomeLoan = parseNumb( document.getElementById('qualify').HomeLoan);
  319.         OthLoan = parseNumb( document.getElementById('qualify').OthLoan);
  320.         CardLim = parseNumb( document.getElementById('qualify').CardLim);
  321.         NumbDep = parseNumb( document.getElementById('qualify').NumbDep);
  322.  
  323.         IntRate = parseNumb( document.getElementById('qualify').IntRate)/1200
  324.         MonthTerm = parseMonth( document.getElementById('qualify').TermYear, document.getElementById('qualify').TermMonth)
  325.  
  326.                 // if SINGLE app, make sure only one income box is filled in.
  327.                 if ((returnRadioValue( document.getElementById('qualify').Applicants)==1) && (IncTwo> 0)) {
  328.                         IncTwo = 0;
  329.                          document.getElementById('qualify').IncTwo.value = 0;
  330.                         alert ("You have selected Single Application and entered a value for 'Income Two'. This value has now been reset to 0. If you require a Joint Income, please select it under 'Application Type'");
  331.                 }
  332.  
  333.         TotInc = IncOne + IncTwo + OthInc
  334.  
  335.                 OthExp = TotInc * 0.35;
  336.  
  337.                 if (OthExp < 1000 && returnRadioValue( document.getElementById('qualify').Applicants)==1) { //IncTwo == 0)
  338.                         OthExp = 1000;
  339.                 } else if (OthExp < 1300 && returnRadioValue( document.getElementById('qualify').Applicants)==2) {
  340.                         OthExp = 1300;
  341.                 } else if (OthExp> 2000 && returnRadioValue( document.getElementById('qualify').Applicants)==1) {
  342.                         OthExp = 2000;
  343.                 } else if (OthExp> 2600 && returnRadioValue( document.getElementById('qualify').Applicants)==2) {
  344.                         OthExp = 2600;
  345.                 }
  346.  
  347.                 if (NumbDep> 0)
  348.                         AmtDep = 175 + (NumbDep - 1) * 125;
  349.                 else
  350.                         AmtDep = 0;
  351.  
  352.                 TotExp = AmtDep*1 + HomeLoan*1 + OthLoan*1 + (CardLim * 0.03) + OthExp*1;
  353.  
  354.                 RepayAmt = TotInc + (RentInc * 0.7) - TotExp
  355.  
  356.                 // no ACF on personal loans
  357.                 LoanAmt = (RepayAmt - ACF) * (1 - Math.pow((1 + IntRate*1),-MonthTerm))/IntRate
  358.  
  359.                 if (LoanAmt> 0) {
  360.              document.getElementById('qualify').LoanAmt.value = ParseDollar(Math.round(LoanAmt))
  361.                         return true;
  362.         } else {
  363.                          document.getElementById('qualify').LoanAmt.value = "0"
  364.                         return true;
  365.                 }
  366.     } else {
  367.                  document.getElementById('qualify').LoanAmt.value = " "
  368.                 return false;
  369.     }
  370. }
  371.  
  372. function Init_Page() {
  373.          document.getElementById('qualify').IncOne.focus();
  374.          document.getElementById('qualify').IncOne.select();
  375. }
  376.  
  377. // Calculate loan, open new window, submit form.
  378. function PopUpPrint () {
  379.         CalcRepay();
  380.         inputstring = "repayment_calc_displaycertificate_frame.asp"
  381.         inputstring = inputstring + "?LoanAmt1=" +  document.getElementById('repay').LoanAmt1.value
  382.         inputstring = inputstring + "&IntRate1=" +  document.getElementById('repay').IntRate1.value
  383.         inputstring = inputstring + "&TermYear1=" +  document.getElementById('repay').TermYear1.value
  384.         inputstring = inputstring + "&TermMonth1=" +  document.getElementById('repay').TermMonth1.value
  385.         inputstring = inputstring + "&RepayAmt1=" +  document.getElementById('repay').RepayAmt1.value
  386.         window.open(inputstring,'certificate','width=640,height=600,scrollbars=yes,resizable=yes,screenX=0,screenY=0,left=0,top=0')
  387. }
  388.  
  389. function checkEnter(pfield, pname) {
  390.         var field = pfield.value
  391.         var msg
  392.         var status = true
  393.  
  394.         if (field.length == 0) {
  395.                 msg = "The " + pname + " field must be entered."
  396.                 alert(msg)
  397.                 status = false
  398.         }
  399.  
  400.         return status
  401. }
  402.  
  403. function checkNumb(pnumb, pname) {
  404.         var numb = pnumb.value
  405.         var message
  406.         var indx
  407.         var status = false
  408.  
  409.         for (var indx = 0; indx < numb.length; indx++) { /* the field should contain at least one digit */
  410.                 if (numb.charAt(indx)>= "0" && numb.charAt(indx) <= "9") {
  411.                         status = true
  412.                 }
  413.         }
  414.         for (var indx = 0; indx < numb.length; indx++) {
  415.                 if (!((numb.charAt(indx)>= "0" && numb.charAt(indx) <= "9") ||
  416.                   numb.charAt(indx) == " " ||
  417.                   numb.charAt(indx) == "." ||
  418.                   numb.charAt(indx) == ",")) {
  419.                         status = false
  420.                 }
  421.         }
  422.         if (!status) {
  423.                 msg = "The " + pname + " field must be a number."
  424.                 alert(msg)
  425.         }
  426.  
  427.         return status
  428. }
  429.  
  430. function parseNumb(pnumbstr) {
  431.         var numb = pnumbstr.value
  432.         var indx
  433.  
  434.         indx = numb.indexOf(",")
  435.         while (indx != -1) {
  436.                 numb = numb.substring(0,indx) + numb.substring(indx*1 + 1,numb.length)
  437.                 indx = numb.indexOf(",")
  438.         }
  439.  
  440.         indx = numb.indexOf(" ")
  441.         while (indx != -1) {
  442.                 numb = numb.substring(0,indx) + numb.substring(indx*1 + 1,numb.length)
  443.                 indx = numb.indexOf(" ")
  444.         }
  445.  
  446.         return numb
  447. }
  448.  
  449. function parseMonth(pyear, pmonth) {
  450.         var year  = parseNumb(pyear)
  451.         var month = parseNumb(pmonth)
  452.         var period
  453.         var indx
  454.  
  455.         period = Math.ceil(month*1 + year*12)
  456.  
  457.         return period
  458. }
  459.  
  460. function checkLoan(pLoan) {
  461.         var LoanAmt = pLoan
  462.         var status
  463.  
  464.         if (checkEnter(LoanAmt,"Loan Amount")) {
  465.                 status = checkNumb(LoanAmt,"Loan Amount")
  466.         }
  467.  
  468.         return status
  469. }
  470.  
  471. function checkRepay(pRepay) {
  472.         var RepayAmt = pRepay
  473.         var status   = true
  474.  
  475.         if (checkEnter(RepayAmt,"Repay Amount")) {
  476.                 if (checkNumb(RepayAmt,"Repay Amount")) {
  477.                         if (RepayAmt.value == 0) {
  478.                                 alert("The Repay Amount can not be zero.")
  479.                                 status = false
  480.                         }
  481.                 } else {
  482.                         status = false
  483.                 }
  484.         } else {
  485.                 status = false
  486.         }
  487.  
  488.         return status
  489. }
  490.  
  491. function checkIntRate(pIntRate) {
  492.         var IntRate = pIntRate
  493.         var status  = true
  494.  
  495.         if (checkEnter(IntRate,"Interest Rate")) {
  496.                 if (checkNumb(IntRate,"Interest Rate")) {
  497.                         if (IntRate.value == 0) {
  498.                                 alert("The Interest Rate can not be zero.")
  499.                                 status = false
  500.                         }
  501.                 } else {
  502.                         status = false
  503.                 }
  504.         } else {
  505.                 status = false
  506.         }
  507.  
  508.         return status
  509. }
  510.  
  511. function checkTermY(pYear) {
  512.         var TermYear = pYear
  513.         var status   = true
  514.  
  515.         if (checkEnter(TermYear,"Year Period")) {
  516.                 if (checkNumb(TermYear,"Year Period")) {
  517.                         if (TermYear.value> 30) {
  518.                                 alert("The Year Period can not be longer than 30 years.")
  519.                                 status = false
  520.                         }
  521.                 } else {
  522.                         status = false
  523.                 }
  524.         } else {
  525.                 status = false
  526.         }
  527.  
  528.         return status
  529. }
  530.  
  531. function checkTermM(pMonth) {
  532.         var TermMonth = pMonth
  533.         var status    = true
  534.  
  535.         if (checkEnter(TermMonth,"Month Period")) {
  536.                 if (checkNumb(TermMonth,"Month Period")) {
  537.                         //if (TermMonth.value> 11) {
  538.                                 //alert("Please use the Year field to enter a period longer than 11 months.")
  539.                                 //status = false
  540.                         //}
  541.                 } else {
  542.                         status = false
  543.                 }
  544.         } else {
  545.                 status = false
  546.         }
  547.  
  548.         return status
  549. }
  550.  
  551. function CalcRepayAmt(pLoanAmt, pIntRate, pTerm) {
  552.         var RepayAmt
  553.  
  554.         RepayAmt = pLoanAmt * pIntRate/(1 - Math.pow((1 + pIntRate*1),-pTerm))
  555.         RepayAmt = Math.ceil(RepayAmt)
  556.  
  557.         return RepayAmt
  558. }
  559.  
  560. /////////////////////////////////////////////////////////
  561. function CalcRepay() {
  562.         var LoanAmount
  563.         var InterestRate
  564.         var MonthTerm
  565.  
  566.         if (checkLoan( document.getElementById('repay').LoanAmt1) &&
  567.           checkIntRate( document.getElementById('repay').IntRate1) &&
  568.           checkTermY( document.getElementById('repay').TermYear1) &&
  569.           checkTermM( document.getElementById('repay').TermMonth1)) {
  570.                 LoanAmount   = parseNumb( document.getElementById('repay').LoanAmt1)
  571.                 InterestRate = parseNumb( document.getElementById('repay').IntRate1)/1200
  572.                 MonthTerm    = parseMonth( document.getElementById('repay').TermYear1, document.getElementById('repay').TermMonth1)
  573.  
  574.                  document.getElementById('repay').RepayAmt1.value = CalcRepayAmt(LoanAmount, InterestRate, MonthTerm)
  575.         } else {
  576.                  document.getElementById('repay').RepayAmt1.value = " "
  577.         }
  578. }
  579. /////////////////////////////////////////////////////
  580. function CalcTerm() {
  581.         /* Calculate the Repaid Period */
  582.  
  583.         var MonthTerm    = 0
  584.         var YearTerm     = 0
  585.         var MaxTerm      = 30 * 12     /* 30 years */
  586.         var LoanAmount
  587.         var RepayAmount
  588.         var InterestRate
  589.         var RepayFreq
  590.         var MinRepay
  591.  
  592.         if (checkLoan( document.getElementById('repay').LoanAmt2) &&
  593.           checkRepay( document.getElementById('repay').RepayAmt2) &&
  594.           checkIntRate( document.getElementById('repay').IntRate2)) {
  595.                 LoanAmount   = parseNumb( document.getElementById('repay').LoanAmt2)
  596.                 RepayAmount  = parseNumb( document.getElementById('repay').RepayAmt2)
  597.                 InterestRate = parseNumb( document.getElementById('repay').IntRate2)/1200
  598.                 MinRepay     = CalcRepayAmt(LoanAmount, InterestRate, MaxTerm)
  599.                 RepayFreq = document.getElementById('repay').RepayFreq.options[document.getElementById('repay').RepayFreq.selectedIndex].value
  600.                 RepayAmount = RepayAmount * RepayFreq/12
  601.                 if (RepayAmount < MinRepay) {
  602.                         Msg = "Sorry, the minimum repayment amount must be " + MinRepay + " dollars."
  603.                         alert(Msg)
  604.                          document.getElementById('repay').TermYear2.value  = " "
  605.                          document.getElementById('repay').TermMonth2.value = " "
  606.                 } else {
  607.                         MonthTerm = Math.log(RepayAmount/(RepayAmount - LoanAmount * InterestRate)) / Math.log(1 + InterestRate)
  608.                         MonthTerm = Math.ceil(MonthTerm)
  609.                         YearTerm = Math.floor(MonthTerm / 12)
  610.                         MonthTerm = MonthTerm - (YearTerm * 12)
  611.  
  612.                          document.getElementById('repay').TermYear2.value  = YearTerm
  613.                          document.getElementById('repay').TermMonth2.value = MonthTerm
  614.                 }
  615.         } else {
  616.                  document.getElementById('repay').TermYear2.value  = " "
  617.                  document.getElementById('repay').TermMonth2.value = " "
  618.         }
  619. }
  620. /////////////////////////////////////////////////////////
  621. function CalcLoan() {
  622.         var LoanAmt
  623.         var RepayAmount
  624.         var InterestRate
  625.         var MonthTerm
  626.  
  627.         if (checkRepay( document.getElementById('repay').RepayAmt3) &&
  628.           checkIntRate( document.getElementById('repay').IntRate3) &&
  629.           checkTermY( document.getElementById('repay').TermYear3) &&
  630.           checkTermM( document.getElementById('repay').TermMonth3)) {
  631.                 RepayAmount  = parseNumb( document.getElementById('repay').RepayAmt3)
  632.                 InterestRate = parseNumb( document.getElementById('repay').IntRate3)/1200
  633.                 MonthTerm    = parseMonth( document.getElementById('repay').TermYear3, document.getElementById('repay').TermMonth3)
  634.                 LoanAmt = RepayAmount * (1 - Math.pow((1 + InterestRate*1),-MonthTerm))/InterestRate
  635.  
  636.                  document.getElementById('repay').LoanAmt3.value = Math.floor(LoanAmt)
  637.         } else {
  638.                  document.getElementById('repay').LoanAmt3.value = " "
  639.         }
  640. }
clone this paste RAW Paste Data