/************************************************************
* CALC.JS													*
* 02-May-2001												*
*															*
* Calculates the rental terms for a given equipment value.	*
************************************************************/

	document.write('<SCRIPT SRC=\"/calc/rates.js\" LANGUAGE=\"JAVASCRIPT\" TYPE=\"TEXT/JAVASCRIPT\"></SCRIPT>');

    var do_calculation = "TRUE";

    function AddCents(arg)
    {
    	//Correct calculation
    	if (arg > 0)
		{
			arg = Math.round((parseFloat(arg) + 0.01 )* 100)/100;
    	}
    	return arg;
    }
    
	function RoundValue( pSource )
	{
		return (Math.round( pSource * 100 ) / 100);
	}
    
    function ValidateAndCalc()
    {
    	do_calculation = "TRUE";
    	temp_value = document.rsform.thardware.value;
    	if ((document.rsform.thardware.value <= 0) || isNaN(temp_value))
    	{
    		alert("Please enter an amount between $330 and $15000.");
    		return false;
    	}
    	else if (!document.rsform.Name.value)
		{
	    	alert("Please enter your Name.");
	    	return false;
    	}
    	calcform();
    	
    	//Correct rounding
    	document.rsform.tweekly1.value = checkzeros(RoundValue(document.rsform.tweekly1.value));
    	document.rsform.tweekly2.value = checkzeros(RoundValue(document.rsform.tweekly2.value));
    	document.rsform.tweekly3.value = checkzeros(RoundValue(document.rsform.tweekly3.value));
    	document.rsform.tmonthly1.value = checkzeros(RoundValue(document.rsform.tmonthly1.value));
    	document.rsform.tmonthly2.value = checkzeros(RoundValue(document.rsform.tmonthly2.value));
    	document.rsform.tmonthly3.value = checkzeros(RoundValue(document.rsform.tmonthly3.value));
    	/*
    	document.rsform.ttotal1.value = checkzeros(RoundValue(document.rsform.ttotal1.value));
    	document.rsform.ttotal2.value = checkzeros(RoundValue(document.rsform.ttotal2.value));
    	document.rsform.ttotal3.value = checkzeros(RoundValue(document.rsform.ttotal3.value));
    	*/
    	document.rsform.tbtotal1.value = checkzeros(RoundValue(document.rsform.tbtotal1.value));
    	document.rsform.tbtotal2.value = checkzeros(RoundValue(document.rsform.tbtotal2.value));
    	document.rsform.tbtotal3.value = checkzeros(RoundValue(document.rsform.tbtotal3.value));
    	
		if (do_calculation == "TRUE")
    	{
    		// document.rsform.submit();
    	}
    }

    function calcform()
    {
	   SetRates();
	   
	
       var CreditUpperLimit = 15000;
       var CreditLowerLimit = 330.00;
       
       var TaxRate = document.rsform.TaxRate.value;

       var thwkeyed = document.rsform.thardware.value;
       var nfldlength = thwkeyed.length;
              
       if ((nfldlength > 0)&&(thwkeyed >= 0))
       {
          var nhw = parseFloat(thwkeyed);
       }
       else
       {
          var nhw = 0;
       }
       
       var nequipval = nhw
       var tequipval = checkzeros(nequipval)
       document.rsform.tequipval.value = tequipval
       
       //check minimum Equipment Value
       if ((nequipval < CreditLowerLimit) && (nequipval != ''))
       {
          alert('The Amount Required must be at least \$' + CreditLowerLimit)
          do_calculation = "FALSE";
       }

       var tmonthly24 = "";
       var nmonthly24 = 0;
       var tmonthly36 = "";
       var nmonthly36 = 0;       
       var tmonthly48 = "";
       var nmonthly48 = 0;
              
       var linsured = false;
       
       // linsured = document.rsform.chkinsurance.value;

       if (document.rsform.sprotection.value=="yes")
       {
          linsured = true;
       }
       else
       {
          linsured = false;
       }

       //24 month check
       for (index=0; index<upper_limit24.length; index++)
       {
       		if((nequipval-nequipval/11) < upper_limit24[index])
       		{
       			nmonthly24 = rentcalc((nequipval-nequipval/11),rates24[index],linsured,ninsurepercent);
       			break;
          	}
       }
       
       //36 month check
       for (index=0; index<upper_limit36.length; index++)
       {
		if((nequipval-nequipval/11) < upper_limit36[index])
		{
			nmonthly36 = rentcalc((nequipval-nequipval/11),rates36[index],linsured,ninsurepercent);
			break;
		}
       }
       
       //48 month check
       for (index=0; index<upper_limit48.length; index++)
       {
       		if((nequipval-nequipval/11) < upper_limit48[index])
       		{
       			nmonthly48 = rentcalc((nequipval-nequipval/11),rates48[index],linsured,ninsurepercent);
       			break;
       		}
       }
      
       if(nequipval >= CreditUpperLimit)
       {
             document.rsform.tequipval.value = '0.00';
             document.rsform.tweekly1.value = '0.00';
             document.rsform.tweekly2.value = '0.00';
             document.rsform.tmonthly1.value = '0.00';
             document.rsform.tmonthly2.value = '0.00';
             /*
             document.rsform.ttotal1.value = '0.00';
             document.rsform.ttotal2.value = '0.00';
             */
             nhw = 0;
             nmonthly24 = 0;
             nmonthly36 = 0;
             
             document.rsform.tweekly3.value = '0.00';
             document.rsform.tmonthly3.value = '0.00';
             // document.rsform.ttotal3.value = '0.00';
             nmonthly48 = 0;
             
             alert('Calculations for Amounts above \$' + CreditUpperLimit + ' cannot be performed with this calculator.');
             do_calculation = "FALSE";
       } 
       tmonthly24 = checkzeros(nmonthly24);
       tmonthly36 = checkzeros(nmonthly36);
       tmonthly48 = checkzeros(nmonthly48);
       
       document.rsform.thardware.value = checkzeros(nhw);
       if(nhw > 0)
       {
          document.rsform.thardware.value = checkzeros(nhw);
       }
       else
       {
          document.rsform.thardware.value = '';
       }
              
       document.rsform.tweekly1.value = checkzeros(nmonthly24*12/52);
       document.rsform.tweekly2.value = checkzeros(nmonthly36*12/52);
       document.rsform.tmonthly1.value = checkzeros(nmonthly24);
       document.rsform.tmonthly2.value = checkzeros(nmonthly36);
       
       document.rsform.tweekly3.value = checkzeros(nmonthly48*12/52);
       document.rsform.tmonthly3.value = checkzeros(nmonthly48);

       /*
       document.rsform.ttotal1.value = checkzeros((nmonthly24*24)-((nmonthly24*24)/11)-((nmonthly24*24)-((nmonthly24*24)/11))*(TaxRate/100));
       document.rsform.ttotal2.value = checkzeros((nmonthly36*36)-((nmonthly36*36)/11)-((nmonthly36*36)-((nmonthly36*36)/11))*(TaxRate/100));
       document.rsform.ttotal3.value = checkzeros((nmonthly48*48)-((nmonthly48*48)/11)-((nmonthly48*48)-((nmonthly48*48)/11))*(TaxRate/100));
        */
		switch( document.rsform.seducation.value)
		{
			case "yes-pri":
				var ETRPrimaryTop=750;
				var ETRPrimaryBot=375;
				var ETRPrimaryPercent=0.5;
				var tmonthly1=nmonthly24 *12;
				var tmonthly2=nmonthly36 *12;
				var tmonthly3=nmonthly48 *12;

				document.rsform.tbtotal1.value=(tmonthly1> ETRPrimaryTop)?(tmonthly1 - ETRPrimaryBot )/52:(tmonthly1-(tmonthly1* ETRPrimaryPercent))/52;
				document.rsform.tbtotal2.value=(tmonthly2> ETRPrimaryTop)?(tmonthly2 - ETRPrimaryBot )/52:(tmonthly2-(tmonthly2* ETRPrimaryPercent))/52;
				document.rsform.tbtotal3.value=(tmonthly3> ETRPrimaryTop)?(tmonthly3 - ETRPrimaryBot )/52:(tmonthly3-(tmonthly3* ETRPrimaryPercent))/52;
				break;

			case "yes-sec":
				var ETRSecondaryTop=1500;
				var ETRSecondaryBot=750;
				var ETRSecondaryPercent=0.5;
				var tmonthly1=nmonthly24 *12;
				var tmonthly2=nmonthly36 *12;
				var tmonthly3=nmonthly48 *12;
				
				document.rsform.tbtotal1.value=(tmonthly1> ETRSecondaryTop)?(tmonthly1 - ETRSecondaryBot )/52:(tmonthly1-(tmonthly1* ETRSecondaryPercent))/52;
				document.rsform.tbtotal2.value=(tmonthly2> ETRSecondaryTop)?(tmonthly2 - ETRSecondaryBot )/52:(tmonthly2-(tmonthly2* ETRSecondaryPercent))/52;
				document.rsform.tbtotal3.value=(tmonthly3> ETRSecondaryTop)?(tmonthly3 - ETRSecondaryBot )/52:(tmonthly3-(tmonthly3* ETRSecondaryPercent))/52;
				break;
			default:
				document.rsform.tbtotal1.value = (nmonthly24*12/52)-((nmonthly24*12/52)* TaxRate / 100);
		       	document.rsform.tbtotal2.value = (nmonthly36*12/52)-((nmonthly36*12/52)* TaxRate / 100);
    		   	document.rsform.tbtotal3.value = (nmonthly48*12/52)-((nmonthly48*12/52)* TaxRate / 100);
		}
}


function rentcalc(ninnuma,ninnumb,linsured,nins_pc)
{
     var naddinsurance = 0;
     var nreturnnum = RoundValue( ninnuma ) * ninnumb / 100;
     
     if(linsured)
     {
        nreturnnum += RoundValue( nreturnnum * (nins_pc / 100) );
     }
     
     //BEGIN 24-Jan-2001 PT
     //return (nreturnnum += nreturnnum*(TaxRate/100);
     //END 24-Jan-2001
     
     return nreturnnum;
}


function checkzeros(ninnum)
{
      ninnum = RoundValue( ninnum );
      var tinnum = "" + ninnum;
      var lpointfound = false;
      var ndecimalplaces = 0;
      var nfldlength = tinnum.length;
      
      for(j = 0; j < nfldlength; j++)
      {
          if(lpointfound)
          {
             ndecimalplaces++ ;
          }
          if(tinnum.substring(j,j+1) == ".")
          {
             lpointfound = true;
          }
      }
      if(ndecimalplaces == 0)
      {
        tinnum = tinnum+".00";
      }
      if(ndecimalplaces == 1)
      {
        tinnum = tinnum+"0";
      }
      return tinnum;
}
