<!--
// hide this script tag's contents from old browsers
function cleanup(In) { 
var B = ""  // out-string
var C = ""  // temp char
var Point =  false
var Allowed = "0123456789"
var Permitted = null
for ( var i = 0 ; i <= In.length ; i++ )
 { C = In.charAt(i)   // a char at position i
   // check if C is an allowed char by finding its position in a string of
   // allowed chars such as "0123456789."
   if (!Point) Permitted = Allowed + "." ; else Permitted = Allowed
   // Build up the outstring B by a line conditional on C being legal 
   if (Permitted.indexOf(C) != -1) B += C
   if (C == ".") Point = true
   // allow only one "." by setting a var Point = true 
   // which then disallows another "."
 }
return (B)
}

function formatDollar (Val, DollarSign)  {
Val=""+Val;
if (Val.indexOf (".", 0)!=-1) {
        Dollars = Val.substring(0, Val.indexOf (".", 0));
        Cents = Val.substring(Val.indexOf (".", 0)+1, Val.indexOf (".", 0)+3);
        if (Cents.length==0) 
                Cents="00";
        if (Cents.length==1)
                Cents=Cents+"0";
} else {
        Dollars = Val;
        Cents = "00";
}
OutString="";
len=Dollars.length;
if (len>=3) {
        while (len>0) {
                TempString=Dollars.substring(len-3, len)
                if (TempString.length==3) {
                        OutString=","+TempString+OutString
                        len=len-3;
                } else {
                        OutString=TempString+OutString
                        len=0
                }
        }
        if (OutString.substring(0, 1)==",") 
                Dollars=OutString.substring (1, OutString.length)
        else
                Dollars=OutString
} 
if (DollarSign)
        return ("$"+Dollars+"."+Cents);
else
        return ("$"+Dollars+"."+Cents);
}

function roundnumber(number_value,places)
      {
         number_value = (Math.round(number_value * (Math.pow(10 ,places)))) / Math.pow(10 ,places)       
      return(number_value)
      }

function computeForm(form)
{
  
    var intRate = cleanup(form.InterestRate.value) / 100 / 12;
    var p = form.Years.value * 12;
    var x = cleanup(form.Loan.value) * intRate * Math.pow(1 + intRate, p);
    var y = Math.pow(1 + intRate, p) - 1;
    var z = x / y;
    var a = p * z;
    var b = a - cleanup(form.Loan.value);
    var c = b / cleanup(form.Loan.value) * 100;
    var d = b / a *100;
    form.MonthlyPayment.value = formatDollar(z);
    form.InterestPaid.value = formatDollar(b);
    form.PercentLoan.value = roundnumber(c, 1) + "%";
    form.InterestPercent.value = roundnumber(d, 1) +"%";
    form.Months.value= p;
}

function clearForm(form)
{
    form.Loan.value = "0";
    form.InterestRate.value = "0";
    form.Years.value = "0";
    form.InterestPaid.value = ""
    form.MonthlyPayment.value=""
    form.Months.value=""
    form.PercentLoan.value ="";
    form.InterestPercent.value ="";
}
<!-- done hiding from old browsers 
// -->