<!--
// imortgage.com Loan Payment calculator
// Copyright 1999 Rhino Productions Inc. http://www.rhinoproductions.com
// Version 1.0 Sat, Dec 4, 1999
//
// Version History:
// 1.0  12/04/1999 - Initial Version by MC

// Set Default Configuration
var DefaultAmount = 0;
var DefaultRate = 0.06875 / 12;
var DefaultTerm = 30 * 12;
var ConfigFieldSize = 12;
var ConfigLoanMin = 10000;
var ConfigLoanMax = 10000000;

// Nothing Below Changes
function resetValues() {
	document.calc.amount.focus();
	DefaultAmount = 0;
	DefaultRate = 0.06875 / 12;
	DefaultTerm = 30 * 12;
	MonthlyPayment = 0;
	TotalInterest = 0;
	TotalLoan = 0;
	return;
}

function setAmount() {
	DefaultAmount = 0;
	if (document.calc.amount.value == "") {
		return;
	}
	myAmount = unformatCurrencyUS(document.calc.amount.value);
	for (var x = 0; x < myAmount.length; x++) {
		var myAmountChar = myAmount.substring(x, x + 1);
		if (((myAmountChar < "0" || "9" < myAmountChar) && myAmountChar != '.' && myAmountChar != "$" && myAmountChar != ",") || (x == 0 && myAmountChar == ".")) {
			displayError('Please enter a number for the loan amount');
			return false;
		}
	}
	myRealAmount = "";
	already_decimal = false;
	for (var x = 0; x < myAmount.length; x++) {
		var myAmountChar = myAmount.substring(x, x + 1);
		if (!((myAmountChar < "0" || "9" < myAmountChar) && myAmountChar != '.')) {
			if ((myAmountChar == '.' && already_decimal == false) || (myAmountChar != '.')) {
				myRealAmount += myAmount.substring(x, x + 1);
				if (myAmountChar == '.'){
					already_decimal = true;
				}
			}
			else {
				displayError('Please enter a number for the loan amount');
				return false;
			}
		}
	}
	if ((myRealAmount == "") || (myRealAmount == ".")) {
		displayError('Please enter a number for the loan amount');
		return false;
	}
	if ((myRealAmount >= ConfigLoanMin) && (myRealAmount <= ConfigLoanMax)) {
		DefaultAmount = myRealAmount;
		document.calc.amount.value = formatCurrencyUS(DefaultAmount);
		return;
	}
	else {
		displayError('Please enter a loan amount between ' + formatCurrencyUS(ConfigLoanMin) + ' and ' + formatCurrencyUS(ConfigLoanMax));
		return false;
	}
}

function setRate() {
	DefaultRate = document.calc.rate.options[document.calc.rate.selectedIndex].value;
	DefaultRate = DefaultRate / 12;
	return;
}

function setTerm() {
	DefaultTerm = document.calc.term.options[document.calc.term.selectedIndex].value;
	DefaultTerm = DefaultTerm * 12;
	return;
}

function calculatePayment() {

	var MonthlyPayment = 0; 
	var TotalInterest = 0;
	var TotalLoan = 0;

	document.calc.monthlypayment.value = "";
	//document.calc.interest.value = "";
	//document.calc.total.value = "";
	
	setRate();
	setTerm();
	setAmount();
	
	var myPayments = 1;
	for (var x = 0; x < DefaultTerm; x++){
		myPayments = myPayments * (1 + DefaultRate);
	}

	MonthlyPayment = (DefaultAmount * myPayments * DefaultRate) / (myPayments - 1);
	MonthlyPayment = Math.round(100 * MonthlyPayment) / 100;
	TotalLoan = MonthlyPayment * DefaultTerm;
	TotalLoan = Math.round(100 * TotalLoan) / 100;
	TotalInterest = TotalLoan - DefaultAmount;
	TotalInterest = Math.round(100 * TotalInterest) / 100;

	document.calc.monthlypayment.value = formatCurrencyUS(MonthlyPayment);
	//document.calc.interest.value = formatCurrencyUS(TotalInterest);
	//document.calc.total.value = formatCurrencyUS(TotalLoan);
	return;
}

function unformatCurrencyUS(myAmount) {
   var number = "";
   for(i=0; i<myAmount.length; i++) {
      var myChar = myAmount.substring(i,i+1);
      if((myChar>='0' && myChar<='9') || myChar=='.') {
         number+=myChar;
      }
   }
   return(number);
} // unformatCurrencyUS

function formatCurrencyUS(myAmount) {
	myAmount += ""; // toString
	var Decimal = false;
	var myIntAmount = "";
	for (i = 0; i < myAmount.length; i++) {
         var myChar = myAmount.substring(i, i+1);
         if ((myChar.indexOf("$", 0) == -1) && (myChar.indexOf("%", 0) == -1) && (myChar.indexOf(",", 0) == -1)) {
			if (myChar.indexOf(".", 0) != -1) {
				Decimal = true;
				break;
			}
			else {
				myIntAmount += myChar;
			}
		}
	}
	
	var myCommaAmount = "";
	var Count = -1;
	for (i = myIntAmount.length; i > 0; i--) {
		Count++;
		if ((Count % 3) == 0) {
			myCommaAmount += ",";
		}
		myCommaAmount += myIntAmount.substring(i-1, i);
	}
	
	var myOutAmount = "";
	for (i = myCommaAmount.length; i > 0; i--) {
		myOutAmount += myCommaAmount.substring(i-1, i);
	}
	myOutAmount = "$" + myOutAmount.substring(0, myOutAmount.length-1);
	
	if (Decimal) {
		var spacer = 0;
		var DecVal = "";
		spacer = myAmount.indexOf(".", 0);
		DecVal = myAmount.substring(spacer, spacer+3);
		if (DecVal.length == 1) {
			DecVal += "00";
		}
		else if(DecVal.length == 2) {
			DecVal += "0";
		}
		myOutAmount += DecVal;
	}
	else {
		myOutAmount += '.00';
	}
	while (myOutAmount.length < ConfigFieldSize) {
		myOutAmount = ' ' + myOutAmount;
	}
 	return myOutAmount;
}

function displayError(myMessage) {
	alert(myMessage);
	document.calc.amount.value="";
	document.calc.amount.focus();
	return;
}

// End of loan_calc.js
//-->
