// Mortgage Calculator 07/27/2000 by Jim Shook-->

<!-- Begin
function checkNumber(input, min, max, msg) {
  msg = msg + " field has invalid data: " + input.value;
  var str = input.value;
  for (var i = 0; i < str.length; i++) {
    var ch = str.substring(i, i + 1)
    if ((ch < "0" || "9" < ch) && ch != '.') {
      alert(msg);
      return false;
    } 
  }
  var num = parseFloat(str)
  if (num < min || max < num) {
    alert(msg + " not in range [" + min + ".." + max + "]");
    return false;
  }
  input.value = str;
  return true;
}

function computeField(input) {
  if (input.value != null && input.value.length != 0) {
    input.value = "" + eval(input.value);
    computeForm(input.form);
  }
}

function computeForm(form) {
  if ((form.payments.value == null || form.payments.value.length == 0) ||
      (form.interest.value == null || form.interest.value.length == 0) ||
      (form.principal.value == null || form.principal.value.length == 0)) {
    return;
  }
  if (!checkNumber(form.payments, 1, 480, "# of payments") ||
    !checkNumber(form.interest, .001, 99, "Interest") ||
    !checkNumber(form.principal, 1000, 100000000, "Principal")) {
    form.payment.value = "Invalid";
    return;
  }
  var i = form.interest.value/1200;
  var j = (form.principal.value * i ) / (1-Math.pow(1+i,-form.payments.value));
  
  i = "" + Math.floor(j*100+1)/100;
  if (i.indexOf(".")==-1) { i = i + ".00"; }
  if ((i.length - i.indexOf("."))==2) { i = i + "0"; }
  form.payment.value = i;

  i = "" + Math.floor(form.payments.value * form.payment.value * 100) / 100;
  if (i.indexOf(".")==-1) { i = i + ".00"; }
  if ((i.length - i.indexOf("."))==2) { i = i + "0"; }
  form.pmt_sum.value = i;

  i = "" + Math.floor((form.pmt_sum.value - form.principal.value) * 100) / 100;
  if (i.indexOf(".")==-1) { i = i + ".00"; }
  if ((i.length - i.indexOf("."))==2) { i = i + "0"; }
  form.tot_int.value = i;
}

function clearForm(form) {
  form.payments.value  = "";
  form.interest.value  = "";
  form.principal.value = "";
  form.pmt_sum.value   = "";
  form.tot_int.value   = "";
}
// End -->
