function validateCalc(){var forminvalid=false;var formtext="";if(document.getElementById('repayment').value==""){formtext=formtext+'Please enter an amount which you can afford to pay either weekly, fortnightly, or monthly.';forminvalid=true;}
if(forminvalid==true)
{alert(formtext);return false;}
else
{calcFinanceAmount(document.getElementById('repayment').value,document.getElementById('rate').value,document.getElementById('term').value,document.getElementById('termother').value,document.getElementById('frequency').value,document.getElementById('deposit').value);}}
function reverse(string)
{for(var text='',i=string.length-1;i>-1;i=i-1)
text+=string.charAt(i);return text;}
function round(number,X){X=(!X?2:X);return Math.round(number*Math.pow(10,X))/Math.pow(10,X);}
function boxformatNumber(number)
{var whole,dec;var temp=new Array(2);temp[0]="";temp[1]="";number=number.toString();temp=number.split('.');whole=temp[0];dec=temp[1];if(whole.length>3){var newnumber='';number=reverse(whole);for(var i=0;i<number.length;i++){if(i>0&&(i%3)==0)
newnumber+=',';newnumber+=number.charAt(i);}
whole=reverse(newnumber);}
if((dec)&&(dec.length<2)){dec=dec+"0";}
number=(dec)?(whole+"."+dec):(whole);}
function formatNumber(number)
{number=boxformatNumber(number);number="$"+number;return number;}
function getMonthlyPayment(frequency,payment)
{var adjustedPayment=0;(frequency.toString()=="28")&&(adjustedPayment=payment);(frequency.toString()=="14")&&(adjustedPayment=((payment*26)/12));(frequency.toString()=="7")&&(adjustedPayment=((payment*52)/12));return adjustedPayment;}
function calcFinanceAmount(repayment,rate,term,termother,frequency,deposit)
{var top,middle,bottom,last;var payment,adjustedPayment;var residual=0;var amount=0;((rate==0)||(rate==""))&&(rate=INTERESTRATE);(deposit=="")&&(deposit=0);term=(termother>0)?(termother):(term);if(repayment<=0){alert("Invalid value for Repayment. Please re-enter your Repayment.");return false;}
if(rate<=0){alert("Invalid value for Rate. Please re-enter the Interest Rate.");return false;}
if(deposit<0){alert("Invalid value for Deposit. Please re-enter your Deposit.");return false;}
if(!term){alert("Please select or enter a Term.");return false;}
adjustedPayment=getMonthlyPayment(frequency,repayment);top=1000000;bottom=0;middle=0;do{last=middle;middle=bottom+((top-bottom)/2);payment=calcFinanceRepayment(middle,residual,rate,term,1);(payment>adjustedPayment)?(top=middle):(bottom=middle);if((Math.abs(middle-last)<.01)||(payment==adjustedPayment)){break;}}while(1);amount=round(middle)+eval(deposit);roundedAmount=Math.round(amount);minAmount=roundedAmount-2000;maxAmount=roundedAmount+2000;document.location.href="http://www.motorama.com.au/list.php/used/?retailto="+maxAmount+"&frequency="+frequency+"&repayments="+repayment+"&term="+term+"&rate="+rate+"";return true;}
function calcFinanceRepayment(amount,residual,rate,term,frequency)
{var r;var A;var T;var repayment;if((rate<=0)||(term==0)||(frequency==0)){return 0;}
r=rate*frequency/1200;T=term;if((Math.pow((1+r),T)-1)>0){repayment=r*(amount*Math.pow((1+r),T))/(Math.pow((1+r),T)-1);}
return repayment;}