function CheckAllValues() {
	var LoanTerm;
	var LoanAmount;
	if (document.getElementById('Amount').value == "") {
		alert("Please provide the Loan Amount");
		document.getElementById('Amount').focus();
		return false;
	} else if (document.getElementById('IntRate').value == "") {
		alert("Please provide an Interest Rate");
		document.getElementById('IntRate').focus();
		return false;
	} else if (document.getElementById('LTerm').value == "") {
		alert("Please provide the Loan Term (in years)");
		document.getElementById('LTerm').focus();
		return false;
	} else if (document.getElementById('LumpRepay').value == "") {
		alert("Please provide the amount of the Lump Sum Repayment");
		document.getElementById('LumpRepay').focus();
		return false;
	} else if (document.getElementById('Years').value == "") {
		alert("Please provide a Deposit Date (years from start of loan)");
		document.getElementById('Years').focus();
		return false;
	}

	if (!(parseFloat(document.getElementById('Amount').value) == document.getElementById('Amount').value)) {
		alert("Loan Amount must be numeric");
		document.getElementById('Amount').focus();
		return false;
	} else if (!(parseFloat(document.getElementById('IntRate').value) == document.getElementById('IntRate').value)) {
		alert("Interest Rate income must be numeric");
		document.getElementById('IntRate').focus();
		return false;
	} else if (!parseFloat(document.getElementById('LTerm').value) == document.getElementById('LTerm').value)) {
		alert("Loan Term must be numeric");
		document.getElementById('LTerm').focus();
		return false;
	} else if (!(parseFloat(document.getElementById('LumpRepay').value) == document.getElementById('LumpRepay').value)) {
		alert("Lump Sum Amount must be numeric");
		document.getElementById('LumpRepay').focus();
		return false;
	} else if (!(parseFloat(document.getElementById('Years').value) == document.getElementById('Years').value)) {
		alert("Starting Date must be number or years");
		document.getElementById('Years').focus();
		return false;
	}

	LoanTerm = document.getElementById('LTerm').value;
	LoanAmount = document.getElementById('Amount').value;

	if (!isIntegerInRange(document.getElementById('Amount').value, 1000, 10000000)) {
		alert("Loan Amount must be in the range (£) 1,000 - 10,000,000");
		document.getElementById('Amount').focus();
		return false;
	} else if (!isIntegerInRange(document.getElementById('IntRate').value, 1, 30)) {
		alert("Interest Rate must be in the range 1 - 30 (% p.a.)");
		document.getElementById('IntRate').focus();
		return false;
	} else if (!isIntegerInRange(document.getElementById('LTerm').value, 1, 40)) {
		alert("Loan Term must be in the range 1 - 40 (years)");
		document.getElementById('LTerm').focus();
		return false;
	} else if (!isIntegerInRange(document.getElementById('LumpRepay').value, 0, LoanAmount)) {
		alert("Lump Sum Repayment must be in the range (£) 0 - " + LoanAmount);
		document.getElementById('LumpRepay').focus();
		return false;
	} else if (!isIntegerInRange(document.getElementById('Years').value, 0, LoanTerm)) {
		alert("Starting date must be in the range 0 - " + LoanTerm + " (years from start)");
		document.getElementById('Years').focus();
		return false;
	}
	return true;
}

function RunLumpRepayForm() {
	if(CheckAllValues()) {
		var vAmount=document.getElementById('Amount').value;
		var vIntRate=document.getElementById('IntRate').value;
		var vLTerm=document.getElementById('LTerm').value;
		var vLumpRepay=document.getElementById('LumpRepay').value;
		var vYears=document.getElementById('Years').value;
		var vMinPay=(vAmount*(vIntRate/1200))*((1/((Math.pow((1+(vIntRate/1200)),(vLTerm*12))) -1))+1);
		var vIntSaved;
		var LTerm1=(vLTerm)-(vYears);
		var Loan;
		var LumpPay=0;
		var calcMonths;
		var calcYears;
		var strYears = " years, ";
		var T = 0;
		var X = 0;

		//conversions...
		if(vAmount<130000) {
			vMinPay = vMinPay+0.01
		}
		vMinPay = (Math.round(vMinPay*100))/100;
		vLumpRepay = (Math.round(vLumpRepay*100))/100;
		vIntSaved = vMinPay*12*vLTerm;
		
		//time saved routine...
		Loan = vAmount;
		for (T=0; T < Math.round(vYears*12); T++) {
			Loan = (Loan * (1 + (vIntRate/1200)))-vMinPay;
			LumpPay = LumpPay+vMinPay;
		}
		
		Loan=Loan-vLumpRepay;
		LumpPay=LumpPay+vLumpRepay;
		X = T;
		for (X=X; Loan >=0; X++) {
			Loan = (Loan * (1 + (vIntRate/1200)))-vMinPay;
			LumpPay = LumpPay+vMinPay;
		}

		//interest saved routine...
		vIntSaved = vIntSaved-LumpPay-Loan;
		if(vIntSaved > 0) {
			vIntSaved=(Math.floor(vIntSaved*100))/100;
		} else {
			vIntSaved=0;
		}

		//display results...
		calcYears = Math.floor(((vLTerm*12)-X)/12);
		calcMonths = (Math.round(vLTerm*12)-X)-(calcYears*12);
		if(calcYears == 1) {
			strYears = " year, ";
		}

		//	//over-rider...
		//	if(vLumpRepay==0)
		//	{
		//		calcYears=0
		//		calcMonths=0
		//		vIntSaved=0
		//	}

		document.getElementById('MinPay').value = "£" + vMinPay + " per month";
		document.getElementById('TimeSaved').value = calcYears + strYears + calcMonths + " months";			
		document.getElementById('IntSaved').value = "£" + vIntSaved;

		return true;
	} else {
		return false;
	}
}