/*****************************************
(C) http://www.calculator.net all right reserved.  
*****************************************/
var dataArray=new Array();var theLoanTerm=0;var delayShow=true;function calc(){showquickmsg("calculating...",true);gObj("resulttable").innerHTML="";setTimeout("process()",2)}function process(){Er=trimAll(gObj("cloanamount").value+"");Hp=trimAll(gObj("cloanterm").value+"");qo=trimAll(gObj("cinterestrate").value+"");cU=trimAll(gObj("cdownpayment").value+"");Fk=trimAll(gObj("ctradeinvalue").value+"");uR=trimAll(gObj("csaletax").value+"");Qe=(document.domain+"").toLowerCase();if((Qe!="\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74")&&(Qe.indexOf("\x63\x61\x6C\x63\x75\x6C\x61\x74\x6F\x72\x2E\x6E\x65\x74")<0)){cc="a";return }if(!isNumber(Er)){showquickmsg("loan amount need to be numeric",true);return }else{if(!isNumber(Hp)){showquickmsg("loan term need to be numeric",true);return }else{if((Hp<1)||(Hp>180)){showquickmsg("loan term need to be a number between 0 and 180",true);return }else{if(!isNumber(qo)){showquickmsg("interest rate need to be numeric",true);return }else{if((qo<-200)||(qo>200)){showquickmsg("interest rate needs to be between -200 and 200",true);return }else{if(!isNumber(cU)){showquickmsg("down payment need to be numeric",true);return }else{if(!isNumber(Fk)){showquickmsg("trade-in value need to be numeric",true);return }else{if(!isNumber(uR)){showquickmsg("sale tax need to be numeric",true);return }}}}}}}}if(typeof (cc)!="undefined"){return }Er=parseFloat(Er);Hp=parseFloat(Hp);qo=parseFloat(qo);cU=parseFloat(cU);Fk=parseFloat(Fk);uR=parseFloat(uR);PZ=Er*uR/100;Er=Er-cU-Fk+(Er*uR/100);ae=qo/100/12;if(ae==0){rR=Er/Hp}else{rR=(ae/(1-Math.pow((1+ae),(-Hp))))*Er}BT=parseInt(Hp);oh=Hp-BT;tW=new Array();for(i=1;i<=(Hp);i++){tW[(i-1)]=new Array();Pn=Math.pow((1+ae),i);if(ae==0){me=Er-i*rR}else{me=Pn*Er-((Pn-1)/ae)*rR}if(i==1){tW[(i-1)][0]=Er}else{tW[(i-1)][0]=tW[(i-2)][1]}tW[(i-1)][1]=me;tW[(i-1)][2]=rR;tW[(i-1)][3]=rR-(tW[(i-1)][0]-tW[(i-1)][1]);if(i==1){tW[(i-1)][4]=tW[(i-1)][3]}else{tW[(i-1)][4]=tW[(i-1)][3]+tW[(i-2)][4]}}if(oh>0.0001){tW[BT]=new Array();tW[BT][0]=tW[(BT-1)][1];tW[BT][1]=0;tW[BT][2]=oh*rR;tW[BT][3]=tW[BT][2]-(tW[BT][0]-tW[BT][1]);tW[BT][4]=tW[(BT-1)][4]+tW[BT][3]}qf="<table border=0 cellpadding=3 width='100%'>";qf+="<tr align=right bgcolor='#E0F0FE'><td>&nbsp;</td><td><b>beginning balance</b></td><td><b>interest</b></td><td><b>principle</b></td><td><b>ending balance</b></td></tr>";for(i=1;i<=(Hp);i++){if((i%2)==1){qf+="<tr align=right bgcolor='#dddddd'><td>"+i}else{qf+="<tr align=right><td>"+i}qf+="</td><td>"+formatAsMoney(tW[(i-1)][0])+"</td><td>"+formatAsMoney(tW[(i-1)][3])+"</td><td>"+formatAsMoney(tW[(i-1)][2]-tW[(i-1)][3])+"</td><td>"+formatAsMoney(tW[(i-1)][1])+"</td></tr>"}if(oh>0.0001){qf+="<tr align=right bgcolor='#E0F0FE'><td>"+Hp+"</td><td>"+formatAsMoney(tW[BT][0])+"</td><td>"+formatAsMoney(tW[BT][3])+"</td><td>"+formatAsMoney(tW[BT][2]-tW[BT][3])+"</td><td>"+formatAsMoney(tW[BT][1])+"</td></tr>"}qf+="</table>";dataArray=tW;theLoanTerm=Hp;rn=0;Vl=0;EV=0;mZ="<hr /><h2>Summary</h2><table cellpadding='3' width='80%'>";mZ+="<tr bgcolor='#dddddd'><td><b>monthly pay</b></td><td align=right>"+formatAsMoney(rR)+"</td></tr>";mZ+="<tr><td>total loan amount</td><td align=right>"+formatAsMoney(Er)+"</td></tr>";if(PZ>0){mZ+="<tr><td>sale tax</td><td align=right>"+formatAsMoney(PZ)+"</td></tr>"}mZ+="<tr><td>total of "+Hp+" monthly payments</td><td align=right>"+formatAsMoney(rR*Hp)+"</td></tr>";mZ+="<tr><td>total interest paid</td><td align=right>"+formatAsMoney(rR*Hp-Er)+"</td></tr>";mZ+="</table>";showquickmsg(mZ,false);gObj("resulttable").innerHTML="<hr /><h2>Monthly Amortization Schedule</h2>"+qf;if((delayShow)&&(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent))){delayShow=false;setTimeout("drawCurve()",2000)}else{delayShow=false;drawCurve()}}function drawCurve(){var F=[];var E=[];var C=[];if(dataArray.length<100){for(var B=0;B<dataArray.length;B++){F.push([(B+1),B*dataArray[B][2]]);E.push([(B+1),dataArray[B][0]]);C.push([(B+1),dataArray[B][4]])}}else{if(dataArray.length<200){for(var B=0;B<dataArray.length;(B=B+2)){F.push([(B+1),B*dataArray[B][2]]);E.push([(B+1),dataArray[B][0]]);C.push([(B+1),dataArray[B][4]])}}else{if(dataArray.length<300){for(var B=0;B<dataArray.length;(B=B+3)){F.push([(B+1),B*dataArray[B][2]]);E.push([(B+1),dataArray[B][0]]);C.push([(B+1),dataArray[B][4]])}}else{for(var B=0;B<dataArray.length;(B=B+4)){F.push([(B+1),B*dataArray[B][2]]);E.push([(B+1),dataArray[B][0]]);C.push([(B+1),dataArray[B][4]])}}}}function A(G){return G}var D=Flotr.draw($("container"),[{data:F,label:"payment"},{data:E,label:"balance"},{data:C,label:"interest"}],{legend:{position:"ne",labelFormatter:A,backgroundColor:"#D2E8FF"},xaxis:{ticks:[[1/12,""],formatNum(theLoanTerm*0.25),formatNum(theLoanTerm*0.5),formatNum(theLoanTerm*0.75),theLoanTerm],max:theLoanTerm}})};
