function checkNumberEntry(input, min, max, msg) {

        var str = input.value;

	if (str == null || input.length == 0) {
		msg = msg + " is blank.  You must fill in this field to calculate.";
		alert(msg);
		return false;
	}

        for (var i = 0; i < str.length; i++) {
            var curr_ch = str.substring(i, i + 1)
            if ((curr_ch < '0' || curr_ch > '9') && curr_ch != '.') {
	        msg = msg + " must only contain digits.  You entered: " + input.value;
                alert(msg);
                return false;
            }
        }
        var num = input.value;
        if ((min != -9999) && num<min) {
	    msg = msg + " that's too low: " + input.value + " You must enter an amount greater than " + min + ".";
            alert("You have entered a " + msg);
            return false;
        }

        if  ((max != -9999) && num > max) {
	    msg = msg + " that's too high: " + input.value + " You must enter an amount less than " + max + ".";
            alert("You have entered a " + msg);
            return false;
        }
        input.value = str;
        return true;
}
function myRound(val) {

	val = val * 100;
	val = Math.round(val);
        return val / 100;
}

function computeField(input) {

        if (input.value != null && input.value.length != 0)
            input.value = "" + eval(input.value);
        compute(input.form);
}
function compute(form) {
	var price = form.price.value;
	var interest = form.interest.value;
	var months = form.months.value;

        if (!checkNumberEntry(form.price, 0, -9999, "Price")) {
            form.payment.value = "";
            return;
        }
        if (!checkNumberEntry(form.down, 0, parseFloat(price), "Down Payment")) {
            form.payment.value = "";
            return;
        }
        if (!checkNumberEntry(form.months, 1, -9999, "Number of Months")) {
            form.payment.value = "";
            return;
        }
        if (!checkNumberEntry(form.interest, 1, 99, "Interest Rate")) {
            form.payment.value = "";
            return;
        }

        price = price - form.down.value;
        interest = (interest / 100.0) / 12;

        var pow = 1;
        for (var j = 0; j < months; j++)
            pow = pow * (1 + interest);

	var pmt = (price * pow * interest) / (pow - 1);	

        form.payment.value = myRound(pmt);

}
function clearForm(form) {
        form.payment.value = "";
}