                      <!--
                      // LOAN
                      // vehicle Price (range:  0 to 500000)
                      var var_vpLoan = ""
                      if (var_vpLoan == "")
                      {
                      var_vpLoan = "0"
                      }
                      var var_vpLoanDefault = "0"
                      var var_vpLoanMin = "0"
                      var var_vpLoanMax = "500000"
                      var var_vpLoanErrMsg = "Loan amount must be between 0 and 500000."
                      var var_vpLoanDecPlaces = 0
                      // down payment (range:  0 to vp)
                      var var_dpLoan = "0"
                      var var_dpLoanDefault = "0"
                      var var_dpLoanMin = "0"
                      var var_dpLoanMax = var_vpLoan
                      var var_dpLoanErrMsg = "Down payment must be between 0 and vehicle price."
                      var var_dpLoanDecPlaces = 0
                      // sales tax (%) (range:  0 to 100)
                      var var_stPerLoan = "0"
                      var var_stPerLoanDefault = "0"
                      var var_stPerLoanMin = "0"
                      var var_stPerLoanMax = "100"
                      var var_stPerLoanErrMsg = "Sales tax (%) must be between 0 and 100."
                      var var_stPerLoanDecPlaces = 2
                      // sales tax ($) (range:  0 to (vp * stPer / 100))
                      var var_stDolLoan = "0"
                      var var_stDolLoanDefault = "0"
                      var var_stDolLoanMin = "0"
                      var var_stDolLoanMax = ""
                      var var_stDolLoanErrMsg = "Sales tax ($) must be less than 100% equivalent sales tax (%)."
                      var var_stDolLoanDecPlaces = 2
                      // rate (interest) (range:  0 to 50)
                      var var_rateLoan = "10"
                      var var_rateLoanDefault = "10"
                      var var_rateLoanMin = ".1"
                      var var_rateLoanMax = "50"
                      var var_rateLoanErrMsg = "Annual Percentage Rate must be between 0 and 50."
                      var var_rateLoanDecPlaces = 2
                      // term (range: 6 to 360)
                      var var_termLoan = "48"
                      var var_termLoanDefault = "48"
                      var var_termLoanMin = "6"
                      var var_termLoanMax = "360"
                      var var_termLoanErrMsg = "Term of loan must be between 6 and 360."
                      var var_termLoanDecPlaces = 0
                      // monthly payment (range:  0 to 2000)
                      var var_mpLoan = "0"
                      var var_mpLoanDefault = "0"
                      var var_mpLoanMin = "0"
                      var var_mpLoanMax = "1000"
                      var var_mpLoanErrMsg = "Monthly payment must be between 0 and 5000."
                      var var_mpLoanDecPlaces = 2
                      // amount financed
                      var var_afLoan = "0"
                      var var_afLoanDefault = "0"
                      var var_afLoanDecPlaces = 2
                      // total spent
                      var var_tsLoan = "0"
                      var var_tsLoanDefault = "0"
                      var var_tsLoanDecPlaces = 2
                      // comparible cost to own
                      var var_cctoLoan = "0"
                      var var_cctoLoanDefault = "0"
                      var var_cctoLoanDecPlaces = 2

                      // Used for field validation.
                      var dirtyField = true
                      var validating = false

                      //=================================================
                      function initCalc()
                      {
                      // Initialize loan calculator input.
                      with (document.LoanCalcQuickForm)
                      {
                      // Initialize loan calculator input and default values.
                      // Default values need to be set in case of toolbar hiding or reloads.
                      vpLoan.value=var_vpLoan;
                      dpLoan.value=var_dpLoan;
                      stPerLoan.value=var_stPerLoan;
                      var_rateLoan = 9.20;
                      rateLoan.value=var_rateLoan;
                      termLoan.value=var_termLoan;
                      mpLoan.value=var_mpLoan;

                      // Set focus and select first input field.
                      vpLoan.select()
                      vpLoan.focus()

                      }
                      }

                      //=================================================
                      function validRange(field)
                      {
                      var strMin = "Min"
                      var strMax = "Max"
                      var tempName = "var_" + field.name
                      var fieldMin = eval(tempName + "Min")
                      var fieldMax = eval(tempName + "Max")
                      var tempErrMsg = eval(tempName + "ErrMsg")

                      //eval("alert('vpMin = ' + fieldMin)")  
                      //eval("alert('vpMax = ' + fieldMax)")  

                      if (parseFloat(field.value) < parseFloat(fieldMin) || parseFloat(field.value) > parseFloat(fieldMax))
                      {
                      return false
                      }
                      else
                      {
                      return true
                      }
                      }

                      	function validateField(field)
                      	{
                      	   var numErrFlag = false
                      	   var rangeErrFlag = false
                      	   var fieldErrMsg = eval("var_" + field.name + "ErrMsg")
                      	   var tempField = 'var_' + field.name
                      	
                      	   if (!isNumeric(field))
                      	   {
                      	//      alert('validateField: not numeric')
                      	      alert(fieldErrMsg)
                                field.value=eval("var_" + field.name)
                      	      field.select()
                      	      field.focus()
                      	   }
                      	   else
                      	   {
                      	      if(!validRange(field))
                      	      {
                      //	       alert('validateField: not in range')
                      	         alert(fieldErrMsg)
                      			 field.value=eval("var_" + field.name)
                      	         field.select()
                      	         field.focus()
                      	      }
                      	      else
                      	         {
                      	            // Input is valid...now set any related fields for future validation.
                      	            eval(tempField = field.value)
                      	            field.defaultValue = field.value
                      	
                      	            if (field.name == "vpLoan")
                      	               {
                      	               var_dpLoanMax = field.value
                      	               }
                      	            if (field.name == "dpLoan")
                      	               {
                      	               var_vpLoanMin = field.value
                      	               }
                      	            recalculate(field)
                      		   }
                      	   }
                      	}                    	


                          //=================================================
                      	function changedField()
                      	{
                      	   dirtyField="true"
                      	}
                      	
                          //=================================================
                      	function recalculate(field)
                      	{
                      	   // Recalculate fields.
                      	
                      	   // LOAN:  change in top input fields
                      	   if (field.name == "vpLoan" || field.name == "dpLoan" || field.name == "stPerLoan" || field.name == "rateLoan" || field.name == "termLoan" || field.name == "stDolLoan" || field.name == "mpLoan")
                      	   {
                      	      // Recalc. mp, stDol, af, ts, and ccto.
                      	
                      	      if(field.name == "vpLoan")
                      	      {
                      	         var_vpLoan = field.value   
                      	      }
                      	
                      	      if(field.name == "stPerLoan")
                      	      {
                      	         var_stPerLoan = field.value   
                      	      }
                      	
                      	      if (field.name == "mpLoan")
                      	      {
                      	         var_mpLoan = field.value
                      	         var tempRate = eval(var_rateLoan / 1200)
                      	         var tempMpDenom = 1 - Math.pow(eval(1 + parseFloat(tempRate)), eval(-1 * var_termLoan))
                      	         var_vpLoan = eval(parseFloat(var_mpLoan) * tempMpDenom / tempRate).toString()
                      	         var_vpLoan = eval(parseFloat(var_vpLoan) + parseFloat(var_dpLoan) / ( 1 + ( var_stPerLoan / 100 ) ) ).toString()
                      	      }
                      	
                      	     if(field.name == "stDolLoan")
                          		{
                      	         var_stPerLoan = eval(parseFloat(field.value) * 100 / parseFloat(var_vpLoan)).toString()
                      	         var_vpLoan = document.LoanCalcQuickForm.vpLoan.value
                      	         var_stDolLoan = field.value
                      	      }
                      	      else
                      	      {
                      	         var_stDolLoan = eval(var_vpLoan * var_stPerLoan/100).toString()
                      	      }
                      	
                      	      var_dpLoan = document.LoanCalcQuickForm.dpLoan.value
                      	      var_rateLoan = document.LoanCalcQuickForm.rateLoan.value
                      	      var_termLoan = document.LoanCalcQuickForm.termLoan.value
                      	
                      	      // Calculate new fields for output.
                      	      var_afLoan = eval(parseFloat(var_stDolLoan) + (parseFloat(var_vpLoan) - parseFloat(var_dpLoan))).toString()
                      	      if (field.name != "mpLoan")
                      	      {
                      	         var tempRate = eval(var_rateLoan / 1200).toString()
                      	         var tempMpDenom = 1 - Math.pow(eval(1 + parseFloat(tempRate)), eval(-1 * var_termLoan))
                      	         var_mpLoan = eval(parseFloat(var_afLoan) * parseFloat(tempRate) / tempMpDenom).toString()
                      	      }
                      	      var_tsLoan = eval((parseFloat(var_mpLoan) * parseFloat(var_termLoan)) + parseFloat(var_dpLoan)).toString()
                      	      var_cctoLoan = var_tsLoan
                      	
                      	      var_vpLoan = remExtraDecPlaces(var_vpLoan, 0)
                      	      var_dpLoan = remExtraDecPlaces(var_dpLoan, 0)
                      	      var_stPerLoan = remExtraDecPlaces(var_stPerLoan, 2)
                      	      var_stDolLoan = remExtraDecPlaces(var_stDolLoan, 2)
                      	      var_mpLoan = remExtraDecPlaces(var_mpLoan, 2)
                      	      var_afLoan = remExtraDecPlaces(var_afLoan, 2)
                      	      var_tsLoan = remExtraDecPlaces(var_tsLoan, 2)
                      	      var_cctoLoan = remExtraDecPlaces(var_cctoLoan, 2)
                      		  
                      	      // Place new values in Loan fields.
                      	      with (document.LoanCalcQuickForm)
                      	      {
                      	         vpLoan.value=var_vpLoan
                      	         dpLoan.value=var_dpLoan
                      	         stPerLoan.value=var_stPerLoan
                      	         rateLoan.value=var_rateLoan
                      	         termLoan.value=var_termLoan
                      	         mpLoan.value=var_mpLoan
                      	      }
                      	   }
                      	}



                      //=================================================
                      function isNumeric(field)
                      {
                      // Check if input field is numeric.

                      var floatValue = new Number(parseFloat(field.value,10))
                      var isNumber = true
                      var chr = 0;
                      var decPlaces = 0;
                      var errorMsg = "";

                      //   alert('In validateField()')

                      dirtyField = true
                      if (dirtyField)
                      {
                      //        alert('if (inNumber)')
                      // Check for digits '0'-'9' and '.'
                      for ( var i = 0; i < field.value.length; i++ )
                      {
                      chr = field.value.charAt( i )
                      //           alert('Char is ' + chr)

                      // verify that the number is in fact numeric
                      if ((chr >= "0" && chr <= "9") || chr == ".")
                      {
                      if ( chr == "." )
                      {
                         decPlaces += 1;
                         //  Checks to make sure that there's at most one decimal point.
                         if ( decPlaces > 1 )
                         {
                            isNumber = false 
                            errorMsg = "You can only have one decimal point in your number."
                      //                     alert(errorMsg)
                            i = field.value.length
                         }
                      }
                      }
                      else
                      {
                      isNumber = false 
                      errorMsg = "The only values allowed are numbers (0 through 9) and a decimal point."
                      //               alert(errorMsg)
                      i = field.value.length
                      }
                      }
                      }
                      if (isNumber)
                      {
                      dirtyField = false
                      field.value = remExtraDecPlaces(field.value, eval("var_" + field.name + "DecPlaces"))
                      return true
                      }
                      else
                      {
                      return false
                      }
                      }

                      //=================================================
                      function loadCalc()
                      {
                      if(validateCalcForm())
                      {
                      // The following statement automatically changes and loads the new location (URL).

                      window.location="/carsapp/national/?srv=parser&act=display&tf=/tools_calc.tmpl&flt=n_rval"
                      }
                      }

                      //=================================================
                      function loadCalcResults()
                      {
                      if(validateCalcForm())
                      {
                      // The following statement automatically changes and loads the new location (URL).
                      window.location="/carsapp/national/?srv=parser&act=populate&tf=/tools_calcresults.tmpl&flt=n_rval"
                      }
                      }

                      //=================================================
                      function validateCalcForm()
                      {
                      // Calculate Loan output fields.
                      var_vpLoan = document.LoanCalcQuickForm.vpLoan.value 
                      var_dpLoan = document.LoanCalcQuickForm.dpLoan.value
                      var_stPerLoan = document.LoanCalcQuickForm.stPerLoan.value
                      var_rateLoan = document.LoanCalcQuickForm.rateLoan.value
                      var_termLoan = document.LoanCalcQuickForm.termLoan.value
                      var_mpLoan = document.LoanCalcQuickForm.mpLoan.value

                      // Calculate Loan output fields.
                      var_vpLease = document.LoanCalcQuickForm.vpLoan.value 
                      var_dpLease = document.LoanCalcQuickForm.dpLoan.value
                      var_stPerLease = document.LoanCalcQuickForm.stPerLoan.value
                      var_rateLease = eval(document.LoanCalcQuickForm.rateLoan.value / 2400)
                      var_termLease = document.LoanCalcQuickForm.termLoan.value
                      var_rateLease = remExtraDecPlaces(var_rateLease.toString(), 6)
                      // Calculate new fields for output.
                      var tempstDolLoan = new Number(eval(var_vpLoan * var_stPerLoan/100))
                      var_stDolLoan = tempstDolLoan.toString()

                      tempafLoan = new Number(eval(parseFloat(var_stDolLoan) + parseFloat(var_vpLoan) - parseFloat(var_dpLoan)))

                      var tempRate = new Number(eval(var_rateLoan / 1200))

                      var tempMpDenom = new Number(1 - Math.pow(eval(1 + tempRate), eval(-1 * var_termLoan)))

                      tempmpLoan = new Number(eval(tempafLoan * tempRate / tempMpDenom))
                      temptsLoan = new Number(eval((tempmpLoan * parseFloat(var_termLoan)) + parseFloat(var_dpLoan)))

                      var_stDolLoan = remExtraDecPlaces(var_stDolLoan, 2)
                      var_afLoan = remExtraDecPlaces(tempafLoan.toString(), 2)
                      var_mpLoan = remExtraDecPlaces(tempmpLoan.toString(), 2)
                      var_tsLoan = remExtraDecPlaces(temptsLoan.toString(), 2)
                      var_cctoLoan = var_tsLoan

                      return true
                      }

                      //======================================================== 
                      function remExtraDecPlaces(numStr, numDecPlaces)
                      {
                      // Removes extra decimal places greater than 2 decimal places.

                      var decIndex = numStr.indexOf('.')
                      var numLength = numStr.length
                      var decPlaces = 0

                      if (decIndex != -1)
                      {
                      decPlaces = numLength - decIndex
                      if (numDecPlaces == 0)
                      decPlaces = 0
                      if (decPlaces == 1)
                      decPlaces = 0
                      if (decPlaces > 3)
                      decPlaces = 3         
                      if (numDecPlaces == 6)
                      decPlaces = 7     
                      var newNumStr = numStr.substring(0, (decIndex + decPlaces))
                      //     alert('the newNumStr = ' + newNumStr)
                      return newNumStr
                      }
                      //  alert('the newNumStr = numStr')

                      return numStr
                      }
                      
                      var nMakePrevSelected = new Number(0);

                      function validateMake()
                      {
                      with (document.GetaQuote)
                      	{
                      	if(mkid.options[mkid.selectedIndex].value == "")
                      		{
                      		alert ("Please choose a valid make.")
                      		return false;
                      		}
                      	}
                      }                      
                      //-->
