    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.dp_cash.value == null || form.dp_cash.value.length == 0)
            form.dp_cash.value = 0;
        if ((form.term_months.value == null || form.term_months.value.length == 0) ||
            (form.annual_interest.value == null || form.annual_interest.value.length == 0) ||
            (form.home_price.value == null || form.home_price.value.length == 0)) {
            return;
        }

        if (!checkNumber(form.term_months, 1, 480, "# of term_months") ||
            !checkNumber(form.annual_interest, .001, 99, "annual_interest") ||
            !checkNumber(form.home_price, 100, 10000000, "home_price") ||
            !checkNumber(form.dp_cash, 0, form.home_price.value, "Down monthly_payment")) {
            form.monthly_payment.value = "Invalid";
            return;
        }

        var i = form.annual_interest.value;
        
        if (i > 1.0) {
            i = i / 100.0;
            form.annual_interest.value = i;
        }
        i /= 12;

        var pow = 1;
        for (var j = 0; j < form.term_months.value; j++)
            pow = pow * (1 + i);
        form.monthly_payment.value = ((form.home_price.value - form.dp_cash.value) * pow * i) / (pow - 1)
    }

    function clearForm(form) {
        form.term_months.value = "";
        form.annual_interest.value = "";
        form.home_price.value = "";
        form.dp_cash.value = "";
    }
		
		function clearField( myelement )
		{
		 document.form1.myelement.value = '';
		}
