<!-- hide this script tag's contents from old browsers --- >
function jumpBox(list) {location.href = list.options[list.selectedIndex].value}
function formatNum(Vnum) {
if(Vnum > 99000000) {alert("Sorry, this will not generate numbers larger that 99 million.");focus();} else {

var V10million = parseInt(Vnum / 10000000);

var V1million = (Vnum % 10000000)  / 1000000;
if(V1million / 1000000 == 1) {V1million = 1;} else
if(V1million < 1) {V1million = "0";} else {V1million = parseInt(V1million,10);}

var V100thousand = (Vnum % 1000000)  / 100000;
if(V100thousand / 100000 == 1) {V100thousand = 1;} else
if(V100thousand < 1) {V100thousand = "0";} else {V100thousand = parseInt(V100thousand,10);}

var V10thousand = (Vnum % 100000)  / 10000;
if(V10thousand / 10000 == 1) {V10thousand = 1;} else
if(V10thousand < 1) {V10thousand = "0";} else {V10thousand = parseInt(V10thousand,10);}

var V1thousand = (Vnum % 10000)  / 1000;
if(V1thousand / 1000 == 1) {V1thousand = 1;} else
if(V1thousand < 1) {V1thousand = "0";} else {V1thousand = parseInt(V1thousand,10);}

var Vhundreds = (Vnum % 1000)  / 100;
if(Vhundreds / 100 == 1) {Vhundreds = 1;} else
if(Vhundreds < 1) {Vhundreds = "0";} else {Vhundreds = parseInt(Vhundreds,10);}

var Vtens = (Vnum % 100)  / 10;
if(Vtens / 10 == 1) {Vtens = 1;} else
if(Vtens < 1) {Vtens = "0";} else {Vtens = parseInt(Vtens,10);}

var Vones = (Vnum % 10)  / 1;
if(Vones / 1 == 1) {Vones = 1;} else
if(Vones < 1) {Vones = "0";} else {Vones = parseInt(Vones,10);}

//START UPGRADE
var Vcents = 0;

if(Vnum % 1 * 100 < 1) {Vcents = 0;} else {Vcents = parseInt(((eval(Vnum % 1) * 100)),10);}
//END UPGRADE

if(Vcents < 1) {Vcents = "00";}
else
if(Vcents % 10 == 0) {Vcents = Vcents + "0";}
else
if(Vcents % 10 == Vcents) {Vcents = "0" + Vcents;} else {Vcents = Vcents;}
if(Vcents == "900") {Vcents = "90";} else
if(Vcents == "800") {Vcents = "80";} else
if(Vcents == "700") {Vcents = "70";} else
if(Vcents == "600") {Vcents = "60";} else
if(Vcents == "500") {Vcents = "50";} else
if(Vcents == "400") {Vcents = "40";} else
if(Vcents == "300") {Vcents = "30";} else
if(Vcents == "200") {Vcents = "20";} else
if(Vcents == "100") {Vcents = "10";} else {Vcents = Vcents;}

var Vformat = "";

if(Vnum >= 10000000) {Vformat = (V10million + "" + V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 1000000) {Vformat = (V1million + "," + V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 100000) {Vformat = (V100thousand + "" + V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 10000) {Vformat = (V10thousand + "" + V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 1000) {Vformat = (V1thousand + "," + Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 100) {Vformat = (Vhundreds + "" + Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 10) {Vformat = (Vtens + "" + Vones + "." + Vcents);}
else
if(Vnum >= 1) {Vformat = (Vones + "." + Vcents);} else {Vformat = ("0." + Vcents);}
return Vformat;
 }
}

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 = 0 + 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, 100, 10000000, "Principal")) {
form.payment.value = "Invalid";
return;
}

var i = form.interest.value;
if (i > 1.0) {i = i / 100.0;}

i /= 12;
var noYears = form.payments.value * 12;
var pow = 1;
for (var j = 0; j < noYears; j++)
pow = pow * (1 + i);

var Vpayment = (form.principal.value * pow * i) / (pow - 1);
form.payment.value = "$" + formatNum(Vpayment);
var Vtotalint = ((Vpayment * noYears)
 - form.principal.value);
form.totalint.value = "$" + formatNum(Vtotalint)
}

function clearForm(form) {form.payments.value = "";form.interest.value = "";form.principal.value = "";}
<!-- done hiding from old browsers -->
