/*
 @Name: $RCSfile: home.js,v $
 @Version: $Revision: 1.14 $
 @Date: $Date: 2010/02/09 19:53:15 $
 
 Copyright (C) 2008 Copart, Inc. All rights reserved.
 */

function showUpTo(){
    var selectedValue = $F("location");

    var vis = "visible";
    if (selectedValue != "zip") {
        vis = "hidden";
    }
    
    $("zipPostalCodeSpan").style.visibility = vis;
    updateStateFacilityDropDown('location', 'stateFacility');
}

function homeUpdateModelDropDown(){
    //updateModelDropDown('make', 'model');
	var reqParam = "selectedMake";
    var xmlNodeName = "model";
    var xmlNodeAttribute1 = "code";
    var xmlNodeAttribute2 = "description";
    
    if ($F('make') != "*") {
        updateDropDownWith($F('make'), 'model', xmlNodeName, xmlNodeAttribute1, xmlNodeAttribute2, reqParam, message.modelAjax, message.defaultModelDisplay, message.defaultModelValue);
    }else{
		$("model").selectedIndex = 0;
	}
}

function homeUpdateMakeDropDown(){
    if ($F("vehicleType") == message.validVehicleType) {
        $("model").disabled = false;
        updateMakeDropDown('vehicleType', 'make');
		
		// Added to fix bug 8105
		if ($F('make') == "*" || $F('make') == null) {
			$('model').options[0] = new Option(message.defaultModelDisplay, message.defaultModelValue);
		}
		else {
			updateModelDropDown('vehicleType', 'model');
		}
    }
    else {
        updateMakeDropDown('vehicleType', 'make');
        makeNotValidModelDropDown();
    }
}

function updateFeaturedListings(){
    var selectedType = $("featuredLotType").value;
    getFeaturedListings(selectedType, "featuredCompactList", message.ajaxError)
}

function initFeaturedList(){
    var initialFeaturedSelection = "F|C";
    getFeaturedListings(initialFeaturedSelection, "featuredCompactList", message.ajaxError)
}

function setLanguage(){
    var selectedLanguage = $F("siteLanguage");
    if (selectedLanguage != "*") {
        $("langForm").submit();
    }
}

function viewMoreFeaturedListings(userSelectedValue){
    $("categorySearchType").value = userSelectedValue;
    $("featuredListingsCompactForm").submit();
}

function hideZip(){
    $('zip_box').style.visibility = 'hidden';
    
    // Clear out value if hidden
    // $("enteredZip").value = "";
}

function showZip(){
	/*
    $("enteredZip").value = searchParms.zip;
    
    $('zip_box').style.visibility = 'visible';
    $("enteredZip").focus();
    */
}
function setHotItemsSearch(){
    setSearchById(2);
}

function setNewListingsSearch(){
    setSearchById(1);
}

function setHighValueItems(){
    setSearchById(3);
}

function setSearchById(searchId){
	clearForms();
    $("eventId").value = "specialSearchById"
    $("categoryId").value = searchId;
    $("specialSearchForm").action = message.searchByIdURL;
    $("specialSearchForm").submit();
}


// This function is used to Clears the error message in zip/postal code div If the user clicks on other image.
function clearErrorCode(){
   // $("errorSpan").innerHTML = "";
}

function clearForms()
{
	//Special Search Form (Car Images)
	$("specialZipPostalCode").value = "";
	$("categoryId").value = "";
	$("bodyStyle").value = "";
}

function submitSearchByType()
{
	$("searchByType").submit();
}



function quickSearchChange(objClicked){
    var rad_val;
    var radioBtns = $("quickradio", "isLotNumberRadio", "isVinNumberRadio");
    for (var i = 0; i < radioBtns.length; i++) {
        if (radioBtns[i] != objClicked) {
            radioBtns[i].checked = false;
        }
        if (radioBtns[i].checked) {
            rad_val = radioBtns[i].value;
            
            if (rad_val == 'predefined') {
                $('lotId').disabled = true;
                $('categorySearchType').disabled = false;
                //$('qsZipPostalCode').disabled = false;
                //$('qsMileageRange').disabled = false;
            }
            else {
                $('categorySearchType').disabled = true;
                //$('qsZipPostalCode').disabled = true;
               // $('qsMileageRange').disabled = true;
                $('lotId').disabled = false;
                if (rad_val == "lotNum") {
                    //$("postalCode").disabled = true;
                    //$("milesAway").disabled = true;
                    $("isLotNumber").value = 1;
                    $("isVinNumber").value = 0;
                    $('lotId').maxLength = 8;
                }
                else {
                    //$("postalCode").disabled = true;
                    //$("milesAway").disabled = true;
                    $("isLotNumber").value = 0;
                    $("isVinNumber").value = 1;
                    $('lotId').maxLength = 25;
                }
            }      
        }
    }
}

function showFlashJPGBanner()
{
	var myEffect = new Effect.BlindUp('flashContent', { duration: 1.0, restoreAfterFinish: false, afterFinishInternal:setContentHeight, scaleFrom:100, scaleTo: 25});
	
}
//Added to fix bug 7823
function setContentHeight()
{
	$('contentContainer').style.height = "700px";
}

Event.observe(window, "resize", function(){
	ftResize();
});

