
$(document).ready(function()
{
	
	$('#valueOfProperty').blur(function()
	{
		var deposit = (parseFloat(document.mortgagecalculatorform.valueOfProperty.value) / 100) * 10;
		if(!isNaN(deposit)) {
			document.mortgagecalculatorform.deposit.value = deposit;
			$('#deposit').formatCurrency({symbol: '£'});
			$('#valueOfProperty').formatCurrency({symbol: '£'});
		}
	});
	
	$('#leftColValueOfProperty').blur(function()
	{
		var deposit = (parseFloat(document.getElementById("leftColValueOfProperty").value) / 100) * 10;
		if(!isNaN(deposit)) {
			document.getElementById("leftColDeposit").value = deposit;
			$('#leftColDeposit').formatCurrency({symbol: '£'});
			$('#leftColValueOfProperty').formatCurrency({symbol: '£'});
		}
	});
	
	$('#calculate').click(function() { 
		calculateMortgage();
	});
	
	$('#enquiry').click(function() {
		var submit = calculateMortgage();
		if(submit)
			document.mortgagecalculatorform.submit();
	});
	
});

function safeNumbers(num) {
	return num.toString().replace(/\$|\,|\£/g,'');
}

function calculateMortgage() {
	var propertyValue = parseFloat(safeNumbers(document.mortgagecalculatorform.valueOfProperty.value));
	var interestRate = Number(safeNumbers(document.mortgagecalculatorform.rate.value));
	var termOfLoan = parseInt(safeNumbers(document.mortgagecalculatorform.terms.value)) * 12;
	var deposit = parseFloat(safeNumbers(document.mortgagecalculatorform.deposit.value));
	
	if(isNaN(propertyValue) || propertyValue < 1) {
		alert("You must enter a valid price of the property.");
		document.mortgagecalculatorform.valueOfProperty.select();
		return false;
	}
	
	if(isNaN(deposit) || deposit < 1) {
		alert("You must enter a valid deposit which is greater than zero");
		document.mortgagecalculatorform.deposit.select();
		return false;
	}
	
	if(isNaN(termOfLoan) || termOfLoan < 1) {
		alert("You must enter a valid term of loan which is a whole number.");
		document.mortgagecalculatorform.terms.select();
		return false;
	}
	
	var loanAmount = propertyValue - deposit;
	var interestOnlyAmount = (loanAmount * interestRate) / 12;
	var mortgageAmountPerMonth = loanAmount * (Math.pow((1 + interestRate / 12), termOfLoan) * interestRate) / (12 * (Math.pow((1 + interestRate / 12), termOfLoan) - 1));
	
	document.mortgagecalculatorform.interestOnly.value = interestOnlyAmount;
	document.mortgagecalculatorform.repaymentOnly.value = mortgageAmountPerMonth;
	document.mortgagecalculatorform.borrowedAmmount.value = loanAmount;
	
	$('#interestOnly').formatCurrency({symbol: '£'});
	$('#repaymentOnly').formatCurrency({symbol: '£'});
	$('#borrowedAmmount').formatCurrency({symbol: '£'});
	
	return true;
}

