		var newPrincipal 		= 0;	/* new pricipal value after loan payment */
		var interestPayment 	= 0;/* interest payment */
		var principalPayment 	= 0;
		var totalInterest 		= 0; 	/* cumulative interest paid */
		var totalPayments 		= 0;  	/* (# of payments/yr) * (# of years) */
		var Payment 			= 0;	
		var yearlyPayments 		= 12;
		var additionalMonthly 	= 0;

	/* ---------------------------------------------------------------*/	
	function commify_number(mynumber) {
		var i=0,counter=0;
		var newnumber = "";
		var numlen= mynumber.toString(); /* we have to do this to treat our number as a string */
		
		if (parseInt(mynumber) > 999) { 
			for (i=numlen.length; i != 0; i--){
				if ( (counter%3 == 0) && counter != 0 ) {
					newnumber = ',' + newnumber;
					}
				newnumber = numlen.charAt(i-1) + newnumber;
				counter++;
				}
		} else {
			return mynumber; 
			}
		return newnumber;
		}
	
	
					
	/* ---------------------------------------------------------------*/	
	function calculator_init() {
		document.getElementById("results").innerHTML="";
		newPrincipal 		= 0;	/* new pricipal value after loan payment */
		interestPayment 	= 0;/* interest payment */
		principalPayment 	= 0;
		totalInterest 		= 0; 	/* cumulative interest paid */
		totalPayments 		= 0;  /* (# of payments/yr) * (# of years) */
		Payment 			= 0;	
		additionalMonthly 	= 0;35*12
		
	}
	
	
	/* ---------------------------------------------------------------*/	
	/* this function determines which loan we are calculating for */
	/* price,trade,down,owed,<term>,tax,interest */
	function calculate_loan() {
		loan				= new Object;
		  
		  loan.amount	 		= document.myform.price.value;
		  loan.trade			= document.myform.trade.value;
		  loan.down				= document.myform.down.value;
		  loan.owed 			= document.myform.owed.value;
		  loan.loan_type 		= document.myform.term.value;
		  loan.tax 				= document.myform.tax.value;
		  loan.rate 			= document.myform.interest.value;
		  loan.salestax			= eval(loan.amount) * (eval(loan.tax)/100);
		  loan.amount			= eval(loan.amount) + eval(loan.salestax);
		  loan.allowance		= eval(loan.down) + eval(loan.trade) - eval(loan.owed);
		  loan.price 			= eval(loan.amount) - eval(loan.allowance);


		commify_number(loan.price);
		calculator_init();

		calculate_fixed(loan);

		}

	

		
		
		
	/* ---------------------------------------------------------------*/	
	function calculate_fixed(loan) {
		var multiplier,factor,i,resultdata,additionalMonthly=0;
		var fields = new Array();
		var values = new Array();
		
		totalPayments = eval(loan.loan_type);
		
		/* calculate the monthly payment */
		factor		= eval(loan.rate)/100/eval(yearlyPayments);
		multiplier 	= Math.pow( (1+factor), totalPayments);
		Payment		= ( eval(loan.price)*multiplier*factor )/(multiplier-1);

		 	
		/* calculate the total interest paid */
		newPrincipal = eval(loan.price);
		for (i=1;i<totalPayments;i++) {
			interestPayment 	= (eval(newPrincipal)*eval(loan.rate)) / eval(yearlyPayments) / 100;
			totalInterest 		+= interestPayment;
			principalPayment 	= eval(Payment) - eval(interestPayment);
			newPrincipal 		= eval(newPrincipal) - eval(principalPayment);
			
			/* uncomment to see tables 
			resultdata += '<tr><td><font face="arial,helvetica,verdana" size=2>' +  Math.round(interestPayment) + '</td><td><font face="arial,helvetica,verdana" size=2>' +  Math.round(principalPayment) + '</td><td><font face="arial,helvetica,verdana" size=2>' +  Math.round(newPrincipal) + '</td><td><font face="arial,helvetica,verdana" size=2>' +  Math.round(totalInterest) + '</td></tr>';
			*/
			}	
					
			

		
		fields[0] = 'Amount of Auto loan&nbsp;&nbsp;$';
		values[0] = Math.round(eval(loan.price));				
		fields[1] = 'Interest paid over life of loan&nbsp;&nbsp; $';
		values[1] = Math.round(totalInterest);		
		fields[2] = '<hr size=1 width=8 noshade>';
		values[2] = '<hr size=1 noshade>';			
		fields[3] = 'Total paid on loan&nbsp;&nbsp; $';
		values[3] = Math.round(eval(totalInterest) + eval(loan.price));			
		fields[4] = '';
		values[4] = '<img src="/classified/art/ui/dot_clear.gif" height=20 border=0>';		
		fields[5] = '<b>Total monthly payment&nbsp;&nbsp;$</b>';
		values[5] = '<b>' + Math.round( eval(Payment) + eval(additionalMonthly) ) + '</b>';
		draw_results(fields,values);
		
		/* TABLES 
		document.getElementById("results").innerHTML+= '<br><br><br><br><table cellpadding=2 border=1><tr><td><font face="arial,helvetica,verdana" size=2>Interest Payed</td><td><font face="arial,helvetica,verdana" size=2>Principal payment</td><td><font face="arial,helvetica,verdana" size=2>New pricipal</td><td><font face="arial,helvetica,verdana" size=2>Total interest</td></tr>' + resultdata + '</table>';
		*/
		}		
										

	/* ---------------------------------------------------------------*/		
	function draw_results(fields,values) {		
		var i,results;

		results = '<table cellpadding=0 cellspacing=0 border=0 align="right">';
		for (i=0;i < fields.length; i++) {
			results += '<tr><td align="right" valign="bottom"><font face="arial,helvetica,verdana" size=2>'
					 + fields[i] 
					 + '</font></td>'
					 + '<td align="right" valign="bottom" ><font face="arial,helvetica,verdana" size=2>'				
					 + commify_number(values[i]) 
					 + '</font></td></tr>';
			}
		results += '</table>';
		document.getElementById("results").innerHTML += results;
		}									

