//<!--

function monthlyPaymentLoan(a,per,t){
	var p,x,y;
	p=per/1200;
	
	k=1;
	for (var i=1; i<t; i++){
		k=k*(p+1)+1;
		}
	
	y=Math.pow((p+1),t);
	x=(a*y)/k;
	return x;
	}
	
	
function monthsLoan(a,per,m){
	var x=0,p;
	p=per/1200;

	if (m<a*p){
		alert('Monthly painment is very low');
		return 0;
		}
	
	while (a>0){
		a=a-(m-a*p);
		x++;
		}
	return x;
	}
	
	
function ammountLoan(per,t,m){
	var p,x,y;
	p=per/1200;
	
	k=1;
	for (var i=1; i<t; i++){
		k=k*(p+1)+1;
		}
	
	y=Math.pow((p+1),t);
	x=(m*k)/y;
	return x;
	}
	
	
function calculateLoan(){
	var error='',e=0;
	var a=document.getElementById('ammount').value;
	var p=document.getElementById('percent').value;
	var t=document.getElementById('months').value;
	var m=document.getElementById('monthly').value;
	
	document.getElementById('report').innerHTML='';
	if (a && (!parseFloat(a) || parseFloat(a)<=0)) error=txt[7]+'<br />';
	if (t && (!parseInt(t) || parseInt(t)<1 || parseInt(t)>360)) error=error+txt[8]+'<br />';
	if (m && (!parseFloat(m) || parseFloat(m)<=0)) error=error+txt[9]+'<br />';
	if (error){
		document.getElementById('error').innerHTML=error;
		return 0;
		}
	
	if (a && t && !m){
		m=monthlyPaymentLoan(a,p,t);
		e=1;
		}
	if (a && !t && m){
		t=monthsLoan(a,p,m);
		e=1;
		}
	if (!a && t && m){
		a=ammountLoan(p,t,m);
		e=1;
		}
	
	if (!e){
		document.getElementById('error').innerHTML=txt[10]+'<br />';
		return 0;
		}
		
	document.getElementById('ammount').value=roundMoney(a);
	document.getElementById('months').value=t;
	document.getElementById('monthly').value=roundMoney(m);
	showTable(a,p,t,m);
	}
	
	
function showTable(a,per,t,m){
	var cx,p,i,j,str,am;
	var u=new Array();
	var total=new Array();
	total[0]=0;
	total[1]=0;
	
	p=per/1200;
	am=a;

	if (t>600){
		alert('Too many months!');
		return;
		}

	cx='<table border="0" cellpadding="0" cellspacing="0">';
	cx=cx+'<tr>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[0]+'</td>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[1]+'</td>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[2]+'</td>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[3]+'</td>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[4]+'</td>';
	cx=cx+'<td align="right" valign="middle" class="calctitle">'+txt[5]+'</td>';
	cx=cx+'</tr>';
		
	for (i=1; i<=t; i++){
		total[1]+=a*p;
		u[0]=i;
		u[1]=roundMoney(a);
		u[2]=roundMoney(m);
		u[3]=roundMoney(a*p);
		u[4]=roundMoney(m-a*p);
		a=a-u[4];
		u[5]=roundMoney(a);
		
		if (u[1]+u[3]<m){
			u[2]=roundMoney(u[1]+u[3]);
			u[4]=u[2];
			u[5]=0;
			
			total[0]+=u[1]+u[1]*p;
			}
		else {
			total[0]+=roundMoney(m);
			}
			
		cx=cx+'<tr>'+'<td align="center" class="calcplain">'+u[0]+'</td>';
		
		for(j=1; j<u.length; j++){
			str=makeString(u[j]);
			cx=cx+'<td align="right" class="calcplain">'+str+'</td>';
			}
		
		cx=cx+'</tr>';
		}
	
	total[0]=makeString(roundMoney(total[0]));
	total[1]=makeString(roundMoney(total[1]));
	am=makeString(roundMoney(am));
	cx=cx+'<tr>';
	cx=cx+'<td align="center" class="calcplain"><span class="redtxt"><strong>'+txt[6]+':</strong></span></td>';
	cx=cx+'<td align="right" class="calcplain"><span class="redtxt"><strong>0</strong></span></td>';
	cx=cx+'<td align="right" class="calcplain"><span class="redtxt"><strong>'+total[0]+'</strong></span></td>';
	cx=cx+'<td align="right" class="calcplain"><span class="redtxt"><strong>'+total[1]+'</strong></span></td>';
	cx=cx+'<td align="right" class="calcplain"><span class="redtxt"><strong>'+am+'</strong></span></td>';
	cx=cx+'<td align="right" class="calcplain"><span class="redtxt"><strong>0</strong></span></td>';
	cx=cx+'</tr>';
	cx=cx+'</table>';
	
	document.getElementById('error').innerHTML='';
	document.getElementById('report').innerHTML=cx;
	}
	
	
function roundMoney(x){
	var y;
	y=Math.round((100*x));
	y=y/100;
	return y;
	}
	
	
function makeString(i){
	var str,ind;
	str=i+"";
	ind=str.indexOf(".");
	
	if (ind==-1) str=str+".00";
	if (ind==str.length-2) str=str+"0";
	
	return addCommas(str);
	}
	
	
function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


//-->
