// JavaScript Document
// Loan section
var salesPriceLoan = 0.00;
var salesTaxLoan = 0.00;
var loanTermLoan = 0.00;
var interestRateLoan = 0.00;
var downPaymentLoan = 0.00;
var tradeInValueLoan = 0.00;
var rebatesLoan = 0.00;


function doCalculation() {
	// Loan code
	
	salesPriceLoan = 0.00;
	salesTaxLoan = 0.00;
	loanTermLoan = 0.00;
	interestRateLoan = 0.00;
	downPaymentLoan = 0.00;
	tradeInValueLoan = 0.00;
	rebatesLoan = 0.00;

	var loan = document.getElementById('loan');
	var loanAmount = document.getElementById('loanAmount');
	var loanAmountWarning = document.getElementById('loanAmountWarning');
	loanAmountWarning.style.display = 'none';
    if (doLoanValidation()) {
		if (interestRateLoan >= 1) {
			interestRateLoan = interestRateLoan / 100;
		}

		interestRateLoan = interestRateLoan / 12;

		if (salesTaxLoan >= 1) {
			salesTaxLoan = salesTaxLoan / 100;
		}
		var loanAmt = (salesPriceLoan * (1 + salesTaxLoan)) - downPaymentLoan - tradeInValueLoan - rebatesLoan;
		var loanPayment = loanAmt * (interestRateLoan * Math.pow(1 + interestRateLoan, loanTermLoan)) / (Math.pow(1 + interestRateLoan, loanTermLoan) - 1);
		if (loanPayment < 0.00 || isNaN(loanPayment) )
			loanPayment = 0.00;
		loan.innerHTML = loanPayment.toFixed(2);
		loanAmount.style.display = '';
		loanAmountWarning.style.display = 'none';
	} else {
		loanAmount.style.display = 'none';
		loanAmountWarning.style.display = '';
	}
	
	
}



// Loan code

function doLoanValidation() {

	if (doFieldValidation(document.getElementById('_txtSalesPriceLoan'), false)) {
		salesPriceLoan = parseFloat(document.getElementById('_txtSalesPriceLoan').value);
	}
	else {
		return false;
	}
	
	if (doFieldValidation(document.getElementById('_txtSalesTaxLoan'), true)) {
		salesTaxLoan = parseFloat(document.getElementById('_txtSalesTaxLoan').value);
	}
	else if (isEmpty(document.getElementById('_txtSalesTaxLoan').value)) {
		salesTaxLoan = 0;
	}
	else {
		return false;
	}
	
	if (doFieldValidation(document.getElementById('_txtTermLoan'), false)) {
		loanTermLoan = parseFloat(document.getElementById('_txtTermLoan').value);
	}
	else {
		return false;
	}
	
	if (doFieldValidation(document.getElementById('_txtInterestRateLoan'), false)) {
		interestRateLoan = parseFloat(document.getElementById('_txtInterestRateLoan').value);
	}
	else {
		return false;
	}
	 
	if (doFieldValidation(document.getElementById('_txtDownPaymentLoan'), true)) {
		downPaymentLoan = parseFloat(document.getElementById('_txtDownPaymentLoan').value);
	}
	else if (isEmpty(document.getElementById('_txtDownPaymentLoan').value)) {
		downPaymentLoan = 0;
	}	
	else {
		return false;
	}

	if (doFieldValidation(document.getElementById('_txtTradeInValueLoan'), true)) {
		tradeInValueLoan = parseFloat(document.getElementById('_txtTradeInValueLoan').value);
	}
	else if (isEmpty(document.getElementById('_txtTradeInValueLoan').value)) {
		tradeInValueLoan = 0;
	}	
	else {
		return false;
	}

	if (doFieldValidation(document.getElementById('_txtRebatesLoan'), true)) {
		rebatesLoan = parseFloat(document.getElementById('_txtRebatesLoan').value);
	}
	else if (isEmpty(document.getElementById('_txtRebatesLoan').value)) {
		rebatesLoan = 0;
	}	
	else {
		return false;		
	}
	
	return true;
}


function doFieldValidation(field, isEmptyAllowed) {
		var input = field.value;
		
		if (!isEmptyAllowed && isEmpty(input)) {
			select(field);
			return false;
		} else if (isEmptyAllowed && isEmpty(input)) {
			return false;			
		}
		
		input = parseFloat(field.value, 10);
		if (isNaN(input) || (input != field.value)) {
			alert(field.name + " must be a number.");
			select(field);
			return false;
		}
		return true;
}
function isEmpty(inputStr) {
	if (inputStr == "" || inputStr == null) {
		return true;
	}
	return false;
}
function select(field) {
	field.focus();
	field.select();
}



