(function(){var d=YAHOO.util;var g=YAHOO.lang;var f=YAHOO.widget;var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var h=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");var e=200;a.Autocomplete=function(m,i,l,j,o){this.el=m;o.maxEntries=o.maxEntries||10;var q=m.parentNode;if(!l){log.debug("Attempting to find existing sibling div");l=h.Dom.getElementByClassName("autocompletions","div",q);}if(!l){l=document.createElement("div");l.className="autocompletions";q.insertBefore(l,null);}var k=new f.AutoComplete(m,l,i,{maxResultsDisplayed:o.maxEntries});var p=h.Dom.getElementByClassName("autocompletions_bottom","div",q);if(!p){p=document.createElement("div");p.className="autocompletions_bottom";q.insertBefore(p,null);}var n=new f.AutoComplete(m,p,i,{maxResultsDisplayed:o.maxEntries});if(o.footerHTML){k.setFooter(o.footerHTML);n.setFooter(o.footerHTML);}if(o.reverse){k.applyLocalFilter=true;k.filterResults=function(u,s,t,r){t.results=t.results.slice(0,k.maxResultsDisplayed).reverse();return t;};}this.siteSearchInputObject=o.siteSearchInputObject;k.siteSearchInputObject=n.siteSearchInputObject=o.siteSearchInputObject;k.generateRequest=n.generateRequest=function(r){return r.replace(new RegExp("[%20]+$"),"")+"*";};k.doBeforeLoadData=n.doBeforeLoadData=function(t,r,s){if(!r.results.length){this.collapseContainer();}return true;};k.formatResult=n.formatResult=function(s,t,r){return h.Text.ellipse(r,e);};k.resultTypeList=n.resultTypeList=false;k.minQueryLength=n.minQueryLength=1;k.autoHighlight=n.autoHighlight=false;k.itemSelectEvent.subscribe(this.onItemSelect);n.itemSelectEvent.subscribe(this.onItemSelect);if(o.reverse){b.on(window,"scroll",function(u,s){var r=c.getViewportHeight()/2;var t=c.getY(m)-c.getDocumentScrollTop();if(t>r){s.autocomplete.getContainerEl().style.visibility="visible";s.autocomplete_bottom.getContainerEl().style.visibility="hidden";}else{s.autocomplete.getContainerEl().style.visibility="hidden";s.autocomplete_bottom.getContainerEl().style.visibility="visible";}},{el:m,autocomplete:k,autocomplete_bottom:n});p.style.visibility="hidden";}else{p.style.display="none";}};a.Autocomplete.prototype={onItemSelect:function(l,k){var i=null;try{i=k[2]["Location[0].DimValueName"];}catch(j){log.warn("Unable to find item term for autocompletion.");}if(i){_widgets.context.SearchContext.triggerSearch(i,this.siteSearchInputObject);}}};}());
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var f=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");var d=getPackageForName("com.forddirect.ng.context");a.SiteSearchInput=function(h,j){this.el=h;this.searchForm=f.Dom.getElementByClassName("site-search-form","form",this.el);if(!this.searchForm){log.error("Unable to find form with class 'site-search-form' on this widget.");}this.searchText=f.Dom.getElementByClassName("site-search-input","input",this.el);if(!this.searchText){log.error("Unable to find input with class 'site-search-input' on this widget.");}this.searchButton=f.Dom.getElementByClassName("search-go","input",this.el);if(!this.searchButton){log.error("Unable to find button with class 'search-go' on this widget.");}var g=(j&&j.autocomplete)||false;if(g){var i=new a.Autocomplete(this.searchText,_widgets.context.SearchContext.getAutocompleteDataSource());}this.searchType=j.searchType||"search";_widgets.context.SearchContext.subscribe(this.searchType+"TextChange",this.handleTextChange,this,true);this.onSearchTextBlur();b.on(this.searchText,"focus",this.onSearchTextFocus,this,true);b.on(this.searchText,"blur",this.onSearchTextBlur,this,true);b.on(this.searchForm,"submit",this.searchSubmit,this,true);b.on(this.searchText,"keydown",this.onSearchKeyDown,this,true);b.on(this.searchText,"click",this.onSearchTextClick,this,true);};var e=a.SiteSearchInput.prototype;e.show=function(){c.removeClass(this.el,"inactive");};e.hide=function(){c.addClass(this.el,"inactive");};e.onSearchTextFocus=function(g){if(this.searchText.value===_widgets.context.SearchContext.DEFAULT_SEARCH_STRING){this.searchText.value="";c.removeClass(this.searchText,"default-text");}else{this.searchText.select();c.removeClass(this.searchText,"default-text");}};e.onSearchTextBlur=function(g){if(this.searchText.value===""||f.Array.contains(_widgets.context.SearchContext.DEFAULT_VALUES,this.searchText.value)){this.searchText.value=_widgets.context.SearchContext.DEFAULT_SEARCH_STRING;c.addClass(this.searchText,"default-text");}};e.searchSubmit=function(g){var h=f.trimString(this.searchText.value);if(h===""||f.Array.contains(_widgets.context.SearchContext.DEFAULT_VALUES,h)){this.searchText.value=_widgets.context.SearchContext.DEFAULT_NOWORD_STRING;this.searchText.focus();this.searchText.select();b.stopEvent(g);}};e.onSearchKeyDown=function(g){if(g.keyCode==13){g.returnValue=false;g.cancel=true;this.searchButton.click();}};e.handleTextChange=function(g){if(g.newValue){this.searchText.value=g.newValue;}};e.onSearchTextClick=function(g){if(f.Array.contains(_widgets.context.SearchContext.DEFAULT_VALUES,this.searchText.value)){this.searchText.value="";}};})();
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var g=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");var e="Search";var f="Please enter keyword...";a.KnovaSearchInput=function(h,i){this.el=h;this.searchForm=g.Dom.getElementByClassName("site-search-form","form",this.el);if(!this.searchForm){log.error("Unable to find form with class 'site-search-form' on this widget.");}this.searchText=g.Dom.getElementByClassName("site-search-input","input",this.el);if(!this.searchText){log.error("Unable to find input with class 'site-search-input' on this widget.");}this.searchButton=g.Dom.getElementByClassName("search-go","input",this.el);if(!this.searchButton){log.error("Unable to find button with class 'search-go' on this widget.");}this.searchType=i.searchType||"search";_widgets.context.SearchContext.subscribe(this.searchType+"TextChange",this.handleTextChange,this,true);this.onSearchTextBlur();b.on(this.searchText,"focus",this.onSearchTextFocus,this,true);b.on(this.searchText,"blur",this.onSearchTextBlur,this,true);b.on(this.searchForm,"submit",this.searchSubmit,this,true);b.on(this.searchText,"keydown",this.onSearchKeyDown,this,true);};var d=a.KnovaSearchInput.prototype;d.onSearchTextFocus=function(h){if(this.searchText.value===e||this.searchText.value===f){this.searchText.value="";c.removeClass(this.searchText,"default-text");}else{this.searchText.select();}};d.onSearchTextBlur=function(h){if(this.searchText.value===""||this.searchText.value===e||this.searchText.value===f){this.searchText.value=e;c.addClass(this.searchText,"default-text");}};d.searchSubmit=function(h){if(this.searchText.value===""||this.searchText.value===f||this.searchText.value===e){this.searchText.value=f;b.stopEvent(h);}};d.handleTextChange=function(h){if(h.newValue){this.searchText.value=h.newValue;}};})();
td_site={v:{isIE:(navigator.userAgent.toLowerCase().search("msie")>-1),isFox:(navigator.userAgent.toLowerCase().search("firefox")>-1),isMac:(navigator.userAgent.toLowerCase().search("macintosh;")>-1)},u:{TO:function(c,e,a,d,b){var f=function(){c[e](a);};if(b){return setInterval(f,d);}else{return setTimeout(f,d);}},JSON:function(b,e,a,g,f){var h;if(f){h=f;}else{var h=(new Date).getTime();h=(new Date).getTime();h="1000";}var c=this.JSON;c["JSON_"+h]=function(d){b[e](d,a);delete c["JSON_"+h];};s=document.createElement("SCRIPT");s.src="testJASON_1.js"+g;document.documentElement.childNodes[0].appendChild(s);},addListener:function(d,c,b){for(var a=0;a<c.length;a++){if(this.par.v.isIE){d.attachEvent("on"+c[a],b);}else{d.addEventListener(c[a],b,0);}}},getPos:function(e,d){if(typeof(e)=="string"){e=document.getElementById(e);}var i=this.par.s.tn("body")[0];var j=this.par.s.de();var g=j.scrollLeft;var m=j.scrollTop;var a=null;var h=null;if(document.getBoxObjectFor){a=document.getBoxObjectFor(e);h={l:a.x,t:a.y,r:a.width+a.x,b:a.y+a.height};}else{if(e.getBoundingClientRect){a=e.getBoundingClientRect();h={l:a.left-2+g,t:a.top+m,r:a.right-2+g,b:a.bottom-2+m};}else{var f=e.offsetLeft;var k=e.offsetTop;h={l:f,t:k,r:f+e.offsetWidth,b:k+e.offsetHeight};var c=e.offsetParent;if(d){c=e.parentNode;}while(c){f=c.offsetLeft;k=c.offsetTop;if(f){h.l+=f;h.r+=f;}if(k){h.t+=k;h.b+=k;}if(d){c=c.parentNode;}else{c=c.offsetParent;}}}}return h;},mPos:function(a){if(a.pageX||a.pageY){return{x:a.pageX,y:a.pageY};}else{if(a.clientX||a.clientY){return{x:a.clientX,y:a.clientY};}}return{x:0,y:0};},pIn:function(d,c,b){if(c){b=this.mPos(c);}var a=this.getPos(d);return(b.x>a.l&&b.x<a.r&&b.y>a.t&&b.y<a.b);},roll:function(b,a){if(!a){a=["mouseover","mouseout"];}var c=new this.par.fun.event(this,b);this.addListener(b,a,c.run);this.event=function(f,g,d){d.par.s.cnRe(g,f.type,{});};},inish:function(a,b){this.name=a;this.par=b;}},s:{tn:function(a){return document.getElementsByTagName(a);},id:function(a){return document.getElementById(a);},ids:function(c){var b=[];var a=this.id(c);if(a){while(a){b.push(a);a.id=a.id+"_"+(b.length-1);a=this.id(c);}}return b;},de:function(a){return document.documentElement;},cE:function(a){return document.createElement(a);},aC:function(b,a){return b.appendChild(this.cE(a));},fC:function(h,e,g,d){var b=[];for(var c=0;c<h.childNodes.length;c++){if(h.childNodes[c].tagName){if(e&&h.childNodes[c].tagName.toLowerCase()==e){b.push(h.childNodes[c]);if(d){break;}}else{if(!e){b.push(h.childNodes[c]);if(d){break;}}}if(g&&h.childNodes[c].childNodes.length){var f=this.fc(h.childNodes[c],e,g,d);while(f.length){b.push(f.shift());}}}}return b;},cnRe:function(c,b,a){if(!a){a={};}if(!a.d){a.d="_";}var d=c.className.split(a.d);d[d.length-1]=b;if(a.r){return d.join(a.d);}c.className=d.join(a.d);return c.className;}},page:{},fun:{event:function(a,b){this.run=function(c){if(!c){c=event;}a.event(c,b,a);};},targRoll:function(d,b,c,a){this.obj=d;this.targ=b;if(!c){c=["mouseover","mouseout"];}this.type=c;this.cnRe=a.s.cnRe;var e=new a.fun.event(this,d);a.u.addListener(d,c,e.run);this.event=function(g,h,f){f.cnRe(this.targ,g.type,{});};}},inish:function(c,d,a){this.name=c;this.par=d;if(!a){a=this;}else{this.site=a;}if(this.u){this.u.inish("u",this);}if(this.page){for(var b in this.page){this[b]=this.page[b];if(this[b].inish){this[b].inish(b,this,a);}if(this[b].postInish){this[b].postInish();}}}}};td_site.page.ooOne={v:{g:{},TO:{}},build:function(b,a){var e=a;if(!e){e=this.par.s.ids(b);}if(!this.v.g[b]){this.v.g[b]={id:0,o:e,TO:0,cb:[]};}var d=this.v.g[b];for(var c=0;c<e.length;c++){var f=new this.par.fun.event(this,e[c]);this.par.u.addListener(e[c],["mouseover","mouseout"],f.run);}return e;},addCB:function(b,a){this.v.g[b].cb.push(a);},doCB:function(d,f,a,b){for(var c=0;c<a.length;c++){a[c].t[a[c].f](d,f,a[c].t,b);}},event:function(d,f,a){var h=f.id.split("_");var g=h.pop();var b=h.join("_");var c=this.v.g[b];clearTimeout(c.TO);if(d.type=="mouseover"){if(c.id){if(c.id==f.id){return;}this.mouse.out({e:d,o:c.o,t:a,sg:b,cb:c.cb});}c.id=f.id;c.o=f;this.mouse.over(d,f,a,c.cb);}else{c.TO=this.par.u.TO(this.mouse,"out",{e:d,o:c.o,t:a,sg:b,cb:c.cb},5,0);}},mouse:{over:function(c,d,b,a){if(a){b.doCB(c,d,a,"mouseover");}b.par.s.cnRe(d,"mouseover");},out:function(a){if(a.cb){a.t.doCB(a.e,a.o,a.cb,"mouseout");}a.t.v.g[a.sg].id=0;a.t.par.s.cnRe(a.o,"mouseout");}},inish:td_site.inish};td_site.page.nav={v:{anFin:200,maxH:122},attach:function(e,f,d,r,p){var q=this.par.s;this.holder=this.par.s.id(e);this.children=this.par.s.fC(this.par.s.id(f),d,0,0);this.curTab=this.cH=this.TO=this.anTOi=this.bAn=this.curChild=0;var l=["mouseover","mouseout"];if(p){l=["mouseup","mouseout"];}var m=["td_Nav_main","td_cell","td_link"];var c=null;for(var k=0;k<m.length;k++){if(!k){b=this.par.s.ids(m[k]);for(var h=0;h<b.length;h++){c=new this.par.fun.event(this,b[h]);this.par.u.addListener(b[h],l,c.run);}c=new this.par.fun.event(this,this.holder);this.par.u.addListener(this.holder,["mouseover","mouseout"],c.run);var g=this.par.s.id(r);c=new this.par.fun.event(this,g);this.par.u.addListener(g,["click"],c.run);}else{var b=this.par.ooOne.build(m[k],0);}}this.compSpeed();},compSpeed:function(){this.maxH=this.v.maxH;this.speed=this.maxH/this.v.anFin;this.holder.style.visibility="hidden";},showHide:function(b){var c=[139,93];var a=[170,290];if(b.a=="mouseover"||b.a=="mouseup"){if(this.curChild){this.curChild.style.visibility="hidden";this.par.s.cnRe(this.curTab,"mouseout");}var d=parseInt(b.o.id.split("_").pop());this.curChild=this.children[d];this.par.s.cnRe(b.o,"mouseover");this.curTab=b.o;this.curChild.style.visibility="visible";this.dir=1;this.maxH=c[d];this.lt=a[d];}else{this.dir=-1;}if(!this.bAn){this.bAn=(new Date).getTime();this.holder.style.visibility="visible";this.anTOi=this.par.u.TO(this,"animate",0,5,1);}},animate:function(){this.cH+=((new Date).getTime()-this.bAn)*(this.speed*this.dir);if(this.cH>this.maxH||this.cH<0){if(this.cH<0){this.cH=0;this.holder.style.visibility="hidden";if(this.curTab){this.par.s.cnRe(this.curTab,"mouseout");}}else{this.cH=this.maxH;}clearInterval(this.anTOi);this.bAn=0;}this.holder.style.height=this.cH+"px";this.holder.style.left=this.lt+"px";},event:function(b,c,a){clearTimeout(a.TO);v={e:b,o:c,t:a,a:b.type};if(b.type=="mouseover"||b.type=="mouseup"){if(c==a.holder){return;}if(a.cur!=c){a.showHide(v);}}else{a.TO=a.par.u.TO(this,"showHide",v,100,0);}},inish:td_site.inish};function roll(b){var a=b.getElementsByTagName("img")[0];var c=a.src;a.src=/_on/.test(c)?c.replace("_on","_off"):c.replace("_off","_on");}function hideToolbar(){var a=document.getElementById("view-hd");a.style.visibility="hidden";}(function(){var f=YAHOO.util.Dom;var d=YAHOO.util.Event;var e=YAHOO.util.CustomEvent;var h=YAHOO.util.Anim;var j=YAHOO.widget.MenuBar;var b=YAHOO.widget.Overlay;var i=getPackageForName("com.forddirect.ng.util");var k=getPackageForName("com.forddirect.ng.widgets");var a=0.2;var g=400;k.GlobalNav=function(n){this._mouseOver=false;this.nodeRoot=f.get(n.root);if(_widgets.context.UserContext){_widgets.context.UserContext.subscribe("zIPCodeChange",this.updateLocateDealerLink,this,true);this.updateLocateDealerLink();}var l=f.get("gnav-search-endeca");if(l){var m=new k.SiteSearchInput(l,{autocomplete:true,searchType:"search"});}};var c=k.GlobalNav.prototype;c.onContextLoaded=function(){_widgets.context.UserContext.subscribe("zipcodeChange",this.updateLocateDealerlink,this,true);this.updateLocateDealerlink();};k.GlobalNav.prototype.updateLocateDealerLink=function(){var o=_widgets.context.UserContext.get("zIPCode");var n=["locatedealer-promo"];if(o){for(var l=0;l<n.length;l++){var m=document.getElementById(n[l]);if(m){if(m.href.indexOf("zip=")==-1){if(m.href.indexOf("?")==-1){m.href+="?zip="+o;}else{m.href+="&zip="+o;}}else{m.href=m.href.replace(/\zip=([0-9]{5})/,"zip="+o);}}}}};_instances.bsLoader.initCompleteEvent.subscribe(function(){var l={root:"menus",menu:"toolbar",overlay:"globalnav-content"};_instances.globalNav=new k.GlobalNav(l);td_site.inish(td_site,"td_site",0);td_site.nav.attach("td_subNav","indiDiv","div","td_subNav_close",0);});})();
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var d=YAHOO.widget;var e=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");a.BSPanel=function(h,i){var o="roundedShadow";var j;this.el=h;var f={visible:false,constraintoviewport:true,draggable:false,underlay:"none",flip:"default"};if(i){for(j in i){if(i.hasOwnProperty(j)){f[j]=i[j];}}}this.CALLING_FLIP=f.flip;f.close=false;a.BSPanel.superclass.constructor.call(this,h,f);this.render();var q=c.getElementsByClassName("container-close",null,this.el);if(q&&q.length>0){var g=q[0];b.on(g,"click",this.hide,null,this);}if(f.underlay===o){var l=["tl quoin","tr quoin","shadow-content","bl quoin","br quoin"];var n=document.createElement("div");c.addClass(n,"rounded-shadow");this.el.appendChild(n);for(j in l){if(l.hasOwnProperty(j)){var m=document.createElement("div");c.addClass(m,l[j]);n.appendChild(m);}}}};YAHOO.extend(a.BSPanel,d.Panel,{init:function(g,f){a.BSPanel.superclass.init.apply(this,arguments);this.initAttributes(g,f);},initAttributes:function(g,f){},setPanelHeader:function(h,g){var f=c.getElementsByClassName("headerText",null,this.el);if(f&&f.length>0){f[0].innerHTML=h;if(g){var i="<div class='subtitle'>"+g+"</div>";f[0].innerHTML=h+i;}}},addScroller:function(h,g,f){var j=c.get(h).innerHTML;var i=a.createScrollPane(h,h,"bs-Scroller",g,f,false);i.getContainer().innerHTML=j;i.resize([{}]);return i;},hide:function(){a.BSPanel.superclass.hide.apply(this,arguments);if("part-details"===this.CALLING_FLIP){e.removeModalBackground("view-bd","panel");}},show:function(){a.BSPanel.superclass.show.apply(this,arguments);if("part-details"===this.CALLING_FLIP){e.addModalBackground("view-bd","panel");}},alignTo:function(g,f){if(f&&f.elementAlign&&f.contextAlign){this.cfg.setProperty("context",[g,f.elementAlign,f.contextAlign]);this.align(f.elementAlign,f.contextAlign);}else{this.alignTo(g,a.BSPanel.ALIGN_BOTTOM_LEFT);}},update:function(){}});a.BSPanel.ALIGN_TOP_LEFT={elementAlign:"tl",contextAlign:"tl"};a.BSPanel.ALIGN_TOP_RIGHT={elementAlign:"tl",contextAlign:"tr"};a.BSPanel.ALIGN_BOTTOM_LEFT={elementAlign:"bl",contextAlign:"bl"};a.BSPanel.ALIGN_BOTTOM_RIGHT={elementAlign:"bl",contextAlign:"br"};}());
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var d=YAHOO.Bubbling;var f="com.forddirect.ng.widgets";var a=getPackageForName(f);var g=getPackageForName("com.forddirect.ng.util");a.InlineEditZipCode=function(j,l){this.el=j;var k;log.debug("Adding close-click handler.");k=document.getElementById("zipcode-close-click");if(k){b.on(k,"click",this.hide,this,true);}log.debug("Adding on-change handlers.");k=this.getInput();if(k){b.on(k,"keyup",this.handleTextChange,this,true);}log.debug("Adding submit-click handler.");k=document.getElementById("zipcode-submit-click");if(k){b.on(k,"click",this.handleSubmitZIPCode,this,true);}var i=_widgets.context.UserContext.get("zIPCode");log.debug("Initializing the ZIP code control with user zip '"+i+"'.");k=document.getElementById("zipcode-value");if(k&&i){k.innerHTML=i;}var h=document.getElementById("current-date");this.setCurrentDate(h);b.on("zipcode-change-click","click",this.show,this,true);_widgets.context.UserContext.subscribe("zIPCodeChange",this.handleZIPCodeUpdate,this,true);_widgets.context.UserContext.onInvalidZIPCode.subscribe(this.onInvalidZIPCode,this,true);};var e=a.InlineEditZipCode.prototype;e.setCurrentDate=function(i){var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var n=new Date();var h=n.getDate();var m=n.getMonth();var j=n.getFullYear();var l=k[m]+"  "+h+", "+j;i.innerHTML=l;};e.show=function(){var h=this.getInput();h.value=_widgets.context.UserContext.get("zIPCode");c.addClass(this.el,"active");h.focus();h.select();};e.hide=function(){c.removeClass(this.el,"active");c.removeClass(this.el,"error");};e.handleSubmitZIPCode=function(){var h=this.getSubmitControl();if(h&&c.hasClass(h,"clickable")){_widgets.context.UserContext.setExplicitZIPCode(this.getUserText());}};e.getInput=function(){return c.get("ze-textbox");};e.getUserText=function(){return this.getInput().value;};e.onInvalidZIPCode=function(){c.addClass(this.el,"error");var h=this.getInput();if(h){h.focus();h.select();}};e.handleZIPCodeUpdate=function(h){this.hide();document.getElementById("zipcode-value").innerHTML=h.newValue;};e.getSubmitControl=function(){return document.getElementById("zipcode-submit-click");};e.handleTextChange=function(j){var h=this.getSubmitControl();if(h){var i=this.getUserText();if(i){c.addClass(h,"clickable");if(j.keyCode===13){this.handleSubmitZIPCode();this.getSubmitControl().focus();}}else{c.removeClass(h,"clickable");}}c.removeClass(this.el,"error");};}());
(function(){var d=YAHOO.util.Dom;var c=YAHOO.util.Event;var e=YAHOO.widget;var f=getPackageForName("com.forddirect.ng.util");var j=getPackageForName("com.forddirect.ng.widgets");var h=0;var g=-24;var a=["top","right","bottom","left"];var i={tl:{tr:{arrow:"l",top:"15%"},bl:{arrow:"t",left:"15%"},def:{arrow:"l",top:"40%"}},tr:{tl:{arrow:"t",top:"15%"},br:{arrow:"t",left:"85%"},def:{arrow:"t",top:"40%"}},bl:{tl:{arrow:"b",left:"15%"},br:{arrow:"l",left:"85%"},def:{arrow:"l",top:"40%"}},br:{tr:{arrow:"t",left:"60%"},bl:{arrow:"t",top:"80%"},def:{arrow:"t",top:"40%"}},def:{def:{arrow:"r",top:"40%"}}};var b={t:{fn:d.setY,offset:{top:-7}},r:{fn:d.setX,offset:{right:-14}},b:{fn:d.setY,offset:{bottom:-15}},l:{fn:d.setX,offset:{left:-8}}};j.BSTooltip=function(m,o){this.el=m;var n={hidedelay:500,constraintoviewport:true,offset:{x:h,y:g}};if(o){for(var l in o){if(l=="offset"){if(o.offset.x){n.offset.x+=o.offset.x;}if(o.offset.y){n.offset.y+=o.offset.y;}}else{n[l]=o[l];}}}j.BSTooltip.superclass.constructor.call(this,m,n);};YAHOO.extend(j.BSTooltip,e.Tooltip,{init:function(k,l){j.BSTooltip.superclass.init.apply(this,arguments);c.on(k,"mouseover",this.onTooltipMouseOver,this,true);c.on(k,"mouseout",this.onContextMouseOut,this,true);this.subscribe("beforeShow",f.X.wrap(this.synchronizeArrows,this),this,true);this.subscribe("beforeHide",f.X.wrap(this.hideArrows,this),this,true);},initDefaultConfig:function(){j.BSTooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("offset",{value:{x:0,y:0},validator:null,supercedes:null});},onContextMouseMove:function(q,p){var o=p.cfg.getProperty("context");if(o&&o.length>=2){var l=o[1];var k=o[2];var n=p.element;var m=function(t,u){switch(l){case e.Overlay.TOP_LEFT:p.pageX=u;var w=0;if(typeof window.pageYOffset=="number"){w=window.pageYOffset;}else{if(document.documentElement&&document.documentElement.scrollTop){w=document.documentElement.scrollTop;}else{if(document.body&&document.body.scrollTop){w=document.body.scrollTop;}else{if(window.scrollY){w=window.scrollY;}}}}var s=0;if(window.innerHeight){s=window.innerHeight;}else{if(document.documentElement&&document.documentElement.clientHeight){s=document.documentElement.clientHeight;}else{if(document.body&&document.body.clientHeight){s=document.body.clientHeight;}}}if(t-w+n.offsetHeight<s){p.pageY=t-n.offsetHeight;}else{p.pageY=t;}break;case e.Overlay.TOP_RIGHT:p.pageX=u-n.offsetWidth;p.pageY=t;break;case e.Overlay.BOTTOM_LEFT:p.pageX=u;p.pageY=t-n.offsetHeight;break;case e.Overlay.BOTTOM_RIGHT:p.pageX=u-n.offsetWidth;p.pageY=t-n.offsetHeight;break;}var x=p.cfg.getProperty("offset");if(x){if(x.x){p.pageX+=x.x;}if(x.y){p.pageY+=x.y;}}};var r=d.getRegion(this);switch(k){case e.Overlay.TOP_LEFT:m(r.top,r.left);break;case e.Overlay.TOP_RIGHT:m(r.top,r.right);break;case e.Overlay.BOTTOM_LEFT:m(r.bottom,r.left);break;case e.Overlay.BOTTOM_RIGHT:m(r.bottom,r.right);break;}}else{p.pageX=c.getPageX(q);p.pageY=c.getPageY(q);}},setBody:function(){},onTooltipMouseOver:function(m,l){var k=this;if(k.title){l._tempTitle=k.title;k.title="";}if(l.fireEvent("contextMouseOver",k,m)&&!l.cfg.getProperty("disabled")){if(l.hideProcId){clearTimeout(l.hideProcId);l.hideProcId=null;}c.on(k,"mousemove",l.onContextMouseMove,l);l.showProcId=l.stopHide(m,k);}},stopHide:function(l,k){c.removeListener(k,"mousemove",this.onContextMouseMove);this.hideProcId=this.doHide();this.show();},hideFlip:function(){this.hide();},showFlip:function(){this.show();},hideArrows:function(){d.getElementsByClassName("tt-arrow",null,this.el,function(k){d.removeClass(k,"tt-arrow-active");});},positionArrow:function(m,n){var l=m.parentNode;var o=d.getRegion(l);if(n){var p=b[n];if(p){for(var q in p.offset){var k=o[q]+p.offset[q];p.fn(m,k);}}else{log.warn("Cannot find offset for '"+n+"'.");}}else{log.warn("Cannot reposition arrow with unknown error type.");}},synchronizeArrows:function(t,p){var s={t:{coord:1,g:true,reverse:"b"},b:{coord:1,g:false,reverse:"t"},l:{coord:0,g:false,reverse:"r"},r:{coord:0,g:false,reverse:"l"}};this.hideArrows();var l=this.cfg.getProperty("context");if(l){var m=l.length>=1?l[1]:null;var y=l.length>=2?l[2]:null;var q=d.getXY(this.el);var v=d.getXY(l[0]);var u=(m&&i[m])?i[m]:i.def;var x=(y&&u[y])?u[y]:u.def;if(x){if(x.arrow){var r=s[x.arrow].coord;if((q[r]>=v[r])!=s[x.arrow].g){x.arrow=s[x.arrow].reverse;}var n=d.getElementsByClassName("tt-arrow-"+x.arrow,null,this.el);if(n&&n.length>0){d.addClass(n,"tt-arrow-active");for(var o=0,w=a.length;o<w;o++){var k=a[o];if(x[k]){d.setStyle(n,k,x[k]);}}}}}}}});})();
(function(){var b=YAHOO.util.Dom;var c=YAHOO.lang;var a=getPackageForName("com.forddirect.ng.widgets");a.Button=function(d,e){a.Button.superclass.constructor.apply(this,arguments);};c.extend(a.Button,YAHOO.util.Element,{disable:function(){b.setClass(this.getEl(),"disabled");},enable:function(){b.removeClass(this.getEl(),"disabled");}});}());
(function(){var c="com.forddirect.ng.widgets";var a=getPackageForName(c);var d=getPackageForName("com.forddirect.ng.util");var b=YAHOO.util.Dom;a.PromotionalArea=function(g,h){var j=b.getElementsByClassName("ng-widget promotional-tile","div",g);var f;for(f=0;f<j.length;f++){var e=new a.PromotionalTile(j[f],h);}};}());
(function(){var c="com.forddirect.ng.widgets";var a=getPackageForName(c);var d=getPackageForName("com.forddirect.ng.util");var b=YAHOO.util.Dom;a.PromotionalTile=function(h,i){var f=b.getElementsByClassName("promo-content","div",h);if(f&&f.length>0){var g=f[0];var e=g.getAttribute("dynamic");if(e){this.loadDynamicContent(h,g,i);}}};a.PromotionalTile.prototype.loadDynamicContent=function(g,f,i){var l=g.id;var k=f.id;var h=b.get("loading:"+k);if(h){d.Navigation.swapBlocks(k,h);}var e=f.getAttribute("promo-id");var j="?widget=promotional-tile&promo-area="+i+"&promo-id="+e;log.debug("Refreshing dynamic promotional tile from '"+j+"'.");d.Navigation.swapWith(l,j);};}());function showHoverState(d,c){var e="com.forddirect.ng.widgets";var a=getPackageForName(e);var f=getPackageForName("com.forddirect.ng.util");var b=YAHOO.util.Dom;if(document.images){document[d].src=c;}}function showNormalState(c,d){var e="com.forddirect.ng.widgets";var a=getPackageForName(e);var f=getPackageForName("com.forddirect.ng.util");var b=YAHOO.util.Dom;if(document.images){document[c].src=d;}}
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var d=YAHOO.Bubbling;var g=getPackageForName("com.forddirect.ng.util");var f="com.forddirect.ng.widgets";var a=getPackageForName(f);a.Disclaimer=function(){_widgets.context.DisclaimerContext.onFootnoteAdded.subscribe(this.handleRefresh,this,true);var i;var h;};var e=a.Disclaimer.prototype;e.registerDisclaimers=function(h){this.rootNodeOfDisclaimerArea=h;var i=this.findDisclaimerIdsForFootnotes(h);_widgets.context.DisclaimerContext.updateDisclaimers(i,h);};e.findDisclaimerIdsForFootnotes=function(h){this.footnoteLocations=c.getElementsByClassName("footnoteIndicator","sup",h);var k=[];var j;for(j=0;j<this.footnoteLocations.length;j++){k[j]=this.footnoteLocations[j].getAttribute("disclaimer");}return k;};e.handleRefresh=function(j,h){var k=h[0];var i=h[1];if(i.getAttribute("class")===this.rootNodeOfDisclaimerArea.getAttribute("class")){this.displayFootnoteIndicators(this.footnoteLocations,k);}};e.displayFootnoteIndicators=function(h,k){if(h){var j;for(j=0;j<h.length;j++){h[j].innerHTML=k[h[j].getAttribute("disclaimer")];}}};}());
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var a=getPackageForName("com.forddirect.ng.widgets");a.DisclaimerFlip=function(g,h){this.disclaimerEl=g;var f=c.getElementsByClassName("disclaimer-button-click","a",g);b.on(f,"click",this.onDisclaimerButtonClick,this,true);var e={zIndex:1100};var d=c.get("global-disclaimers-flip");a.DisclaimerFlip.superclass.constructor.call(this,d,e);};YAHOO.extend(a.DisclaimerFlip,a.BSPanel);a.DisclaimerFlip.prototype.onDisclaimerButtonClick=function(d,e){this.setPanelHeader("Additional Disclosures");c.get("global-disclaimers-flip").style.display="block";this.alignTo(this.disclaimerEl,a.BSPanel.ALIGN_BOTTOM_LEFT);this.show();};}());
(function(){var d=YAHOO.lang;var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var a=getPackageForName("com.forddirect.ng.widgets");var e=getPackageForName("com.forddirect.ng.util");a.BackToTop=function(f,g){};b.onDOMReady(function(){var f=c.get("back-to-top-link");if(f){YAHOO.Bubbling.addDefaultAction("back-to-top-click",e.Actions.newHandler(function(h,g){e.Animation.resetScroll();}));}else{log.warn("Cannot Move to Top.");}});}());
(function(){var b=YAHOO.util.Dom;var e=YAHOO.lang;var d=YAHOO.widget;var c=YAHOO.util;var g=getPackageForName("com.forddirect.ng.util");var h=getPackageForName("com.forddirect.ng.context");var a=getPackageForName("com.forddirect.ng.widgets");var f=getPackageForName("com.forddirect.ng.datasource");a.AsShownPrice=function(i,j){a.AsShownPrice.superclass.constructor.apply(this,arguments);};e.extend(a.AsShownPrice,a.BaseWidget,{init:function(i,j){a.AsShownPrice.superclass.init.apply(this,arguments);this.headEl=g.getElementByClassName("shown-price-head",null,this.getEl());if(!this.headEl){throw"Cannot initialize as-shown pricing widget with no head element.";}if(!b.hasClass(this.headEl,"static")){this.displayEl=g.getElementByClassName("shown-model-price",null,this.getEl());_widgets.context.SelectedContext.subscribe("configurationPricingChange",g.Event.newHandler(this.handleSelectedConfigurationChange,this));}},handleSelectedConfigurationChange:function(i){var j=i.newValue;if(j&&j.MSRP){this.updatePrice(j.MSRP);this.show();}else{this.hide();}},hide:function(){b.removeClass(this.headEl,"active");},show:function(){b.addClass(this.headEl,"active");},updatePrice:function(i){if(this.displayEl){if(i){this.displayEl.innerHTML="$"+g.formatWithComma(i);}else{this.displayEl.innerHTML="";}}}});}());
(function(){var c=YAHOO.util.Dom;var d=YAHOO.lang;var b=YAHOO.util.Event;var e=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");a.BannerOverlay=function(f,g){this.isInitialized=false;a.BannerOverlay.superclass.constructor.apply(this,arguments);};d.extend(a.BannerOverlay,a.BaseWidget,{init:function(g,h){a.BannerOverlay.superclass.init.apply(this,arguments);this.bannerContent=e.Dom.getElementByClassName("banner-content","div",g);var i=e.Dom.getElementByClassName("close","div",g);var f=c.getElementsByClassName("featurenavigation","a",g);if(i){b.addListener(i,"click",this.hide,null,this);}b.addListener(f,"click",this.hide,null,this);c.setStyle(this.el,"visibility","hidden");this.isInitialized=true;},show:function(f){if(f){c.setStyle(this.bannerContent,"backgroundImage","url("+f+")");c.setStyle(this.el,"visibility","visible");}},hide:function(){log.debug("Hiding banner overlay.");c.setStyle(this.el,"visibility","hidden");}});}());
(function(){var c=YAHOO.util.Dom;var d=YAHOO.lang;var b=YAHOO.util.Event;var e=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");a.BannerVideoOverlay=function(f,g){this.el=f;g=g||{};this.contextKey=g.contextKey||null;a.BannerVideoOverlay.superclass.constructor.call(this,f,g);_widgets.context.SelectedContext.subscribe(this.contextKey+"Change",function(){if(this.isInitialized&&this.initializeOverlay(f,g)){log.debug("Banner video overlay initailization completed.");this.show();}else{log.error("Failed to initailize the banner video overlay.");}},this,true);};YAHOO.extend(a.BannerVideoOverlay,a.BannerOverlay,{init:function(f,g){a.BannerVideoOverlay.superclass.init.apply(this,arguments);this.bannerOverlay=e.Dom.getElementByClassName("banner-overlay","div",this.el);this.container=e.Dom.getElementByClassName("container","div",this.el);this.bannerBackgroundImage=c.getStyle(this.bannerContent,"backgroundImage")||"none";},initializeOverlay:function(g,h){this.media=a.BannerVideoOverlay.getMedia(this.contextKey);if(this.media){var f=e.Dom.getElementByClassName("video-overlay","div",this.container);if(this.media.video&&this.media.video.source){this.videoPlayer=a.BannerVideoOverlay.getVideoPlayer(this.media,f,h.videoPlayer);if(!this.videoPlayer){log.error("Couldn't get the media player.");}else{c.replaceClass(this.bannerOverlay,"banner-image","banner-video");}}else{if(!this.media.image){log.error("Unable to initialize a banner video overlay with neither video nor image sources.");}else{log.debug("Hiding video overlay; no video associated.");c.setStyle(f,"visibility","hidden");c.replaceClass(this.bannerOverlay,"banner-video","banner-image");}}return true;}else{this.media={};log.debug("Couldn't fetch the media data.");return false;}},show:function(){e.Animation.resetScroll();if((this.media.video&&this.media.video.source)||(this.media.image&&this.media.image.source)){a.BannerVideoOverlay.superclass.show.call(this,this.media.image.source);c.setStyle(this.bannerOverlay,"visibility","visible");if(this.videoPlayer){this.videoPlayer.stopVideo();c.setStyle(this.bannerContent,"backgroundImage",this.bannerBackgroundImage);this.videoPlayer.launchVideo(this.media.id);}}else{log.error("Cannot show the overlay without any media content!");}var f=a.BannerVideoOverlay.getMacroData();if(f!==""){ngbsMetricsTracker.trackMacroData(f);}},hide:function(){c.setStyle(this.bannerOverlay,"visibility","hidden");a.BannerVideoOverlay.superclass.hide.call(this);if(this.videoPlayer){this.videoPlayer.stopVideo();}}});d.augmentObject(a.BannerVideoOverlay,{getMedia:function(f){var g=_widgets.context.SelectedContext.get(f);return g;},getVideoPlayer:function(j,f,k){k=k||{};try{var g;var m={};m={autoplay:1,data:[]};var i={};i.id=j.id;i.video=j.video.source;i.duration=j.video.duration;i.image=j.image.source;i.thumb=j.image.source;m.data.push(i);var l=j.id+"-VideoPlayer";g=_widgets.highlightsVideoPlayer=new a.VideoPlayer(f,{widgetID:k.id||l,jsInstanceName:"_widgets.highlightsVideoPlayer",videoMetadata:m,initialVideoID:j.id,swfPath:k.swfPath||"/ngtemplates/ngassets/com/forddirect/ng/widgets/video-player/player_ford.swf",width:k.width||591,height:k.height||333,bgColor:k.bgColor||"#000000",wmode:k.wmode||"transparent"});g.init();return g;}catch(h){log.error("Error while getting the video player: ",h);return null;}},getMacroData:function(){var g=_widgets.context.SelectedContext.get("currentView");var f;switch(g){case"innovation-sync-overview":f="techSyncVideo";break;case"innovation-electric-overview":f="techElectricVideo";break;default:f="";}return f;}});}());
(function(){var d=YAHOO.Bubbling;var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var e=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.forddirect.ng.widgets");a.ReserveFlip=function(f,g){g=g||{};g.contextKey="reservationContent";a.ReserveFlip.superclass.constructor.call(this,f,g);this.init(f,g);};YAHOO.extend(a.ReserveFlip,a.BannerVideoOverlay,{init:function(g,h){a.ReserveFlip.superclass.init.apply(this,arguments);var f=e.Dom.getElementByClassName("caption","div",g);this.domElements={desc:e.Dom.getElementByClassName("desc","p",f),points:e.Dom.getElementByClassName("points","ul",f)};if(this.isInitialized&&this.initializeOverlay(g,h)){log.debug("Banner video overlay initailization completed.");d.addDefaultAction("reserve-now",e.Actions.newHandler(function(){this.show();e.Animation.resetScroll();},this));}else{log.error("Banner video overlay initialization failed.");}_widgets.context.SelectedContext.subscribe("highlightChange",e.Event.newHandler(function(){this.hide();},this));},show:function(){var g=_widgets.context.SelectedContext.get("reservationContent").caption||null;var f=e.Text.asUL(g);this.domElements.desc.innerHTML=f.leadin;this.domElements.points.innerHTML=f.listHTML;a.ReserveFlip.superclass.show.apply(this,arguments);log.debug("Firing reserveOverview");ngbsMetricsTracker.trackMacroData("reserveOverview");}});}());
(function(){var d=YAHOO.util.Dom;var c=YAHOO.util.Event;var f="com.forddirect.ng.widgets";var b=getPackageForName(f);var g=getPackageForName("com.forddirect.ng.util");var a="buzz";var h="college-grad";b.ShareThis=function(i,j){j=j||{};this.init(i,j);};var e=b.ShareThis.prototype;e.init=function(i,k){try{if(i){c.addListener(i,"click",function(l,n){var m="";if(n.context===a){m="buzzShareThis";}else{if(n.context===h){m="collegeGradShareThis";}else{m="shareThis";}}log.debug("Track Metrics '"+m+"'");ngbsMetricsTracker.trackMicroData(m);dartTracker.trackEvent("shareit",ngbsMetricsTracker.nameplate(),1,ngbsMetricsTracker.getBrandType(),ngbsMetricsTracker.revealNameplate());dartTracker.trackEventsEfficient("shareit");},k);log.debug("Added listener for click on share-this.");}}catch(j){log.debug("Failed to add listener for click on share-this.");}};}());
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var d=YAHOO.widget;var e=getPackageForName("com.forddirect.ng.util");var a=getPackageForName("com.mercury.ng.widgets");a.ShoppingToolsList=function(f){};})();
(function(){var c=YAHOO.util.Dom;var b=YAHOO.util.Event;var a=getPackageForName("com.forddirect.ng.widgets");var d=getPackageForName("com.forddirect.ng.util");YAHOO.util.Event.onDOMReady(function(){_instances.bsLoader.initCompleteEvent.subscribe(bfOnInitializationComplete,this);});bfClickHandler=function(f){var g=(navigator.userAgent.toLowerCase().search("msie")>-1);var e=(navigator.userAgent.toLowerCase().search("safari")>-1);var h=(g||e)?f.srcElement:f.currentTarget;oMetricsTracker.trackMacroData(h.attributes.metrics_name.nodeValue);};bfOnInitializationComplete=function(){var e=c.getElementsByClassName("brand_footer_linkout","a");b.addListener(e,"click",bfClickHandler);};})();

