/*****************************************
(C) http://www.calculator.net all right reserved.  
*****************************************/
var dataArray=new Array();var theLoanTerm=0;var aJ=true;function calc(){showquickmsg("calculating...",true);gObj("resulttable").innerHTML="";setTimeout("process()",2)}function process(){Es=gObj("cgraduate").value;eU=gObj("cannualamount").value;wo=gObj("cloanamount").value;hq=gObj("cloanterm").value;nt=gObj("cinterestrate").value;dd=(document.domain+"").toLowerCase();if((dd!="\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74")&&(dd.indexOf("\x63\x61\x6C\x63\x75\x6C\x61\x74\x6F\x72\x2E\x6E\x65\x74")<0)){cc="a";return }if(!isNumber(wo)){showquickmsg("current balance need to be numeric",true);return }else{if(!isNumber(Es)){showquickmsg("years to graduate need to be numeric",true);return }else{if((Math.abs(parseInt(Es)-Es)>0.000001)||(Es<0)){showquickmsg("years to graduate need to be a positive integer",true);return }else{if(!isNumber(eU)){showquickmsg("loan amount per year need to be numeric",true);return }else{if(!isNumber(hq)){showquickmsg("loan term need to be numeric",true);return }else{if((hq<1)||(hq>50)){showquickmsg("loan term need to be a number between 0 and 50",true);return }else{if(!isNumber(nt)){showquickmsg("interest rate need to be numeric",true);return }else{if((nt<-200)||(nt>200)){showquickmsg("interest rate needs to be between -200 and 200",true);return }}}}}}}}if(typeof (cc)!="undefined"){return }Te=new Array();wn=new Array();wo=parseFloat(wo);eU=parseFloat(eU);nt=parseFloat(nt);Es=parseInt(Es);pK="";Ca=0;if(Es>0){for(i=0;i<Es;i++){Te[i]=new Array();if(i==0){Te[i][0]=wo+eU}else{Te[i][0]=Te[(i-1)][1]+eU}CH=Te[i][0]*(1+nt/100);Te[i][1]=Te[i][0]*(1+nt/100);Te[i][2]=0;Te[i][3]=Te[i][0]*nt/100;Te[i][4]=0;Ca+=Te[i][3];if((i%2)==1){pK+="<tr align=right><td>"+(i+1)}else{pK+="<tr align=right bgcolor='#dddddd'><td>"+(i+1)}pK+="</td><td>"+formatAsMoney(Te[i][0])+"</td><td>"+formatAsMoney(Te[i][3])+"</td><td>$0.00</td><td>"+formatAsMoney(Te[i][1])+"</td></tr>"}pK+="<tr align=right bgcolor='#E0F0FE'><td colspan='5' align='center'><b>start to repay</b></td></tr>";wo=Te[(Es-1)][1]}ot=nt/100/12;if(ot==0){Yi=wo/hq/12}else{Yi=(ot/(1-Math.pow((1+ot),(-hq*12))))*wo}gP=parseInt(hq*12);xN=hq*12-gP;for(i=1;i<=(hq*12);i++){wn[(i-1)]=new Array();MO=Math.pow((1+ot),i);if(ot==0){CH=wo-i*Yi}else{CH=MO*wo-((MO-1)/ot)*Yi}if(i==1){wn[(i-1)][0]=wo}else{wn[(i-1)][0]=wn[(i-2)][1]}wn[(i-1)][1]=CH;wn[(i-1)][2]=Yi;wn[(i-1)][3]=Yi-(wn[(i-1)][0]-wn[(i-1)][1]);if(i==1){wn[(i-1)][4]=wn[(i-1)][3]}else{wn[(i-1)][4]=wn[(i-1)][3]+wn[(i-2)][4]}}if(xN>0.0001){wn[gP]=new Array();wn[gP][0]=wn[(gP-1)][1];wn[gP][1]=0;wn[gP][2]=xN*Yi;wn[gP][3]=wn[gP][2]-(wn[gP][0]-wn[gP][1]);wn[gP][4]=wn[(gP-1)][4]+wn[gP][3]}else{gP--}vl="<table border=0 cellpadding=3 width='100%'>";vl+="<tr align=right bgcolor='#E0F0FE'><td>&nbsp;</td><td><b>beginning balance</b></td><td><b>interest</b></td><td><b>principle repaid</b></td><td><b>ending balance</b></td></tr>";vl+=pK;for(i=0;i<parseInt(hq);i++){OG=wn[(i*12)][0];js=wn[(i*12+11)][1];Jd=0;iJ=0;for(j=0;j<12;j++){idN=i*12+j;Jd+=wn[idN][2];iJ+=wn[idN][3]}if((i%2)==1){vl+="<tr align=right><td>"+(i+1+Es)}else{vl+="<tr align=right bgcolor='#dddddd'><td>"+(i+1+Es)}vl+="</td><td>"+formatAsMoney(OG);vl+="</td><td>"+formatAsMoney(iJ);vl+="</td><td>"+formatAsMoney(Jd-iJ);vl+="</td><td>"+formatAsMoney(js)+"</td></tr>"}if((hq-parseInt(hq))>0.0001){i=parseInt(hq);OG=wn[(i*12)][0];js=wn[gP][1];Jd=0;iJ=0;for(j=(i*12);j<=gP;j++){idN=j;Jd+=wn[idN][2];iJ+=wn[idN][3]}if((i%2)==1){vl+="<tr align=right><td>"+(i+1+Es)}else{vl+="<tr align=right bgcolor='#dddddd'><td>"+(i+1+Es)}vl+="</td><td>"+formatAsMoney(OG);vl+="</td><td>"+formatAsMoney(iJ);vl+="</td><td>"+formatAsMoney(Jd-iJ);vl+="</td><td>"+formatAsMoney(js)+"</td></tr>"}vl+="</table>";dataArray=wn;theLoanTerm=hq;fs=0;Ok=0;jW=0;rc=fs+Ok+jW;xV="<h2>Summary</h2><table cellpadding='3' width='80%'>";if(Es>0){xV+="<tr><td><b>loan balance at your graduation</b></td><td align=right>"+formatAsMoney(wo)+"</td></tr>"}xV+="<tr bgcolor='#dddddd'><td><b>monthly pay after graduation</b></td><td align=right>"+formatAsMoney(Yi)+"</td></tr>";xV+="<tr><td>annual payment after graduation</td><td align=right>"+formatAsMoney(Yi*12)+"</td></tr>";xV+="<tr><td>total of "+(hq*12).toFixed(2)+" monthly payments</td><td align=right>"+formatAsMoney(Yi*12*hq)+"</td></tr>";xV+="<tr><td>total interest</td><td align=right>"+formatAsMoney(Yi*12*hq-wo+Ca)+"</td></tr>";xV+="</table>";showquickmsg(xV,false);gObj("resulttable").innerHTML="<hr /><h2>Annual Amortization Schedule</h2>"+vl};