if(typeof(window.mb)=="undefined"){mb={}
}mb.dealers=new (function(c){var b=this;
mb.broadcaster.addListener(mb.events.INITED,function(){mb.dealers.init()
});
b.init=function(){mb.logger.info("dealers.init()");
mb.broadcaster.addListener(mb.events.PAGE_LOADED,function(f,d){mb.dealers.onPageLoaded(f)
});
if(c(".show-dealer-result-map-only").val()=="true"){c("#dealer-head").hide()
}if(c(".show-dealer-result-list").val()=="false"){c("#dealer-results-container").hide();
c("#map-result").height(c(".dealer-result-height").val()+"px");
c("#map-result").width(c(".dealer-result-width").val()+"px")
}};
b.onPageLoaded=function(e){mb.logger.info("dealers.onPageLoaded("+typeof(e)+")");
a(e)
};
b.state="";
b.wireList=function(d){c(".dealer-list li").hover(function(){c(this).addClass("hover");
var e=c(this).find(".key").text();
var f=d.getShapes(true).getByKey(e);
f.showInfoWindow()
},function(){c(this).removeClass("hover")
})
};
var a=function(G){var D=547;
var w=444;
mb.logger.info("dealers.initPageStyles()");
c(".generic .accordion-title").unbind("hover");
if((G.getProperty("section")=="dealers"&&G.getProperty("subsection")=="locator")||G.getProperty("subsection")=="state"||G.getProperty("subsection")=="select"){c("#dealer-results-container").addClass("singlePage");
c("#map-result").addClass("singlePage");
c("#dealer-results").addClass("singlePage");
w=690;
if(c(".dealer-details li").length>15){D=326;
var E=652;
c("#dealer-results-container").css("width",E+"px");
if(c.browser.msie&&c.browser.version=="7.0"){E=668
}c("#dealer-results").css("width",E+"px")
}else{c("#dealer-results").css("width","326px");
D=980-c("#dealer-results-container").width()
}}if(G.getProperty("section")=="dealers"&&G.getProperty("subsection")=="directions"){if(c.cookie("MBUSA_START_ADDRESS")!=null&&typeof(c.cookie("MBUSA_START_ADDRESS"))!="undefined"&&c.cookie("MBUSA_START_ADDRESS")!="0"){var t=c.cookie("MBUSA_START_ADDRESS");
var I=t.split(";");
for(var B=0;
B<I.length;
B++){var J=I[B].split(":")[0];
var x=I[B].split(":")[1];
c("#dealer-start .field-wrapper input[name='"+J+"']").val(x);
c("#dealer-start .field-wrapper select[name='"+J+"']").val(x)
}}c("#dealer-results form").validate({rules:{street:{required:true},city:{required:true},zip:{required:true,minlength:5,maxlength:5,number:true},state:{required:true}},messages:{street:"Please enter a valid street address",city:"Please enter a city",zip:"Please enter a valid zip code",state:"Please select a valid state"},submitHandler:function(i){var N=c("#dealer-start .field-wrapper input[name='street']").val();
var L=c("#dealer-start .field-wrapper input[name='city']").val();
var K=c("#dealer-start .field-wrapper select[name='state']").val();
var d=c("#dealer-start .field-wrapper input[name='zip']").val();
var M="street:"+N+";city:"+L+";state:"+K+";zip:"+d;
c.cookie("MBUSA_START_ADDRESS",M,{path:"/"});
i.submit();
return true
},errorPlacement:function(d,i){if(d.size()>0){c("#error-"+c(i).attr("name")).addClass("error-messages");
c("#error-"+c(i).attr("name")).html(d);
c("#error-"+c(i).attr("name")).show()
}}})
}if(G.getProperty("section")=="dealers"&&G.getProperty("subsection")!="classic"){if(c.cookie("MBUSA_PREFERRED_ZIP")!=null&&typeof(c.cookie("MBUSA_PREFERRED_ZIP"))!="undefined"&&c.cookie("MBUSA_PREFERRED_ZIP")!="0"){var q=c.cookie("MBUSA_PREFERRED_ZIP");
if(c("#dealer-head-input").length>0&&c("#dealer-head-input").val().length<5){c("#dealer-head-input").val(q)
}}}if(G.getProperty("section")=="dealers"&&G.getProperty("subsection")=="locator"){c("form#dealer-locator-form select").bind("change",function(){c("form#dealer-locator-form").trigger("submit")
})
}c("#dealer-head-input").bind("keydown",mb.numbersOnly);
c("form#dealer-locator-form").bind("submit",function(d){if(c("#dealer-head-input").val().length<5||c("#dealer-head-input").val().length>5){return false
}c("input.dealer-find-view").val(c("input.dealer-result-view").val());
mb.metrics.trackInteraction({linkName:c("#dealer-head-input").val()+"-Search",linkSource:"Find a Dealer"});
mb.metrics.trackInteraction({type:"GA",trackType:"_trackEvent",category:"Dealer Selects",action:"ZipCode-click",label:c("#dealer-head-input").val()+"-Search"});
mb.metrics.trackAtlasInteraction({action:"MBU_LCP_Find_a_dealer_page",atc4:c("#dealer-head-input").val()});
c.cookie("MBUSA_PREFERRED_ZIP",c("#dealer-head-input").val(),{path:"/",expires:new Date(2042,1,1)})
});
if(G.getProperty("section")=="dealers"){var g=G.getProperty("contextPath")+"/images/icons/mbpushpin.png";
var u=c(".poi:not(.maneuver .poi)");
var m=b.getPois(u);
var l=G.getProperty("subsection")=="detail"?9:G.getProperty("subsection")=="state"&&u.length<1?2:6;
if(c(".show-dealer-result-list").val()=="false"){c("#dealer-results-container").hide();
w=c(".dealer-result-height").val();
D=c(".dealer-result-width").val()
}var s=new mb.Map("map-result",l,g,D,w,true,m);
b.wireList(s.getMap());
if(c(".show-dealer-result-list").val()=="false"){c("#map-result").height(c(".dealer-result-height").val()+"px");
c("#map-result").width(c(".dealer-result-width").val()+"px")
}c("input, select").focus(function(){c(this).addClass("focus")
}).blur(function(){c(this).removeClass("focus")
});
mb.broadcaster.addListener(mb.events.FRAGMENT_LOADED,function(d){var L=d.getNode();
var Q=d.getProperty("section");
var K=d.getProperty("subsection");
if(K=="state"){var P=c(L).find("#"+b.state);
var R=c("#"+b.state);
R.html(P.html());
mb.metrics.wireNode(R);
mb.dealers.scrollToView();
mb.dealers.resizeResults();
var M=P.find(".poi");
var O=b.getPois(M);
s.setPois(O);
s.getMap().setZoomLevel(O.length<1?2:6);
var i=new MQA.LatLng(O[0].lat,O[0].lng);
s.getMap().setCenter(i);
b.wireList(s.getMap());
var N={action:"MBU_LCP_All_Mercedes_Benz_Dealers",atc4:b.state.replace("state-","")};
mb.metrics.trackAtlasInteraction(N)
}});
mb.broadcaster.addListener(mb.events.FRAGMENT_ERROR,function(){if(G.getProperty("subsection")=="state"){var d=c("#"+b.state);
if(d.children(".error").length<1){d.append('<p class="error">We\'re sorry, your search did not return any results.</p>')
}}else{if(G.getProperty("subsection")=="email"){var i='<div id="modal" class="modal-container"><div class="modal-shield"></div><div class="modal-content-wrapper"><a class="close-modal" href="javascript:void(0);"><span/>close</a><div class="modal-content"><div class="email-confirmation"><h4>Send Error.</h4><p>Sorry, your email has not been sent.</p><a class="box-orange continue " href="'+G.getProperty("contextPath")+'/index">Continue Exploring MBUSA.com</a></div></div></div></div>';
mb.modal.show(i)
}}});
if(G.getProperty("subsection")=="state"){c("#dealer-results .generic .accordion-title").unbind("click");
c("#dealer-results .generic .accordion-title a").click(function(){var N=c(this).parent().parent();
var M=c(this).parent().parent().children(".accordion-content");
b.state=c(this).parent().parent().children(".accordion-content").eq(0).attr("id");
if(N.hasClass("open")){if(c.browser.mozilla){var L=navigator.userAgent.toLowerCase();
if(L.indexOf("firefox")!=-1){L=L.substring(L.indexOf("firefox/")+8);
L=L.substring(0,L.indexOf("."));
version=L;
if(version=="3"){M.hide()
}}}else{M.slideUp()
}N.toggleClass("open");
c("#dealer-results .generic .accordion-title").unbind("hover");
mb.dealers.scrollToView()
}else{c("#dealer-results .generic .accordion-pane.open").find(".accordion-content").slideUp();
c("#dealer-results .generic .accordion-pane.open").removeClass("open");
M.slideDown();
N.toggleClass("open");
if(M.children(":not(.error,.loader)").length<1){var K=c(this).attr("href");
var d=K.indexOf("?")>-1?"&":"?";
var i=K+d+"modal=true";
mb.loadFragment(i)
}else{mb.dealers.scrollToView()
}}mb.dealers.resizeResults();
return false
});
if(ie6){c("#dealer-results-container .accordion.generic .accordion-title span").each(function(d){c(this).mouseover(function(){c(this).addClass("hover")
});
c(this).mouseout(function(){c(this).removeClass("hover")
})
})
}}if(G.getProperty("subsection")=="detail"){c(".more-details .pop-up").click(function(){var d=c(this).attr("href");
window.open(d,"Mercedes-Benz- Pre-Owned Vehicle Search","toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=995,height=611");
return false
});
c(".visit-dealer").click(function(){createGAEventTag("outbound-dealer-link","click",c(".dealer-name").html());
return true
})
}if(G.getProperty("subsection")=="directions-results"){var F=c(".sessionid").text();
var u=c(".last .poi,.route-map");
var m=b.getPois(u);
var H=m.length-1;
var j=m[0];
var H=m[H];
var f=j.lat>H.lat?j.lat:H.lat;
var p=j.lat<H.lat?j.lat:H.lat;
var C=j.lng>H.lng?j.lng:H.lng;
var h=j.lng<H.lng?j.lng:H.lng;
var v=new MQA.LatLng(f,C);
var A=new MQA.LatLng(p,h);
var k=new MQA.RectLL(v,A);
var r=G.getProperty("contextPath")+"/images/icons/start.gif";
var o=G.getProperty("contextPath")+"/images/icons/end.gif";
var e=new MQA.Icon(r,30,20);
var z=new MQA.Icon(o,30,20);
var n="";
var y=window.location.href;
if(y=="www.mbusa.com"||y=="www-test.mbusa.com"){n="http://map.access.mapquest.com"
}else{n="http://map.dev.mapquest.com"
}s.getMap().addRouteHighlight(k,n,F,true);
if(H.key=="startAddress"){s.getMap().getShapes(true).getByKey(m[0].key).setValue("icon",z);
s.getMap().getShapes(true).getByKey(H.key).setValue("icon",e)
}else{s.getMap().getShapes(true).getByKey(m[0].key).setValue("icon",e);
s.getMap().getShapes(true).getByKey(H.key).setValue("icon",z)
}c(".route li").click(function(){var K=c(this).find("maneuver");
var Q=c("#map-result");
var M=c('<div class="map-box"><div class="zoom-control-box"><a class="close-modal" href="javascript:void(0);"><span/>close</a></div><div id="zoom-result"></div></div>');
M.find(".close-modal").click(function(){c(this).parent().parent().remove();
c(".route li").removeClass("on")
});
if(c(".map-box").length>0){c(".map-box").remove();
c(".route li").removeClass("on")
}Q.append(M);
c(this).addClass("on");
var i=new mb.Map("zoom-result",10,g,350,280,false);
var N=c(this).find(".maneuver .poi");
var P=b.getPois(N);
var d=new MQA.LatLng(P[0].lat,P[0].lng);
var R=new MQA.LineOverlay;
var L=new MQA.LatLngCollection;
c.each(P,function(T,S){var U=new MQA.LatLng(S.lat,S.lng);
L.add(U)
});
var O={shapePoints:L,color:"#9595fb",visible:true};
R.setValues(O);
i.getMap().addShape(R);
i.getMap().setCenter(d);
i.getMap().setZoomLevel(12)
})
}}};
b.getPois=function(d){var e=new Array();
c.each(d,function(g,f){e.push({key:c(f).find(".key").text(),lat:c(f).find(".latitude").text(),lng:c(f).find(".longitude").text(),title:c(f).find(".title").text(),infoContent:c(f).find(".info-content-html").html()})
});
return e
};
b.scrollToView=function(){if(c(".dealer-by-state.singlePage .accordion-pane.open").size()==0){return
}var e=c(".state #dealer-results-container.singlePage").attr("scrollTop");
var d=e+c(".dealer-by-state.singlePage .accordion-pane.open").position().top-c("#dealer-head").height();
c(".state #dealer-results-container.singlePage").attr("scrollTop",d);
c(window).scrollTop(c(".dealer-by-state.singlePage .accordion-pane.open").position().top)
};
b.resizeResults=function(){if(c("#dealer-results .generic .accordion-pane.open").find(".dealer-details li").length>15){mapWidth=326;
c("#dealer-results").css("width","652px");
c("#dealer-results-container").css("width","652px");
c("#dealer-results-container").addClass("multi-columns")
}else{c("#dealer-results").css("width","326px");
c("#dealer-results-container").css("width","326px");
mapWidth=980-c("#dealer-results-container").width();
c("#dealer-results-container").removeClass("multi-columns")
}c("#map-result").css("width",mapWidth)
}
})(jQuery);
