function calculate_repayment()
	{
	document.monthlycalc.loanamount.value = ForceNumeric(document.monthlycalc.loanamount.value);
	document.monthlycalc.loanperiod.value = ForceNumeric(document.monthlycalc.loanperiod.value);
	document.monthlycalc.interestrate.value = ForceNumeric(document.monthlycalc.interestrate.value);
	document.monthlycalc.interestrate3.value = ForceNumeric(document.monthlycalc.interestrate3.value);
	document.monthlycalc.interestrate4.value = ForceNumeric(document.monthlycalc.interestrate4.value);
	document.monthlycalc.interestrate5.value = ForceNumeric(document.monthlycalc.interestrate5.value);
	var loanamount = document.monthlycalc.loanamount.value;
	var interestrate = document.monthlycalc.interestrate.value;
	var interestrate3 = document.monthlycalc.interestrate3.value;
	var interestrate4 = document.monthlycalc.interestrate4.value;
	var interestrate5 = document.monthlycalc.interestrate5.value;
	var loanperiod = document.monthlycalc.loanperiod.value;
	if (loanamount > 0 && loanperiod > 0)
		{
		var I = interestrate / 12;
		var X = 1/(1+I/100);
		var N = loanperiod * 12;
		var L = loanamount;
		var P1 = 0;
		var P2 = loanamount;
		var A1 = FormatNumber((L - P1 * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
		var A2 = FormatNumber((L - P2 * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
		document.monthlycalc.repayment.value = addCommas(A1);
		document.monthlycalc.interestonly.value = addCommas(A2);
		var I = interestrate3 / 12;
		var X = 1/(1+I/100);
		var N = loanperiod * 12;
		var L = loanamount;
		var P1 = 0;
		var P2 = loanamount;
		var A1 = FormatNumber((L - P1 * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
		document.monthlycalc.repayment3.value = addCommas(A1);
		var I = interestrate4 / 12;
		var X = 1/(1+I/100);
		var N = loanperiod * 12;
		var L = loanamount;
		var P1 = 0;
		var P2 = loanamount;
		var A1 = FormatNumber((L - P1 * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
		document.monthlycalc.repayment4.value = addCommas(A1);			
		var I = interestrate5 / 12;
		var X = 1/(1+I/100);
		var N = loanperiod * 12;
		var L = loanamount;
		var P1 = 0;
		var P2 = loanamount;
		var A1 = FormatNumber((L - P1 * Math.pow(X,N)) * (X - 1)/(Math.pow(X,N+1)-X))
		document.monthlycalc.repayment5.value = addCommas(A1);		
		}
	else
		{
		document.monthlycalc.repayment.value = "*ERROR*";
		document.monthlycalc.repayment3.value = "*ERROR*";
		document.monthlycalc.repayment4.value = "*ERROR*";
		document.monthlycalc.repayment5.value = "*ERROR*";
		document.monthlycalc.interestonly.value = "*ERROR*";
		}
	}
function FormatNumber(Number,Decimals,Separator)
{
 Number += ""    
 Decimals += ""   
 Separator += ""    
 if((Separator == "") || (Separator.length > 1))
  Separator = "."
 if(Number.length == 0)
  Number = "0"
 var OriginalNumber = Number  
 var Sign = 1
 var Pad = ""
 var Count = 0
 if(parseFloat(Number)){
  Number = parseFloat(Number)} else {
  Number = 0}
 if((parseInt(Decimals,10)) || (parseInt(Decimals,10) == 0)){
  Decimals = parseInt(Decimals,10)} else {
  Decimals = 2}
 if(Number < 0)
 {
  Sign = -1         
  Number *= Sign   
 }
 if(Decimals < 0)
  Decimals *= -1   
 Number = "" + Math.floor(Number * Math.pow(10,Decimals + 1) + 5)
 if((Number.substring(1,2) == '.')||((Number + '')=='NaN'))
  return(OriginalNumber)
 if(Number.length < Decimals +1) 
 {
  for(Count = Number.length; Count <= Decimals; Count++)
   Pad += "0"
 }
 Number = Pad + Number
 if(Decimals == 0){
  Number = Number.substring(0, Number.length -1)} else {
 Number = Number.substring(0,Number.length - Decimals -1) +
          Separator +
          Number.substring(Number.length - Decimals -1,
          Number.length -1)}
 if(Sign == -1)
  Number = "-" + Number  
 if(Number.length == 0)
  Number="0"
 return(Number)
}
function ForceNumeric(nValue)
	{
	validChars = "0123456789.";
	newValue="";
	for(k = 0; k < nValue.length; k++)
		{
		thisChar = nValue.charAt(k);
		if(validChars.indexOf(thisChar) != -1) newValue += thisChar;
		}
	return newValue;
	}
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
