var _dealerlocate=Class.create();TMSSite.i18n.en.dealerlocate={_links:{contact:"/dealers/contact.html",details:"/dealers/details.html",search:"/dealers/"},_services:{PABOG:"Board of Governors Award",PACAB:"President's Cabinet Award",PA:"President's Award",CUV:"Certified Used Vehicles",TPC:"Toyota Parts Center",TCCC:"Toyota Certified Collision Center",EL:"Express Lube",TRAC:"Toyota Rent A Car",TTC:"Toyota Tire Center",FTED:"Fleet T.E.D. Dealer",SS:"Spanish-Speaking",SC:"Signature Certified",PPSAL:"Prius Plug-in Dealer"},_errorMsg:{nosearch:"In order to search, you must enter at least Zip Code or a combination of Zip Code, City, State or Dealer Name",noResponse:"Sorry, we were unable to connect to the server.  Please try your search again later.",badResponse:"Sorry, we were unable to communicate with the server.  Please try your search again later.",searchExcepted:"Exception error.",addressBlank:"Please enter a starting address",addressInvalid:"Invalid address"},_formRules:{zip:"Use Zip",city:"Use City",dealer:"Use Dealer"},_formRulesErrors:{zip:"You must enter five numeric digits in the Zip Code field.",state:"A State must be selected when searching by City",city:"A City must be selected when searching by City",dealer:"A Dealer must be selected when searching by Preferred Dealer",dealerState:"A State must be selected when searching by Preferred Dealer"},market:"GM",location:"tcom",pageName:"Dealer Locator",pageNameSelectVehicle:"Select Vehicle",pageNameResults:"Search Results",pageNameList:"List View",pageNameMap:"Map View",pageNamePrint:"Print",pageNameAdvanced:"Advanced Search",pageNameGoToAdvanced:"Go to Advanced Search",pageNameServices:"Services",pageNameRefine:"Refine Results",pageNameOutside:"Dealer(s) Outside the US",pageNameMore:"More Dealers",pageNameSearchZip:"Search by Zip Code",pageNameSearchCity:"Search by City",pageNameSearchDealer:"Search by Dealer Name",pageNameDealersSearch:"Toyota Dealer Locator Search",pageNameDealers:"Toyota dealers",pageNameDirections:"Get Directions",pageNameContact:"Contact this Dealer",pageNameDetails:"Dealership Details",pageNameName:"Dealer Name",pageLabelFound:"We found",pageLabelWith:"with your search criteria.",pageLabelDealersNear:"Dealer(s) near",pageLabelDealersNamed:"Dealer(s) named",pageLabelNear:"near",pageLabelNamed:"named",pageLabelToyota:"Toyota",pageLabelDealers:"Dealer(s)",pageLabelMore:"show more dealers&nbsp;",pageLabelDealerFound:"Total Dealer(s) Found",pageLabelDealersFound:"Total Dealer(s) Found",pageLabelDirectionReverse:"Reverse Directions",pageLabelDirectionTo:"To Dealership",pageLabelDirectionAway:"Away",pageLabelDistance:"Distance",pageLabelTime:"Time",pageLabelOf:"OF",pageLabelIn:"in",pageTitleDealersSearch:"Toyota Dealer Locator Advanced Search",pageTitleDealersAdvancedSearch:"Toyota Dealer Locator Search",pageTitleResults:"Search Results",pageLabelMile:"mile(s)",pageLabelHours:"hour(s)",pageLabelGo:"go",pageLabelLinkDealerMapDirections:"Map &amp; Driving Directions",pageLabelLinkDealerCertifiedVehicles:"Search Certified Used Inventory",pageLabelLinkDealerWebsite:"Visit Dealer Website"};TMSSite.i18n.load("dealerlocate");_dealerlocate.prototype={_dl_id:"dealer_locate",_links:{contact:TMSSite.i18n[TMSSite.lang].dealerlocate._links.contact,details:TMSSite.i18n[TMSSite.lang].dealerlocate._links.details,search:TMSSite.i18n[TMSSite.lang].dealerlocate._links.search},_searchPages:$A(),_searchLink:"/toyotaSite/dealerLocator/locateDealers.do",_services:{PABOG:TMSSite.i18n[TMSSite.lang].dealerlocate._services.PABOG,PACAB:TMSSite.i18n[TMSSite.lang].dealerlocate._services.PACAB,PA:TMSSite.i18n[TMSSite.lang].dealerlocate._services.PA,CUV:TMSSite.i18n[TMSSite.lang].dealerlocate._services.CUV,TPC:TMSSite.i18n[TMSSite.lang].dealerlocate._services.TPC,TCCC:TMSSite.i18n[TMSSite.lang].dealerlocate._services.TCCC,EL:TMSSite.i18n[TMSSite.lang].dealerlocate._services.EL,TRAC:TMSSite.i18n[TMSSite.lang].dealerlocate._services.TRAC,TTC:TMSSite.i18n[TMSSite.lang].dealerlocate._services.TTC,FTED:TMSSite.i18n[TMSSite.lang].dealerlocate._services.FTED,SS:TMSSite.i18n[TMSSite.lang].dealerlocate._services.SS,SC:TMSSite.i18n[TMSSite.lang].dealerlocate._services.SC,PPSAL:TMSSite.i18n[TMSSite.lang].dealerlocate._services.PPSAL},_errorMsg:{nosearch:TMSSite.i18n[TMSSite.lang].dealerlocate._errorMsg.nosearch,noResponse:TMSSite.i18n[TMSSite.lang].dealerlocate._errorMsg.noResponse,badResponse:TMSSite.i18n[TMSSite.lang].dealerlocate._errorMsg.badResponse,searchExcepted:TMSSite.i18n[TMSSite.lang].dealerlocate._errorMsg.searchExcepted},_map:null,_pinarray:[],_dealernum:null,_newSearch:false,_pma:false,_defaultRange:100,_pushpin:"<div class='dealer_pin'>#{pushpin}</div>",_mapDealerListBG:"#e8e8e8",_mapDealerListBGSelected:"#ffffff",_historyCount:0,_historyData:{},_historyPage:"page",_isHistory:false,_isSearchWithURLParams:false,_isSearchByOnClick:false,getSearchType:function(){if($F("dl_zipcode_zip")!=$("dl_zipcode_zip").defaultValue){return"zip"}else{if((!($F("dl_city")===""||$F("dl_city")==$("dl_city").defaultValue)||$F("dl_state_city")!=="")){return"city"}else{if(($F("dl_dealer_name")!==$("dl_dealer_name").defaultValue||$F("dl_state_dealer")!=="")){return"dealer"}else{if($("search_gadget_zipcode_zip")){return"zip"}else{return""}}}}},_formRulesErrors:[{owner:"zip",rule:function(){return(TMSSite._isZip($F("dl_zipcode_zip"))||TMSSite.dealerlocate._searchType!="zip")},error:TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.zip},{owner:"city",rule:function(){return($F("dl_state_city")!==""||TMSSite.dealerlocate._searchType!="city")},error:TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.state},{owner:"city",rule:function(){return($F("dl_city")!=$("dl_city").defaultValue||TMSSite.dealerlocate._searchType!="city")},error:TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.city},{owner:"dealer",rule:function(){return($F("dl_dealer_name")!=$("dl_dealer_name").defaultValue||TMSSite.dealerlocate._searchType!="dealer")},error:TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.dealer},{owner:"dealer",rule:function(){return($F("dl_state_dealer")!==""||TMSSite.dealerlocate._searchType!="dealer")},error:TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.dealerState}],initialize:function(){this._lang=TMSSite.i18n[TMSSite.lang].dealerlocate;if(window.location.hash!==""){window.location.hash="#start"}dhtmlHistory.initialize();if(!Prototype.Browser.WebKit){dhtmlHistory.addListener(this.history)}this._dealerListEl=$("dealer_list_content");this._dealerListTemplate=new Template(this._dealerListEl.innerHTML.bracketReplace());this._dealerMapInfoTemplate=new Template($("dealer_map_info_template").innerHTML.bracketReplace());this._dealerMapListingTemplate=new Template($("dealer_map_listings").select(".dealer_map_listing")[0].innerHTML.bracketReplace());this._dealerMapStartTemplate=new Template($("dealer_map_start").innerHTML.bracketReplace());this._dealerMapEndTemplate=new Template($("dealer_map_end").innerHTML.bracketReplace());$("dealer_map_listings").select(".dealer_map_listing")[0].remove();this._dealerListEl.update("");$("dealer_map_start").update("");$("dealer_map_end").update("");TMSSite.loadLibrary("formvalidate");this._validateZip=new TMSSite.formvalidate($(this._dl_id),this._formRulesErrors);$$("input[type='text']").each(function(A){TMSSite.clickClean(A)});$$(".list_view").each(function(A){Event.observe(A,"click",function(){this.listView()}.bind(this));if(A.href){A.href="javascript:void(null);"}}.bind(this));$$(".map_view").each(function(A){Event.observe(A,"click",function(){this.mapView()}.bind(this));if(A.href){A.href="javascript:void(null);"}}.bind(this));$$(".results_view_button").each(function(A){Event.observe(A,"click",function(){this.resultsView()}.bind(this));if(A.href){A.href="javascript:void(null);"}}.bind(this));$$(".advanced_search_link").each(function(A){A.href="javascript:void(null)";Event.observe(A,"click",function(B){Event.stop(B);var C=(this.searchParams.dl_current_view=="map")?this._lang.pageNameMap:this._lang.pageNameList;TMSSite.analytics.sendTrackingLink({linkTrackName:this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_goto_advanced",properties:{"7":TMSSite.getZip(),"46":this._lang.market+":"+this._lang.pageName+":"+C+":"+this._lang.pageNameGoToAdvanced},events:"event4",eventVars:{"3":this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_goto_advanced"},linkTrackEvents:"event4",linkTrackVars:"events,prop7,prop46,eVar3",linkTrackType:"o"});this.gadgetToForm()}.bind(this))}.bind(this));$$(".dl_clear_search").each(function(A){Event.observe(A,"click",function(){document.forms.dealer_locate.reset()}.bind(this));if(A.href){A.href="javascript:void(null);"}}.bind(this));$$(".form_find_a_dealer").each(function(A){Event.observe(A,"mouseover",function(){this.src=TMSSite.i18n[TMSSite.lang].rootPath+"/img/dealers/btn_find_a_dealer_over.gif"}.bind(A));Event.observe(A,"mouseout",function(){this.src=TMSSite.i18n[TMSSite.lang].rootPath+"/img/dealers/btn_find_a_dealer.gif"}.bind(A))});Event.observe(this._dl_id,"submit",function(A){this._isSearchByOnClick=true;Event.stop(A);$("page_num").value=1;this._pma=($("content_search").hasClassName("advanced_search"));this.search();return false}.bind(this));Event.observe("zip_search_list_form","submit",function(A){Event.stop(A);$("page_num").value=1;$("dl_zipcode_zip").value=$("search_gadget_zipcode_zip_map").value;this._pma=true;this.search();return false}.bind(this));Event.observe("zip_search_again_form","submit",function(A){Event.stop(A);if(TMSSite._isZip($F("search_gadget_zipcode_zip"))){$("page_num").value=1;$("dl_zipcode_zip").value=$("search_gadget_zipcode_zip").value;this._pma=true;this.search();return false}else{$("dealer_search_error").update(TMSSite.i18n[TMSSite.lang].dealerlocate._formRulesErrors.zip).show()}}.bind(this));Event.observe("dl_zipcode_zip","focus",function(){$("dl_city").value=$("dl_city").defaultValue;$("dl_state_city").selectedIndex=0;$("dl_dealer_name").value=$("dl_dealer_name").defaultValue;$("dl_state_dealer").selectedIndex=0});Event.observe("dl_range_zip","focus",function(){$("dl_city").value=$("dl_city").defaultValue;$("dl_state_city").selectedIndex=0;$("dl_dealer_name").value=$("dl_dealer_name").defaultValue;$("dl_state_dealer").selectedIndex=0});Event.observe("dl_city","focus",function(){$("dl_zipcode_zip").value=$("dl_zipcode_zip").defaultValue;$("dl_dealer_name").value=$("dl_dealer_name").defaultValue;$("dl_state_dealer").selectedIndex=0});Event.observe("dl_state_city","focus",function(){$("dl_zipcode_zip").value=$("dl_zipcode_zip").defaultValue;$("dl_dealer_name").value=$("dl_dealer_name").defaultValue;$("dl_state_dealer").selectedIndex=0});Event.observe("dl_range_city","focus",function(){$("dl_zipcode_zip").value=$("dl_zipcode_zip").defaultValue;$("dl_dealer_name").value=$("dl_dealer_name").defaultValue;$("dl_state_dealer").selectedIndex=0});Event.observe("dl_dealer_name","focus",function(){$("dl_zipcode_zip").value=$("dl_zipcode_zip").defaultValue;$("dl_city").value=$("dl_city").defaultValue;$("dl_state_city").selectedIndex=0});Event.observe("dl_state_dealer","focus",function(){$("dl_zipcode_zip").value=$("dl_zipcode_zip").defaultValue;$("dl_city").value=$("dl_city").defaultValue;$("dl_state_city").selectedIndex=0});$$(".print_page").each(function(A){Event.observe(A,"click",function(){TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameList+":"+this._lang.pageNamePrint,"7":TMSSite.getZip()},eventVars:{"3":this._lang.location+"_dl_listview_print_page"},linkTrackVars:"prop46,prop7,eVar3,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_listview_print_page"})}.bind(this))}.bind(this));$$("#services_list a").each(function(A){Event.observe(A,"click",function(C,B){if(B.innerHTML=="Toyota Rent A Car"){TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameServices+":TRAC"},eventVars:{"3":this._lang.location+"_dl_services_trac"},linkTrackVars:"prop46,eVar3,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"e",linkTrackName:this._lang.location+"_dl_services_trac"})}else{TMSSite.analytics.sendEvent({pageName:this._lang.market+":All Vehicles:"+this._lang.pageName+":"+this._lang.pageNameServices+":"+this._lang.pageNameList+":"+B.text})}}.bindAsEventListener(this,A))}.bind(this));Event.observe("refine_search_btn","click",function(){console.debug("clicked refine search buttons");var B=$(TMSSite.dealerlocate._dl_id).serialize(true).dl_services;if($$("#"+TMSSite.dealerlocate._dl_id+" input[name=dl_services]").findAll(function(D){return D.checked}).length<=1){B=[B]}var C="";for(var A=0;A<B.length;A++){C+=TMSSite.dealerlocate._services[B[A]]+", "}TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameList+":"+this._lang.pageNameRefine,"7":TMSSite.getZip()},eventVars:{"3":this._lang.location+"_dl_listview_refine_results"},linkTrackVars:"prop46,prop7,eVar3,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_listview_refine_results"})}.bind(this));Event.observe("non_unitedstates_link","click",function(){TMSSite.analytics.sendTrackingLink({linkTrackType:"e",linkTrackVars:"prop46",properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameOutside},linkTrackName:this._lang.location+"_dealer_locator_dealers_outside_of_US"})}.bind(this));if($("promo_lnk")){$("promo_lnk").observe("click",function(){TMSSite.analytics.sendTrackingLink({properties:{"7":TMSSite.getZip()},eventVars:{"3":((TMSSite.i18n[TMSSite.lang].pageName=="GM")?"Tcom":"Esp")+"_NoVehicle_Dealerlocator"},linkTrackVars:"prop7,eVar3",linkTrackType:"o",linkTrackName:((TMSSite.i18n[TMSSite.lang].pageName=="GM")?"Tcom":"Esp")+"_NoVehicle_Dealerlocator"})}.bind(this))}if(Prototype.Browser.IE6){$$(".submit_text").each(function(A){Event.observe(A,"mouseover",function(){this.addClassName("submit_text_hover")}.bind(A));Event.observe(A,"mouseout",function(){this.removeClassName("submit_text_hover")}.bind(A))})}Event.observe("search_gadget_zipcode_zip","change",function(){$("search_gadget_zipcode_zip_map").value=$("search_gadget_zipcode_zip").value});Event.observe("search_gadget_zipcode_zip_map","change",function(){$("search_gadget_zipcode_zip").value=$("search_gadget_zipcode_zip_map").value});document.dealer_locate.action="javascript:void(null);";if(location.href.indexOf("?")>0){this._isHistory=true;this.search(true)}else{$("tabs").setStyle({visibility:"visible"})}if(!this._isSearchWithURLParams){$("content_search").setStyle({visibility:"visible"});$("tabs").setStyle({visibility:"visible"});TMSSite.analytics.set({pageName:this._lang.market+":No Vehicles:"+this._lang.pageName+":"+this._lang.pageNameAdvanced,properties:{"32":"Lower"}});TMSSite.analytics.sendPageView();TMSSite.doubleClick("TT");TMSSite.doubleClick("TQ")}},history:function(B,A){if(TMSSite.dealerlocate&&!TMSSite.dealerlocate._isHistory){TMSSite.dealerlocate._isHistory=true;if(A!==null){if(A.dl_current_view=="form"){TMSSite.dealerlocate.gadgetToForm()}else{TMSSite.dealerlocate.searchParams=A;TMSSite.dealerlocate.page()}}else{if(location.href.indexOf("?")>0){TMSSite.dealerlocate.searchParams={};TMSSite.dealerlocate.search(true)}else{TMSSite.dealerlocate.gadgetToForm()}}}},historyBookmark:function(){if(!this._isHistory){dhtmlHistory.add(this._historyPage+(++this._historyCount),Object.clone(this.searchParams))}this._isHistory=false},formToGadget:function(){$$(".advanced_search").each(function(A){A.removeClassName("advanced_search");A.addClassName("advanced_search_gadget")});$("dealerlocater_search").select(".search_type").each(function(A){A.removeClassName("selected")})},gadgetToForm:function(){document.title=this._lang.pageTitleDealersAdvancedSearch;TMSSite.analytics.set({pageName:this._lang.market+":No Vehicles:"+this._lang.pageName+":"+this._lang.pageNameAdvanced,properties:{"32":"Lower"}});TMSSite.analytics.sendPageView();this.historyBookmark();$("dl_search_params").show();$("dealer_map").hide();$("dealer_list").show();$("dealer_map_listings").hide();$("dealer_driving_directions").hide();$("zip_search_list").hide();var A=$$(".advanced_search_gadget");if(A.length>0){A.each(function(B){B.addClassName("advanced_search");B.removeClassName("advanced_search_gadget")})}$("dealer_search_error").hide()},searchAll:function(A){this._pma=false;this._searchPages=[];var B=(this.searchParams.dl_current_view=="map")?this._lang.pageNameMap:this._lang.pageNameList;TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+B+":"+this._lang.pageNameMore,"7":TMSSite.getZip()},eventVars:{"3":this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_more_dealers"},linkTrackVars:"prop46,prop7,eVar3,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_more_dealers"});this.page(1)},search:function(I){var F=false,E=Object.clone(this.searchParams);$("dealer_list_nodealers").hide();$("dealer_search_error").hide();if(I){this._pma=true;var K=location.href.replace(/\+/g," ").toQueryParams();if(K.siteid&&(K.length==1)){$("content_search").setStyle({visibility:"visible"});return}if(!K.dl_current_view){K.dl_current_view="list"}if(!K.page_num){K.page_num=1;document.forms[this._dl_id].page_num.value=1}if(K.zip){var A=$H({dl_zipcode_zip:K.zip});if(K.range){A.set(dl_range_zip,K.range)}K=A}if(K.range){A.set(dl_range_zip,K.range);K=A}if(K.searchParams){var B=K.dealerid;K=$H(K.searchParams.evalJSON(true));K.set("dealerCode",B);this._pma=K.pmaExclusive||false}document.forms[this._dl_id].reset();$H(K).each(function(N){var L=document.forms[this._dl_id];if(N.key=="dl_state_city"){N.value=validateStateParam(N.value)}if(L&&L[N.key]){var M=L[N.key];if(!M.type&&M.length){for(x=0;x<L[N.key].length;x++){if(L[N.key][x].type=="checkbox"){L[N.key][x].checked=N.value.indexOf(L[N.key][x].value)>-1?true:false}else{L[N.key][x].value=N.value[x]}}}if(M.type=="checkbox"){M.checked=N.value==M.value?true:false}else{if(M.type=="select-one"){$H(M.options).each(function(O){var P=O.value;if(P!=null&&typeof(P.value)=="string"){if(P.value==N.value||validateStateParam(P.value)==N.value){P.selected=true}}})}else{M.value=N.value}}}}.bind(this));F=K.get("dealerCode")}var C=$(this._dl_id).serialize(true);if(F){C.dealerCode=F}var J=this.getSearchType();var G=(J.length>0)?J:(!isNaN(parseInt(C.dealerCode,10)))?"dealerid":null;revertSearch=function(){if($("content_search").hasClassName("advanced_search_gadget")){this.searchParams=$H(E);this.searchParams.each(function(L){if(document.forms[this._dl_id]&&document.forms[this._dl_id][L.key]){document.forms[this._dl_id][L.key].value=L.value}}.bind(this))}}.bind(this);if(G===null&&this._isSearchByOnClick){$("dealer_search_error").innerHTML=this._errorMsg.nosearch;$("dealer_search_error").show();revertSearch()}else{if(G!=null){var H=this._searchType;this._searchType=G;var D=this._validateZip.validate(null);if(D.length>0){$("dealer_search_error").update(D[0].error).show();this._searchType=H;revertSearch();return}this._searchPages=$A();this.searchParams=C;this.page()}}return false},page:function(C){$("dealer_search_error").hide();this._newSearch=true;var E="locate";if(this.searchParams.page_num<1&&(typeof C=="undefined"||C<1)&&!this._isHistory){this.searchParams.page_num=1}if(this._isHistory){$("page_num").value=this.searchParams.page_num}else{if(C){this.searchParams.page_num=C;$("page_num").value=C}else{$("page_num").value=1}}if(this._searchPages[this.searchParams.page_num]){this.pageBuild()}else{var A=this._validateZip.validate(null);if(A.length>0){$("dealer_search_error").update(A[0].error).show();return}this.searchParamsAjax={services:this.searchParams.dl_services,responseType:"JS",dealersPerPage:this.searchParams.page_size,requestedPageNum:this.searchParams.page_num,method:E};if(this._searchType=="zip"){this.searchParamsAjax.locationBy="zipCode";this.searchParamsAjax.zipCode=$F("dl_zipcode_zip");this.searchParamsAjax.radius=($F("dl_range_zip"))?$F("dl_range_zip"):null;this.searchParamsAjax.pmaExclusive=this._pma;TMSSite.setZip(this.searchParamsAjax.zipCode);if(this._pma){TMSSite.analytics.sendTrackingLink({linkTrackName:this._lang.location+"_dealer_locator_"+this._lang.pageNameSearchZip.toLowerCase().replace(" ","_"),properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameSearchZip},eventVars:{"3":this._lang.location+"_dealer_locator_"+this._lang.pageNameSearchZip.toLowerCase().replace(" ","_")},linkTrackType:"o",linkTrackVars:"prop46,eVar3"})}}if(this._searchType=="city"){this.searchParamsAjax.locationBy="city";this.searchParamsAjax.city=$F("dl_city");this.searchParamsAjax.state=$F("dl_state_city");this.searchParamsAjax.radius=$F("dl_range_city");this.searchParamsAjax.pmaExclusive=false;if(this._pma){TMSSite.analytics.sendTrackingLink({linkTrackName:this._lang.location+"_dealer_locator_"+this._lang.pageNameSearchCity.toLowerCase().replace(" ","_"),properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameSearchCity},linkTrackType:"o",linkTrackVars:"prop46"})}this._pma=false}if(this._searchType=="dealer"){this.searchParamsAjax.locationBy="dealerName";this.searchParamsAjax.dealerName=$F("dl_dealer_name");this.searchParamsAjax.state=$F("dl_state_dealer");this.searchParamsAjax.pmaExclusive=false;if(this._pma){TMSSite.analytics.sendTrackingLink({linkTrackName:this._lang.location+"_dealer_locator_"+this._lang.pageNameSearchDealer.toLowerCase().replace(" ","_"),properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameSearchDealer},linkTrackType:"o",linkTrackVars:"prop46"})}this._pma=false}if(this._searchType=="dealerid"){this.searchParamsAjax={method:"dealerDetail",locationBy:"dealerCode",dealerCode:$F("dealerCode"),pmaExclusive:false};this._pma=false}this.showLoading();var D=(this.searchParams.dl_current_view=="map")?this._lang.pageNameMap:this._lang.pageNameList;var B={pageName:this._lang.pageName+":"+this._lang.pageNameResults+":"+D,products:""};if((this._searchType=="zip"&&this._pma||this._searchType=="city")&&!C){B.events="event2";B.properties={"7":this.searchParamsAjax.zipCode}}TMSSite.doubleClick("TT");TMSSite.doubleClick("TQ");new Ajax.Request(this._searchLink,{method:"get",parameters:this.searchParamsAjax,onSuccess:this.pageBuild.bind(this,B),onFailure:function(){$("dealer_search_error").innerHTML=this._errorMsg.noResponse;$("dealer_search_error").show();this.hideLoading()}.bind(TMSSite.dealerlocate)})}},showLoading:function(){var B=$("content").getDimensions();$("content").addClassName("fade");var A=$("search_loading");A.clonePosition($("content"),{setWidth:true,setHeight:true});$("tabs").setStyle({visibility:"hidden"});A.show()},hideLoading:function(){$("search_loading").hide();$("content").removeClassName("fade");$("content_search").setStyle({visibility:"visible"});$("tabs").setStyle({visibility:"visible"})},pageBuild:function(analyticsEvent,ajaxObj){this._isSearchWithURLParams=true;if(ajaxObj){try{var resp=ajaxObj.responseText.toString().split("&#39;").join("&acute;");eval("this._searchPages["+this.searchParams.page_num+"] = "+resp+";")}catch(e){$("dealer_search_error").innerHTML=this._errorMsg.badResponse;$("dealer_search_error").show();this.hideLoading();return}}this.dealersList=this._searchPages[this.searchParams.page_num];for(var i=0;i<this.dealersList.dealer.length;i++){this.dealersList.dealer[i].dealernum=(this.searchParams.page_num-1)*this.searchParams.page_size+1+i;if(analyticsEvent){analyticsEvent.products+=";"+this.dealersList.dealer[i].dealerid}}if(analyticsEvent){}var numDealers=parseInt(this.dealersList.numDealer,10);this.searchParams.dealer_count=numDealers;var dealerCount=this._lang.pageLabelFound+": <b>"+numDealers+" "+this._lang.pageLabelToyota+" "+this._lang.pageLabelDealers+"</b>";var dlTitle=this._lang.pageTitleDealersSearch+":"+this._lang.pageTitleResults+" : ";if(numDealers===0&&this.dealersList.redirect&&this.dealersList.redirect.url){TMSSite.extlink.display(this.dealersList.redirect.url);this.gadgetToForm();this.hideLoading();return}if(numDealers===0&&this._pma){this._searchPages=[];this._pma=false;this.page();this.hideLoading();return}if(numDealers<=0){this.listView();$("dealer_search_results_header").innerHTML='<h1 id="dealer_view_count">'+dealerCount+" "+this._lang.pageLabelWith+".</h1>";$("dealer_list_nodealers").show();$("dealer_list").hide()}else{$("dealer_list").show();if(this._searchType=="zip"){dealerCount+=" "+this._lang.pageLabelNear+' <b>"'+this.searchParams.dl_zipcode_zip+'"</b>';document.title=dlTitle+this._lang.pageLabelDealersNear+" "+this.searchParams.dl_zipcode_zip}if(this._searchType=="city"){dealerCount+=" "+this._lang.pageLabelNear+' <b>"'+this.searchParams.dl_city+", "+this.searchParams.dl_state_city+'"';document.title=dlTitle+this._lang.pageLabelDealersNear+" "+this.searchParams.dl_city}if(this._searchType=="dealer"){dealerCount+=" "+this._lang.pageLabelNamed+' <b>"'+this.searchParams.dl_dealer_name+" "+this._lang.pageLabelIn+" "+this.searchParams.dl_state_dealer+'"';document.title=dlTitle+this._lang.pageLabelDealersNamed+" "+this.searchParams.dl_dealer_name}$("dealer_search_results_header").innerHTML='<h1 id="dealer_view_count">'+dealerCount+"</h1>";var dealersText,classAction;if(this._pma){classAction="addClassName";dealersText=(this.dealersList.totalNumDealer>1)?'<a href="javascript:TMSSite.dealerlocate.searchAll();" class="more_dealers">'+this._lang.pageLabelMore+"</a>":"";dealersText+='<span class="dealer_count">'+this.dealersList.totalNumDealer+" "+(numDealers==1?this._lang.pageLabelDealerFound:this._lang.pageLabelDealersFound)+"</span>"}else{classAction="removeClassName";dealersText='<span class="dealer_count">'+((this.searchParams.page_num-1)*this.searchParams.page_size+1)+"-";dealersText+=((this.searchParams.page_num*this.searchParams.page_size)>this.dealersList.numDealer)?this.dealersList.numDealer:(this.searchParams.page_num*this.searchParams.page_size);dealersText+=" "+this._lang.pageLabelOf+" "+this.dealersList.numDealer;dealersText+='</span><span class="pager_buttons">';if(parseInt(this.searchParams.page_num,10)>1){dealersText+="<a href='javascript:TMSSite.dealerlocate.page("+(parseInt(this.searchParams.page_num,10)-1)+");' class='pager_prev'></a>"}if(Math.ceil(this.dealersList.numDealer/this.searchParams.page_size)>this.searchParams.page_num){dealersText+="<a href='javascript:TMSSite.dealerlocate.page("+(parseInt(this.searchParams.page_num,10)+1)+");' class='pager_next'></a>"}dealersText+="</span>"}$$(".dealer_list_pager").each(function(cell){cell.innerHTML=this;cell[classAction]("pma")}.bind(dealersText));this._dealerListEl.update("");$A(this.dealersList.dealer).each(function(dealer){dealer.namesafe=(dealer.name)?dealer.name.gsub("'","").gsub("&#39;",""):"";dealer.phone_formatted=(dealer.phone!=null&&dealer.phone!="null"&&typeof dealer.phone!="undefined")?dealer.phone:"";dealer.address=dealer.address1;dealer.address+=(dealer.address2!=="")?"<br />"+dealer.address2:"";dealer.services_list="<ul>";dealer.services_list_compact="";var _theServices=["PABOG","PACAB","PA","CUV","TPC","TCCC","EL","TRAC","TTC","FTED","SS","SC","PPSAL"];var _clone=[null,null,null,null,null,null,null,null,null,null,null,null,null];for(var k in dealer.services){for(var x=0;x<13;x++){if(_theServices[x]==dealer.services[k]){_clone[x]=dealer.services[k]}}}dealer.services=_clone;for(var key in dealer.services){if(dealer.services[key]!=null){if(this._services[dealer.services[key]]){dealer.services_list+="<li>"+this._services[dealer.services[key]]+"</li>";dealer.services_list_compact+='<a href="javascript:TMSSite.dealerservices.overlays.'+dealer.services[key]+'.show();">'+this._services[dealer.services[key]]+"</a>, "}}}var urlCertifiedVehicles="http://www.toyotacertified.com/inventory/index.html?language=E&SearchDealerCode="+dealer.dealerid+"&SearchZipCode="+TMSSite.getZip()+"&dealerName="+dealer.namesafe+"&dealerCity="+dealer.city+"&dealerState="+dealer.state+"&dealerZip="+dealer.zip+"&siteid=tcom_dl_dealership_details_quicklinks_localspecials";if("GM"!=this._lang.market){urlCertifiedVehicles="/espanol/used/results.html?language=E&SearchDealerCode="+dealer.dealerid+"&SearchZipCode="+TMSSite.getZip()+"&dealerName="+dealer.namesafe+"&dealerCity="+dealer.city+"&dealerState="+dealer.state+"&dealerZip="+dealer.zip+"&siteid="+this._lang.location+"_dl_dealership_details_quicklinks_localspecials"}dealer.dealer_mapdirections_link='<a class="driving_link" href="javascript:TMSSite.dealerlocate.mapView(\''+dealer.dealerid+"');\" onclick=\"TMSSite.analytics.sendTrackingLink({ properties: { '20': '"+dealer.namesafe+"', '16': '"+dealer.dealerid+"', '46': '"+this._lang.market+":Dealer Locator:List View:Maps & Directions', '7': TMSSite.getZip()}, eventVars: {'3': '"+this._lang.location+"_dl_listview_maps_directions'}, linkTrackName: '"+this._lang.location+"_dl_listview_maps_directions', events: 'event4', 'linkTrackEvents': 'event4', 'linkTrackVars': 'events,products,prop20,prop16,prop46,eVar15,eVar3',products: ';"+dealer.dealerid+"', 'linkTrackType': 'o' });\">"+this._lang.pageLabelLinkDealerMapDirections+"</a>";dealer.dealer_certifiedvehicles_link='<a href="'+urlCertifiedVehicles+"\" onclick=\"TMSSite.analytics.sendTrackingLink({ properties: { '20': '"+dealer.namesafe+"', '16': '"+dealer.dealerid+"', '46': '"+this._lang.market+":Dealer Locator:List View:Search TCUV Inventory', '7': TMSSite.getZip()}, eventVars: {'3': '"+this._lang.location+"_dl_listview_search_tcuv_inventory'}, linkTrackName: '"+this._lang.location+"_dl_listview_search_tcuv_inventory', events: 'event4', 'linkTrackEvents': 'event4', 'linkTrackVars': 'events,products,prop20,prop7,prop16,prop46,eVar15,eVar3',products: ';"+dealer.dealerid+"', 'linkTrackType': 'e' });\" target=\"_blank\">"+this._lang.pageLabelLinkDealerCertifiedVehicles+"</a>";if(dealer.url!=""){dealer.dealer_website_link="<a href='"+dealer.url+"' target=\"_blank\" onClick=\"TMSSite.analytics.sendTrackingLink({  properties: { '20':'"+dealer.name+"', '16':'"+dealer.dealerid+"', '46': '"+this._lang.market+":Dealer Locator:List View:Dealer Website', '7': TMSSite.getZip() }, events: 'event8,event4', products: ';"+dealer.dealerid+" ', eventVars: { '3': '"+this._lang.location+"_dl_listview_dealer_website'}, linkTrackVars: 'products,events,prop16,prop20,prop46,eVar15,eVar3,prop7', linkTrackEvents: 'event8,event4', linkTrackName: '"+this._lang.location+"_dl_listview_dealer_website', 'linkTrackType': 'e'  });\">"+this._lang.pageLabelLinkDealerWebsite+"</a>"}dealer.services_list_compact=dealer.services_list_compact.replace(/,\s$/g,"");dealer.services_list+="</ul>";dealer.distance_display=(dealer.distance=="")?' style="display: none;"':"";dealer.searchZip=TMSSite.getZip()||dealer.zip;var dealerListHTML=this._dealerListTemplate.evaluate(dealer);if($("dealer_list_content").select("tr").length%2==1){dealerListHTML=dealerListHTML.replace(/row_odd/g,"row_even")}$(this._dealerListEl).insert({bottom:dealerListHTML})}.bind(this))}if(this.searchParams.dl_current_view=="map"){this.mapView()}else{this.listView()}},mapView:function(H,I){$("dl_current_view").value="map";this.searchParams.dl_current_view="map";this.historyBookmark();this.formToGadget();if(this.dealersList.numDealer<=0){this.hideLoading();return}$("list_button").removeClassName("selected");$("map_button").addClassName("selected");$("dealer_list").hide();$("dealer_driving_directions").hide();$("dealer_map").show();$("dealer_search_results_header").show();$("results_button").hide();$("dealer_directions_gadget").hide();$("dealer_search_results_header").show();$("dl_search_params").hide();$("zip_search_list").hide();$$(".directions_error").each(function(K){K.hide()});if(this._map===null){this._map=new VEMap("dealer_map");this._map.SetCredentials("AgC8SB_J6i6o-Nghv5UBuksRIBTNBswzBz8cDHcBbSxXutHrFmXFhsOVjDk_z6gd");this._map.LoadMap()}if(this._newSearch){this._newSearch=false;this.clearDirections();this._map.DeleteAllShapes();var B=[];$("dealer_map_listings").select(".dealer_map_listing").each(function(K){$(K).remove()});var A=$("dealer_map_listings").select(".dealer_list_pager")[0];for(var C=0;C<this.dealersList.dealer.length;C++){this.dealersList.dealer[C].idx=C;B[C]=new VELatLong(parseFloat(this.dealersList.dealer[C]["lat"],10),parseFloat(this.dealersList.dealer[C]["long"],10));var E=new VEShape(VEShapeType.Pushpin,B[C]);E.SetCustomIcon(this._pushpin.replace("#{pushpin}",this.dealersList.dealer[C].dealernum));E.SetTitle('<h3 class="dealer_pin_header">'+this._lang.pageLabelToyota+"</h3>");E.SetDescription(this._dealerMapInfoTemplate.evaluate(this.dealersList.dealer[C]));this._map.AddShape(E);this.dealersList.dealer[C].namesafe=(this.dealersList.dealer[C].name)?this.dealersList.dealer[C].name.gsub("'","").gsub("&#39;",""):"";var G="http://www.toyotacertified.com/inventory/index.html?language=E&SearchDealerCode="+this.dealersList.dealer[C].dealerid+"&SearchZipCode="+TMSSite.getZip()+"&dealerName="+this.dealersList.dealer[C].namesafe+"&dealerCity="+this.dealersList.dealer[C].city+"&dealerState="+this.dealersList.dealer[C].state+"&dealerZip="+this.dealersList.dealer[C].zip+"&siteid=tcom_dl_dealership_details_quicklinks_localspecials";if("GM"!=this._lang.market){G="/espanol/used/results.html?language=E&SearchDealerCode="+this.dealersList.dealer[C].dealerid+"&SearchZipCode="+TMSSite.getZip()+"&dealerName="+this.dealersList.dealer[C].namesafe+"&dealerCity="+this.dealersList.dealer[C].city+"&dealerState="+this.dealersList.dealer[C].state+"&dealerZip="+this.dealersList.dealer[C].zip+"&siteid="+this._lang.location+"_dl_dealership_details_quicklinks_localspecials"}this.dealersList.dealer[C].map_dealer_certifiedvehicles_link='<a href="'+G+"\" onclick=\"TMSSite.analytics.sendTrackingLink({ properties: { '20': '"+this.dealersList.dealer[C].namesafe+"', '16': '"+this.dealersList.dealer[C].dealerid+"', '46': '"+this._lang.market+":Dealer Locator:Map View:Search TCUV Inventory', '7': TMSSite.getZip()}, eventVars: {'3': '"+this._lang.location+"_dl_mapview_search_tcuv_inventory'}, linkTrackName: '"+this._lang.location+"_dl_mapview_search_tcuv_inventory', events: 'event4', 'linkTrackEvents': 'event4', 'linkTrackVars': 'events,products,prop20,prop7,prop16,prop46,eVar15,eVar3',products: ';"+this.dealersList.dealer[C].dealerid+"', 'linkTrackType': 'e' });\" target=\"_blank\">"+this._lang.pageLabelLinkDealerCertifiedVehicles+"</a>";if(this.dealersList.dealer[C].url!=""){this.dealersList.dealer[C].map_dealer_website_link="<a href="+this.dealersList.dealer[C].url+" target=\"_blank\" onclick=\"TMSSite.analytics.sendTrackingLink({  properties: { '20': '"+this.dealersList.dealer[C].name+"', '16': '"+this.dealersList.dealer[C].dealerid+"', '46': '"+this._lang.market+":Dealer Locator:Map View:Dealer Website'}, events: 'event8,event4', linkTrackEvents: 'event4,event8', products: ';"+this.dealersList.dealer[C].dealerid+"', eventVars: {'3': '"+this._lang.location+"_dl_mapview_dealer_website','7': TMSSite.getZip()}, linkTrackVars: 'products,events,prop16,prop7,prop20,prop46,eVar15,eVar3',  linkTrackName: '"+this._lang.location+"_dl_mapview_dealer_website', linkTrackType: 'e' });\">"+this._lang.pageLabelLinkDealerWebsite+"</a>"}new Insertion.Before(A,'<div class="dealer_map_listing">'+this._dealerMapListingTemplate.evaluate(this.dealersList.dealer[C])+"</div>")}var J=$("dealer_map_listings").select(".dealer_map_listing")[0];if(this.searchParams.dealerid){if(!H){H=this.searchParams.dealerid}try{var F=$("dealer_map_listings").select(".dealer_map_listing").find(function(K){return K.getElementsByTagName("form")[0].dealerid.value==this.searchParams.dealerid}.bind(this))}catch(D){}if(F){J=F}}else{if(this.searchParams.dealerCode){if(!H){H=this.searchParams.dealerCode}try{var F=$("dealer_map_listings").select(".dealer_map_listing").find(function(K){return K.getElementsByTagName("form")[0].dealerid.value==this.searchParams.dealerCode}.bind(this))}catch(D){}if(F){J=F}}}J.getElementsByClassName("dealer_info_detail")[0].show();J.style.backgroundColor=this._mapDealerListBGSelected;$("dealer_map_listings").select("input[type='text']").each(function(K){TMSSite.clickClean(K)});this._map.SetMapView(B);this._mapDealerPoints=B;if(this._map.GetZoomLevel()>16){this._map.SetZoomLevel(16)}}$("dealer_map_listings").show();this.hideLoading();if(H){this.dealerMapListDetail($("dealer_info_detail_"+H),H)}TMSSite.analytics.sendEvent({pageName:this._lang.market+":No Vehicles:"+this._lang.pageName+":"+this._lang.pageNameResults+":"+this._lang.pageNameMap,properties:{"32":"Lower","7":TMSSite.getZip()},products:";"+this.dealersList.dealer.pluck("dealerid").join(";")})},listView:function(){$("dl_current_view").value="list";this.searchParams.dl_current_view="list";this.historyBookmark();this.formToGadget();$("dl_search_params").show();$("map_button").removeClassName("selected");$("list_button").addClassName("selected");$("dealer_map").hide();$("dealer_map_listings").hide();$("dealer_driving_directions").hide();$("dealer_directions_gadget").hide();$("dealer_search_results_header").show();$("results_button").hide();$("zip_search_list").show();if(this.dealersList.numDealer>0){$("dealer_list").show()}this.hideLoading();TMSSite.analytics.sendEvent({pageName:this._lang.market+":No Vehicles:"+this._lang.pageName+":"+this._lang.pageNameResults+":"+this._lang.pageNameList,properties:{"32":"Lower","7":TMSSite.getZip()},products:";"+this.dealersList.dealer.pluck("dealerid").join(";"),events:"event2"})},resultsView:function(){this.clearDirections();this._map.SetMapView(this._mapDealerPoints);this.mapView()},dealerMapListDetail:function(D,E,F){var B=$A($("dealer_map_listings").getElementsByClassName("dealer_info_detail")).find(function(G){return $(G).visible()});var A=B.up(".dealer_map_listing"),C=D.up(".dealer_map_listing");if(A.className.indexOf("dealer_map_listing")==-1){A=A.up(".dealer_map_listing")}if(C.className.indexOf("dealer_map_listing")==-1){C=C.up(".dealer_map_listing")}if(C!=A){new Effect.Parallel([new Effect.BlindUp(B,{sync:true}),new Effect.BlindDown(D,{sync:true}),new Effect.Highlight(A,{startcolor:this._mapDealerListBGSelected,endcolor:this._mapDealerListBG,restorecolor:this._mapDealerListBG,sync:true}),new Effect.Highlight(C,{startcolor:this._mapDealerListBG,endcolor:this._mapDealerListBGSelected,restorecolor:this._mapDealerListBGSelected,sync:true})],{duration:0.2,fps:24})}else{if(F){this.dealerLinks("details",E,F)}}},getDirections:function(B){$$(".directions_error").each(function(E){E.hide()});if(arguments.length<=0){B=false}this.clearDirections();if(B){var D=(this.searchParams.dl_current_view=="map")?this._lang.pageNameMap:this._lang.pageNameList;var C=B.dlrname.value;TMSSite.analytics.sendTrackingLink(TMSSite.removeIlegalCharacters({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+this._lang.pageNameMap+":"+this._lang.pageNameDirections,"7":TMSSite.getZip(),"16":((B.dealerid)?B.dealerid.value:""),"20":B.dlrname.value},products:((B.dealerid)?";"+B.dealerid.value:""),eventVars:{"3":this._lang.location+"_dl_mapview_getdirections"},linkTrackVars:"products,prop46,prop7,prop16,prop20,eVar3,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_mapview_getdirections"}));B.startAddress.value=B.startAddress.value.stripTags().stripScripts().gsub("\n"," ");B.endAddress.value=B.endAddress.value.gsub("<br />"," ").stripTags().stripScripts().gsub("\n"," ");$$(".dealer_info_detail input[name='startAddress']").each(function(E){E.value=this.startAddress.value}.bind(B));this._dealernum=B.dlrnum.value;this._lastRoute={start:B.startAddress.value,end:B.endAddress.value,idx:B.idx.value,reverse:false};if(B.startAddress.value.blank()||B.startAddress.value==B.startAddress.defaultValue){$$(".directions_error").each(function(E){E.update(this._lang._errorMsg.addressBlank).show()}.bind(this));return false}}if(typeof this._lastRoute=="object"){var A=new VERouteOptions;A.DrawRoute=true;A.RouteCallback=this.writeDirections;A.DistanceUnit=VERouteDistanceUnit.Mile;A.UseMWS=true;if(this._lastRoute.reverse){locations=new Array(this._lastRoute.end,this._lastRoute.start)}else{locations=new Array(this._lastRoute.start,this._lastRoute.end)}this._map.GetDirections(locations,A)}return false},clearDirections:function(){try{this._map.DeleteRoute();for(var A=0;A<this._pinarray.length;A++){this._map.DeleteShape(this._pinarray[A])}this._pinarray.length=0}catch(B){}},writeDirections:function(C){var E=TMSSite.dealerlocate;if(C){$("dealer_map_listings").hide();$("dealer_driving_directions").show();$("dealer_search_results_header").hide();$("dealer_directions_gadget").show();$("zip_search_list").hide();E.dealersList.dealer[E._lastRoute.idx].start=E._lastRoute.start;if(!E._lastRoute.reverse){$("dealer_map_start").innerHTML=E._dealerMapStartTemplate.evaluate(E.dealersList.dealer[E._lastRoute.idx]);$("dealer_map_end").innerHTML=E._dealerMapEndTemplate.evaluate(E.dealersList.dealer[E._lastRoute.idx])}else{$("dealer_map_end").innerHTML=E._dealerMapStartTemplate.evaluate(E.dealersList.dealer[E._lastRoute.idx]);$("dealer_map_start").innerHTML=E._dealerMapEndTemplate.evaluate(E.dealersList.dealer[E._lastRoute.idx])}var D=0;for(D=0;D<E._map._dm.veroutecache.length;D++){var B=new VEShape(VEShapeType.Pushpin,E._map._dm.veroutecache[D].LatLong);B.SetTitle(E._map._dm.veroutecache[D].Title);B.SetDescription("<i><b>"+E._map._dm.veroutecache[D].Details+"</b></i>");if(D===0){B.SetCustomIcon("<img src=/img/dealers/ico_map_start.png>")}else{if(D==E._map._dm.veroutecache.length-1){B.SetCustomIcon("<img src=/img/global/blank.gif>")}else{B.SetCustomIcon("<span class='directions_numbers'>"+(D)+"</span>")}}E._pinarray.push(B)}var F="<table>";var A=C.RouteLegs;for(k=0;k<A.length;k++){leg=A[k];for(D=0;D<leg.Itinerary.Items.length;D++){F+="<tr><td class='direction_listing_cell'>";if(D===0){if(TMSSite.dealerlocate._lastRoute.reverse){F+="<span class='dealer_pin'>"+E._dealernum+"</span></td><td class='direction_listing_terminus_cell'>"}else{F+="<span class='directions_start'>&nbsp;</span></td><td class='direction_terminus_listing_cell'>"}}else{if(D==(leg.Itinerary.Items.length-1)){if(TMSSite.dealerlocate._lastRoute.reverse){F+="<span class='directions_start'>&nbsp;</span></td><td class='direction_terminus_listing_cell'>"}else{F+="<span class='dealer_pin'>"+E._dealernum+"</span></td><td class='direction_listing_terminus_cell'>"}}else{F+="<span class='directions_numbers'>"+(D)+"</span></td><td class='direction_listing_cell'>"}}F+=leg.Itinerary.Items[D].Text;if(D!==0&&D!=(leg.Itinerary.Items.length-1)){F+=" - "+E._lang.pageLabelGo+" "+leg.Itinerary.Items[D].Distance.toFixed(1)+" "+E._lang.pageLabelMile}F+="</td></tr>\n"}F+="<tr><td class='direction_listing_cell'>&nbsp;</td><td class='direction_listing_cell'>";F+=E._lang.pageLabelDistance+": <b>"+C.Distance.toFixed(1)+" "+E._lang.pageLabelMile+"</b><br />";F+=E._lang.pageLabelTime+": <b>"+(C.Time/3600).toFixed(1)+" "+E._lang.pageLabelHours+"</b><br /><br />\n";if(TMSSite.dealerlocate._lastRoute.reverse){F+="<p><a href='javascript:TMSSite.dealerlocate.altDirections(false);'>"+E._lang.pageLabelDirectionTo+"</a></p>"}else{F+="<p><a href='javascript:TMSSite.dealerlocate.altDirections(true);'>"+E._lang.pageLabelDirectionReverse+"</a></p>"}F+="</td></tr></table>";$("dealer_map_turn_list").innerHTML=F;$("dealer_map_distance").innerHTML=C.Distance.toFixed(1)+" "+E._lang.pageLabelMile+" "+E._lang.pageLabelDirectionAway}}else{$$(".directions_error").each(function(G){G.update(E._lang._errorMsg.addressInvalid);G.show()})}},altDirections:function(A){this._lastRoute.reverse=A;this.getDirections()},dealerLinks:function(C,D,F,A){var E=(this.searchParams.dl_current_view=="map")?this._lang.pageNameMap:this._lang.pageNameList;if(C=="contact"){TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+E+":"+this._lang.pageNameContact,"7":TMSSite.getZip(),"16":D,"20":A},products:";"+D,eventVars:{"3":this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_contactdealer"},linkTrackVars:"products,prop46,prop7,prop16,eVar3,prop20,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_dealership_details"})}if(C=="details"){TMSSite.analytics.sendTrackingLink({properties:{"46":this._lang.market+":"+this._lang.pageName+":"+E+":"+this._lang.pageNameDetails,"7":TMSSite.getZip(),"16":D,"20":A},products:";"+D,eventVars:{"3":this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_dealership_details"},linkTrackVars:"products,prop46,prop7,prop16,prop20,eVar3,eVar15,events",linkTrackEvents:"event4",events:"event4",linkTrackType:"o",linkTrackName:this._lang.location+"_dl_"+this.searchParams.dl_current_view+"view_dealership_details"})}if(C=="detailsName"){TMSSite.analytics.sendEvent({pageName:this._lang.pageName+":"+this._lang.pageNameResults+":"+E+":"+this._lang.pageNameDetails+":"+this._lang.pageNameName,properties:{"20":A}});C="details"}if(!D){D=""}if(!F){F=""}this.searchParams.dealernum=F;if(this._links[C]){var B="<form name='returnLink' action='"+this._links[C]+"' method='get'>";B+="<input type='hidden' name='dealerid' value='"+D+"' />";B+="<input type='hidden' name='searchParams' value='"+Object.toJSON(this.searchParams)+"' />";B+="</form>";$$("body").first().insert({bottom:B});document.forms.returnLink.submit()}}};function validateStateParam(A){var B=A.toLowerCase().replace(/\s+/g,"");switch(B){case"alabama":return A="al";break;case"alaska":return A="AK";break;case"arizona":return A="AZ";break;case"arkansas":return A="AR";break;case"california":return A="CA";break;case"colorado":return A="CO";break;case"connecticut":return A="CT";break;case"delaware":return A="DE";break;case"districtofcolumbia":return A="DC";break;case"florida":return A="FL";break;case"georgia":return A="GA";break;case"hawaii":return A="HI";break;case"idaho":return A="ID";break;case"illinois":return A="IL";break;case"indiana":return A="IN";break;case"iowa":return A="IA";break;case"kansas":return A="KS";break;case"kentucky":return A="KY";break;case"louisiana":return A="LA";break;case"maine":return A="ME";break;case"maryland":return A="MD";break;case"massachusetts":return A="MA";break;case"michigan":return A="MI";break;case"minnesota":return A="MN";break;case"mississippi":return A="MS";break;case"missouri":return A="MO";break;case"montana":return A="MT";break;case"nebraska":return A="NE";break;case"nevada":return A="NV";break;case"newhampshire":return A="NH";break;case"newjersey":return A="NJ";break;case"newmexico":return A="NM";break;case"newyork":return A="NY";break;case"northcarolina":return A="NC";break;case"northdakota":return A="ND";break;case"ohio":return A="OH";break;case"oklahoma":return A="OK";break;case"oregon":return A="OR";break;case"pennsylvania":return A="PA";break;case"rhodeisland":return A="RI";break;case"southcarolina":return A="SC";break;case"southdakota":return A="SD";break;case"tennessee":return A="TN";break;case"texas":return A="TX";break;case"utah":return A="UT";break;case"vermont":return A="VT";break;case"virginia":return A="VA";break;case"washington":return A="WA";break;case"westvirginia":return A="WV";break;case"wisconsin":return A="WI";break;case"wyoming":return A="WY";break;default:return A}}document.observe("dom:loaded",function(){TMSSite.dealerlocate=new _dealerlocate()});