Event.observe(window, "load", function(){
/*
    Event.observe('searchCars', 'click', setCars);
    Event.observe('searchClassics', 'click', setClassics);
    Event.observe('searchSUV', 'click', setSUV);
    Event.observe('searchMarine', 'click', setMarine);
    Event.observe('searchRecreational', 'click', setRecreational);
    Event.observe('searchPickupTruck', 'click', setPickup);
    Event.observe('searchMotorcycles', 'click', setMotorcycles);
    Event.observe('searchJetSkis', 'click', setJetSkis);
    Event.observe('searchIndustrialEquipment', 'click', setIndustrialEquipment);
    Event.observe('searchSnowMobiles', 'click', setSnowMobiles);
*/    //Event.observe('location', 'click', showUpTo);
    Event.observe('make', 'change', homeUpdateModelDropDown);
    Event.observe('vehicleType', 'change', homeUpdateMakeDropDown);
    //Event.observe('searchHotItems', 'click', setHotItemsSearch);
    //Event.observe('searchNewListings', 'click', setNewListingsSearch);
    //Event.observe('searchHighValueItems', 'click', setHighValueItems);
    //Event.observe('siteLanguage', 'change', setLanguage);   
    //Event.observe('homeHideZipX', 'click', hideZip);
	//Event.observe('specialSearchForm', 'submit', validateSpecialSearch);

	// To show the error message in zip/postal code div.
    if (message.specialSearchServerSideError.length > 0) {
        setSpecialSearchValues(message.specialSearchVehicleType, message.specialSearchBodyStyle,"");
        showZip();
    }
    
    //if ($F("vehicleType") != message.validVehicleType) {
    //    makeNotValidModelDropDown();
    //}
    
    // updateMakeDropDown("vehicleType", "make");
    // updateModelDropDown("make", "model");
    
       
    if(searchParms.location > ""){
		$(searchParms.location).checked = true;
	}
 
    setSelectValue("startYear", searchParms.startYear);
    setSelectValue("endYear", searchParms.endYear);
    setSelectValue("titleGroupCode", searchParms.titleGroupCode);
    setSelectValue("mileageRange", searchParms.mileageRange);
    
   // $("zipPostalCode").value = searchParms.zip;
    searchParms.fullPostalCode= searchParms.fullPostalCode==undefined?'':searchParms.fullPostalCode;
    $("zipPostalCode").value = searchParms.fullPostalCode;
    setSelectValue("vehicleType", searchParms.vehicleType)
    updateMakeDropDownWith(searchParms.vehicleType, searchParms.make);
    updateModelDropDownWith(searchParms.make, searchParms.model);
	    
    if(!setSelectValue("stateFacility", searchParms.stateFacility)){
    	updateStateFacilityDropDownWith(searchParms.location, searchParms.stateFacility);
    }

    if (searchParms.location == "zip") {
        //$("zipPostalCodeSpan").style.visibility = "visible";
        $("location-container").style.display = "none";
        $("zip-container").style.display = "block";
    }else{
        //$("zipPostalCodeSpan").style.visibility = "hidden";
        $("location-container").style.display = "block";
        $("zip-container").style.display = "none";
	}
   
   
});

function setNascarCookie()
{
	document.cookie = "nascarCookie"+"="+"NASCAR"+"; path=/";
}

function getNascarCookie(name)
{
	if (document.cookie.length>0)
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;

}

/**
 * This function will perform validation on the Quick Search form on home page.
 */
function validateQuickSearchHome(){
    var selectedQuickSearch = $F("categorySearchType");
    var errors = "";
    var zipPostalCode = $F("qsZipPostalCode");
    
    // clear out error old messages
    $("quickSearchError").innerHTML = ""
    
    
    if (selectedQuickSearch != null) {
        var category = selectedQuickSearch.split("|");
        $("categoryId").value = category[1];
    }
    else {
        errors += message.quickSearch_error;
        $("quickSearchError").innerHTML = message.quickSearch_error;
    }
    if (zipPostalCode != null && zipPostalCode != "") {
        var isValid = checkAlphaNumericStrict($("zipPostalCode"), 0, 0, 1, message.detailSearch_zip_required, "detailedSearchError");
        // Corrected this IF condition to display the invalid zip code error
        // message -- Bug 5944
        if (!isValid) {
            if (errors != "") {
                errors += "<br>";
            }
            errors += message.detailSearch_zip_required;
        }
        else {
            // rememberZip(zipPostalCode);
            searchParms.zip = zipPostalCode;
            searchParms.mileageRange = $F("mileageRange");
        }
    }
    if (errors != "") {
        $("quickSearchError").innerHTML = errors;
    }
    
    searchParms.mileageRange = $F("mileageRange");
    searchParms.zip = zipPostalCode
    saveSearchParms(searchParms);
    
    return true;
}

function homeQuickSearchSubmit(){
	$('quickSearchError').innerHTML = '';
	$('quickSearchError').hide();
    var selectedQuickSearch = $F("filterCodeSelect");
	if (selectedQuickSearch != null && selectedQuickSearch.length > 0) {
		var uncleanLabel = $("filterCodeSelect").options[$("filterCodeSelect").selectedIndex].text;
	    var closeParenPos = uncleanLabel.lastIndexOf(")");
	    var openParenPos = uncleanLabel.lastIndexOf("(");
	    var cleanLabel = "";
	    
	    if (closeParenPos > -1 && openParenPos > -1) {
	        cleanLabel = uncleanLabel.substring(0, openParenPos - 1);
	    }
	    else {
	        cleanLabel = uncleanLabel;
	    }
	    
	    $("filterBaseLabelQuick").value = cleanLabel;
		$('quickSearch').submit();
	}
	else {
		$('quickSearchError').innerHTML = message.quickSearch_error;
		$('quickSearchError').show();
	}
}