<!--
function format(input,p,s) {
  if(p > 0) {
    p++;
    var rounder = "."; for(var i = 1; i < p; i++) { rounder += "0"; } rounder += "5";
    var temp = eval(input) + eval(rounder);
    var decs = "" + (temp - Math.floor(temp));
    decs = decs.substring(2,p+1);
  }
  else { temp = Math.round(input); }
  var ints = "" + Math.floor(temp);
  var output = ints.substring(ints.length,(ints.length - 1));
  for(i = 1; i < ints.length; i++) {
    if(s) { if(!(i % 3)) { output = s + output; } }
    output = ints.substring((ints.length - i),(ints.length - i - 1)) + output;
  }
  if(p > 0) { output = output + "." + decs; }
  return output;
}

function isNotNull(input,msg) {
  var err = msg + " cannot be zero or left blank.";
  if((input.value == 0) || (input.value.length == 0)) {
    alert(err);
    return false;
  }
  return true;
}

function isNumeric(input,msg) {
  var mask = "1234567890";
  var err = msg + " must contain valid numbers only.  Check that you have not entered any commas.";
  var dp = false;
  for(var i = 0; i < input.length; i++) {
    if((mask.indexOf(input.charAt(i)) == -1)) { 
      if(input.charAt(i) == '.') {
        if(dp == true) { alert(err); return false; }
        else { dp = true; }
      }
      else { alert(err); return false; }
    }
  }
  return true;
}

function checkRange(input,msg,low,high) {
  var err = msg + " must be between " + low + " and " + high + ".";
  if((input.value < low) || (input.value > high)) { alert (err); return false; }
  return true;
}

function dosum(form)
{
  if(!isNotNull(form.fLoanAmount,"Loan Amount")) { return false; }
  if(!isNotNull(form.fLoanLength,"Loan Length")) { return false; }
  if(!isNotNull(form.fInterestRate,"Interest Rate")) { return false; }
  if(!isNumeric(form.fLoanAmount.value,"Loan Amount")) { return false; }
  if(!isNumeric(form.fLoanLength.value,"Term")) { return false; }
  if(!isNumeric(form.fInterestRate.value,"Interest Rate")) { return false; }
  if(!checkRange(form.fInterestRate,"Interest Rate",1,20)) { return false; }
  if(!checkRange(form.fLoanLength,"Loan Length",3,30)) { return false; }
  form.fLoanAmount.value = format(form.fLoanAmount.value,0,0);
  form.fLoanLength.value = format(form.fLoanLength.value,0,0);
  form.fInterestRate.value = format(form.fInterestRate.value,3,0);
  var loanAmount = eval(form.fLoanAmount.value);
  var loanLength = eval(form.fLoanLength.value);
  var interestRate = eval(form.fInterestRate.value);
  var monthlyInterest = interestRate / 1200;
  var annualTaxes = loanAmount * .01;
  var annualInterest = loanAmount * .005;
  var base = 1;
  var mbase = 1 + monthlyInterest;
  for(i = 0; i < loanLength * 12; i++) { base = base * mbase; }
  var principalInterest = loanAmount * monthlyInterest / (1 - (1 / base));
  var monthlyTaxes = annualTaxes / 12;
  var monthlyInterest = annualInterest / 12;
  var monthlyPayment = principalInterest + monthlyTaxes + monthlyInterest;
  form.fPrincipalInterest.value = "$" + format(principalInterest,2,",");
  form.fMonthlyTaxes.value = "$" + format(monthlyTaxes,2,",");
  form.fMonthlyInterest.value = "$" + format(monthlyInterest,2,",");
  form.fMonthlyPayment.value = "$" + format(monthlyPayment,2,",");
}
-->

