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); var loanamount = document.monthlycalc.loanamount.value; var interestrate = document.monthlycalc.interestrate.value; var loanperiod = document.monthlycalc.loanperiod.value; if (interestrate > 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 = A1; document.monthlycalc.interestonly.value = A2; } else { document.monthlycalc.repayment.value = "*ERROR*"; document.monthlycalc.interestonly.value = "*ERROR*"; } } function calculate_maxloan() { document.maxborrowcalc.firstincome.value = ForceNumeric(document.maxborrowcalc.firstincome.value); document.maxborrowcalc.secondincome.value = ForceNumeric(document.maxborrowcalc.secondincome.value); var firstincome = document.maxborrowcalc.firstincome.value; var secondincome = document.maxborrowcalc.secondincome.value; if (firstincome > 0) { if (secondincome == 0) { averageloanamount = firstincome * 3.25; highestloanamount = firstincome * 4; } else { var jointincome = Math.abs(firstincome) + Math.abs(secondincome); averageloanamount = 2.5 * jointincome; highestloanamount = 3 * jointincome; } document.maxborrowcalc.average.value = FormatNumber(averageloanamount,0); document.maxborrowcalc.highest.value = FormatNumber(highestloanamount,0); } else { document.maxborrowcalc.average.value = "*ERROR*"; document.maxborrowcalc.highest.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 close_window() { window.close(); } function calculate_stamp() { var propertyvalue = document.stampcalc.propvalue.value; var stamp = 0.00 if(propertyvalue>125000) { if(propertyvalue>250000) { if(propertyvalue>500000) { stamp = FormatNumber((propertyvalue/100)*4, 2); } else { stamp = FormatNumber((propertyvalue/100)*3, 2); } } else { stamp = FormatNumber(propertyvalue/100, 2); } } document.stampcalc.stamp.value=Math.round(stamp); }