function OpenServiceabilityCalculator() { window.open("Serviceability.aspx", "FinanceCalculators", "location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, top=0, left=0, width=735, height=650", false); } function OpenAdditionalRepayments() { window.open("AdditionalRepayments.aspx", "FinanceCalculators", "location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, top=0, left=0, width=685, height=585", false); } function OpenAffordability() { window.open("LoanCalculator.aspx", "FinanceCalculators", "location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, top=0, left=0, width=685, height=585", false); } function OpenMaximumPurchase() { window.open("MaximumPurchase.aspx", "FinanceCalculators", "location=no, menubar=no, resizable=yes, scrollbars=no, status=yes, toolbar=no, top=0, left=0, width=685, height=500", false); } function floor(number) { return Math.floor(number*Math.pow(10,2))/Math.pow(10,2); } function dosum() { var mi = document.temps.IR.value / 1200; var base = 1; var mbase = 1 + mi; for (i=0; i 50) || (isNaN(document.xtra.Intrate.value))) { alert("You must enter an Interest Rate between 1 and 50")} else if ((document.xtra.LoanPeriod.value < 1) || (document.xtra.LoanPeriod.value > 30) || (isNaN(document.xtra.LoanPeriod.value))) { alert("You must enter an Loan Period value between 1 and 30 years")} else advcalc(); } //declare xtra variables function advcalc() { LoanAmount= document.xtra.LoanAmount.value; LoanPeriod= document.xtra.LoanPeriod.value; AnnualIntrate = document.xtra.Intrate.value/100; MonthIntrate = document.xtra.Intrate.value/(12*100); FortIntrate = document.xtra.Intrate.value/(26*100); WeekIntrate = document.xtra.Intrate.value/(52*100); NumPaymentsMonth=LoanPeriod*12; NumPaymentsFort=LoanPeriod*26; NumPaymentsWeek=LoanPeriod*52; ExtraRepay= document.xtra.ExtraRepay.value; //run function dependant on the repayment frequency form value if (document.xtra.RepayFreq[document.xtra.RepayFreq.selectedIndex].value == "Monthly") advcalcmonth() else { if (document.xtra.RepayFreq[document.xtra.RepayFreq.selectedIndex].value == "Fortnightly") advcalcfort() else if (document.xtra.RepayFreq[document.xtra.RepayFreq.selectedIndex].value == "Weekly") advcalcweek() } } //calculate results for monthly repayments function advcalcmonth() { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Monthly") var ExtraRepay = document.xtra.ExtraRepay.value; else { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Fortnightly") var ExtraRepay = document.xtra.ExtraRepay.value * 2; else var ExtraRepay = document.xtra.ExtraRepay.value * 4; } MonthPayment=LoanAmount * (MonthIntrate / (1 - Math.pow((1+MonthIntrate),-(NumPaymentsMonth)))); Repay=MonthPayment; TotalRepay=Number(ExtraRepay)+Number(Repay); ExtraLoanPaymentPeriod=(Math.log(TotalRepay/(TotalRepay-(LoanAmount*MonthIntrate))))/Math.log(1+MonthIntrate); years = Math.floor((ExtraLoanPaymentPeriod)/12); months = Math.round(((ExtraLoanPaymentPeriod/12) - Math.floor(ExtraLoanPaymentPeriod/12))*12); if (months == 12) {document.xtra.ExtraRepayPeriod.value=(years+1) + ' years '+ ' 0 months' } else { document.xtra.ExtraRepayPeriod.value=(years) + ' years '+ months + ' months'} RepayTotal = (MonthPayment*12*LoanPeriod); InterestPaid = (RepayTotal-LoanAmount); ExtraTotal = TotalRepay*ExtraLoanPaymentPeriod; ExtraInterestPaid = (ExtraTotal-LoanAmount); InterestSaving = InterestPaid - ExtraInterestPaid; document.xtra.InterestSaving.value=format(InterestSaving); } function advcalcfort() { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Monthly") var ExtraRepay = document.xtra.ExtraRepay.value*12/52; else { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Fortnightly") var ExtraRepay = document.xtra.ExtraRepay.value; else var ExtraRepay = document.xtra.ExtraRepay.value * 2; } FortPayment=LoanAmount * (FortIntrate / (1 - Math.pow((1+FortIntrate),-(NumPaymentsFort)))); Repay=FortPayment; TotalRepay=Number(ExtraRepay)+Number(Repay); ExtraLoanPaymentPeriod=(Math.log(TotalRepay/(TotalRepay-(LoanAmount*FortIntrate))))/Math.log(1+FortIntrate); document.xtra.ExtraRepayPeriod.value=Math.round(ExtraLoanPaymentPeriod/26); years = Math.floor((ExtraLoanPaymentPeriod)/26); months = Math.round(((ExtraLoanPaymentPeriod/26) - Math.floor(ExtraLoanPaymentPeriod/26))*12); if (months == 12) {document.xtra.ExtraRepayPeriod.value=(years+1) + ' years '+ ' 0 months' } else { document.xtra.ExtraRepayPeriod.value=(years) + ' years '+ months + ' months'} RepayTotal = (FortPayment*26*LoanPeriod); InterestPaid = (RepayTotal-LoanAmount); ExtraTotal = (TotalRepay*ExtraLoanPaymentPeriod); ExtraInterestPaid = (ExtraTotal-LoanAmount); InterestSaving = InterestPaid - ExtraInterestPaid document.xtra.InterestSaving.value=format(InterestSaving); } function advcalcweek() { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Monthly") var ExtraRepay = document.xtra.ExtraRepay.value*12/52; else { if (document.xtra.ExtraRepayFreq[document.xtra.ExtraRepayFreq.selectedIndex].value == "Fortnightly") var ExtraRepay = document.xtra.ExtraRepay.value*12/26; else var ExtraRepay = document.xtra.ExtraRepay.value; } var WeekPayment=LoanAmount * (WeekIntrate / (1 - Math.pow((1+WeekIntrate),-(NumPaymentsWeek)))); var Repay=WeekPayment; var TotalRepay=Number(ExtraRepay)+Number(Repay); var ExtraLoanPaymentPeriod=(Math.log(TotalRepay/(TotalRepay-(LoanAmount*WeekIntrate))))/Math.log(1+WeekIntrate); years = Math.floor((ExtraLoanPaymentPeriod)/52); months = Math.round(((ExtraLoanPaymentPeriod/52) - Math.floor(ExtraLoanPaymentPeriod/52))*12); if (months == 12) {document.xtra.ExtraRepayPeriod.value=(years+1) + ' years '+ ' 0 months' } else { document.xtra.ExtraRepayPeriod.value=(years) + ' years '+ months + ' months'} var RepayTotal = (WeekPayment*52*LoanPeriod); var InterestPaid = (RepayTotal-LoanAmount); var ExtraTotal = (TotalRepay*ExtraLoanPaymentPeriod); var ExtraInterestPaid = (ExtraTotal-LoanAmount); var InterestSaving = InterestPaid - ExtraInterestPaid document.xtra.InterestSaving.value=format(InterestSaving); }