/* Home Affordability Calculator Javascript */

Pymnts = 033
i=0
ii=0
iii=0

function checkNumber(input, min, max, msg) {

   msg = msg + " field has invalid input: " + input.value;

   var str = input.value;
   for (var z = 0; z < str.length; z++) {
      var ch = str.substring(z, z + 1)
      if ((ch < "0" || "9" < ch) && ch != '.') {
         alert(msg);
         return false;
      }
   }
   var num = 0 + str
   if (num < min || max < num) {
      alert(msg + " not in range [" + min + ".." + max + "]");
      return false;
   }
   input.value = str;
   return true;
}


function computeSlct(form) {
   var Pymnts = eval(form.term.selectedIndex);
   if (Pymnts == 0) {
      form.Test.value = "30"
   }
   if (Pymnts == 1) {
      form.Test.value = "15"
   }
}

function computeField(input) {
   if (input.value != null && input.value.length != 0)
      input.value = "" + eval(input.value);
   computeForm(input.form);
}

function computeForm(form) {
   if (!checkNumber(form.interest, .001, 99, "Interest Rate") ) {
      form.mopymt.value = "Invalid";
      form.loanamt.value = "Invalid";
      form.saleprice.value = "Invalid";
      return;
   }

   if (!checkNumber(form.Income, 1, 99999999, "Income") ) {
      form.mopymt.value = "Invalid";
      form.loanamt.value = "Invalid";
      form.saleprice.value = "Invalid";
      return;
   }

   if (!checkNumber(form.Funds, 1, 99999999, "Funds") ) {
      form.mopymt.value = "Invalid";
      form.loanamt.value = "Invalid";
      form.saleprice.value = "Invalid";
      return;
   }

   if (!checkNumber(form.Debt, 0, 99999999, "Debt") ) {
      form.mopymt.value = "Invalid";
      form.loanamt.value = "Invalid";
      form.saleprice.value = "Invalid";
      return;
   }
         
   if (eval(form.interest.value)  < 6.0 ) {
      form.interest.value = "6.0";
   }

   if (eval(form.interest.value) > 12.75) {
      form.interest.value = "12.75";
   }
   
   if ((form.Funds.value == null ) || 
       (form.interest.value == null || form.interest.value.length == 0) ||
       (form.Debt.value == null || form.Debt.value.length == 0) ||
       (form.Income.value == null || form.Income.value.length == 0)) {
      return;
   }

   if (!checkNumber(form.interest, .001, 99, "Interest") ||
       !checkNumber(form.Income, 100, 1000000000, "Income")) {
      return;
   }

   var i = eval(form.interest.value);
    
   if ((i >= 6.0) && ( i < 6.25 )) {
      ii = 6.0
      iii = 8.44
      IntDisp = 6.0
   }
   if ((i >= 6.25) && ( i < 6.5 )) {
      ii = 6.16
      iii = 8.57
      IntDisp = 6.25
   }
   if ((i >= 6.50) && ( i < 6.75 )) {
      ii = 6.32
      iii = 8.71
      IntDisp = 6.5
   }
   if ((i >= 6.75) && ( i <7.0 )) {
      ii = 6.49
      iii = 8.85
      IntDisp = 6.75
   }
   if ((i >= 7.0) && ( i < 7.25 )) {
      ii = 6.65
      iii = 8.99
      IntDisp = 7.0
   }
   if ((i >= 7.25) && ( i < 7.5 )) {
      ii = 6.82
      iii = 9.13
      IntDisp = 7.25
   }
   if ((i >= 7.50) && ( i < 7.75 )) {
      ii = 6.99
      iii = 9.27
      IntDisp = 7.5
   }
   if ((i >= 7.75) && ( i < 8.0 )) {
      ii = 7.16
      iii = 9.41
      IntDisp = 7.75
   }
   if ((i >= 8.0) && ( i < 8.25 )) {
      ii = 7.34
      iii = 9.56
      IntDisp = 8.0
   }
   if ((i >= 8.25) && ( i < 8.5 )) {
      ii = 7.51
      iii = 9.70
      IntDisp = 8.25
   }
   if ((i >= 8.50) && ( i < 8.75 )) {
      ii = 7.69
      iii = 9.85
      IntDisp = 8.5
   }
   if ((i >= 8.75) && ( i < 9.0 )) {
      ii = 7.87
      iii = 9.99
      IntDisp = 8.75
   }
   if ((i >= 9.0) && ( i < 9.25 )) {
      ii = 8.05
      iii = 10.14
      IntDisp = 9.0
   }
   if ((i >= 9.25) && ( i < 9.5 )) {
      ii = 8.23
      iii = 10.29
      IntDisp = 9.25
   }
   if ((i >=9.50) && ( i < 9.75 )) {
      ii = 8.41
      iii = 10.44
      IntDisp = 9.5
   }
   if ((i >= 9.75) && ( i < 10.0 )) {
      ii = 8.59
      iii = 10.59
      IntDisp = 9.75
   }
   if ((i >= 10.0) && ( i < 10.25 )) {
      ii = 8.78
      iii = 10.75
      IntDisp = 10.0
   }
   if ((i >= 10.25) && ( i < 10.5 )) {
      ii = 8.96
      iii = 10.90
      IntDisp = 10.25
   }
   if ((i >=10.50) && ( i < 10.75 )) {
      ii = 9.15
      iii = 11.05
      IntDisp = 10.5
   }
   if ((i >= 10.75) && ( i < 11.0 )) {
      ii = 9.33
      iii = 11.21
      IntDisp = 10.75
   } 
   if ((i >= 11.0) && ( i < 11.25 )) {
      ii = 9.53
      iii = 11.37
      IntDisp = 11.0
   }
   if ((i >= 11.25) && ( i < 11.5 )) {
      ii = 9.72
      iii = 11.53
      IntDisp = 11.25
   }
   if ((i >=11.50) && ( i < 11.75 )) {
      ii = 9.91
      iii = 11.69
      IntDisp = 11.5
   }
   if ((i >= 11.75) && ( i < 12.0 )) {
      ii = 10.10
      iii = 11.85
      IntDisp = 11.75
   } 
   if ((i >= 12.0) && ( i < 12.25 )) {
      ii = 10.29
      iii = 12.01
      IntDisp = 12.0
   }
   if ((i >= 12.25) && ( i < 12.5 )) {
      ii = 10.48
      iii = 12.17
      IntDisp = 12.25
   }
   if ((i >=12.50) && ( i < 12.75 )) {
      ii = 10.68
      iii = 12.33
      IntDisp = 12.5
   }
   if ((i >= 12.75) && ( i < 13.0 )) {
      ii = 10.87
      iii = 12.49
      IntDisp = 12.75
   } 

   form.interest.value = IntDisp
   var DebtAmount = eval(form.Debt.value)
   if ( DebtAmount == 0 ) {
      var IncCalc = eval(form.Income.value) * .28;
   }
   if ( DebtAmount > 0 ) {
      var IncCalc = eval(form.Income.value) * .36;
   }
   IncCalc = IncCalc - eval(form.Debt.value)
   form.mopymt.value = Math.round(IncCalc)

   if ( form.term.selectedIndex == "0" ) {
      var LoanAmount = IncCalc / ii;
   }

   if ( form.term.selectedIndex == "1" ) {
      var LoanAmount = IncCalc / iii;
   }
   LoanAmount = LoanAmount * 1000
   form.loanamt.value = Math.round(LoanAmount)
   var x = eval(form.Funds.value)
   var SalesPrice = Math.round(LoanAmount + x)
   form.saleprice.value = SalesPrice
}
