/**
  * @author rbentz
 */
/* Event Handlers */
var minimumPriceValue;
var maximumPriceValue;
var minimumYearValue;
var maximumYearValue;
var minimumPaymentValue;
var maximumPaymentValue;
var minimumMileageValue;
var maximumMileageValue;
var maximumMPGValue;
var minimumMPGValue;
//Search Criteria created and initialized. Holds all primary search criteria
var searchCriteria = new Object();
var dropdownBorderHeight = 9;
//default min&max price value
var defaultMinPriceVal;
var defaultMaxPriceVal;
//default min&max payment value
var defaultMinPaymentVal;
var defaultMaxPaymentVal;
//default min&max year value
var defaultMinYearVal;
var defaultMaxYearVal;
//default min&max mileage value
var defaultMinMileageVal;
var defaultMaxMileageVal;
//default min&max MPG value
var defaultMinMPGVal;
var defaultMaxMPGVal;
var isMPGAvailable = false;

var initiateSlider = 0;
var considerParams = false;
var cookiePopulation = false;

jQuery(document).ready(function() {
	searchCriteria['searchNew']=false;
	searchCriteria['searchUsed']=false;
	searchCriteria['searchCertified']=false;
	searchCriteria['searchLocation']="";
	searchCriteria['searchType']="";
	searchCriteria['searchMake']="";
	searchCriteria['searchModel']="";
	searchCriteria['searchTrim']="";
	pageLoad();
	if(isResults || isVehicleDetails) {
		createFade();
		if (isVehicleDetails) {
			maskWidget();
		}
	}
	if(isResults && jQuery('#results_oopsMessage').css("display")!= undefined) {
		jQuery('#results_tabRow').show();
		jQuery('#results_tabRow').css("visibility","hidden");
		jQuery('#layoutWrapper').css("height","1000px");
	}
	else {
		jQuery('#results_tabRow').show();
		jQuery('#results_tabRow').css("visibility","visible");
		jQuery('#layoutWrapper').css("height","auto");
	}
});	
// Function called on search, results and detail page load	
function pageLoad() {
	if (jQuery('#searchNew').attr('checked')) searchCriteria['searchNew']=true;
	if (jQuery('#searchUsed').attr('checked')) searchCriteria['searchUsed']=true;
	if (jQuery('#searchCertified').attr('checked')) searchCriteria['searchCertified']=true;
	
	//Initial Setting the values in searchCriteria properly based on whether it is new vehicle, used vehicle or combined vehicle search		
	//------------Start checkbox configuration checking--------------
	if (checkboxNew == false && checkboxUsed == false && checkboxCertified == false)  searchAll();
	else if (checkboxNew == true && checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchAll();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) searchUsedCertified();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else searchNew();
	}
	else if (checkboxNew == true && checkboxUsed == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked'))) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxNew == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchUsedCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchUsed').attr('checked'))	searchUsed();
	}
	else if (checkboxNew == true) {
		if (jQuery('#searchNew').attr('checked') || !jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true) {
		if (jQuery('#searchUsed').attr('checked') || !jQuery('#searchUsed').attr('checked')) searchUsed();
	}
	else if (checkboxCertified == true) {
		if (jQuery('#searchCertified').attr('checked') || !jQuery('#searchCertified').attr('checked')) searchCertified();
	}
	//------------End checkbox configuration checking--------------
	if (priceRangePresent == true) {
		enableDisalblePriceSliderOnPageLoad();
		if (checkSearchByPricePresence()==false) jQuery("#searchByPriceSliderContainer").hide();	
	}
	if (yearRangePresent == true) enableDisalbleYearSliderOnPageLoad();
	if (monthlyRangePresent == true) {
		if (checkSearchByPaymentPresence()==false) jQuery("#sliderHeaderPayment").hide();		
		jQuery("#searchByPaymentSliderContainer").hide();
		if (jQuery("#paymentRangeRadio").attr('checked')) {
			jQuery("#searchByPaymentSliderContainer").show();
			jQuery("#searchByPriceSliderContainer").hide();
			enableDisalblePaymentSliderOnPageLoad()
		}
		if(isVehicleDetails) jQuery("#asterisk_Payment").hide();
	}
	if (mileageRangePresent == true) {
		if((jQuery("#mileage").css('display'))=='block') enableDisalbleMileageSliderOnPageLoad();	
		else {
				jQuery("#mileage").show();
				enableDisalbleMileageSliderOnPageLoad();
				jQuery("#mileage").hide();
			}
	}
	if (isMPGAvailable == true) {
		if(jQuery("#mpg").css('display')=='block') {
			enableDisalbleMPGSliderOnPageLoad();
			jQuery('#mpgDiscDisplay').show();
		} else {
			jQuery("#mpg").show();
			enableDisalbleMPGSliderOnPageLoad();
			jQuery("#mpg").hide();
			jQuery('#mpgDiscDisplay').hide();
		}
	}

	if (isResults)	{
		if (isMpgDiscDisplay)
			jQuery('#mpgDiscDisplay').show();
		else 
			jQuery('#mpgDiscDisplay').hide();
	}
	
	emptyAllOnLoad();
	searchCriteria['searchLocation']=jQuery('#locationId').val();
	searchCriteria['searchType']=jQuery('#bodyTypeId').val();
	searchCriteria['searchMake']=jQuery('#makeId').val();
	searchCriteria['searchModel']=jQuery('#modelId').val();
	searchCriteria['searchTrim']=jQuery('#trimId').val();
	jQuery('#location').val(searchCriteria['searchLocation']);
	jQuery('#bodyType').val(searchCriteria['searchType']);
	jQuery('#make').val(searchCriteria['searchMake']);
	jQuery('#model').val(searchCriteria['searchModel']);
	jQuery('#trim').val(searchCriteria['searchTrim']);
	getVehicleBasicData();
}
//This function gets the basic vehicle data as a JSON using a AJAX request.
function getVehicleBasicData() {
	updateAllOnLoad(filterVehicles());
	if(isVehicleDetails) return;
	jQuery('#vehicleCount').empty();
	jQuery('#vehicleCount').hide(); 
	if(isResults) {
		var count = jQuery('#resultCount').val();
		jQuery('#vehicleCount').html(count).fadeIn(3000);
	} else {
		if (jQuery('#searchNew').attr('checked')) jQuery('#vehicleCount').html(newVehicleCount).fadeIn(3000);
		else if(jQuery('#searchUsed').attr('checked')) jQuery('#vehicleCount').html(preownedVehilceCount).fadeIn(3000);			
		else {
			var totalCount = parseInt(newVehicleCount)+ parseInt(preownedVehilceCount);
			jQuery('#vehicleCount').html(totalCount).fadeIn(3000);
		}
	}
}
// This function filters the vehicle data based on search criteria and
// creates the values of location, type, make, model and trim as required
function filterVehicles() {
	// the below contains nested objects for location, type, make etc. The object is used to create a associative array
	// this helps to keep the values unique.
	var attrListObj = {"@location":{},"@type":{},"@make":{},"@model":{},"@trim":{}}; 
	var filteredVehicle;
	var vehicles = vehicleBasicJSON.Vehicles;
	var locAttName="@location";
    var locNameAttName="@locationName";
    var typeAttName="@type";
    var makeAttName="@make";
    var modelAttName="@model";
    var trimAttName="@trim";
    // Iterates through the vehicles
    jQuery.each(vehicles, function() {
    	// applying the category filter
        filteredVehicle = filterCategory(this);
        // if the vehicle matches the applied category filters 
        if (filteredVehicle != null) {
        	// add the location of the vehicle to the location object. This location needs to been shown in the location drop down
        	attrListObj[locAttName][filteredVehicle[locNameAttName]]=filteredVehicle[locAttName];
        	// applying the location filter
        	filteredVehicle = filterLocation(filteredVehicle);
        	// if the vehicle matches the applied location filters        		
        	if (filteredVehicle != null) {
				// add the type of the vehicle to the type object. This type needs to be shown in the type drop down.	
        		attrListObj[typeAttName][filteredVehicle[typeAttName]]=filteredVehicle[typeAttName];
        		// applying filters and adding to specific objects as before.
        		filteredVehicle = filterType(filteredVehicle);
        		if (filteredVehicle != null) {
        			attrListObj[makeAttName][filteredVehicle[makeAttName]]=filteredVehicle[makeAttName];
        			filteredVehicle = filterMake(filteredVehicle);
	        		if (filteredVehicle != null) {
        				attrListObj[modelAttName][filteredVehicle[modelAttName]]=filteredVehicle[modelAttName];
        				filteredVehicle = filterModel(filteredVehicle);
		        		if (filteredVehicle != null) {
        					attrListObj[trimAttName][filteredVehicle[trimAttName]]=filteredVehicle[trimAttName];
        				}	
        			}	
        		}	
        	}
        }
      });
      return attrListObj;
}	  
// This method filters the vehicle based on category
function filterCategory(vehicle) {
	var localSearchCriteria = searchCriteria;
	var catStr= "@category";
	var catNewFilterStr = "new";
	var catUsedFilterStr = "used";
	var catCertFilterStr = "certified";
	var catFilteredVehicle = null;
	//Category based filtration starts
	//when new and certified are selected 
	if (vehicle != null) {
		if (localSearchCriteria['searchNew'] && !localSearchCriteria['searchUsed'] && localSearchCriteria['searchCertified']) {
			// Get new and certified vehicles
			if (vehicle[catStr]== catNewFilterStr || vehicle[catStr]== catCertFilterStr) catFilteredVehicle=vehicle;
		} 
		//when new alone is selected
		else if (localSearchCriteria['searchNew'] && !localSearchCriteria['searchUsed'] && !localSearchCriteria['searchCertified']) {
			// Get new vehicles alone
			if (vehicle[catStr]== catNewFilterStr) catFilteredVehicle=vehicle;
		} 
		//when used and certified are selected
		else if (!localSearchCriteria['searchNew'] && localSearchCriteria['searchUsed'] && localSearchCriteria['searchCertified']) {
			// Get used and certified vehicles
			if (vehicle[catStr]== catUsedFilterStr || vehicle[catStr]== catCertFilterStr) catFilteredVehicle=vehicle;
		} 
		//when used alone is selected
		else if (!localSearchCriteria['searchNew'] && localSearchCriteria['searchUsed'] && !localSearchCriteria['searchCertified']) {
			// Get used and also certified vehicles 
			if (vehicle[catStr]== catUsedFilterStr || vehicle[catStr]== catCertFilterStr) catFilteredVehicle=vehicle;
		} 
		//when certified alone is selected
		else if (!localSearchCriteria['searchNew'] && !localSearchCriteria['searchUsed'] && localSearchCriteria['searchCertified']) {
			// Get certified vehicles alone
			if (vehicle[catStr]== catCertFilterStr) catFilteredVehicle=vehicle;
		}
		//when nothing is selected
		//when all are selected
		//when new and used are selected 	 
		else {
			// Nothing to filter as this includes all vehicles
				catFilteredVehicle=vehicle;
		}
	}
	return catFilteredVehicle;
}
// This method applies the filter on the vehicle based on attributes and values passed as parameters
function applyFilter(vehicle,criteria,filterStr) {
	var allString ="all";
	var emptyString ="";
	var filteredVehicle = vehicle;

          if (vehicle == null) return null;				
	if (criteria!=null && criteria!=emptyString && criteria!=allString) {
	     if (vehicle[filterStr] != criteria)  filteredVehicle = null;
	}
	return filteredVehicle;
}
// This method filters the vehicle based on trim
function filterTrim(vehicle) {
	var attrStr = "@trim";
	return applyFilter(vehicle,searchCriteria['searchTrim'],attrStr);
}
// This method filters the vehicle based on model
function filterModel(vehicle) {
	var attrStr = "@model";
	return applyFilter(vehicle,searchCriteria['searchModel'],attrStr);
}
// This method filters the vehicle based on make
function filterMake(vehicle) {
	var attrStr = "@make";
	return applyFilter(vehicle,searchCriteria['searchMake'],attrStr);
}
// This method filters the vehicle based on type
function filterType(vehicle) {
	var attrStr = "@type";
	return applyFilter(vehicle,searchCriteria['searchType'],attrStr);
}
// This method filters the vehicle based on location
function filterLocation(vehicle) {
	var attrStr = "@location";
	//return applyFilter(vehicle,searchCriteria['searchLocation'],attrStr);
	return applyFilter(vehicle,jQuery('#locationId').val(),attrStr);
}
function getAllItemHTML(which,selected) {
	var whichLabel = (which != "bodyType") ? which.charAt(0).toUpperCase() + which.substring(1) : which.substring(4);
	var strHTML = new Array();
	if(selected)
		strHTML[strHTML.length]='<div id="all" class="dropdownItem selectedItem"><label for="">';
	else
		strHTML[strHTML.length]='<div id="all" class="dropdownItem"><label for="">';
		strHTML[strHTML.length]=eval('i18nLabels.get'+whichLabel+'()');
	strHTML[strHTML.length]='</label></div>';
	return strHTML;
}
function checkSearchByPricePresence() {
	if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if ((combinedRange[0]==0) && (combinedRange[1]==0)) {
			hidePricePaymentSliders();
			return false;		
		} else {
			showPricePaymentSliders();
			return true;					
		}
	} else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) {
		if(getMinValue(newRange[0],usedRange[0])==0 && getMaxValue(newRange[1],usedRange[1])==0) {
			hidePricePaymentSliders();
			return false;		
		} else {
			showPricePaymentSliders();
			return true;					
		}
	} else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if (getMinValue(newRange[0],certifiedRange [0])==0 && getMaxValue(newRange[1],certifiedRange [1])==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}		
	} else if (jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if (usedRange[0]==0 && usedRange[1]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}			
	} else if(jQuery('#searchNew').attr('checked')) {			
		if ((newRange[0]==0) && (newRange[1]==0)) {				
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}		
	} else if(jQuery('#searchUsed').attr('checked')) {
		if (usedRange[0]==0 && usedRange[1]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}	
	} else if(jQuery('#searchCertified').attr('checked')) {
		if (certifiedRange[0]==0 && certifiedRange[1]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}	
	} else {
		showPricePaymentSliders();
		return true;		
	}	
}
function checkSearchByPaymentPresence() {
	if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if ((combinedRange[4]==0) && (combinedRange[5]==0)) {
			hidePricePaymentSliders();
			return false;		
		} else {
			showPricePaymentSliders();
			return true;					
		}
	} else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) {
		if(getMinValue(newRange[2],usedRange[2])==0 && getMaxValue(newRange[3],usedRange[3])==0) {
			hidePricePaymentSliders();
			return false;		
		} else {
			showPricePaymentSliders();
			return true;					
		}
	} else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if (getMinValue(newRange[2],certifiedRange [2])==0 && getMaxValue(newRange[3],certifiedRange [3])==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}		
	} else if (jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) {
		if (usedRange[2]==0 && usedRange[3]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}			
	} else if(jQuery('#searchNew').attr('checked')) {			
		if ((newRange[2]==0) && (newRange[3]==0)) {				
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}		
	} else if(jQuery('#searchUsed').attr('checked')) {
		if (usedRange[2]==0 && usedRange[3]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}	
	} else if(jQuery('#searchCertified').attr('checked')) {
		if (certifiedRange[2]==0 && certifiedRange[3]==0) {
			hidePricePaymentSliders();
			return false;
		} else {
			showPricePaymentSliders();
			return true;					
		}	
	} else {
		showPricePaymentSliders();
		return true;		
	}	
}	
function getMinValue(minval1,minval2) {
	return Math.min(parseInt(getvalWithoutComma(minval1)),parseInt(getvalWithoutComma(minval2)));
}
function getMaxValue(maxval1,maxval2) {
	return Math.max(parseInt(getvalWithoutComma(maxval1)),parseInt(getvalWithoutComma(maxval2)));
}
function showPricePaymentSliders() {
	if (jQuery("#paymentRangeRadio").attr('checked')) {
		jQuery("#searchByPaymentSliderContainer").show();
		jQuery("#searchByPriceSliderContainer").hide();
	} else {
		jQuery("#searchByPaymentSliderContainer").hide();
		jQuery("#searchByPriceSliderContainer").show();				
	}
	jQuery("#sliderHeaderPrice").show();
	jQuery("#sliderHeaderPayment").show();
}
function hidePricePaymentSliders() {
	jQuery("#searchByPriceSliderContainer").hide();
	jQuery("#searchByPaymentSliderContainer").hide();
	jQuery("#sliderHeaderPrice").hide();
	jQuery("#sliderHeaderPayment").hide();		
}
function renderLocations(data) {
	var html;
	var strHTML = new Array();
	var locationParam = searchCriteria['searchLocation'];
	var locationObject = data['@location'];
	// alphabetically sorting by putting the object keys into an array
	var locArray = [];
	jQuery.each(locationObject, function(locationName,location) {
		locArray.push(locationName);
	});
	locArray.sort();
	if(locArray.length >1 || locArray == "") {
		if(!locationParam || locationParam == 'all') html = getAllItemHTML('location',true);
		else html = getAllItemHTML('location');
	}  else {
		jQuery('#handleLocation').html('');
		strHTML[strHTML.length]='<div><label for=""></label></div>';
		html = strHTML;
	}
	jQuery.each(locArray, function() {
		if (this != null && this !="" && this != ' ') {
			html[html.length] = '<div id ="';
			html[html.length] = getElementText(locationObject[this]);
			if(locationParam == getElementText(locationObject[this]) || locArray.length == 1) {
				html[html.length] = '" class="dropdownItem selectedItem">';
				jQuery('#handleLocation').html(getElementText(this));
				searchCriteria['searchLocation']=getElementText(this);
            } else {
				html[html.length] = '" class="dropdownItem">';
			}				
			html[html.length] = '<label for="">' 
			html[html.length] = getElementText(this);
			html[html.length] = '</label></div>';
		}
	});
	jQuery('#dropdown_location').append(jQuery(html.join("")));
		var locationHeight = jQuery('#locationDropdown div').height();
		if(locationHeight < 140) {
			jQuery('#locationDropdown').css('overflow','hidden');
			jQuery('#locationDropdown').css('width','184px');	
			var locationDropDownHeight=(locationHeight + dropdownBorderHeight)+ "px";
			jQuery('#locationDropdown').css('height',locationDropDownHeight);	
		}
		else{
			jQuery('#locationDropdown').css('height','150px');
			jQuery('#locationDropdown').css('width','200px');
			jQuery('#locationDropdown').css('overflow','auto');
			jQuery('#locationDropdown').css('overflow-x','hidden');
		}
}
function renderTypes(data) {
	var html;
	var strHTML = new Array();
	var bodyTypeParam = searchCriteria['searchType'];//getURLParam('bodyType');
	var typeObject = data['@type'];		
	// alphabetically sorting by putting the object keys into an array
	var typeArray = [];
	jQuery.each(typeObject, function(type,typeVal) {
		typeArray.push(type);
	});
	typeArray.sort();
	
	if (typeArray.length >1 || typeArray == "") {
		if(!bodyTypeParam || bodyTypeParam == 'all') html = getAllItemHTML('bodyType',true);
		else html = getAllItemHTML('bodyType');
	} else {
		jQuery('#handleType').html('');
		strHTML[strHTML.length]='<div><label for=""></label></div>';
		html = strHTML;
	}

	jQuery.each(typeArray, function() {
		if((this != ' ') && (this != '' && this !=null)) {
               html[html.length] = '<div id ="';
               html[html.length] = getElementText(this);
               if(bodyTypeParam == getElementText(this) || typeArray.length == 1) {
                   html[html.length] = '" class="dropdownItem selectedItem">';
                   jQuery('#handleType').html(getElementText(this));
				searchCriteria['searchType']=getElementText(this);
               } else {
                   html[html.length] = '" class="dropdownItem">';
               }
               html[html.length] = '<label for="">' 
               html[html.length] = getElementText(this);
               html[html.length] = '</label></div>';
		}
	});
		jQuery('#dropdown_type').append(jQuery(html.join("")));
		var typeHeight = jQuery('#typeDropdown div').height();
		if(typeHeight < 140) {
			jQuery('#typeDropdown').css('overflow','hidden');
			jQuery('#typeDropdown').css('width','184px');	
			var typeDropDownHeight=(typeHeight + dropdownBorderHeight) + "px";
			jQuery('#typeDropdown').css('height',typeDropDownHeight);	
		}
		else{
			jQuery('#typeDropdown').css('height','150px');
			jQuery('#typeDropdown').css('width','200px');
			jQuery('#typeDropdown').css('overflow','auto');
			jQuery('#typeDropdown').css('overflow-x','hidden');
		}
}
function renderMakes(data) {
	var html;
	var strHTML = new Array();
	var makeParam = searchCriteria['searchMake']; //getURLParam('make');
	var makeObject = data['@make'];		
	// alphabetically sorting by putting the object keys into an array		
	var makeArray = [];
	jQuery.each(makeObject, function(make,makeVal) {
		makeArray.push(make);
	});
	makeArray.sort();
	if (makeArray.length >1 || makeArray == "") {
		jQuery('#makeList').show();
		if(!makeParam || makeParam == 'all') html = getAllItemHTML('make',true);
		else html = getAllItemHTML('make');
	} else {
		jQuery('#handleMake').html('');
		strHTML[strHTML.length]='<div><label for=""></label></div>';
		html = strHTML;
		jQuery('#makeId').attr('value',makeArray[0]);
		if(siteMakes == makeArray[0]){			
			jQuery('#makeList').hide();
		}
	}

	jQuery.each(makeArray, function(index) {
		if (this!=null && this!="" && this != ' ') {
		   html[html.length] = '<div id ="';
		   html[html.length] = getElementText(this);
		   if(makeParam == getElementText(this) || makeArray.length == 1) {
			   html[html.length] = '" class="dropdownItem selectedItem">';
			   jQuery('#handleMake').html(getElementText(this));
			searchCriteria['searchMake']=getElementText(this);
		   } else {
			   html[html.length] = '" class="dropdownItem">';
		   }               
		   html[html.length] = '<label for="">' 
		   html[html.length] = getElementText(this);
		   html[html.length] = '</label></div>';
		}
	});
	jQuery('#dropdown_make').append(jQuery(html.join("")));
	var makeHeight = jQuery('#makeDropdown div').height();
	if(makeHeight < 140) {
		jQuery('#makeDropdown').css('overflow','hidden');
		jQuery('#makeDropdown').css('width','184px');
		var makeDropDownHeight=(makeHeight + dropdownBorderHeight)+ "px";
		jQuery('#makeDropdown').css('height',makeDropDownHeight);	
	}
	else{
		jQuery('#makeDropdown').css('height','150px');
		jQuery('#makeDropdown').css('width','200px');
		jQuery('#makeDropdown').css('overflow','auto');
		jQuery('#makeDropdown').css('overflow-x','hidden');
	}
}
function renderModels(data) {
	var make = searchCriteria['searchMake'];
	var modelParam = searchCriteria['searchModel'];//getURLParam('model');
	var html;
	var strHTML = new Array();
	if(make && make != 'all') {
		var modelObject = data['@model'];
		// alphabetically sorting by putting the object keys into an array			
		var modelArray = [];
		jQuery.each(modelObject, function(model,modelVal) {
			modelArray.push(model);
		});
		modelArray.sort();
		if(modelArray.length >1 || modelArray == "") {
			if(!modelParam || modelParam == 'all') html = getAllItemHTML('model',true);
			else html = getAllItemHTML('model');
		} else {
			jQuery('#handleModel').html('');
			strHTML[strHTML.length]='<div><label for=""></label></div>';
			html = strHTML;
			jQuery('#modelId').attr('value',modelArray[0]);
		}
		jQuery.each(modelArray, function() {
			if (this!=null && this!="" && this != ' ') {
               html[html.length] = '<div id ="';
               html[html.length] = getElementText(this);
               if(modelParam == getElementText(this) || modelArray.length == 1) {
                   html[html.length] = '" class="dropdownItem selectedItem">';
                   jQuery('#handleModel').html(getElementText(this));
				   searchCriteria['searchModel']=getElementText(this);
               } else {
                   html[html.length] = '" class="dropdownItem">';
               }               
               html[html.length] = '<label for="">' 
               html[html.length] = getElementText(this);
               html[html.length] = '</label></div>';
				/* KEEP: May need this code for multi-make model is implemented */
			}
		});
	} else {
		strHTML[strHTML.length]='<div><label for=""></label></div>';
		html = strHTML;
	}
	jQuery('#dropdown_model').append(jQuery(html.join("")));
	var modelHeight = jQuery('#modelDropdown div').height();
	if(modelHeight < 140) {
		jQuery('#modelDropdown').css('overflow','hidden');
		jQuery('#modelDropdown').css('width','184px');
		var modelDropDownHeight=(modelHeight + dropdownBorderHeight)+ "px";
		jQuery('#modelDropdown').css('height',modelDropDownHeight);	
	}
	else{
		jQuery('#modelDropdown').css('height','150px');
		jQuery('#modelDropdown').css('width','200px');
		jQuery('#modelDropdown').css('overflow','auto');
		jQuery('#modelDropdown').css('overflow-x','hidden');
	}
}
function renderTrims(data) {
	var model = searchCriteria['searchModel'];
	var trimParam = searchCriteria['searchTrim'];//getURLParam('trim');
	var html;
	var strHTML = new Array();
	if(model && model != 'all') {
		var trimObject = data['@trim'];
		// alphabetically sorting by putting the object keys into an array			
		var trimArray = [];
		jQuery.each(trimObject, function(trim,trimVal) {
			trimArray.push(trim);
		});
		trimArray.sort();
		if(trimArray.length >1 || trimArray == "") {
			if(!trimParam || trimParam == 'all') html = getAllItemHTML('trim',true);
			else html = getAllItemHTML('trim');
		} else {
			jQuery('#handleTrim').html('');
			strHTML[strHTML.length]='<div><label for=""></label></div>';
			html = strHTML;
			jQuery('#trimId').attr('value',trimArray[0]);
		}

		jQuery.each(trimArray, function() {
			if (this!=null && this!="" && this != ' ') {
               html[html.length] = '<div id ="';
               html[html.length] = getElementText(this);
               if(trimParam == getElementText(this) || trimArray.length == 1) {
                   html[html.length] = '" class="dropdownItem selectedItem">';
                   jQuery('#handleTrim').html(getElementText(this));
               } else {
                   html[html.length] = '" class="dropdownItem">';
               }               
               html[html.length] = '<label for="">' 
               	html[html.length] = getElementText(this);
               	html[html.length] = '</label></div>';

			}
		});
	} else {
		strHTML[strHTML.length]='<div><label for=""></label></div>';
		html = strHTML;
	}
		jQuery('#dropdown_trim').append(jQuery(html.join("")));
		var trimHeight = jQuery('#trimDropdown div').height();
		if(trimHeight < 140) {
			jQuery('#trimDropdown').css('overflow','hidden');
			jQuery('#trimDropdown').css('width','184px');	
			var trimDropDownHeight = (trimHeight + dropdownBorderHeight)+ "px";
			jQuery('#trimDropdown').css('height',trimDropDownHeight);
		}
		else {
			jQuery('#trimDropdown').css('height','150px');
			jQuery('#trimDropdown').css('width','200px');
			jQuery('#trimDropdown').css('overflow','auto');
			jQuery('#trimDropdown').css('overflow-x','hidden');
		}
	jQuery('div.dropdownItem label').css('cursor','pointer');
}
function updateCategorySelection(data) {
	renderLocations(data);
	renderTypes(data);
	renderMakes(data);
	renderModels(data);
	renderTrims(data);
}	
function updateLocationSelection(data) {
	renderTypes(data);
	renderMakes(data);
	renderModels(data);
	renderTrims(data);
}
function updateTypeSelection(data) {
	renderMakes(data);
	renderModels(data);
	renderTrims(data);
}
function updateMakeSelection(data) {
	renderModels(data);
	renderTrims(data);
}
function updateModelSelection(data) {
	renderTrims(data);
}
function updateAllOnLoad(data) {
	renderLocations(data);
	renderTypes(data);
	renderMakes(data);
	renderModels(data);
	renderTrims(data);
}
function emptyAllOnLoad() {
	emptyLocations(true);
	emptyTypes(true);
	emptyMakes(true);
	emptyModels(true);
	emptyTrims(true);
}
function emptyCategorySearch() {
	emptyLocations();
	emptyTypes();
	emptyMakes();
	emptyModels();
	emptyTrims();
}
function emptyLocationSearch() {
	emptyTypes();
	emptyMakes();
	emptyModels();
	emptyTrims();
}
function emptyTypeSearch() {
	emptyMakes();
	emptyModels();
	emptyTrims();
}
function emptyMakeSearch() {
	emptyModels();
	emptyTrims();
}
function emptyModelSearch() {
	emptyTrims();
}
function emptyLocations(pageLoadCheck) {
	jQuery('#dropdown_location').empty();
	jQuery('#handleLocation').html(i18nLabels.getLocation());
	//clean up of searchCriteria map
	searchCriteria['searchLocation']="";
	if(!pageLoadCheck) jQuery("#locationId").val('');			
}
function emptyTypes(pageLoadCheck) {
	jQuery('#dropdown_type').empty();
	jQuery('#handleType').html(i18nLabels.getSearchType());
	//clean up of searchCriteria map
	searchCriteria['searchType']="";
	if(!pageLoadCheck) jQuery("#bodyTypeId").val('');				
}
function emptyMakes(pageLoadCheck) {
	jQuery('#dropdown_make').empty();
	jQuery('#handleMake').html(i18nLabels.getMake());
	//clean up of searchCriteria map
	searchCriteria['searchMake']="";
	if(!pageLoadCheck) jQuery("#makeId").val('');		
}
function emptyModels(pageLoadCheck) {
	jQuery('#dropdown_model').empty();
	jQuery('#handleModel').html(i18nLabels.getModel());
	//clean up of searchCriteria map
	searchCriteria['searchModel']="";
	if(!pageLoadCheck) jQuery("#modelId").val('');
}
function emptyTrims(pageLoadCheck) {
	jQuery('#dropdown_trim').empty();
	jQuery('#handleTrim').html(i18nLabels.getTrim());
	//clean up of searchCriteria map
	searchCriteria['searchTrim']="";
	if(!pageLoadCheck) jQuery("#trimId").val('');
}
function categorySearch() {
	emptyCategorySearch();
	updateCategorySelection(filterVehicles());
	updateFilter();
}
function locationSearch() {
	emptyLocationSearch();
	updateLocationSelection(filterVehicles());
	updateFilter();	
}
function typeSearch() {
	emptyTypeSearch();
	updateTypeSelection(filterVehicles());
	updateFilter();		
}
function makeSearch() {
	emptyMakeSearch();
	updateMakeSelection(filterVehicles());	
	updateFilter();	
}
function modelSearch() {
	emptyModelSearch();
	updateModelSelection(filterVehicles());		
	updateFilter();
}
function trimSearch() {
	updateFilter();
}
function monthlyPaymentRange(min1,min2,max1,max2){
	if (monthlyRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(min1),getvalWithoutComma(min2));
		var maximumValue = Math.max(getvalWithoutComma(max1),getvalWithoutComma(max2));
		if (vsrMinPayment == 'null') {
			showmilesWithComma(parseInt(minimumValue),'#minPayment');
			showmilesWithComma(parseInt(maximumValue),'#maxPayment');
		}
		else {
			showmilesWithComma(parseInt(vsrMinPayment),'#minPayment');
			showmilesWithComma(parseInt(vsrMaxPayment),'#maxPayment');
		}
		defaultMinPaymentVal = minimumValue;
		defaultMaxPaymentVal = maximumValue;
		minimumPaymentValue = minimumValue;
		maximumPaymentValue = maximumValue;
	}
}
function searchNewUsed(){
	if (priceRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(newRange[0]),getvalWithoutComma(usedRange[0]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[1]),getvalWithoutComma(usedRange[1]));
		if (vsrMinPrice == 'null') {
			showmilesWithComma(parseInt(minimumValue),'#minPrice');
			showmilesWithComma(parseInt(maximumValue),'#maxPrice');
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = minimumValue;
		defaultMaxPriceVal = maximumValue;
		minimumPriceValue = minimumValue;
		maximumPriceValue = maximumValue;
	}
	if (yearRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(newRange[4]),getvalWithoutComma(usedRange[4]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[5]),getvalWithoutComma(usedRange[5]));
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(minimumValue);
			jQuery('#maxYear').val(maximumValue);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = minimumValue;
		defaultMaxYearVal = maximumValue;
		minimumYearValue = minimumValue;
		maximumYearValue = maximumValue;
	}
	monthlyPaymentRange(newRange[2],usedRange[2],newRange[3],usedRange[3]);
	if (mileageRangePresent == true) {
		if (vsrMinMileage == 'null') {
			jQuery('#minMileage').val(usedRange[6]);
			jQuery('#maxMileage').val(usedRange[7]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = usedRange[6];
		defaultMaxMileageVal = usedRange[7];
		minimumMileageValue = getvalWithoutComma(usedRange[6]);
		maximumMileageValue = getvalWithoutComma(usedRange[7]);
	}
	if ((mpgForNewRangePresent == true) && (mpgRangeForUsedPresent == true)) {
		var minimumValue = Math.min(getvalWithoutComma(newRange[6]),getvalWithoutComma(usedRange[8]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[7]),getvalWithoutComma(usedRange[9]));

		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(minimumValue);
			jQuery('#maxMPG').val(maximumValue);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = minimumValue;
		defaultMaxMPGVal = maximumValue;
		minimumMPGValue = minimumValue;
		maximumMPGValue = maximumValue;
		isMPGAvailable = mpgForNewRangePresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}
function searchNewCertified(){
	if (priceRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(newRange[0]),getvalWithoutComma(certifiedRange[0]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[1]),getvalWithoutComma(certifiedRange[1]));
		if (vsrMinPrice == 'null') {
			showmilesWithComma(parseInt(minimumValue),'#minPrice');
			showmilesWithComma(parseInt(maximumValue),'#maxPrice');
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = minimumValue;
		defaultMaxPriceVal = maximumValue;
		minimumPriceValue = minimumValue;
		maximumPriceValue = maximumValue;
	}
	if (yearRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(newRange[4]),getvalWithoutComma(certifiedRange[4]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[5]),getvalWithoutComma(certifiedRange[5]));
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(minimumValue);
			jQuery('#maxYear').val(maximumValue);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = minimumValue;
		defaultMaxYearVal = maximumValue;
		minimumYearValue = minimumValue;
		maximumYearValue = maximumValue;
	}
	monthlyPaymentRange(newRange[2],certifiedRange[2],newRange[3],certifiedRange[3]);
	if (mileageRangePresent == true) {
		if (vsrMinMileage == 'null') {
			jQuery('#minMileage').val(certifiedRange[6]);
			jQuery('#maxMileage').val(certifiedRange[7]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = certifiedRange[6];
		defaultMaxMileageVal = certifiedRange[7];
		minimumMileageValue = getvalWithoutComma(certifiedRange[6]);
		maximumMileageValue = getvalWithoutComma(certifiedRange[7]);
	}
	if ((mpgForNewRangePresent == true) && (mpgRangeForUsedPresent == true)){
		var minimumValue = Math.min(getvalWithoutComma(newRange[6]),getvalWithoutComma(certifiedRange[8]));
		var maximumValue = Math.max(getvalWithoutComma(newRange[7]),getvalWithoutComma(certifiedRange[9]));
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(minimumValue);
			jQuery('#maxMPG').val(maximumValue);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = minimumValue;
		defaultMaxMPGVal = maximumValue;
		minimumMPGValue = minimumValue;
		maximumMPGValue = maximumValue;
		isMPGAvailable = mpgRangeForUsedPresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}
function searchUsedCertified(){
	if (priceRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(usedRange[0]),getvalWithoutComma(certifiedRange[0]));
		var maximumValue = Math.max(getvalWithoutComma(usedRange[1]),getvalWithoutComma(certifiedRange[1]));
		if (vsrMinPrice == 'null') {
			showmilesWithComma(parseInt(minimumValue),'#minPrice');
			showmilesWithComma(parseInt(maximumValue),'#maxPrice');
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = minimumValue;
		defaultMaxPriceVal = maximumValue;
		minimumPriceValue = minimumValue;
		maximumPriceValue = maximumValue;
	}
	if (yearRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(usedRange[4]),getvalWithoutComma(certifiedRange[4]));
		var maximumValue = Math.max(getvalWithoutComma(usedRange[5]),getvalWithoutComma(certifiedRange[5]));
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(minimumValue);
			jQuery('#maxYear').val(maximumValue);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = minimumValue;
		defaultMaxYearVal = maximumValue;
		minimumYearValue = minimumValue;
		maximumYearValue = maximumValue;
	}
	monthlyPaymentRange(usedRange[2],certifiedRange[2],usedRange[3],certifiedRange[3]);
	if (mileageRangePresent == true) {
		var minimumValue = Math.min(getvalWithoutComma(usedRange[6]),getvalWithoutComma(certifiedRange[6]));
		var maximumValue = Math.max(getvalWithoutComma(usedRange[7]),getvalWithoutComma(certifiedRange[7]));
		if (vsrMinMileage == 'null') {
			showmilesWithComma(parseInt(minimumValue),'#minMileage');
			showmilesWithComma(parseInt(maximumValue),'#maxMileage');
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = minimumValue;
		defaultMaxMileageVal = maximumValue;
		minimumMileageValue = minimumValue;
		maximumMileageValue = maximumValue;
	}
	if (mpgRangeForUsedPresent == true) {
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(usedRange[8]);
			jQuery('#maxMPG').val(usedRange[9]);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = usedRange[8];
		defaultMaxMPGVal = usedRange[9];
		minimumMPGValue = usedRange[8];
		maximumMPGValue = usedRange[9];
		isMPGAvailable = mpgRangeForUsedPresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}
function searchAll() {
	if (priceRangePresent == true) {
		if (vsrMinPrice == 'null') {
			jQuery('#minPrice').val(combinedRange[0]);
			jQuery('#maxPrice').val(combinedRange[1]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = combinedRange[0];
		defaultMaxPriceVal = combinedRange[1];
		minimumPriceValue = getvalWithoutComma(combinedRange[0]);
		maximumPriceValue = getvalWithoutComma(combinedRange[1]);
	}
	if (yearRangePresent == true) {
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(combinedRange[2]);
			jQuery('#maxYear').val(combinedRange[3]);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = combinedRange[2];
		defaultMaxYearVal = combinedRange[3];
		minimumYearValue = getvalWithoutComma(combinedRange[2]);
		maximumYearValue = getvalWithoutComma(combinedRange[3]);
	}
	monthlyPaymentRange(combinedRange[4],combinedRange[4],combinedRange[5],combinedRange[5]);
	if (mileageRangePresent == true) {
		if (vsrMinMileage == 'null') {
			jQuery('#minMileage').val(usedRange[6]);
			jQuery('#maxMileage').val(usedRange[7]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = usedRange[6];
		defaultMaxMileageVal = usedRange[7];
		minimumMileageValue = getvalWithoutComma(usedRange[6]);
		maximumMileageValue = getvalWithoutComma(usedRange[7]);
	}
	if ((mpgForNewRangePresent == true) && (mpgRangeForUsedPresent == true)) {
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(combinedRange[6]);
			jQuery('#maxMPG').val(combinedRange[7]);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = combinedRange[6];
		defaultMaxMPGVal = combinedRange[7];
		minimumMPGValue = combinedRange[6];
		maximumMPGValue = combinedRange[7];
		isMPGAvailable = mpgForNewRangePresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}

function searchNew(){
	if (priceRangePresent == true) {
		if (vsrMinPrice == 'null') {
			jQuery('#minPrice').val(newRange[0]);
			jQuery('#maxPrice').val(newRange[1]);
		}
		else{
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
			
		}
		defaultMinPriceVal = newRange[0];
		defaultMaxPriceVal = newRange[1];
		minimumPriceValue = getvalWithoutComma(newRange[0]);
		maximumPriceValue = getvalWithoutComma(newRange[1]);		
	}
	monthlyPaymentRange(newRange[2],newRange[2],newRange[3],newRange[3]);
	if (yearRangePresent == true) {
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(newRange[4]);
			jQuery('#maxYear').val(newRange[5]);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = newRange[4];
		defaultMaxYearVal = newRange[5];
		minimumYearValue = getvalWithoutComma(newRange[4]);
		maximumYearValue = getvalWithoutComma(newRange[5]);		
	}
	if (mpgForNewRangePresent == true) {
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(newRange[6]);
			jQuery('#maxMPG').val(newRange[7]);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = newRange[6];
		defaultMaxMPGVal = newRange[7];
		minimumMPGValue = getvalWithoutComma(newRange[6]);
		maximumMPGValue = getvalWithoutComma(newRange[7]);
		isMPGAvailable = mpgForNewRangePresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}	
	minimumMileageValue=0;
	maximumMileageValue=0;
	jQuery('#mileage').hide();
}
function searchUsed(){
	if (priceRangePresent == true) {
		if (vsrMinPrice == 'null') {
			jQuery('#minPrice').val(usedRange[0]);
			jQuery('#maxPrice').val(usedRange[1]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = usedRange[0];
		defaultMaxPriceVal = usedRange[1];
		minimumPriceValue = getvalWithoutComma(usedRange[0]);
		maximumPriceValue = getvalWithoutComma(usedRange[1]);
	}
	monthlyPaymentRange(usedRange[2],usedRange[2],usedRange[3],usedRange[3]);
	if (yearRangePresent == true) {
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(usedRange[4]);
			jQuery('#maxYear').val(usedRange[5]);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = usedRange[4];
		defaultMaxYearVal = usedRange[5];
		minimumYearValue = getvalWithoutComma(usedRange[4]);
		maximumYearValue = getvalWithoutComma(usedRange[5]);
	}
	if (mileageRangePresent == true) {
		if (vsrMinMileage == 'null') {
			jQuery('#minMileage').val(usedRange[6]);
			jQuery('#maxMileage').val(usedRange[7]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = usedRange[6];
		defaultMaxMileageVal = usedRange[7];
		minimumMileageValue = getvalWithoutComma(usedRange[6]);
		maximumMileageValue = getvalWithoutComma(usedRange[7]);
	}
	if (mpgRangeForUsedPresent == true) {
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(usedRange[8]);
			jQuery('#maxMPG').val(usedRange[9]);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = usedRange[8];
		defaultMaxMPGVal = usedRange[9];
		minimumMPGValue = getvalWithoutComma(usedRange[8]);
		maximumMPGValue = getvalWithoutComma(usedRange[9]);
		isMPGAvailable = mpgRangeForUsedPresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}
function searchCertified(){
	if (priceRangePresent == true) {
		if (vsrMinPrice == 'null') {
			jQuery('#minPrice').val(certifiedRange[0]);
			jQuery('#maxPrice').val(certifiedRange[1]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinPrice),'#minPrice');
			showmilesWithComma(parseInt(vsrMaxPrice),'#maxPrice');
		}
		defaultMinPriceVal = certifiedRange[0];
		defaultMaxPriceVal = certifiedRange[1];
		minimumPriceValue = getvalWithoutComma(certifiedRange[0]);
		maximumPriceValue = getvalWithoutComma(certifiedRange[1]);
	}
	monthlyPaymentRange(certifiedRange[2],certifiedRange[2],certifiedRange[3],certifiedRange[3]);
	if (yearRangePresent == true) {
		if (vsrMinYear == 'null') {
			jQuery('#minYear').val(certifiedRange[4]);
			jQuery('#maxYear').val(certifiedRange[5]);
		}
		else{
			jQuery('#minYear').val(parseInt(vsrMinYear));
			jQuery('#maxYear').val(parseInt(vsrMaxYear));
		}
		defaultMinYearVal = certifiedRange[4];
		defaultMaxYearVal = certifiedRange[5];
		minimumYearValue = getvalWithoutComma(certifiedRange[4]);
		maximumYearValue = getvalWithoutComma(certifiedRange[5]);
	}
	if (mileageRangePresent == true) {
		if (vsrMinMileage == 'null') {
			jQuery('#minMileage').val(certifiedRange[6]);
			jQuery('#maxMileage').val(certifiedRange[7]);
		}
		else {
			showmilesWithComma(parseInt(vsrMinMileage),'#minMileage');
			showmilesWithComma(parseInt(vsrMaxMileage),'#maxMileage');
		}
		defaultMinMileageVal = certifiedRange[6];
		defaultMaxMileageVal = certifiedRange[7];
		minimumMileageValue = getvalWithoutComma(certifiedRange[6]);
		maximumMileageValue = getvalWithoutComma(certifiedRange[7]);
	}
	if (mpgRangeForUsedPresent == true) {
		if (vsrMinMPG == 'null') {
			jQuery('#minMPG').val(certifiedRange[8]);
			jQuery('#maxMPG').val(certifiedRange[9]);
		}
		else{
			jQuery('#minMPG').val(parseInt(vsrMinMPG));
			jQuery('#maxMPG').val(parseInt(vsrMaxMPG));
		}
		defaultMinMPGVal = certifiedRange[8];
		defaultMaxMPGVal = certifiedRange[9];
		minimumMPGValue = getvalWithoutComma(certifiedRange[8]);
		maximumMPGValue = getvalWithoutComma(certifiedRange[9]);
		isMPGAvailable = mpgRangeForUsedPresent;
		showMPGRangeSlider();
	} else {
		hideMPGRangeSlider();
	}
	jQuery('#mileage').show();
}

function sliderPriceRange(){
	if (priceRangePresent==true) {
		priceRangeSlider = jQuery('#slider4').slider({
			handle: '.indicator',
			minValue: minimumPriceValue,
			maxValue: maximumPriceValue,
			slide: function(e, ui){
				if (e) {
					if (minimumPriceValue != maximumPriceValue) {
						if (ui.handle.id.indexOf('2') != -1) {
							jQuery('#maxPrice').val(parseInt(ui.values[1]));
							var maxPriceVal = (ui.values[1]);
							showmilesWithComma(maxPriceVal, "#maxPrice");
							jQuery("#indicator1").css('z-index', '2');
							jQuery("#indicator2").css('z-index', '10');
						}
						else 
							if (ui.handle.id.indexOf('1') != -1) {
								jQuery('#minPrice').val(parseInt(ui.values[0]));
								var minPriceVal = (ui.values[0]);
								showmilesWithComma(minPriceVal, "#minPrice");
								jQuery("#indicator1").css('z-index', '10');
								jQuery("#indicator2").css('z-index', '2');
							}
					}
				}
			},
			change: function(e, ui){
				if((isResults == false)&&(isVehicleDetails == false))
					updateCount();
				else
					updateFilter();
			},
			startValue: [minimumPriceValue, maximumPriceValue],
			stepping: 1000
		});
	}
}
function sliderYearRange(){
	if (yearRangePresent == true) {
		yearRangeSlider = jQuery('#slider5').slider({
			handle: '.indicator',
			minValue: minimumYearValue,
			maxValue: maximumYearValue,
			slide: function(e, ui){
				if (e) {
					if (minimumYearValue != maximumYearValue) {
						if (ui.handle.id.indexOf('4') != -1) {
							jQuery('#maxYear').val(parseInt(ui.values[1]));
							jQuery("#indicator3").css('z-index', '2');
							jQuery("#indicator4").css('z-index', '10');
						}
						else 
							if (ui.handle.id.indexOf('3') != -1) {
								jQuery('#minYear').val(parseInt(ui.values[0]));
								jQuery("#indicator3").css('z-index', '10');
								jQuery("#indicator4").css('z-index', '2');
							}
					}
				}
			},
			change: function(e, ui){
				if((isResults == false)&&(isVehicleDetails == false))
					updateCount();
				else
					updateFilter();
			},
			startValue: [minimumYearValue, maximumYearValue],
			stepping: 1
		});
	}
}
function sliderMileageRange() {
	if (mileageRangePresent == true) {
		mileageRangeSlider = jQuery('#slider6').slider({
			handle: '.indicator',
			minValue: minimumMileageValue,
			maxValue: maximumMileageValue,
			slide: function(e, ui){
				if (e) {
					if (minimumMileageValue != maximumMileageValue) {
						if (ui.handle.id.indexOf('6') != -1) {
							jQuery('#maxMileage').val(parseInt(ui.values[1]));
							var maxMilageVal = (ui.values[1]);
							showmilesWithComma(maxMilageVal, "#maxMileage");
							jQuery("#indicator5").css('z-index', '2');
							jQuery("#indicator6").css('z-index', '10');
						}
						else 
							if (ui.handle.id.indexOf('5') != -1) {
								jQuery('#minMileage').val(parseInt(ui.values[0]));
								var minMilageVal = (ui.values[0]);
								showmilesWithComma(minMilageVal, "#minMileage");
								jQuery("#indicator5").css('z-index', '10');
								jQuery("#indicator6").css('z-index', '2');
							}
					}
				}
			},
			change: function(e, ui){
				if((isResults == false)&&(isVehicleDetails == false))
					updateCount();
				else
					updateFilter();
			},
			startValue: [minimumMileageValue, maximumMileageValue],
			stepping: 1000
		});
	}	
}
function sliderMPGRange() {
	if ((mpgForNewRangePresent == true) || (mpgRangeForUsedPresent == true)) {
		mpgRangeSlider = jQuery('#slider8').slider({
			handle: '.indicator',
			minValue: minimumMPGValue,
			maxValue: maximumMPGValue,
			slide: function(e, ui){
				if (e) {
					if (minimumMPGValue != maximumMPGValue) {
						if (ui.handle.id.indexOf('10') != -1) {
							jQuery('#maxMPG').val(parseInt(ui.values[1]));
							var maxMPGVal = (ui.values[1]);
							showmilesWithComma(maxMPGVal, "#maxMPG");
							jQuery("#indicator9").css('z-index', '2');
							jQuery("#indicator10").css('z-index', '10');
						} 
						else 
							if (ui.handle.id.indexOf('9') != -1) {
								jQuery('#minMPG').val(parseInt(ui.values[0]));
								var minMPGVal = (ui.values[0]);
								showmilesWithComma(minMPGVal, "#minMPG");
								jQuery("#indicator9").css('z-index', '10');
								jQuery("#indicator10").css('z-index', '2');
							}
					}
				}
			},
			change: function(e, ui){
				if((isResults == false)&&(isVehicleDetails == false))
					updateCount();
				else
					updateFilter();
			},
			startValue: [minimumMPGValue, maximumMPGValue],
			stepping: 1
		});
	}	
}
function sliderPaymentRange(){
	if (monthlyRangePresent == true) {
		paymentRangeSlider = jQuery('#slider7').slider({
			handle: '.indicator',
			minValue: minimumPaymentValue,
			maxValue: maximumPaymentValue,
			slide: function(e, ui){
				if (e) {
					if (minimumPaymentValue != maximumPaymentValue) {
						if (ui.handle.id.indexOf('8') != -1) {
							jQuery('#maxPayment').val(parseInt(ui.values[1]));
							var maxPayVal = (ui.values[1]);
							showmilesWithComma(maxPayVal, "#maxPayment");
							jQuery("#indicator7").css('z-index', '2');
							jQuery("#indicator8").css('z-index', '10');
						}
						else {
							if (ui.handle.id.indexOf('7') != -1) {
								jQuery('#minPayment').val(parseInt(ui.values[0]));
								var minPayVal = (ui.values[0]);
								showmilesWithComma(minPayVal, "#minPayment");
								jQuery("#indicator7").css('z-index', '10');
								jQuery("#indicator8").css('z-index', '2');
							}
						}
					}
				}
			},
			change: function(e, ui){
				if((isResults == false)&&(isVehicleDetails == false))
					updateCount();
				else
					updateFilter();
			},
			startValue: [minimumPaymentValue, maximumPaymentValue],
			stepping: 25
		});
	}
}
function enableDisalblePriceSliderOnPageLoad(){
	if (priceRangePresent == false) {
		return;
	}
	if (minimumPriceValue == maximumPriceValue) {
		maximumPriceValue = parseInt(minimumPriceValue) + 1000;
		sliderPriceRange();
		priceRangeSlider.sliderDisable();
		maximumPriceValue = maximumPriceValue - 1000;
		jQuery('#minPrice').attr('disabled', 'true');
		jQuery('#maxPrice').attr('disabled', 'true');
		return;
	}
	sliderPriceRange();
	jQuery('#minPrice').removeAttr('disabled');
	jQuery('#maxPrice').removeAttr('disabled');
	priceRangeSlider.sliderMoveTo(parseInt(jQuery('#minPrice').val().replace(/\D/g,"")), '', true, '', 0);
	priceRangeSlider.sliderMoveTo(parseInt(jQuery('#maxPrice').val().replace(/\D/g,"")), '', true, '', 1);
}
function enableDisalbleYearSliderOnPageLoad(){
	if (yearRangePresent == false) {
		return;
	}
	if (minimumYearValue == maximumYearValue) {
		maximumYearValue = parseInt(minimumYearValue) + 1;
		sliderYearRange();
		yearRangeSlider.sliderDisable();
		maximumYearValue = maximumYearValue - 1;
		jQuery('#minYear').attr('disabled', 'true');
		jQuery('#maxYear').attr('disabled', 'true');
		return;
	}
	sliderYearRange();
	jQuery('#minYear').removeAttr('disabled');
	jQuery('#maxYear').removeAttr('disabled');
	yearRangeSlider.sliderMoveTo(parseInt(jQuery('#minYear').val().replace(/\D/g, "")), '', true, '', 0);
	yearRangeSlider.sliderMoveTo(parseInt(jQuery('#maxYear').val().replace(/\D/g, "")), '', true, '', 1);
}
function enableDisalblePaymentSliderOnPageLoad(){
	if (monthlyRangePresent == false) {
		return;
	}
	if (minimumPaymentValue == maximumPaymentValue) {
		maximumPaymentValue = parseInt(minimumPaymentValue) + 25;
		sliderPaymentRange();
		paymentRangeSlider.sliderDisable();
		maximumPaymentValue = maximumPaymentValue - 25;
		jQuery('#minPayment').attr('disabled', 'true');
		jQuery('#maxPayment').attr('disabled', 'true');
		return;
	}
	sliderPaymentRange();
	jQuery('#minPayment').removeAttr('disabled');
	jQuery('#maxPayment').removeAttr('disabled');
	paymentRangeSlider.sliderMoveTo(parseInt(jQuery('#minPayment').val().replace(/\D/g, "")), '', true, '', 0);
	paymentRangeSlider.sliderMoveTo(parseInt(jQuery('#maxPayment').val().replace(/\D/g, "")), '', true, '', 1);
}
function enableDisalbleMileageSliderOnPageLoad(){
	if (mileageRangePresent == false) {
		return;
	}
	if (minimumMileageValue == maximumMileageValue) {
		maximumMileageValue = parseInt(minimumMileageValue) + 1000;
		sliderMileageRange();
		mileageRangeSlider.sliderDisable();
		maximumMileageValue = maximumMileageValue - 1000;
		jQuery('#minMileage').attr('disabled', 'true');
		jQuery('#maxMileage').attr('disabled', 'true');
		return;
	}
	sliderMileageRange();
	jQuery('#minMileage').removeAttr('disabled');
	jQuery('#maxMileage').removeAttr('disabled');
	mileageRangeSlider.sliderMoveTo(parseInt(jQuery('#minMileage').val().replace(/\D/g, "")), '', true, '', 0);
	mileageRangeSlider.sliderMoveTo(parseInt(jQuery('#maxMileage').val().replace(/\D/g, "")), '', true, '', 1);
}
function enableDisalbleMPGSliderOnPageLoad(){
    if ((mpgForNewRangePresent == false) && (mpgRangeForUsedPresent == false)) {
		return;
	}
	if (minimumMPGValue == maximumMPGValue) {
		jQuery('#minMPG').attr('value', minimumMPGValue);
		jQuery('#maxMPG').attr('value', maximumMPGValue);
		maximumMPGValue = parseInt(minimumMPGValue) + 1;
		sliderMPGRange();
		mpgRangeSlider.sliderDisable();
		maximumMPGValue = maximumMPGValue - 1;
		jQuery('#minMPG').attr('disabled', 'true');
		jQuery('#maxMPG').attr('disabled', 'true');	
		if(minimumMPGValue==0 && maximumMPGValue==0) { hideMPGRangeSlider(); }
		return;
	}
	sliderMPGRange();
	jQuery('#minMPG').removeAttr('disabled');
	jQuery('#maxMPG').removeAttr('disabled');
	mpgRangeSlider.sliderMoveTo(parseInt(jQuery('#minMPG').val().replace(/\D/g, "")), '', true, '', 0);
	mpgRangeSlider.sliderMoveTo(parseInt(jQuery('#maxMPG').val().replace(/\D/g, "")), '', true, '', 1);
}
function enableDisablePriceRangeSlider() {
	if (priceRangePresent == false) {
		return;
	} 
	jQuery("#searchByPriceSliderContainer").show();
	jQuery("#sliderHeaderPrice").show();
	jQuery("#sliderHeaderPayment").show();
	if (minimumPriceValue == maximumPriceValue) {
		if(checkSearchByPricePresence()==true) {			
			jQuery("#searchByPriceSliderContainer").show();
			jQuery("#sliderHeaderPrice").show();
			jQuery("#sliderHeaderPayment").show();
			priceRangeSlider.sliderDisable();
			jQuery('#minPrice').attr('disabled', 'true');
			jQuery('#maxPrice').attr('disabled', 'true');
		}
		return;
	}
	priceRangeSlider.sliderDisable();
	sliderPriceRange();
	jQuery('#minPrice').removeAttr('disabled');
	jQuery('#maxPrice').removeAttr('disabled');
}
function enableDisableYearRangeSlider() {
	if (yearRangePresent == false) {
		return;
	}
	if (minimumYearValue == maximumYearValue) {
		maximumYearValue = jQuery('#minYear').val() + 1;
		yearRangeSlider.sliderDisable();
		jQuery('#minYear').attr('disabled', 'true');
		jQuery('#maxYear').attr('disabled', 'true');
		return;
	}
	yearRangeSlider.sliderDisable();
	sliderYearRange();
	jQuery('#minYear').removeAttr('disabled');
	jQuery('#maxYear').removeAttr('disabled');
}
function enableDisablePaymentRangeSlider() {
	if (monthlyRangePresent == false) {
		return;
	}
	if (minimumPaymentValue == maximumPaymentValue) {
		if(checkSearchByPricePresence()==true) {
			jQuery("#searchByPaymentSliderContainer").show();
			jQuery("#sliderHeaderPayment").show();
			jQuery("#sliderHeaderPrice").show();			
			maximumPaymentValue = jQuery('#minPayment').val() + 25;
			if (jQuery("#paymentRangeRadio").attr('checked')) {
				paymentRangeSlider.sliderDisable();
			}
			jQuery('#minPayment').attr('disabled', 'true');
			jQuery('#maxPayment').attr('disabled', 'true');
		}
		return;
	}
	jQuery("#searchByPaymentSliderContainer").show();
	jQuery("#sliderHeaderPayment").show();
	jQuery("#sliderHeaderPrice").show();			
	if (jQuery("#paymentRangeRadio").attr('checked')) {
		paymentRangeSlider.sliderDisable();
		sliderPaymentRange();
	}
	jQuery('#minPayment').removeAttr('disabled');
	jQuery('#maxPayment').removeAttr('disabled');
}
function enableDisableMileageRangeSlider() {
	if (mileageRangePresent == false) {
		return;
	}
	if (minimumMileageValue == maximumMileageValue) {
		maximumMileageValue = maximumMileageValue + 1000;
		if(initiateSlider <= 1)sliderMileageRange();
		mileageRangeSlider.sliderDisable();
		maximumMileageValue = maximumMileageValue - 1000;
		jQuery('#minMileage').attr('disabled', 'true');
		jQuery('#maxMileage').attr('disabled', 'true');
		return;
	}
	mileageRangeSlider.sliderDisable();
	sliderMileageRange();
	jQuery('#minMileage').removeAttr('disabled');
	jQuery('#maxMileage').removeAttr('disabled');
}
function enableDisableMPGRangeSlider() {
	if (isMPGAvailable == false) {
		jQuery('#minMPG').attr('disabled', 'true');
		jQuery('#maxMPG').attr('disabled', 'true');
		return;
	}
	if (minimumMPGValue == maximumMPGValue) {
		jQuery('#minMPG').attr('value', minimumMPGValue);
		jQuery('#maxMPG').attr('value', maximumMPGValue);
		maximumMPGValue = maximumMPGValue + 1;
		sliderMPGRange();
		mpgRangeSlider.sliderDisable();
		maximumMPGValue = maximumMPGValue - 1;
		jQuery('#minMPG').attr('disabled', 'true');
		jQuery('#maxMPG').attr('disabled', 'true');
		if(minimumMPGValue==0 && maximumMPGValue==0) { hideMPGRangeSlider(); }
		return;
	}
	jQuery('#minMPG').attr('value', minimumMPGValue);
	jQuery('#maxMPG').attr('value', maximumMPGValue);
	//mpgRangeSlider.sliderDisable();
	sliderMPGRange();
	jQuery('#minMPG').removeAttr('disabled');
	jQuery('#maxMPG').removeAttr('disabled');			
	showMPGRangeSlider();
}

function hideMPGRangeSlider(){
	jQuery('#minMPG').attr('disabled', 'true');
	jQuery('#maxMPG').attr('disabled', 'true');
	jQuery("#mpg").hide();
	jQuery('#mpgDiscDisplay').hide();
}

function showMPGRangeSlider(){
	jQuery("#mpg").show();
	jQuery('#mpgDiscDisplay').show();
}
jQuery('#searchNew').click(function(event) {
	if (checkboxNew == true || checkboxUsed == true || checkboxCertified == true) {
		vsrMinPrice = 'null';
		vsrMinPayment = 'null';
		vsrMinYear = 'null';
		vsrMinMileage = 'null';
		vsrMinMPG = 'null';
		initiateSlider++;
	}
	//------------Start checkbox configuration checking--------------
	if (checkboxNew == true && checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked')))	searchAll();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) searchUsedCertified();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else searchNew();
	}
	else if (checkboxNew == true && checkboxUsed == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked'))) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxNew == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchUsedCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
	}
	else if (checkboxNew == true) {
		if (jQuery('#searchNew').attr('checked') || !jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true) {
		if (jQuery('#searchUsed').attr('checked') || !jQuery('#searchUsed').attr('checked')) searchUsed();
	}
	else if (checkboxCertified == true) {
		if (jQuery('#searchCertified').attr('checked') || !jQuery('#searchCertified').attr('checked')) searchCertified();
	}
	//------------End checkbox configuration checking--------------
	if (jQuery('#priceRangeRadio').attr('checked')) {
		enableDisablePriceRangeSlider();
	}
	else if (jQuery('#paymentRangeRadio').attr('checked')) {
		enableDisablePaymentRangeSlider();
	}
	enableDisableYearRangeSlider();
	if (jQuery(this).attr('checked')) {
		//Setting searchCriteria as applicable
		searchCriteria['searchNew']=true;
	} else {
		//Setting searchCriteria as applicable
		searchCriteria['searchNew']=false;
	}
	if(jQuery("#mileage").css('display') == 'block') { 
		enableDisableMileageRangeSlider();
	}
	if(jQuery("#mpg").css('display') == 'block') { 
		enableDisableMPGRangeSlider();
	}
	categorySearch();
});
jQuery('#searchUsed').click(function(event) {
	if (checkboxNew == true || checkboxUsed == true || checkboxCertified == true) {
		vsrMinPrice = 'null';
		vsrMinPayment = 'null';
		vsrMinYear = 'null';
		vsrMinMileage = 'null';
		initiateSlider++;
	}
	//------------Start checkbox configuration checking--------------
	if (checkboxNew == true && checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked')))	searchAll();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) searchUsedCertified();
		else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else searchNew();
	}
	else if (checkboxNew == true && checkboxUsed == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked'))) searchNewUsed();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxNew == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchNewCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchUsedCertified();
		else if (jQuery('#searchCertified').attr('checked')) searchCertified();
		else if (jQuery('#searchUsed').attr('checked')) searchUsed();
	}
	else if (checkboxNew == true) {
		if (jQuery('#searchNew').attr('checked') || !jQuery('#searchNew').attr('checked')) searchNew();
	}
	else if (checkboxUsed == true) {
		if (jQuery('#searchUsed').attr('checked') || !jQuery('#searchUsed').attr('checked')) searchUsed();
	}
	else if (checkboxCertified == true) {
		if (jQuery('#searchCertified').attr('checked') || !jQuery('#searchCertified').attr('checked')) searchCertified();
	}
	//------------End checkbox configuration checking--------------
	if (jQuery('#priceRangeRadio').attr('checked')) {
		enableDisablePriceRangeSlider();
	}
	else if (jQuery('#paymentRangeRadio').attr('checked')) {
		enableDisablePaymentRangeSlider();
	}
	enableDisableYearRangeSlider();
	if (jQuery(this).attr('checked')) {
		//Setting searchCriteria as applicable
		searchCriteria['searchUsed']=true;
	} else {
		//Setting searchCriteria as applicable			
		searchCriteria['searchUsed']=false;
	}
	if(jQuery("#mileage").css('display') == 'block') {
		enableDisableMileageRangeSlider();
	}
	if(jQuery("#mpg").css('display') == 'block') {
		enableDisableMPGRangeSlider();
	}
	categorySearch();
});
jQuery('#searchCertified').click(function(event) {
	if (checkboxNew == true || checkboxUsed == true || checkboxCertified == true) {
		vsrMinPrice = 'null';
		vsrMinPayment = 'null';
		vsrMinYear = 'null';
		vsrMinMileage = 'null';
		initiateSlider++;
	}
	//------------Start checkbox configuration checking--------------
	if (checkboxNew == true && checkboxUsed == true && checkboxCertified == true) {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked')))	searchAll();
			else if (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) searchNewCertified();
			else if (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) searchUsedCertified();
			else if (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) searchNewUsed();
			else if (jQuery('#searchUsed').attr('checked')) searchUsed();
			else if (jQuery('#searchCertified').attr('checked')) searchCertified();
			else searchNew();
		}
		else if (checkboxNew == true && checkboxUsed == true) {
			if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked'))) searchNewUsed();
			else if (jQuery('#searchUsed').attr('checked')) searchUsed();
			else if (jQuery('#searchNew').attr('checked')) searchNew();
		}
		else if (checkboxNew == true && checkboxCertified == true) {
			if ((jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchNewCertified();
			else if (jQuery('#searchCertified').attr('checked')) searchCertified();
			else if (jQuery('#searchNew').attr('checked')) searchNew();
		}
		else if (checkboxUsed == true && checkboxCertified == true) {
			if ((jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) searchUsedCertified();
			else if (jQuery('#searchCertified').attr('checked')) searchCertified();
			else if (jQuery('#searchUsed').attr('checked')) searchUsed();
		}
		else if (checkboxNew == true) {
			if (jQuery('#searchNew').attr('checked') || !jQuery('#searchNew').attr('checked')) searchNew();
		}
		else if (checkboxUsed == true) {
			if (jQuery('#searchUsed').attr('checked') || !jQuery('#searchUsed').attr('checked')) searchUsed();
		}
		else if (checkboxCertified == true) {
			if (jQuery('#searchCertified').attr('checked') || !jQuery('#searchCertified').attr('checked')) searchCertified();
		}
		//------------End checkbox configuration checking--------------
	if (jQuery('#priceRangeRadio').attr('checked')) {
		enableDisablePriceRangeSlider();
	}
	else if (jQuery('#paymentRangeRadio').attr('checked')) {
		enableDisablePaymentRangeSlider();
	}
	enableDisableYearRangeSlider();
	if (jQuery(this).attr('checked')) {
		//Setting searchCriteria as applicable	
		searchCriteria['searchCertified']=true;
	} else {
		//Setting searchCriteria as applicable			
		searchCriteria['searchCertified']=false;
	}
	if(jQuery("#mileage").css('display') == 'block') {
		enableDisableMileageRangeSlider();
	}
	if(jQuery("#mpg").css('display') == 'block') {
		enableDisableMPGRangeSlider();
	}
	categorySearch();
});

jQuery('#dropdown_location div').livequery('click', function(event) { 
	considerParams = true;
	jQuery(this).parents('#dropdown_location').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	//Setting searchCriteria as applicable		
	searchCriteria['searchLocation']=this.id;
	jQuery('#locationId').val(this.id);
	locationSearch();
	jQuery('#handleLocation').html(jQuery(this).text());		
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
});
jQuery('#handleLocation').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open")) jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery('#dropdown_type div').livequery('click', function(event) { 
	considerParams = true;
	jQuery(this).parents('#dropdown_type').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	//Setting searchCriteria as applicable
	searchCriteria['searchType']=this.id;
	jQuery('#bodyTypeId').val(this.id);
	typeSearch();
	jQuery('#handleType').html(jQuery(this).text());
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
});
jQuery('#handleType').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open")) jQuery('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery('#dropdown_make div').livequery('click', function(event) { 
	considerParams = true;
	jQuery(this).parents('#dropdown_make').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	//Setting searchCriteria as applicable		
	searchCriteria['searchMake']=this.id;
	jQuery('#makeId').val(this.id);

	makeSearch();
	jQuery('#handleMake').html(jQuery(this).text());
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
});
jQuery('#handleMake').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open")) jQuery('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery('#dropdown_model div').livequery('click', function(event) { 
	considerParams = true;
	jQuery(this).parents('#dropdown_model').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	//Setting searchCriteria as applicable		
	searchCriteria['searchModel']=this.id;
	jQuery('#modelId').val(this.id);
	modelSearch();
	jQuery('#handleModel').html(jQuery(this).text());
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
   });
jQuery('#handleModel').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open")) jQuery('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery("div.chainedSortFieldDefault").livequery('click', function(event)  {
	if(jQuery('div.chainedFieldSortContainer').is("div.open")) jQuery(this).parents('div.chainedFieldSortContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldSortContainer').addClass('open');
});
jQuery('#dropdown_trim div').livequery('click', function(event) { 
	jQuery(this).parents('#dropdown_trim').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	//Setting searchCriteria as applicable		
	searchCriteria['searchTrim']=this.id;
	jQuery('#trimId').val(this.id);
	trimSearch();
	jQuery('#handleTrim').html(jQuery(this).text());
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
   });
jQuery('#handleTrim').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open"))  jQuery('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery('#dropdown_radius div').livequery('click', function(event) { 
	jQuery(this).parents('#dropdown_radius').find('div').each( function() {
		jQuery(this).removeClass('selectedItem');
	});
	var selectedRadiusId = this.id;
	selectedRadiusId = selectedRadiusId.substring(selectedRadiusId.indexOf('-')+1, selectedRadiusId.length);
	jQuery('#radiusId').val(selectedRadiusId);
	if (validateZip() && jQuery('#txtZipCode').val()!='') updateFilter();
	jQuery('#handleRadius').html(jQuery(this).text());
	jQuery(this).addClass('selectedItem');
	jQuery(this).parents('div.chainedFieldContainer').removeClass('open');
 });
jQuery('#handleRadius').click(function(event) {
	if(jQuery('div.chainedFieldContainer').is("div.open"))  jQuery('div.chainedFieldContainer').removeClass('open');
	else jQuery(this).parents('div.chainedFieldContainer').addClass('open');
});
jQuery('div.dropDownValue').click(function(event) {
	if(event.target.id!='handleLocation')
		jQuery('#locationDropdown').parents('div.chainedFieldContainer').removeClass('open');
	if(event.target.id!='handleType')
		jQuery('#typeDropdown').parents('div.chainedFieldContainer').removeClass('open');
	if(event.target.id!='handleMake')
		jQuery('#makeDropdown').parents('div.chainedFieldContainer').removeClass('open');
	if(event.target.id!='handleModel')
		jQuery('#modelDropdown').parents('div.chainedFieldContainer').removeClass('open');
	if(event.target.id!='handleTrim')
		jQuery('#trimDropdown').parents('div.chainedFieldContainer').removeClass('open');
	if(event.target.id!='handleSortBy')	
		jQuery('#sortByDropdown').parents('div.chainedFieldSortContainer').removeClass('open');
	jQuery('#dropdownMask').hide();
	
});
jQuery("#priceRangeRadio").click(function(event) {
	jQuery("#searchByPriceSliderContainer").show();
	jQuery(this).parents("div.sliderContainer").removeClass("showPayment");
	jQuery("#searchByPaymentSliderContainer").hide();
	jQuery("#searchByPaymentSliderContainer .sliderInputRow input").attr('name','');
	jQuery("#searchByPriceSliderContainer .sliderInputRow input:eq(0)").attr('name','minPrice');
	jQuery("#searchByPriceSliderContainer .sliderInputRow input:eq(1)").attr('name','maxPrice');
		autoClickPaymentRadio = false;
	updateFilter();
	enableDisalblePriceSliderOnPageLoad();
});
jQuery("#priceRangeRadio").click(function(event) {
	jQuery(this).parents('div.sliderContainer').addClass('currentPrice');
	jQuery(this).parents('div.sliderContainer').removeClass('currentPayment');
});
//Function to remove commas from maximum, minimum Mileage, Monthly Payment, Price text values if Search button is clicked
jQuery("#searchSubmitButton").click(function() {
	if(!validateZip()){
		return false;
	}
	if(!isValidZipCode()){
		jQuery("#txtZipCode").css('background-color','#FFFF00');
		alert(jQuery("#txtZipCode").val()+INVALID_ZIP_CODE);		
		return false;
	}
	if(!validateStockOrVIN()){
		return false;
	}
	if(mileageRangePresent) {
		jQuery("#maxMileage").val(parseInt(jQuery("#maxMileage").val().replace(/\D/g,"")));
		jQuery("#minMileage").val(parseInt(jQuery("#minMileage").val().replace(/\D/g,"")));
	}
	if((mpgForNewRangePresent == true) || (mpgRangeForUsedPresent == true)) {
		jQuery("#maxMPG").val(parseInt(jQuery("#maxMPG").val().replace(/\D/g,"")));
		jQuery("#minMPG").val(parseInt(jQuery("#minMPG").val().replace(/\D/g,"")));
	}
	if(priceRangePresent) {
		jQuery("#maxPrice").val(parseInt(jQuery("#maxPrice").val().replace(/\D/g,"")));
		jQuery("#minPrice").val(parseInt(jQuery("#minPrice").val().replace(/\D/g,"")));
	}
	if(monthlyRangePresent) {
		jQuery("#maxPayment").val(parseInt(jQuery("#maxPayment").val().replace(/\D/g,"")));
		jQuery("#minPayment").val(parseInt(jQuery("#minPayment").val().replace(/\D/g,"")));
	}
});
jQuery("#paymentRangeRadio").click(function(event) {
	jQuery("#searchByPriceSliderContainer").hide();
	jQuery(this).parents("div.sliderContainer").addClass("showPayment");
	jQuery("#searchByPaymentSliderContainer").show();
	jQuery("#searchByPriceSliderContainer .sliderInputRow input").attr('name','');
	jQuery("#searchByPaymentSliderContainer .sliderInputRow input:eq(0)").attr('name','minMonthlyPayment');
	jQuery("#searchByPaymentSliderContainer .sliderInputRow input:eq(1)").attr('name','maxMonthlyPayment');
		if(autoClickPaymentRadio == false)	updateFilter();
	enableDisalblePaymentSliderOnPageLoad();
});

jQuery("#paymentRangeRadio").click(function(event) {
	jQuery(this).parents('div.sliderContainer').addClass('currentPayment');
	jQuery(this).parents('div.sliderContainer').removeClass('currentPrice');
});
/* Slider Input Box event handlers */
function checkValidRange(thisInput) {
	var inputRex = new RegExp("\\D");
	var inputminOrmaxValue=thisInput.val().replace(/\D/g,"");
	if(inputRex.test(inputminOrmaxValue) == true) return false;
	if(thisInput.attr('id').indexOf('min') != -1) {
		return (parseInt(thisInput.val().replace(/\D/g,"")) > parseInt(thisInput.parents('div.sliderInputRow').find('input:eq(1)').val().replace(/\D/g,""))) ? false : true;
	} else if(thisInput.attr('id').indexOf('max') != -1) {
		return (parseInt(thisInput.val().replace(/\D/g,"")) < parseInt(thisInput.parents('div.sliderInputRow').find('input:eq(0)').val().replace(/\D/g,""))) ? false : true;
	}
	return false;
}
jQuery("#minPrice").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(minimumPriceValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) <= parseInt(minimumPriceValue)) {
		priceRangeSlider.sliderMoveTo(parseInt(minimumPriceValue), '', true, '', 0);
		showmilesWithComma(minimumPriceValue,"#minPrice");
	}
	else if(checkValidRange(jQuery(this))) {
		var minPriceRound = parseInt(jQuery(this).val().replace(/\D/g,"")).toFloor(1000);
		jQuery("#minPrice").val(minPriceRound);
		priceRangeSlider.sliderMoveTo(minPriceRound, '', true, '', 0);
		showmilesWithComma(jQuery(this).val(),"#minPrice");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(minimumPriceValue);
			priceRangeSlider.sliderMoveTo(minimumPriceValue, '', true, '', 0);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(minimumPriceValue);
			priceRangeSlider.sliderMoveTo(minimumPriceValue, '', true, '', 0);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(minimumPriceValue);
			priceRangeSlider.sliderMoveTo(minimumPriceValue, '', true, '', 0);
		}
		else {
			jQuery(this).val(minimumPriceValue);
			priceRangeSlider.sliderMoveTo(minimumPriceValue, '', true, '', 0);
		}
		showmilesWithComma(jQuery(this).val(),"#minPrice");
	}
	updateFilter();
	jQuery("#indicator1").css('z-index','10');
	jQuery("#indicator2").css('z-index','2');
});
jQuery("#maxPrice").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(maximumPriceValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) >= parseInt(maximumPriceValue)) {
		priceRangeSlider.sliderMoveTo(parseInt(maximumPriceValue), '', true, '', 1);
		showmilesWithComma(maximumPriceValue,"#maxPrice");
	}
	else if(checkValidRange(jQuery(this))) {
		var maxPriceRound =  parseInt(jQuery(this).val().replace(/\D/g,"")).toCeil(1000);
		jQuery("#maxPrice").val(maxPriceRound);
		priceRangeSlider.sliderMoveTo(maxPriceRound, '', true, '', 1);
		showmilesWithComma(jQuery(this).val(),"#maxPrice");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(maximumPriceValue);
			priceRangeSlider.sliderMoveTo(maximumPriceValue, '', true, '', 1);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(maximumPriceValue);
			priceRangeSlider.sliderMoveTo(maximumPriceValue, '', true, '', 1);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(maximumPriceValue);
			priceRangeSlider.sliderMoveTo(maximumPriceValue, '', true, '', 1);
		}
		else {
			jQuery(this).val(maximumPriceValue);
			priceRangeSlider.sliderMoveTo(maximumPriceValue, '', true, '', 1);
		}
		showmilesWithComma(jQuery(this).val(),"#maxPrice");
	}
	updateFilter();
	jQuery("#indicator1").css('z-index','2');
	jQuery("#indicator2").css('z-index','10');
});
jQuery("#minPayment").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(minimumPaymentValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) <= parseInt(minimumPaymentValue)) {
		paymentRangeSlider.sliderMoveTo(parseInt(minimumPaymentValue), '', true, '', 0);
		showmilesWithComma(minimumPaymentValue,"#minPayment");
	}
	else if(checkValidRange(jQuery(this))) {
		var minPaymentRound = parseInt(jQuery(this).val().replace(/\D/g,"")).toFloor(25);
		jQuery("#minPayment").val(minPaymentRound);
		paymentRangeSlider.sliderMoveTo(minPaymentRound, '', true, '', 0);
		showmilesWithComma(jQuery(this).val(),"#minPayment");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(minimumPaymentValue);
			paymentRangeSlider.sliderMoveTo(minimumPaymentValue, '', true, '', 0);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(minimumPaymentValue);
			paymentRangeSlider.sliderMoveTo(minimumPaymentValue, '', true, '', 0);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(minimumPaymentValue);
			paymentRangeSlider.sliderMoveTo(minimumPaymentValue, '', true, '', 0);
		}
		else {
			jQuery(this).val(minimumPaymentValue);
			paymentRangeSlider.sliderMoveTo(minimumPaymentValue, '', true, '', 0);
		}
		showmilesWithComma(jQuery(this).val(),"#minPayment");
	}
	updateFilter();
	jQuery("#indicator7").css('z-index','10');
	jQuery("#indicator8").css('z-index','2');
});
jQuery("#maxPayment").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(maximumPaymentValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) >= parseInt(maximumPaymentValue)) {
		paymentRangeSlider.sliderMoveTo(parseInt(maximumPaymentValue), '', true, '', 1);
		showmilesWithComma(maximumPaymentValue,"#maxPayment");
	}
	else if(checkValidRange(jQuery(this))) {
		var maxPaymentRound = parseInt(jQuery(this).val().replace(/\D/g,"")).toCeil(25);
		jQuery("#maxPayment").val(maxPaymentRound);
		paymentRangeSlider.sliderMoveTo(maxPaymentRound, '', true, '', 1);
		showmilesWithComma(jQuery(this).val(),"#maxPayment");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(maximumPaymentValue);
			paymentRangeSlider.sliderMoveTo(maximumPaymentValue, '', true, '', 1);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(maximumPaymentValue);
			paymentRangeSlider.sliderMoveTo(maximumPaymentValue, '', true, '', 1);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(maximumPaymentValue);
			paymentRangeSlider.sliderMoveTo(maximumPaymentValue, '', true, '', 1);
		}
		else {
			jQuery(this).val(maximumPaymentValue);
			paymentRangeSlider.sliderMoveTo(maximumPaymentValue, '', true, '', 1);
		}
		showmilesWithComma(jQuery(this).val(),"#maxPayment");
	}
	updateFilter();
	jQuery("#indicator7").css('z-index','2');
	jQuery("#indicator8").css('z-index','10');
});
jQuery("#minYear").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(minimumYearValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) <= parseInt(minimumYearValue)) {
		jQuery("#minYear").val(minimumYearValue);
		yearRangeSlider.sliderMoveTo(minimumYearValue, '', true, '', 0);
	}	
	else if(checkValidRange(jQuery(this))) {
		jQuery(this).val(jQuery(this).val().replace(/\D/g,""));
		yearRangeSlider.sliderMoveTo(jQuery(this).val(), '', true, '', 0);
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(minimumYearValue);
			yearRangeSlider.sliderMoveTo(minimumYearValue, '', true, '', 0);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(minimumYearValue);
			yearRangeSlider.sliderMoveTo(minimumYearValue, '', true, '', 0);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(minimumYearValue);
			yearRangeSlider.sliderMoveTo(minimumYearValue, '', true, '', 0);
		}
		else {
			jQuery(this).val(minimumYearValue);
			yearRangeSlider.sliderMoveTo(minimumYearValue, '', true, '', 0);
		}
	}
	updateFilter();
	jQuery("#indicator3").css('z-index','10');
	jQuery("#indicator4").css('z-index','2');
});
jQuery("#maxYear").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(maximumYearValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) >= parseInt(maximumYearValue)) {
		jQuery("#maxYear").val(maximumYearValue);
		yearRangeSlider.sliderMoveTo(maximumYearValue, '', true, '', 1);
	}	
	else if(checkValidRange(jQuery(this))) {
		jQuery(this).val(jQuery(this).val().replace(/\D/g,""));
		yearRangeSlider.sliderMoveTo(jQuery(this).val(), '', true, '', 1);
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(maximumYearValue);
			yearRangeSlider.sliderMoveTo(maximumYearValue, '', true, '', 1);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(maximumYearValue);
			yearRangeSlider.sliderMoveTo(maximumYearValue, '', true, '', 1);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(maximumYearValue);
			yearRangeSlider.sliderMoveTo(maximumYearValue, '', true, '', 1);
		}
		else {
			jQuery(this).val(maximumYearValue);
			yearRangeSlider.sliderMoveTo(maximumYearValue, '', true, '', 1);
		}
	}
	updateFilter();
	jQuery("#indicator3").css('z-index','2');
	jQuery("#indicator4").css('z-index','10');		
});
jQuery("#minMileage").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(minimumMileageValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) <= parseInt(minimumMileageValue)) {
		mileageRangeSlider.sliderMoveTo(parseInt(minimumMileageValue), '', true, '', 0);
		showmilesWithComma(minimumMileageValue,"#minMileage");
	}	
	else if(checkValidRange(jQuery(this))) {
		minMileageRound = parseInt(jQuery(this).val().replace(/\D/g,"")).toFloor(1000);
		jQuery(this).val(minMileageRound);
		mileageRangeSlider.sliderMoveTo(minMileageRound, '', true, '', 0);
		showmilesWithComma(minMileageRound,"#minMileage");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(minimumMileageValue);
			mileageRangeSlider.sliderMoveTo(minimumMileageValue, '', true, '', 0);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(minimumMileageValue);
			mileageRangeSlider.sliderMoveTo(minimumMileageValue, '', true, '', 0);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(minimumMileageValue);
			mileageRangeSlider.sliderMoveTo(minimumMileageValue, '', true, '', 0);
		}
		else {
			jQuery(this).val(minimumMileageValue);
			mileageRangeSlider.sliderMoveTo(minimumMileageValue, '', true, '', 0);
		}
		showmilesWithComma(jQuery(this).val(),"#minMileage");
	}
	updateFilter();
	jQuery("#indicator5").css('z-index','10');
	jQuery("#indicator6").css('z-index','2');		
});
jQuery("#maxMileage").change(function(event) {
	var thisValue = parseInt(jQuery(this).val());
	if(isNaN(thisValue) || thisValue<=0) jQuery(this).val(maximumMileageValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val().replace(/\D/g,"")) >= parseInt(maximumMileageValue)) {
		mileageRangeSlider.sliderMoveTo(parseInt(maximumMileageValue), '', true, '', 1);
		showmilesWithComma(maximumMileageValue,"#maxMileage");
	}	
	else if(checkValidRange(jQuery(this))) {
		maxMileageRound = parseInt(jQuery(this).val().replace(/\D/g,"")).toCeil(1000);
		jQuery(this).val(maxMileageRound);
		mileageRangeSlider.sliderMoveTo(maxMileageRound, '', true, '', 1);
		showmilesWithComma(maxMileageRound,"#maxMileage");
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(maximumMileageValue);
			mileageRangeSlider.sliderMoveTo(maximumMileageValue, '', true, '', 1);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(maximumMileageValue);
			mileageRangeSlider.sliderMoveTo(maximumMileageValue, '', true, '', 1);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(maximumMileageValue);
			mileageRangeSlider.sliderMoveTo(maximumMileageValue, '', true, '', 1);
		}
		else {
			jQuery(this).val(maximumMileageValue);
			mileageRangeSlider.sliderMoveTo(maximumMileageValue, '', true, '', 1);
		}
		showmilesWithComma(jQuery(this).val(),"#maxMileage");
	}
	updateFilter();
	jQuery("#indicator5").css('z-index','2');
	jQuery("#indicator6").css('z-index','10');		
});
jQuery("#minMPG").change(function(event) {
	if (!isNaN(jQuery("#minMPG").val())) jQuery("#minMPG").val(Math.floor(jQuery("#minMPG").val()));
	else jQuery("#minMPG").val(minimumMPGValue);
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val()) <= parseInt(minimumMPGValue)) {
		jQuery("#minMPG").val(minimumMPGValue);
		mpgRangeSlider.sliderMoveTo(minimumMPGValue, '', true, '', 0);
	}	
	else if(checkValidRange(jQuery(this))) {
		jQuery("#minMPG").val(jQuery("#minMPG").val());
		mpgRangeSlider.sliderMoveTo(jQuery(this).val(), '', true, '', 0);
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(minimumMPGValue);
			mpgRangeSlider.sliderMoveTo(minimumMPGValue, '', true, '', 0);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(minimumMPGValue);
			mpgRangeSlider.sliderMoveTo(minimumMPGValue, '', true, '', 0);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(minimumMPGValue);
			mpgRangeSlider.sliderMoveTo(minimumMPGValue, '', true, '', 0);
		}
		else {
			jQuery(this).val(minimumMPGValue);
			mpgRangeSlider.sliderMoveTo(minimumMPGValue, '', true, '', 0);
		}
	}
	updateFilter();
	jQuery("#indicator9").css('z-index','10');
	jQuery("#indicator10").css('z-index','2');
});
jQuery("#maxMPG").change(function(event) {
	if (!isNaN(jQuery("#maxMPG").val())) { 
		var maxMPG = Math.ceil(jQuery("#maxMPG").val());
		jQuery("#maxMPG").val(maxMPG);
		mpgRangeSlider.sliderMoveTo(maxMPG, '', true, '', 1);
	} else {
		jQuery("#maxMPG").val(maximumMPGValue);
		mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
	}
	if(jQuery(this).val() == "" || parseInt(jQuery(this).val()) >= parseInt(maximumMPGValue)) {
		jQuery("#maxMPG").val(maximumMPGValue);
		mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
	}	
	else if(checkValidRange(jQuery(this))) {
		jQuery("#maxMPG").val(jQuery("#maxMPG").val());
		mpgRangeSlider.sliderMoveTo(jQuery(this).val(), '', true, '', 1);
	} else {
		if ((jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchCertified').attr('checked')) || (jQuery('#searchCertified').attr('checked') && jQuery('#searchUsed').attr('checked')) || (jQuery('#searchNew').attr('checked') && jQuery('#searchUsed').attr('checked') && jQuery('#searchCertified').attr('checked')) || (!jQuery('#searchNew').attr('checked') && !jQuery('#searchUsed').attr('checked') && !jQuery('#searchCertified').attr('checked'))) {
			jQuery(this).val(maximumMPGValue);
			mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
		}
		else if(jQuery('#searchUsed').attr('checked')){
			jQuery(this).val(maximumMPGValue);
			mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
		}
		else if(jQuery('#searchCertified').attr('checked')){
			jQuery(this).val(maximumMPGValue);
			mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
		}
		else {
			jQuery(this).val(maximumMPGValue);
			mpgRangeSlider.sliderMoveTo(maximumMPGValue, '', true, '', 1);
		}
	}
	updateFilter();
	jQuery("#indicator9").css('z-index','2');
	jQuery("#indicator10").css('z-index','10');		
});
/* Secondary Filter Event Handlers */
jQuery("div.filterItem").mouseover(function(event) {
	var hasSubFilters;
	jQuery(this).find("div.filterToggleImage").each(function() {
		hasSubFilters = true;
		return false;
	});
	if(hasSubFilters) {
		jQuery(this).addClass("openFilterItem");
		jQuery(this).addClass("sprite-filterArrowOpen");
	}
	
});
jQuery("div.filterItem").mouseout(function(event) {
	jQuery(this).removeClass("openFilterItem");
});
jQuery("div.subFiltersContainer").mouseover(function(event) {
	jQuery(this).parents("div.filterItem").addClass("openFilterItem");
});
jQuery("#secondaryFilters input:checkbox").click(function(event) {
	updateFilter();
});
jQuery("#paymentCalculatorIcon").click(function(event) {
	jQuery("#termsConditionsArrow").css({'display':'block'});
	jQuery("#numberOfMonths").removeAttr("disabled");
	jQuery("#apr_label").removeAttr("disabled");
	jQuery("#defaultDownPayment_label").removeAttr("disabled");
	jQuery("#tradeInValue_label").removeAttr("disabled");
	jQuery("#paymentCalculatorTermsLayer").fadeIn("normal");
});
jQuery(".closeWindow").click(function(event) {
    if(onChangeOfValue()) disablePaymentFields();
	
});
/* START Update slider while entering the enter key */
if(document.all) { //while pressing the enter key in FireFox automatically it will fire the onchange event so this block is not requiered for FireFox, so that only I have written "document.all"
	jQuery("#minPrice").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#maxPrice").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#minPayment").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#maxPayment").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#minYear").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#maxYear").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#minMileage").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#maxMileage").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#minMPG").keyup(function(event) {
		triggerEvent(this);
	});
	jQuery("#maxMPG").keyup(function(event) {
		triggerEvent(this);
	});
}
function triggerEvent(obj) {
	if(event.keyCode == 13)
			jQuery(obj).trigger("change");
}
/* END Update slider while entering the enter key */
function disablePaymentFields(){
	jQuery("#numberOfMonths").attr("disabled", true);
	jQuery("#apr_label").attr("disabled", true);
	jQuery("#defaultDownPayment_label").attr("disabled", true);
	jQuery("#tradeInValue_label").attr("disabled", true);
	jQuery("#paymentCalculatorTermsLayer").fadeOut("fast");
}
/* Search Results Specific */
jQuery("div.results_searchCollapse").click(function(event) {
	jQuery(this).parents("div.results_searchWidget_innerGrad").find("div.collapseWrapper").slideToggle();
	jQuery(this).toggleClass("sprite-search_collapse_open").toggleClass("sprite-search_collapse_closed");
});
jQuery("div.backToTopButton,div.backToTopLinkText").livequery('click', function(event) {
	window.scrollTo(0,0);
});
jQuery("div.paginationRight").livequery('click', function(event) {
	incrementPage(1);
	window.scrollTo(0,0);
});
jQuery("div.paginationLeft").livequery('click', function(event) {
	incrementPage(-1);
	window.scrollTo(0,0);
});
jQuery("#vppControl").livequery('change', function(event) {
	updateViewsPerPage(parseInt(jQuery(this).val()));
	window.scrollTo(0,0);
});
jQuery("#vppControlBottom").livequery('change', function(event) {
	updateViewsPerPage(parseInt(jQuery(this).val()));
	window.scrollTo(0,0);
});
jQuery("input.goToPageText").livequery('blur', function(event) {
	goToPageNumber(jQuery(event.target).val());
	window.scrollTo(0,0);
});
jQuery("input.goToPageText").livequery('keypress', function(event) {
	if(event.keyCode == 13)	{
		goToPageNumber(jQuery(event.target).val());
		window.scrollTo(0,0);
	}
});
jQuery("div.sortItem").livequery('click', function(event) {
	switch(parseInt(jQuery(this).parents("div.sortdropdownItem").attr("id"))) {
		case 0: 
			updateSort('featuredPrice','desc', 0);
			break;
		case 1: 
			updateSort('featuredPrice',null,1);
			break;
		case 2: 
			updateSort('year','desc',2);
			break;
		case 3: 
			updateSort('year',null,3);
			break;
		case 4: 
			updateSort('make',null,4);
			break;
		case 5: 
			updateSort('make','desc',5);
			break;
		case 6: 
			updateSort('model',null,6);
			break;
		case 7: 
			updateSort('model','desc',7);
			break;
		case 8: 
			updateSort('miles','desc',8);
			break;
		case 9: 
			updateSort('miles',null,9);
			break;
		case 10: 
			updateSort('certified','desc',10);
			break;
		case 11: 
			updateSort('promotionAvailable','desc',11);
			break;
		case 12: 
			updateSort('hwyMPG','desc',12);
			break;
		case 13: 
			updateSort('hwyMPG',null,13);
			break;
		case 14: 
			updateSort('exterior',null,14);
			break;
		case 15: 
			updateSort('exterior','desc',15);
			break;
		case 16: 
			updateSort('distance',null,16);
			break;
		default:
			updateSort('featuredPrice','desc',0);
			break;
	}
	jQuery(this).parents('div.chainedFieldSortContainer').removeClass('open');
});
jQuery("div.results_specialIcon").livequery('mouseover' , function(event) {
	jQuery(this).find("div.specialsTermsLayer").show();
});
jQuery('div.results_specialIcon').livequery('mouseout', function() {
	jQuery(this).find("div.specialsTermsLayer").hide();
});
jQuery("div.specialsTermsLayer").mouseover(function(event) {
	jQuery(this).show();
});
jQuery("div.results_specialIcon").livequery('mouseout' , function(event) {
	jQuery(this).find("div.specialsTermsLayer").hide();
});
jQuery("div.specialsTermsLayer").mouseout(function(event) {
	jQuery(this).hide();
});
jQuery('#crossClose').click(function(){
	jQuery('#crossClose').css('display','none');
	jQuery('#vppControl').removeAttr("disabled");
	jQuery('#vppControlBottom').removeAttr("disabled");
	Photos.getInstance().close();
});
var positionIdentifier = true;
jQuery('#disclaimerLink').toggle(function(){
	jQuery('#mpgDisclaimer').show();
},function(){
	jQuery('#mpgDisclaimer').hide();
});	
jQuery('div.vsrDisclaimerLink').livequery('click', function() {										
	jQuery("#specialsLegalDisclaimer" + this.id.substr(this.id.indexOf('_'))).css("display","block");
});
jQuery('div.vsrSpecialDisclaimerClose').livequery('click', function() {										
	jQuery("#specialsLegalDisclaimer" + this.id.substr(this.id.indexOf('_'))).css("display","none");
});
jQuery('.results_resultIcons').livequery('click',function(event){
	event.stopPropagation();
});
var levelCounter = 0;
function childLevelCounter() {
	levelCounter++;
}
function parentLevelCounter(url) {
	if(levelCounter == 1) window.location.href = url;
	if(levelCounter >= 1) levelCounter = 0;
}


/* Chris-T: Added for Search By Zip-Code */

jQuery('#txtZipCode').keyup(function() {
	if(jQuery(this).val()==''){
		jQuery("#txtZipCode").css('background-color','#FFFFFF');
		updateFilter();
	}
	if (jQuery(this).val().length == _VALIDATION_ZIP_LENGTH) {
		updateFilter();
	}
});

jQuery('#txtZipCode').blur(function() {
	if (jQuery(this).val().length < _VALIDATION_ZIP_LENGTH) {
		validateZip();
	}
});

jQuery('#selectZipRadius').change(function() {
	if (validateZip() && jQuery('#txtZipCode').val()!='')
			updateFilter();
});

jQuery('#stockOrVINBtn').click(function(){
	if (validateStockOrVIN())
		updateFilter();
});

jQuery('input.stockOrVIN').blur(function() {
	if (validateStockOrVIN())
		updateFilter();
});
