function range1() {
	// Clear the answers	
	document.mortgageform.range1res.value = "";
	document.mortgageform.range2res.value = "";

	// Get the entered values
	inc1 = document.borrowing.inc1.value;
	inc2 = document.borrowing.inc2.value;
	inc22 = document.borrowing.inc2.value;
	comm1 = document.borrowing.comm1.value;
	comm2 = document.borrowing.comm2.value;

	// Check for entered values
	if (comm1.length == 0) {comm1 = "0"}
	if (comm2.length == 0) {comm2 = "0"}
	if (inc2.length == 0) {inc2 = "0"}
	
	// Clean up entered values
	newinc1 = cleanNum(inc1);
	newinc2 = cleanNum(inc2);
	newcomm1 = cleanNum(comm1);
	newcomm2 = cleanNum(comm2);

	if (!newinc1 > 0) {
		alert("You must enter an income for the first applicant");
		document.borrowing.inc1.focus();
		return false;
	}

	if (inc22.length > 0 && !newinc2 > 0) {
		alert("Please enter a number here");
		document.borrowing.inc2.focus();
		return false;
	} else {
		if (inc2.length > 0 && newinc2 > 0 && newinc2 > newinc1) {
			newinc1 = parseInt(inc2);
			newinc2 = parseInt(inc1);
		}
	}

	if (comm1.length > 1 && !newcomm1 > 0) {
		alert("Please enter a number here");
		document.borrowing.commission1.focus();
		return false;
		}
	
	if (comm2.length > 1 && !newcomm2 > 0) {
		alert("Please enter a number here");
		document.borrowing.commission2.focus();
		return false;
		}
	
	if (newcomm1 >= 1){
		newcomm1 = (newcomm1 * 0.5)
		}else{
		newcomm1 == 0
		}
	
	if (newcomm2 >= 1){
		newcomm2 = (newcomm2 * 0.5)
		}else{
		newcomm2 == 0
		}

	newinc1 = (newinc1 + newinc2)
	rgeres1 = newinc1 //this is used for the second calculation
	newinc2 = (newcomm1 + newcomm2)
	rgeres2 = newinc2 //again used for the second set of results
	
	var res1 = (newinc1 + newinc2);
	var res2
	res1 = (res1 * 4);
	res2 = (newinc1 * 3.25);
	
	intres1 = ((rgeres1 * 4) + rgeres2)
	intres2 = ((rgeres1 + rgeres2) * 2.75)
	
	
	if (res1 == res2){
		document.mortgageform.range1res.value = padZero(res1)
	}else if(res1 > res2){ 
		document.mortgageform.range1res.value = padZero(res1)
	}else{
		document.mortgageform.range1res.value = padZero(res2)
	}
	
	if (intres1 == intres2){
		document.mortgageform.range2res.value = padZero(intres1)
	}else if(intres1 > intres2){
		document.mortgageform.range2res.value = padZero(intres1)
	}else{
		document.mortgageform.range2res.value = padZero(intres2)
	}
	
	document.mortgageform.loanvalue.value = parseInt(document.mortgageform.range1res.value);
	calculate();
	
	return false;
}

function calculate(){
	var calcs = 12; //this is the number of calculations ie number of months in a year
	var loan = 0;
	var rate = 0;
	var intloan = "0"; //after parseInt on loan
	var intrate = "0"; //after parseInt on interest rate
	var term = "0"; //value of the term of mortgage
	var intterm = "0"; //term after parseint
	var monthlyterm; // term multiplied by 12
	var rate100 = "0"; //value of rate once divided by 100
	var monthlyrepayments = "0"; //monthlyrepayments value
	var mortgagetype = 1;
	
	loan = document.mortgageform.loanvalue.value;
	rate = document.mortgageform.interest.value;
	
	mortgagetype = document.mortgageform.mortgagetype.selectedIndex;
	
	if (!parseInteger(loan) > 0){
		alert("Please enter a value for the loan, no spaces or commas");
		document.mortgageform.loanvalue.focus();
		return false;
	}

	if (!parseInteger(rate) > 0|isNaN(rate)){
		alert("Please enter an interest rate here");
		document.mortgageform.interest.focus();
		return false;
	}

	intloan = parseInteger(loan);
	
	if (!intloan > 0){
		alert("Please enter a number here");
		document.mortgageform.loanvalue.focus();
		return false;
	}
	
	if (!intrate > 0){
		alert("Please enter a number here");
		document.mortgageform.interest.focus();
		return false;
	}
	
	term = document.mortgageform.mortgage.selectedIndex
	term = (term + 5) // aligns selected index with value
	intterm = parseInt(term);
	
	rate100 = (intrate / 100)
	
	monthlyrepayments = ((intloan * rate) / (1200))
	
	monthlyrepayments = (monthlyrepayments * 100);
	monthlyrepayments = Math.round(monthlyrepayments);
	monthlyrepayments = (monthlyrepayments / 100);
	monthlyrepayments = padZero(monthlyrepayments);	
	
	// Interest Only vs Repayment Payment types
	if (mortgagetype == 0) { // Interest Only Mortgage Payment Type
		document.mortgageform.CRGanswer.value = monthlyrepayments;
		return false; 
	}
	if (mortgagetype == 1) { // Repayment Mortgage Payment Type
		var topline = (intloan * rate * 12);
		var mid = Math.pow((1+(rate/1200)), (-term * 12));
		mid = (100 * 12 * (1 - mid));
		var answer = ((topline / mid) / 12);
		answer = (answer * 100);
		answer = Math.round(answer);
		answer = (answer / 100);
		answer = padZero(answer);
		document.mortgageform.CRGanswer.value = answer; 
	}
	
	return false;			
}


	
function parseInteger(val) {
	
	var i;

	do {
		i = val.indexOf(',');
		val = val.substring(0, i) + val.substring(i+1)	
	} while (val.indexOf(',') != -1);

	return parseInt(val);
}
	
function padZero(n){
	var a;
	n = n.toString();
	if (n.indexOf(".")!=-1) {
		a=n.split(".");
		n=(a[1].length==1)?n+"0":n;
	}
	return n;
}

function cleanNum(val) {
	do {
		i = val.indexOf(',');
		val = val.substring(0, i) + val.substring(i+1)	
	} while (val.indexOf(',') != -1);
	return parseInt(val);
}




	

