function formatMoney(amount)
{
 var pos;
 var len;
 
 if(isNaN(parseFloat(amount)))
  amount = '0'
 else
  amount = '' + Math.round(parseFloat(amount) * 100) / 100;

	pos = amount.indexOf('.');
	len = amount.length;
	
	if(pos == -1)
		amount += '.00'
	else if(pos == (len - 1))
		amount += '00'
	else if(pos == (len - 2))
		amount += '0'
	else if(pos <= (len - 3));

 return amount;
}

	function IsNumeric(strUserValue){
  var strValidChars="0123456789."
  var intIsNumeric=true
  for (var intCount=0 ; intCount < strUserValue.length; intCount++) {
   if(strValidChars.indexOf(strUserValue.charAt(intCount))==-1) intIsNumeric=false;
 }
 return (intIsNumeric) && (strUserValue!="");
	}
	
	function Calculate(){
 if (!(IsNumeric(document.Finance.Rate.value) && IsNumeric(document.Finance.NetAmount.value) && IsNumeric(document.Finance.Deposit.value) && IsNumeric(document.Finance.TradeIn.value)))
  alert("You must enter a valid number.")
 else {
  if ((document.Finance.Rate.value<0) || (document.Finance.Rate.value>100))
   alert("APR must be between 0 and 100")
  else{
  if ((parseInt(document.Finance.NetAmount.value)<parseInt(document.Finance.Deposit.value)))
   alert("The cash deposit may not be greater than the value of the car.")
  else{
	BalloonValue=0;
	AmtFinanced=parseFloat(document.Finance.NetAmount.value)-parseFloat(BalloonValue)-parseFloat(document.Finance.Deposit.value)-parseFloat(document.Finance.TradeIn.value)
	NetCost=parseFloat(document.Finance.NetAmount.value)-parseFloat(document.Finance.Deposit.value)-parseFloat(document.Finance.TradeIn.value)
  if (document.Finance.Rate.value==0){
   MonthlyRate=0
   SubTotal1=0}
  else{
   MonthlyRate=Math.pow((1+(document.Finance.Rate.value/100)),(1/12))-1
   SubTotal1=(1/MonthlyRate)}

	Periods=12
  if (document.Finance.Rate.value==0){
   document.Finance.monthpay1.value = formatMoney(Math.round((AmtFinanced/Periods)*100)/100);
   document.Finance.total1.value = formatMoney(AmtFinanced);
   document.Finance.credit1.value=formatMoney(0);}
  else{
	 SubTotal2=(1/(MonthlyRate*(Math.pow(1+MonthlyRate,Periods))));
   MonthlyFinanceCost1=(AmtFinanced/(SubTotal1-SubTotal2))
   MonthlyFinanceCost2=(BalloonValue*MonthlyRate)
   document.Finance.monthpay1.value=formatMoney(Math.round(((MonthlyFinanceCost1+MonthlyFinanceCost2))*100)/100);
   document.Finance.total1.value=formatMoney(Math.round((((MonthlyFinanceCost1+MonthlyFinanceCost2)*Periods)+BalloonValue)*100)/100)
   document.Finance.credit1.value=formatMoney(Math.round((document.Finance.total1.value-NetCost)*100)/100);}

	Periods=24
  if (document.Finance.Rate.value==0){
   document.Finance.monthpay3.value=formatMoney(Math.round((AmtFinanced/Periods)*100)/100);
   document.Finance.total3.value=formatMoney(AmtFinanced);
   document.Finance.credit3.value=formatMoney(0);}
  else{
	 SubTotal2=(1/(MonthlyRate*(Math.pow(1+MonthlyRate,Periods))));
   MonthlyFinanceCost1=(AmtFinanced/(SubTotal1-SubTotal2))
   MonthlyFinanceCost2=(BalloonValue*MonthlyRate)
   document.Finance.monthpay3.value=formatMoney(Math.round(((MonthlyFinanceCost1+MonthlyFinanceCost2))*100)/100);
   document.Finance.total3.value=formatMoney(Math.round((((MonthlyFinanceCost1+MonthlyFinanceCost2)*Periods)+BalloonValue)*100)/100);
   document.Finance.credit3.value=formatMoney(Math.round((document.Finance.total3.value-NetCost)*100)/100);}

	Periods=36
  if (document.Finance.Rate.value==0){
   document.Finance.monthpay4.value=formatMoney(Math.round((AmtFinanced/Periods)*100)/100);
   document.Finance.total4.value=formatMoney(AmtFinanced)
   document.Finance.credit4.value=formatMoney(0);}
  else{
	 SubTotal2=(1/(MonthlyRate*(Math.pow(1+MonthlyRate,Periods))));
   MonthlyFinanceCost1=(AmtFinanced/(SubTotal1-SubTotal2))
   MonthlyFinanceCost2=(BalloonValue*MonthlyRate)
   document.Finance.monthpay4.value=formatMoney(Math.round(((MonthlyFinanceCost1+MonthlyFinanceCost2))*100)/100);
   document.Finance.total4.value=formatMoney(Math.round((((MonthlyFinanceCost1+MonthlyFinanceCost2)*Periods)+BalloonValue)*100)/100);
   document.Finance.credit4.value=formatMoney(Math.round((document.Finance.total4.value-NetCost)*100)/100);}

	Periods=48
  if (document.Finance.Rate.value==0){
   document.Finance.monthpay5.value=formatMoney(Math.round((AmtFinanced/Periods)*100)/100);
   document.Finance.total5.value=formatMoney(AmtFinanced)
   document.Finance.credit5.value=formatMoney(0)}
  else{
	 SubTotal2=(1/(MonthlyRate*(Math.pow(1+MonthlyRate,Periods))));
   MonthlyFinanceCost1=(AmtFinanced/(SubTotal1-SubTotal2))
   MonthlyFinanceCost2=(BalloonValue*MonthlyRate)
   document.Finance.monthpay5.value=formatMoney(Math.round(((MonthlyFinanceCost1+MonthlyFinanceCost2))*100)/100)
   document.Finance.total5.value=formatMoney(Math.round((((MonthlyFinanceCost1+MonthlyFinanceCost2)*Periods)+BalloonValue)*100)/100)
   document.Finance.credit5.value=formatMoney(Math.round((document.Finance.total5.value-NetCost)*100)/100);}
   
   Periods=60
  if (document.Finance.Rate.value==0){
   document.Finance.monthpay6.value=formatMoney(Math.round((AmtFinanced/Periods)*100)/100);
   document.Finance.total6.value=formatMoney(AmtFinanced)
   document.Finance.credit6.value=formatMoney(0)}
  else{
	 SubTotal2=(1/(MonthlyRate*(Math.pow(1+MonthlyRate,Periods))));
   MonthlyFinanceCost1=(AmtFinanced/(SubTotal1-SubTotal2))
   MonthlyFinanceCost2=(BalloonValue*MonthlyRate)
   document.Finance.monthpay6.value=formatMoney(Math.round(((MonthlyFinanceCost1+MonthlyFinanceCost2))*100)/100)
   document.Finance.total6.value=formatMoney(Math.round((((MonthlyFinanceCost1+MonthlyFinanceCost2)*Periods)+BalloonValue)*100)/100)
   document.Finance.credit6.value=formatMoney(Math.round((document.Finance.total6.value-NetCost)*100)/100);}

  	document.Finance.total1.value=formatMoney(Math.round((parseFloat(document.Finance.credit1.value) + parseFloat(document.Finance.NetAmount.value))*100)/100);
	document.Finance.total3.value=formatMoney(Math.round((parseFloat(document.Finance.credit3.value) + parseFloat(document.Finance.NetAmount.value))*100)/100);
	document.Finance.total4.value=formatMoney(Math.round((parseFloat(document.Finance.credit4.value) + parseFloat(document.Finance.NetAmount.value))*100)/100);
	document.Finance.total5.value=formatMoney(Math.round((parseFloat(document.Finance.credit5.value) + parseFloat(document.Finance.NetAmount.value))*100)/100);
	document.Finance.total6.value=formatMoney(Math.round((parseFloat(document.Finance.credit6.value) + parseFloat(document.Finance.NetAmount.value))*100)/100);


	 }
	 }
	}
	}
