<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

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,"Term of Loan") ||
    !alrt_msg(form.rate,.001,99,"Your Interest Rate") ||
    !alrt_msg(form.financed,100,10000000,"Your Vehicle Price")) {
   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)
  // Removed to keep form from updating to non-user firendly value.
  //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;
  form.interest.value=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="Please check your figures. "+prompt 
 +" entry is not acceptable: "+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;
 }
//-->
