//Monthly Payment Calculator
<!--Hide JavaScript from Java-Impaired Browsers
function test_it(entry) {
 if (entry.value && entry.value.length!=0) {
  entry.value=""+ eval(entry.value);
  }
 computeForm(entry.form);
 }

function computeForm(form) {
 if ((!form.months.value || form.months.value.length==0) ||
    (!form.rate.value || form.rate.value.length==0) ||
    (!form.financed.value || form.financed.value.length==0)) {
   return;
   }
 if (!alrt_msg(form.months,1,480,"Your Number of Payments") ||
    !alrt_msg(form.rate,.001,99,"Your Interest Rate") ||
    !alrt_msg(form.financed,100,10000000,"Your Principal Amount")) {
   form.payment.value="A value out of range - Click Reset";
   return;
    }
 var i=form.rate.value;
 ffv=0;
 ffv+=form.financed.value;
 fmv=0;
 fmv+=form.months.value;
 if (i > 1.0) {
 // Hack to mostly correct floating point/binary conversion error
  i=(i/100.0)+.00001;
  var fmt="";
  fmt+=i;
  fmt=fmt.substring(0,6)
  form.rate.value=fmt;
  }
 i/=12;
 var isn=1;
 for (var j=0;j<form.months.value;j++)
  isn=isn*(1+i);
  form.payment.value=(form.financed.value*isn*i)/(isn-1);
  fpv=0;
  fpv+=form.payment.value;
  var fmt="";
  var add=9;
  fmt+=form.payment.value;
  for (var i=0;i<fmt.length;i++) {
   if (fmt.charAt(i)==".") {
    add=i+3;
    i=fmt.length;
    }
   }
  fmt=fmt.substring(0,add);
  fcalc=((fmv*fpv)-ffv);
  var fmtb="";
  var add=9;
  fmtb+=fcalc;
  for (var i=0;i<fmtb.length;i++) {
   if (fmtb.charAt(i)==".") {
    add=i+3;
    i=fmtb.length;
    }
   }
  fmtb=fmtb.substring(0,add);
  form.payment.value="   $"+fmt+"              $"+fmtb;
 }
function reset_it(form) {
 form.months.value="";
 form.rate.value="";
 form.financed.value="";
 form.payment.value="";
 }

function alrt_msg(entry,low,high,prompt) {
 prompt="You couldn't know. "+prompt
 +" entry has unacceptable stuff: "+entry.value;
 var scratch=entry.value;
 for (var i=0;i<scratch.length;i++) {
  var letter=scratch.substring(i,i+1);
  if ((letter<"0" || "9"<letter) && letter!='.') {
   alert(prompt);
   return false;
   }
    }
 var errtst=parseFloat(scratch)
 if (errtst<low || high<errtst) {
  alert("I'm sorry. "+prompt+ " is not in the range"
  +" from "+low+" to "+high+"!");
  return false;
  }
 entry.value=scratch;
 return true;
 }
//-->

//Lease Payment Calculator
<!--
<!--- //
function calculate() {
  var a = parseFloat(document.lease.a.value);
  var b = parseFloat(document.lease.b.value) / 100;
  var c = parseFloat(document.lease.c.value);
  var d = parseFloat(document.lease.d.value);
  var e = parseFloat(document.lease.e.value);
  var f = d + e;
  var g = parseFloat(document.lease.g.value);
  var h = c - g;
  var i = parseFloat(document.lease.i.value) / 100;
  var j = i / 24 * (c + g);
  var k = (c - g) / a;
  var l = b * (j + k)
  var payment = (j + k + l)- (d / a);
  if (check(f)) {
    document.lease.f.value = round(f);
  } else {
    document.lease.f.value = "";
  }
  if (check(h)) {
    document.lease.h.value = round(h);
  } else {
    document.lease.h.value = "";
  }
  if (check(j)) {
    document.lease.j.value = round(j);
  } else {
    document.lease.j.value = "";
  }
  if (check(k)) {
    document.lease.k.value = round(k);
  } else {
    document.lease.k.value = "";
  }
  if (check(l)) {
    document.lease.l.value = round(l);
  } else {
    document.lease.l.value = "";
  }
  if (check(payment)) {
    document.lease.payment.value = round(payment);
  } else {
    document.lease.payment.value = "";
  }
  if (check(b)) {
    document.truck.stax.value = round(b * 100);
  } else {
    document.truck.stax.value = "";
  }
  if (check(c)) {
    document.truck.fnprice.value = round(c);
  } else {
    document.truck.fnprice.value = "";
  }
  if (check(e)) {
    document.truck.sdeposit.value = "$"+round(e);
  } else {
    document.truck.sdeposit.value = "";
  }
}
function check(x) {
  return (!isNaN(x) && (x != Number.POSITIVE_INFINITY) && (x != Number.NEGATIVE_INFINITY));
}
function round(x) {
  return Math.round(x*100)/100;
}

// -->
