<!-- // hide this script tag's contents from old browsers
function fixFloatFormat(input)
{
    var str = input.value;



    var index = 0;



    var newstr = 0;















    for (var i = 0; i < str.length; i++) {



        var ch = str.substring(i, i + 1)



        if (ch == '.') {



           index = i;



        }



    }



    newstr = str.substring(0, index);



	input.value = newstr + "." + str.substring(index+1, index+3);



    return true;



}







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);



    computeMortgagePayments(input.form);



}







function computeMortgagePayments(form)



{



    if ((form.mortAmt.value == null || form.mortAmt.value.length == 0) ||



        (form.numYears.value == null || form.numYears.value.length == 0) ||



        (form.propTax.value == null || form.propTax.value.length == 0) ||



        (form.debt.value == null || form.debt.value.length == 0) ||



        (form.mortRate.value == null || form.mortRate.value.length == 0)) {



        return;



    }







    if (!checkNumber(form.mortAmt, 1, 10000000, "Mortgage Amount") ||



		!checkNumber(form.numYears, 1, 50, "Number of Years") ||



		!checkNumber(form.mortRate, 0, 99.99, "Mortgage Rate") ||



		!checkNumber(form.debt, 0, 1000000, "Debt.") ||



        !checkNumber(form.propTax, 0, 100000, "Property Tax")) {



        form.mortPay.value = "Invalid";



        form.totalPay.value = "Invalid";



        form.reqdSal.value = "Invalid";



        return;



    }



	var mortgage = form.mortAmt.value;



	var yrTime = form.numYears.value;



	var yrRate = form.mortRate.value;



	var yrTax = form.propTax.value;



	var yrDebt = form.debt.value;



	var yrSalary = 0;







	var monTax      = yrTax/12;



	var monDebt     = yrDebt/12.0;



    var rate        = yrRate/1200.00;



    var monTime     = yrTime * 12.0;



    var poly        = (1.0 + rate);



    for (i=1; i < monTime; i++) {



        poly = poly * (1.0 + rate);



    }



    var monPayment  = mortgage * poly * rate / (poly - 1.0);



    var monTotal    = monPayment + monTax + monDebt;



    var mon28       = (monPayment + monTax) / .28;



    var mon35       = monTotal / .35;







    if (mon28 > mon35) {



		yrSalary = 12 * mon28;



    } else {



		yrSalary = 12 * mon35;



    }



    var principal = 0.0;



    var interest = 0.0;



    for (i = 1; i < monTime; i++) {



       interest = interest + (principal * rate);



       principal = (principal + monPayment)/(1.0 + rate);



    }



    form.mortPay.value = monPayment;



	fixFloatFormat(form.mortPay);



	form.totalPay.value = monTotal;



	fixFloatFormat(form.totalPay);



    form.reqdSal.value = yrSalary;



	fixFloatFormat(form.reqdSal);



}







function clearForm(form)



{



    form.mortAmt.value = "";



    form.numYears.value = "";



    form.propTax.value = "";



    form.debt.value = "";



    form.mortRate.value = "";



    form.mortPay.value = "";



    form.totalPay.value = "";



    form.reqdSal.value = "";;



}











<!-- done hiding from old browsers 



// -->
