<!--
	//checks that data are valid 
	function checkNumber(input, min, max, msg) {

		msg = msg + " is invalid. ";

//check that entry is a number
		var str = input.value;
		for (var i = 0; i < str.length; i++) {
			var ch = str.substring( i, i + 1)
			if ((ch < "0" || "9" < ch) && ch != '.') {
				alert(msg);
				return false;
			}
		}

//check entry is in a sensible range
		var num = 0 + str
		if (num < min || max < num) {
			alert(msg + " Please enter a value in the range [" + min + ".." + max + "]");
			return false;
		}
		input.value = str;
		return true;
	}

	function computeFieldCol1(input) {
		if (input.value != null && input.value.length != 0)
		{
			input.value = "" + eval(input.value);
		}
		computeFormCol1(input.form);
	}


	function computeFormCol1(form) {
		var A1=form.A1.value;
		var T1=form.T1.value;
		var R1=form.R1.value;

		//making sure that an entry has been made in each field.
		if ((A1 == null || A1.length == 0) ||
			(R1 == null || R1.length == 0) ||
			(T1 == null || T1.length == 0)) 
		{
			return;
		}

// maths et al to be computed
			R1 = R1 / 100;
			var P = 1+ (((A1*R1)/12*12) * (1/(1-(Math.pow(1/(1+R1/12),T1*12)))))/12;
			var REPAY =  poundsPence(P);
			P = 1 + (A1*R1)/12;
			var INT = (A1*R1)/12;
			var N1 = 1 + (A1*1) + (INT - REPAY);
			var INT_STD = INT*12*T1;

// Code for the repayment calculation 

			month2=1;
			TOTINT2=0;
			OVERPAY = 0;	
			N2 = A1;				
			T2 = T1;			

			do {
			var INT2 = (N2*R1)/12;
			TOTINT2 = TOTINT2 + INT2;
			var N2 = (N2*1) + (INT2 - REPAY - OVERPAY);
			T2 = T2 - (1/12);
			month2 = ++month2;
			} while (N2>0);

			month=1;
			TOTINT=0;
			OVERPAY = form.O1.value;	
			N1 = A1;
			TOTMONTHS = T1*12;				
			var Repay_monthly = (1*REPAY + 1*OVERPAY);
			var Capital_Element = (Repay_monthly-(A1*R1*30.4)/365)
			var NET_Monthly = Repay_monthly-((Capital_Element * R1*30.4)/365)
			form.MR1.value = "" + poundsPence(NET_Monthly);
			
			if (OVERPAY > 0) {

			do {
			A1=N1;
			var INT = (A1*R1)/12;
			TOTINT = TOTINT + INT;
			var N1 = (A1*1) + (INT - REPAY - OVERPAY);
			T1 = T1 - (1/12);
			months_remainder = (TOTMONTHS - month) % 12;
			form.M1.value = "" + months_remainder;
			var years = ((TOTMONTHS - month) - months_remainder) / 12
			form.Y1.value = "" + years;	
			month = ++month;
			} while (N1>0);
			form.TI2.value = poundsPence(TOTINT2 - TOTINT);

			} else {

				form.TI2.value = 0;
				form.M1.value =  0;
				form.Y1.value =  0;
}


//***************** INTEREST ONLY CALCULATION **********************************//
	
			month3=0;
			TOTINT3=0;
			OVERPAY3 = form.O1.value;	
			N3 = form.A1.value;				
			T3 = form.T1.value;	
			T4 = form.T1.value;

			int_only = (N3*R1)/12;
			int_only = int_only;
			var intonly_monthly = (1*int_only) + (1*OVERPAY3);
			form.MR2.value = poundsPence(intonly_monthly);

			var N0 = form.A1.value;		
			var INT0 = (N0*R1)/12;
			INT01 = 1 + INT0;
			INT0_ROUNDED = poundsPence(INT01);
			month0 = 0;
			var TOTINT0 = 0;
			var INT0_VAR = (N0*R1)/12;

			do {
				month0 = ++month0;				
				TOTINT0 = TOTINT0 + INT0_VAR;				
				N0 = (1*N0) - (1*INT0_ROUNDED) + (1*INT0_VAR);
				INT0_VAR = (N0*R1)/12; 	
				} while ( (month0<(T3*12)) && (N0>0) );

			if (OVERPAY3 > 0) {
				do {
				month3 = ++month3;
				var INT3 = (N3*R1)/12;
				TOTINT3 = TOTINT3 + INT3;
				var N3 = (N3*1) - (1*intonly_monthly) + (1*INT3) ;
				} while (  (month3<(T3*12)) && (N3>0)   );

				if (N3>0) {
				form.IO2.value =  poundsPence(TOTINT0-TOTINT3);
				form.IO3.value = poundsPence(N3);
				form.IO4.value = "n.a.";
				form.Y2.value = "n.a.";
				} else {
				form.IO2.value =  poundsPence(TOTINT0 - TOTINT3);
				form.IO3.value = 0;
				months_remainder2 = (month3) % 12;
				form.IO4.value = "" + months_remainder2;
				var years2 = (month3 - months_remainder2) / 12
				form.Y2.value = "" + years2;	
				}

			} else {



				form.IO2.value =  0;
				form.IO3.value = 0;
				form.IO4.value = "n.a.";
				form.Y2.value = "n.a.";

			}



}

//**************** END OF INTEREST ONLY CALCULATION ************************//





	function poundsPence( N ) {
	/*	if ((navigator.appName.indexOf('Microsoft')>-1)
			&& (navigator.appVersion.indexOf('3.0')>-1) )
		{
			return N;
		}*/
		S = new String( N );
		var i = S.indexOf('.');
		if (i != -1) {
			S = S.substr( 0, i );
			if (S.length-i < 0)
				S = S + '0';
		}
		return S;
	}

	//clears form
	function clearFormCol1(form) {
		form.A1.value = "";
		form.T1.value = "";
		form.R1.value = "";
		form.O1.value = "";
		form.Y1.value = "";
		form.Y2.value = "";
		form.M1.value = "";
		form.TI2.value = "";
		form.IO2.value = "";
		form.IO3.value = "";
		form.IO4.value = "";
		form.MR1.value =  "";
		form.MR2.value =  "";
	}



//-->
