var dealerSearchXslt=null;var logging=true;var xsltdebug=true;var hbx_dealer_name="";var dlocParams={zip:"",city:"",state:"",dealer:""};function loadOwnersCookies(){var rtn=false;var cookieDealerSearchData=Cookie.get("owners.dealersearch");if(cookieDealerSearchData){dlocParams=eval("("+cookieDealerSearchData+")");rtn=true;}var zipCookie=Cookie.get("zipcode");if(zipCookie){if(dlocParams.zip!=""&&userData.zipcode&&userData.zipcode!="undefined"){dlocParams.zip=userData.zipcode;saveDealerSearchCookie();}rtn=true;}return rtn;}function saveDealerSearchCookie(){Cookie.set("owners.dealersearch",Json.toString(dlocParams),{duration:"365",path:"/"});}function showModuleState(b){if(b=="dealer"){$("o-dealer-loc-dealer").setStyle("display","block");$("o-dealer-loc-zip").setStyle("display","none");$("o-dealer-loc-default").setStyle("display","none");}else{if(b=="zip"){$("o-my-vehicle-mast-title").setHTML("Dealers In My Area");$("o-dealer-loc-zip").setStyle("display","block");$("o-dealer-loc-dealer").setStyle("display","none");$("o-dealer-loc-default").setStyle("display","none");$("myziphere").setHTML(dlocParams.zip);$("finddealer_zipCode_Entry").value=(dlocParams.zip);}else{$("o-my-vehicle-mast-title").setHTML("Find A Dealer");$("o-dealer-loc-default").setStyle("display","block");$("o-dealer-loc-zip").setStyle("display","none");$("o-dealer-loc-dealer").setStyle("display","none");$("o-find-dealer-error").setStyle("display","none");$("o-loading-indicator").setStyle("display","none");}}$("o-dealer-loc-zip").value=(dlocParams.zip);}function validateFindDealer(k){var f=k.zip.value;var g=k.city.value;var j=k.state.value;var h=k.dealername.value;reZip=new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);if(f&&(!reZip.test(f))){displayFindDealerError("Please specify a correct zipcode");}else{if(!f&&!g&&!j&&!h){displayFindDealerError("Please specify a dealer name or zipcode or city and state");}else{if(!f&&!h&&((g&&!j)||(!g&&j))){displayFindDealerError("Please specify city AND state names");}else{if((f&&h)||((f||h)&&(g||j))){displayFindDealerError("Please specify dealer name OR zipcode OR city and state");}else{$("o-find-dealer-error").setStyle("display","none");$("o-loading-indicator").setStyle("display","block");dlocParams.zip=f;dlocParams.city=g;dlocParams.state=j;dlocParams.dealer=h;submitFindDealer(k);}}}}return false;}function displayFindDealerError(c){var d=$("o-find-dealer-error");showModuleState("default");d.innerHTML=c;d.setStyle("display","block");}function submitFindDealer(k){var f=k.zip.value;if(f!=""){Cookie.set("zipcode",f,{duration:365,path:"/"});userData.zipcode=f;Cookie.set("userdata",Json.toString(userData),{duration:365,path:"/"});getUserData();}saveDealerSearchCookie();var g="/hostd/getlocatedealersbasic.xml";var j=formData2QueryString(k);var h="displayDealerList(http_request[i])";linkTrack("preferred_dealer","find_a_dealer");makeRequest(g,j,h);return false;}function clearDealerKnownZip(){PortletFunctions.FindADealer.portClear();}function submitFindDealerKnownZip(){var e="/hostd/getlocatedealersbasic.xml";var f="displayDealerList(http_request[i])";var d=getDlocQueryString();if(d+=""){makeRequest(e,d,f);}else{showModuleState("default");}}function submitFindDealerNextZip(){var e="/hostd/getlocatedealersbasic.xml";var f="displayDealerListNext(http_request[i])";var d=getDlocQueryString();if(d+=""){makeRequest(e,d,f);}else{showModuleState("default");}}function getDlocQueryString(){var b="";if(dlocParams.zip||dlocParams.city||dlocParams.state||dlocParams.dealer){b+="&zip="+dlocParams.zip;b+="&city="+dlocParams.city;b+="&state="+dlocParams.state;b+="&dealername="+dlocParams.dealer;}else{if(userData.zipcode&&userData.zipcode!="undefined"){b+="&zip="+userData.zipcode;}else{b="";}}return b;}var myDealerPage=1;var StoreDealerLookup;var StoreDealerTemplate;var StoreDealerCount;function newDealerLookup(d){var c=$(d).value;if(c!=userData.zipcode){myDealerPage=1;userData.zipcode=c;dlocParams.zip=c;submitFindDealerKnownZip();if(c!=""){Cookie.set("zipcode",c,{duration:365,path:"/"});Cookie.set("userdata",Json.toString(userData),{duration:365,path:"/"});}saveDealerSearchCookie();}else{myDealerPage=myDealerPage+5;if(StoreDealerCount<myDealerPage){myDealerPage=1;}userData.zipcode=c;dlocParams.zip=c;submitFindDealerNextZip();}}function populateNextInterface(){document.getElementById("finddealer_zipCode_Entry").value=userData.zipcode;}function displayDealerListNext(b){displayDealerList(b);}function displayDealerList(n){if(dealerSearchXslt==null){loadXSL();}var o=xmlParse(n.responseText);StoreDealerLookup=o;StoreDealerTemplate=dealerSearchXslt;StoreDealerTemplate=StoreDealerTemplate.replace("$$__FirstDealer__$$","'"+myDealerPage+"'");StoreDealerTemplate=StoreDealerTemplate.replace("$$__LastDealer__$$","'"+(myDealerPage+4)+"'");var k=xmlParse(StoreDealerTemplate);var l=xsltProcess(StoreDealerLookup,k);StoreDealerCount=StoreDealerLookup.getElementsByTagName("dealer").length;if(l.indexOf("o-listing-row")!=-1){if(l.test("ERROR:")){var m=l.indexOf("ERROR:")+6;var h=l.indexOf("</div>",m);var j=l.substring(m,h);showModuleState("default");displayFindDealerError(j);}else{$("o-dealer-loc-zip").setHTML(l);populateNextInterface();showModuleState("zip");}}else{showModuleState("default");}}function checkDealerLoaded(b){if(dealerInfo.id==b){clearInterval(checkDealerLoadedInterval);populateMyDealer();populate_dealerInfo();showModuleState("dealer");}}function ownersSetPreferredDealer(b){dealerInfo.setPreferredDealer(b);setUserSegment();checkDealerLoadedInterval=setInterval("checkDealerLoaded("+b+")",1000);$("dealer_finder").setStyle("display","none");}function populateMyDealer(){hbx_dealer_name=dealerInfo.name.replace(/ /g,"_");$("o-my-vehicle-mast-title").setHTML("My Preferred Dealer");if(!dealerInfo.isFiveStar()){$("o-mydealer-fivestar").setStyle("display","none");$("o-mydealer-fivestar").name="&lpos=preferred_dealer&lid=five_star_layer_"+hbx_dealer_name;}$("o-mydealer-name").innerHTML=dealerInfo.name;$("o-mydealer-address").innerHTML=dealerInfo.address;$("o-mydealer-region").innerHTML=dealerInfo.city+", "+dealerInfo.state+"  "+dealerInfo.zipcode;$("o-mydealer-phone").innerHTML=dealerInfo.phone;if(dealerInfo.domainName!=""){$("o-mydealer-name").href="javascript:wrap('ext_url','"+dealerInfo.domainName+"','','');";}else{$("o-mydealer-name").href="javascript:wrap('dealer_site','dealerid="+dealerInfo.dealerID+"','','');";}$("o-mydealer-name").name="&lpos=preferred_dealer&lid=dealer_name_"+hbx_dealer_name;$("o-mydealer-map").setStyle("display","none");$("o-mydealer-hours").setStyle("display","none");$("o-mydealer-serviceappt").setStyle("display","none");if(dealerInfo.domainName!=""){$("o-mydealer-website").href="javascript:wrap('ext_url','"+dealerInfo.domainName+"','','');";}else{$("o-mydealer-website").href="javascript:wrap('dealer_site','dealerid="+dealerInfo.dealerID+"','','');";}$("o-mydealer-website").name="&lpos=preferred_dealer&lid=visit_dealer_website_"+hbx_dealer_name;$("o-mydealer-email").href=(dealerInfo.isFiveStar()?"javascript:doAPopUp('"+dealerInfo.contactusURL+"','no');":dealerInfo.contactusURL);$("o-mydealer-email").name="&lpos=preferred_dealer&lid=email_dealer_"+hbx_dealer_name;$("o-dealer-edit-preferred-dealer").name="&lpos=preferred_dealer&lid=edit_preferred_dealer_"+hbx_dealer_name;if($("o-parts-acs-dealer-state")){populatePartsAccessoriesDealer();}if($("o-dealer-service-dealer-state")){populateDealerServiceDealer();}if($("o-dealer-service-dealer-state")){PortletFunctions.nextVehicle.portRefresh();}}function reloadMyDealerForm(){showModuleState("default");}function populatePartsAccessoriesDealer(){$("o-parts-acs-dealer-name").innerHTML=dealerInfo.name;$("o-parts-acs-dealer-link").setStyle("display","none");if(dealerInfo.isFiveStar()){$("o-parts-acs-dealer-link").href=dealerInfo.sapURL;$("o-parts-acs-dealer-link").setStyle("display","none");}else{$("o-parts-acs-dealer-link").href=dealerInfo.URL;$("o-parts-acs-dealer-link").setStyle("display","none");}if(dealerInfo.isFiveStar()){$("o-getapartquote-link-knowndealer").href=dealerInfo.partsURL;$("o-getapartquote-link-knowndealer").setStyle("display","none");}else{$("o-getapartquote-link-knowndealer").href=dealerInfo.URL;$("o-getapartquote-link-knowndealer").setStyle("display","none");}$("o-parts-acs-dealer-state").setStyle("display","block");$("o-parts-acs-default-state").setStyle("display","none");}function populateDealerServiceDealer(){$("o-dealer-service-dealer-name").innerHTML=dealerInfo.name;$("o-dealer-service-dealer-name").setStyle("display","none");if(dealerInfo.isFiveStar()){$("o-dealer-service-dealer-link").href=dealerInfo.sapURL;$("o-dealer-service-dealer-link").setStyle("display","none");}else{$("o-dealer-service-dealer-link").href=dealerInfo.URL;$("o-dealer-service-dealer-link").setStyle("display","none");}$("o-dealer-service-dealer-state").setStyle("display","none");$("o-dealer-service-default-state").setStyle("display","none");}function loadXSL(){var c="/en/owners/xsl/dealersearch.xsl";var d="";if(dealerSearchXslt==null){makeRequest(c,d,"dealerSearchXslt=http_request[i].responseText");}}function formData2QueryString(e){var g="";var h;var f="";for(i=0;i<e.elements.length;i++){h=e.elements[i];switch(h.type){case"text":case"hidden":case"password":case"textarea":case"select-one":g+=h.name+"="+escape(h.value)+"&";break;case"radio":if(h.checked){g+=h.name+"="+escape(h.value)+"&";}break;case"checkbox":if(h.checked){if(h.name==f){if(g.lastIndexOf("&")==g.length-1){g=g.substr(0,g.length-1);}g+=","+escape(h.value);}else{g+=h.name+"="+escape(h.value);}g+="&";f=h.name;}break;}}g=g.substr(0,g.length-1);return g;}function redirectURL(d,c){if(c){doAPopUp(d,"no");}else{location.href=d;}}function showMoreDealers(){var b=getDlocQueryString();b=b.replace(/\&zip/g,"zipcode");wrap("cdl",b,"","");}function getMapAndDirections(c){var d="http://www."+brand_id+".com/vehsuite/Directions.jsp?dealerid="+c+"&amp;isDealerSite=true&amp;dealerBrand="+brand_id+"&amp;lang=en&amp;dealersitesPage=map&amp;availableBrands=D&amp;adid=u&amp;pid=u&amp;rid=";redirectURL(d,false);}
