<!--
var isIE4 = false;
if(navigator.appName.indexOf("Microsoft") != -1  &&  parseInt(navigator.appVersion) >= 4)
	isIE4 = true;
var cache;
function Field(field) {
	var val = field.value;
	// lop off trailing "0"s after a decimal point first
	if(val.indexOf(".") != -1) {
		while(val.charAt(val.length-1) == "0")
			val = val.substring(0,val.length-1);
		if(val.charAt(val.length-1) == ".")
			val = val.substring(0,val.length-1);
	}
	if("" + parseFloat(val) != val)
		field.value = field.defaultValue;
}
function Integer(field) {
	var val = field.value;
	if("" + parseInt(val) != val)
		field.value = field.defaultValue;
}
function Dollar(field) {
	var flt = ReadDollar(field);
	if(isNaN(flt))
		field.value = cache;
	else {
		str = DollarToString(flt);
		field.value = str;
	}
}
function ReadDollar(field) {
	var str = field.value;
	if(str.charAt(0) == "$")
		str = str.substring(1, str.length);
	var pos = str.lastIndexOf(",");
	while(pos != -1) {
		str = str.substring(0,pos) + str.substring(pos+1, str.length);
		pos = str.lastIndexOf(",", pos);
	}
	return parseFloat(str);
}
function DollarToString(flt) {
/*
	var str = "" + flt;
	// check for two decimal places after point
	var pos = str.indexOf(".");
	if(pos == -1)
		str += ".00";
	else {
		if(str.length > pos + 3) {
			str = "" + (parseFloat(Math.round(parseFloat(str) * 100)) / 100.0);
			pos = str.indexOf(".");
		}
		if(pos == -1)
			str += ".00";
		else
			while(pos > str.length - 3)
				str += "0";
	}
*/
	// round off to nearest dollar
	var str = "" + Math.round(flt)
	// add commas
	pos = str.length;  // str.indexOf(".");
	pos -= 4;
	while(pos >= 0) {
		str = str.substring(0,pos+1) + "," + str.substring(pos+1, str.length);
		pos -= 3;
	}
	return str;
}
function monthTerms(frm) {
	var tYr = parseFloat(frm.termYears.value);
	var tMon = Math.round(tYr * 12.0);
	tYr = parseFloat(tMon) / 12.0;
	frm.termYears.value = "" + tYr;
	frm.termMonths.value = "" + tMon;
}
function YearTerms(frm) {
	var tMon = parseInt(frm.termMonths.value);
	var tYr = parseFloat(tMon) / 12.0;
	frm.termYears.value = "" + tYr;
	frm.termMonths.value = "" + tMon;
}
function MonthlyPayment(frm) {
	var Principle  = ReadDollar(frm.price) - ReadDollar(frm.downpay);
	var AnnualInt  = parseFloat(frm.intYear.value);
	var MonthlyInt = AnnualInt / (12.0 * 100.0);
	var LenMonths  = parseInt(frm.termMonths.value);
	if(MonthlyInt == 0)
		var MonthlyPay = Principle / LenMonths;
	else
		var MonthlyPay = Principle * ( MonthlyInt / ( 1 - Math.pow((1 + MonthlyInt), -LenMonths) ) );
	MonthlyPay = Math.round(MonthlyPay * 100) / 100;

	frm.payMonth.value = DollarToString(MonthlyPay);
}
function DownPayment(frm) {
	var AnnualInt  = parseFloat(frm.intYear.value);
	var MonthlyInt = AnnualInt / (12.0 * 100.0);
	var LenMonths  = parseInt(frm.termMonths.value);
	var MonthlyPay = ReadDollar(frm.payMonth);
	var Principle  = ReadDollar(frm.price) - ReadDollar(frm.downpay);
	var OldDownPay = ReadDollar(frm.downpay);
	var EffPrinciple

	if(MonthlyInt == 0)
		EffPrinciple = MonthlyPay * LenMonths;
	else
		EffPrinciple = MonthlyPay * ((1 - Math.pow((1 + MonthlyInt), -LenMonths)) / MonthlyInt);

	var NewDownPay = OldDownPay + (Principle - EffPrinciple);
	frm.downpay.value = "" + NewDownPay;
	Dollar(frm.downpay);

	DownPaymentP(frm);
	MonthlyPayment(frm);
}
function DownPaymentP(frm) {
	var HomePrice  = ReadDollar(frm.price);
	var DownPay = ReadDollar(frm.downpay);
	var DownPayPerc = 100 * DownPay / HomePrice;

	if(DownPayPerc >= 0  &&  DownPayPerc <= 100) {
		var DownPayPercStr = "" + DownPayPerc;

		var pos = DownPayPercStr.indexOf(".");
		if(DownPayPercStr.length > pos + 4)
			DownPayPercStr = DownPayPercStr.substring(0,pos+4);

		frm.downpayperc.value = DownPayPercStr;
	}
	else if(DownPayPerc < 0) {
		frm.downpayperc.value = "0";
		DownPaymentA(frm);
	}
	else {
		frm.downpayperc.value = "100";
		DownPaymentA(frm);
	}
}
function DownPaymentA(frm) {
	var HomePrice  = ReadDollar(frm.price);
	var DownPayPerc = parseFloat(frm.downpayperc.value);
	if(DownPayPerc < 0) {
		frm.downpayperc.value = "0";
		DownPaymentA(frm)
	}
	else if(DownPayPerc > 100) {
		frm.downpayperc.value = "100";
		DownPaymentA(frm)
	}
	else {
		var DownPay = HomePrice * DownPayPerc / 100;
		DownPay = DollarToString(DownPay);
		frm.downpay.value = "" + DownPay;
	}
}
// -->