MQA.Loader.registerCss("zoomcontrol4",'.mapControl .panControl,.smallZoom,.mapControl .sliderWrapper,.mapControl .slider,.mapControl .zoomin,.mapControl .zoomout,.mapControl .maptoggle,.mapControl .maptoggle span,.mapControl .belowToggle,.mapControl .belowToggle span{background-image:url("http://new.mapquest.com/cdn/dotcom3/images/sprite_map_controls.png");background-repeat:no-repeat;-moz-user-select:none;-webkit-user-select:none;}.largeZoom{position:absolute;right:8px;top:58px;z-index:100;}.smallZoom{position:absolute;left:5px;top:4px;background-position:-270px -180px;width:30px;height:60px;z-index:100;border:none!important;}.smallZoom.hyb,.smallZoom.sat{background-position:-270px -400px;}.map .mapControl{border:none;}.mapTogglesWrapper{position:absolute;right:8px;top:11px;white-space:nowrap;vertical-align:top;z-index:100;border:none;}.viewOptionsWrapper{display:inline-block;vertical-align:top;}.ie7 .viewOptionsWrapper{_display:inline;}.mapControl .panControl{background-position:-90px -180px;width:57px;height:58px;cursor:pointer;}.mapControl .bestfit{background-position:-90px -240px;}.mapControl .panright{background-position:-210px -180px;}.mapControl .panleft{background-position:-210px -240px;}.mapControl .panup{background-position:-150px -180px;}.mapControl .pandown{background-position:-150px -240px;}.mapControl.hyb .panControl,.mapControl.sat .panControl{background-position:-90px -400px;}.mapControl.hyb .bestfit,.mapControl.sat .bestfit{background-position:-90px -460px;}.mapControl.hyb .panright,.mapControl.sat .panright{background-position:-210px -400px;}.mapControl.hyb .panleft,.mapControl.sat .panleft{background-position:-210px -460px;}.mapControl.hyb .panup,.mapControl.sat .panup{background-position:-150px -400px;}.mapControl.hyb .pandown,.mapControl.sat .pandown{background-position:-150px -460px;}.mapControl area{background:#CCC;}.mapControl .sliderWrapper{position:absolute;background-position:left -180px;width:30px;height:132px;right:16px;top:60px;cursor:pointer;}.mapControl .slideTrack{position:absolute;top:29px;width:29px;height:70px;}.mapControl .slider{position:absolute;background-position:-50px -300px;width:28px;height:11px;cursor:hand;cursor:-moz-grab;top:55px;}.mapControl.hyb .sliderWrapper,.mapControl.sat .sliderWrapper{background-position:left -400px;}.mapControl .zoomin,.mapControl .zoomout{top:2px;left:2px;position:absolute;background-position:-50px -180px;width:25px;height:27px;cursor:pointer;}.mapControl .zoomout{top:auto;bottom:3px;background-position:-50px -210px;}.mapControl .zoominover{background-position:-50px -240px;}.mapControl .zoomoutover{background-position:-50px -270px;}.mapControl.hyb .zoomin,.mapControl.sat .zoomin{background-position:-50px -400px;}.mapControl.hyb .zoomout,.mapControl.sat .zoomout{background-position:-50px -430px;}.mapControl.hyb .zoominover,.mapControl.sat .zoominover{background-position:-50px -460px;}.mapControl.hyb .zoomoutover,.mapControl.sat .zoomoutover{background-position:-50px -490px;}.mapTogglesWrapper .maptoggle{background-position:right -30px;display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;position:relative;margin:0;border:0;padding:0 11px 0 0;text-align:center;cursor:pointer;overflow:visible;height:27px;color:#EEE;}.ie7 .mapTogglesWrapper .maptoggle{_display:inline;}.mapTogglesWrapper .maptoggle span{background-position:left top;display:block;position:relative;white-space:nowrap;height:27px;vertical-align:middle;line-height:24px;padding:0 3px 0 13px;}.mapTogglesWrapper .maptoggleLeft span{padding:0 13px 0 13px;}.mapTogglesWrapper .maptoggleRight span{background-position:-20px top;}.mapTogglesWrapper .over{background-position:right -150px;color:#FFF;}.mapTogglesWrapper .over span{background-position:0 -120px;}.mapTogglesWrapper .maptoggleRight.over span{background-position:-20px -120px;}.mapTogglesWrapper .s{background-position:right -90px;color:#FFF;}.mapTogglesWrapper .s span{background-position:0 -60px;}.mapTogglesWrapper .maptoggleRight.s span{background-position:-20px -60px;}.mapTogglesWrapper .maptoggleLeft{padding:0;background:none;}.hyb .maptoggle,.sat .maptoggle{background-position:right -580px;color:#000;}.hyb .maptoggle span,.sat .maptoggle span{background-position:left -550px;}.hyb .over,.sat .over{background-position:right -700px;color:#000;}.hyb .over span,.sat .over span{background-position:0 -670px;}.hyb .s,.sat .s{background-position:right -90px;color:#FFF;}.hyb .s span,.sat .s span{background-position:left -60px;}.mapTogglesWrapper .belowToggle{background-position:right -357px;display:inline-block;font-size:10px;letter-spacing:.05em;position:relative;margin:-13px 0 0 0;border:0;padding:0 11px 0 0;text-align:center;cursor:pointer;overflow:visible;height:28px;color:#000;}.ie7 .mapTogglesWrapper .belowToggle span{_width:155px;}.ie7 .mapTogglesWrapper .belowToggle input{vertical-align:middle;}.mapTogglesWrapper .belowToggle span{background-position:left -317px;display:block;position:relative;white-space:nowrap;height:27px;vertical-align:middle;line-height:24px;padding:7px 0 0 7px;}.mapTogglesWrapper .belowToggle strong{padding-left:5px;font-weight:normal;}.trafficUpdateTime{padding:10px 20px 10px 15px;font-size:12px;white-space:nowrap;}.mapTogglesWrapper .view360,.mapTogglesWrapper .traffic{margin-right:5px;}');MQA.withModule("controlbase",function(){var C=window.MQA,G=C.EventUtil,D=G.EventCallback,A=G.observe,H=G.stopObserving,E=G.stop,B=C.EventManager,I=B.addListener,F=B.removeListener;C.Loader.requireCss("zoomcontrol4");C.CONTROL_PANZOOM4=5;C.LargeZoomControl4=function(X){C.Base.call(this);var m=65;var O=200;var J={x:48,y:5,width:57,height:58};var h=[];h[0]="panup";h[1]="panright";h[2]="pandown";h[3]="panleft";h[4]="bestfit";var d=[];d[0]={x:16,y:3,width:23,height:11,tip:"Pan North"};d[1]={x:41,y:16,width:13,height:21,tip:"Pan East"};d[2]={x:16,y:39,width:24,height:13,tip:"Pan South"};d[3]={x:3,y:16,width:11,height:22,tip:"Pan West"};d[4]={x:15,y:15,width:25,height:25,tip:"Fit to Screen"};var W=[];var g={x:16,y:63,width:12,height:164};var N=null;var a=null;var M=null;var R=null;var K=null;var Y=null;var e=null;var j=null;var Q=null;var U=null;var T=[];var S=null;var Z=null;var i=null;var b=null;var L=null;var V=null;var c=null;var P=null;var l=false;var k=null;var f=null;this.controlVersion="2.0";this.type=C.CONTROL_PANZOOM4;this.className="MQA.LargeZoomControl3";this.map=null;this.width=m;this.height=O;this.position=(typeof (X)=="undefined"?new C.MapCornerPlacement(C.MapCorner.TOP_LEFT,new C.Size(0,0)):X);this._facio=function(o,p){switch(o){case"width":this.width=m;break;case"height":this.height=O;break;case"position":if(N){var n=this._getPositionXY(p);N.style.left=n.x+"px";N.style.top=n.y+"px"}break}};this._duco=function(n){switch(n){}};this.draw=function(){if(N){this.dispose(false)}var o=this._getPositionXY(this.position);N=document.createElement("div");N.id="LargeZoomControl3_cControlBox";N.style.position="absolute";N.style.overflow="hidden";N.style.display="block";N.className="mapControl largeZoom "+map.getMapType();N.style.left=o.x+"px";N.style.top=o.y+"px";N.style.width=this.getValue("width")+"px";N.style.height=this.getValue("height")+"px";a=document.createElement("div");a.id="LargeZoomControl3_cPanBox";a.style.position="absolute";a.style.overflow="hidden";a.style.display="block";a.style.width=J.width+"px";a.style.height=J.height+"px";a.style.left=(this.getValue("width")-J.width)/2+"px";a.style.top="0px";M=document.createElement("img");M.id="LargeZoomControl3_cPanImage";M.src="http://content.mqcdn.com/winston-release3-30/cdn/dotcom3/images/px.png";M.className="panControl";a.appendChild(M);for(var n=0;n<5;n++){T[n]=document.createElement("div");T[n].id="LargeZoomControl_"+this.guid+"_panButton_"+n;T[n].style.position="absolute";T[n].style.overflow="hidden";T[n].style.background='url("http://img.mqcdn.com/a/a") repeat';T[n].style.zindex=100;T[n].style.width=d[n].width+"px";T[n].style.height=d[n].height+"px";T[n].style.left=d[n].x+"px";T[n].style.top=d[n].y+"px";T[n].title=d[n].tip;T[n].style.cursor="pointer";a.appendChild(T[n])}N.appendChild(a);R=document.createElement("div");K=document.createElement("div");K.className="sliderWrapper";Y=document.createElement("div");Y.id="LargeZoomControl3_cZoomInBox";Y.className="zoomin";Y.title="Zoom In";Y.style.cursor="pointer";j=document.createElement("div");j.id="LargeZoomControl3_cZoomOutBox";j.className="zoomout";j.title="Zoom Out";j.style.cursor="pointer";S=document.createElement("div");S.style.position="absolute";S.style.display="block";S.style.background='url("http://img.mqcdn.com/a/a") repeat';S.style.zindex=100;S.style.width=g.width+"px";S.style.height=g.height+"px";S.style.left=g.x+"px";S.style.top=g.y+"px";N.appendChild(S);Z=document.createElement("div");Z.className="slideTrack";i=document.createElement("div");i.className="slider";i.style.top=this._getNewSliderYPosition(this.map.getZoomLevel())+"px";i.title="Zoom Level "+this.map.getZoomLevel();Z.appendChild(i);K.appendChild(Y);K.appendChild(Z);K.appendChild(j);R.appendChild(K);N.appendChild(R);this.map.parent2.appendChild(N);b=D(this,"zoomInHandler");A(Y,"mouseover",b);A(Y,"mouseout",b);A(Y,"click",b);L=D(this,"zoomOutHandler");A(j,"mouseover",L);A(j,"mouseout",L);A(j,"click",L);V=D(this,"panHandler");for(var n=0;n<5;n++){A(T[n],"mouseover",V);A(T[n],"mouseout",V);A(T[n],"click",V)}c=D(this,"sliderBarHandler");A(Z,"click",c);P=D(this,"sliderHandleHandler");A(Z,"mouseover",P);A(Z,"mouseout",P);A(Z,"mousedown",P);A(Z,"mouseup",P);eMouseActionCallback=D(this,"mouseActionHandler");A(N,"mousemove",eMouseActionCallback);A(N,"mouseout",eMouseActionCallback);A(N,"mouseup",eMouseActionCallback);I(this.map,"zoomend",this.onZoomEnd,this);I(this.map,"maptypechanged",this.onMapTypeChanged,this)};this.dispose=function(o){var o=(typeof (o)!="undefined"?o:false);H(Y,"mouseover",b);H(Y,"mouseout",b);H(Y,"click",b);H(j,"mouseover",L);H(j,"mouseout",L);H(j,"click",L);for(var n=0;n<5;n++){H(T[n],"mouseover",V);H(T[n],"mouseout",V);H(T[n],"click",V)}H(Z,"click",c);H(N,"mousemove",eMouseActionCallback);H(N,"mouseup",eMouseActionCallback);F(this.map,"zoomend",this.onZoomEnd,this);b=null;L=null;V=null;c=null;P=null;N.innerHTML="";C.Util._setOuterHTMLToEmptyString(N);C.Util._deleteDOMObject(N);N=null;a=null;M=null;Y=null;e=null;j=null;Q=null;U=null;for(var n=0;n<5;n++){T[n]=null}T=[];S=null;Z=null;i=null;this.map=null};this.addClass=function(p,o){var n=p.className;if((" "+n+" ").indexOf(" "+o+" ")<0){p.className=n+(n?" ":"")+o}};this.removeClass=function(p,o){var n=(" "+p.className+" ").replace(" "+o+" "," ");if(p.className!=n){p.className=n}};this.zoomInHandler=function(n){switch(n.type){case"mouseover":this.addClass(Y,"zoominover");break;case"mouseout":this.removeClass(Y,"zoominover");break;case"click":this._changeZoomLevel(this.map.getZoomLevel()+1);break}};this.zoomOutHandler=function(n){switch(n.type){case"mouseover":this.addClass(j,"zoomoutover");break;case"mouseout":this.removeClass(j,"zoomoutover");break;case"click":this._changeZoomLevel(this.map.getZoomLevel()-1);break}};this.panHandler=function(o){var n=(C.browser.name=="msie"?o.srcElement.id:o.target.id);var p=parseInt(n.substr(n.length-1,1));switch(o.type){case"mouseover":this.addClass(M,h[p]);break;case"mouseout":this.removeClass(M,h[p]);break;case"click":switch(p){case 0:this.map.panNorth(50);break;case 1:this.map.panEast(50);break;case 2:this.map.panSouth(50);break;case 3:this.map.panWest(50);break;case 4:this._doBestFit();break}break}};this.sliderBarHandler=function(o){var n=(C.browser.name=="msie"?o.srcElement:o.target);if(n===i){return }var q=(C.browser.name=="msie"?o.offsetY:o.layerY);var p=16-Math.round(q/4.25);this.map.setZoomLevel(p);this._setZoomSlider(p);this.logZoomLevel(p)};this.sliderHandleHandler=function(n){switch(n.type){case"mousedown":l=true;k=n.clientY;f=parseInt(i.style.top);i.style.cursor=this.map._grabbing_mousecursor;E(n);break;case"mouseup":l=false;i.style.cursor="-moz-grab";i.style.cursor="hand";this._setZoomLevelFromSliderPosition();break}};this.mouseActionHandler=function(o){if(!l){return }switch(o.type){case"mousemove":var p=o.clientY-k;var n=f+p;if(n<0){n=0}if(n>64){n=64}i.style.top=n+"px";E(o);break;case"mouseout":if(C.Util.isMouseLeaveOrEnter(o,N)){this._finishDragging()}break;case"mouseup":l=false;Z.style.cursor="pointer";break}};this._finishDragging=function(){l=false;Z.style.cursor="pointer";this._setZoomLevelFromSliderPosition()};this._getPositionXY=function(p){var o=this.getValue("width");var q=this.getValue("height");var s,r=58;var n=p.offsetSize.width;var t=p.offsetSize.height;switch(p.getMapCorner()){case C.MapCorner.TOP_LEFT:s=0;if(n>(this.map.width-o)){n=(this.map.width-o)-3}break;case C.MapCorner.TOP_RIGHT:s=this.map.width-o;break;case C.MapCorner.BOTTOM_LEFT:s=0;r=this.map.height-q;if(n>(this.map.width-o)){n=(this.map.width-o)-3}break;case C.MapCorner.BOTTOM_RIGHT:s=this.map.width-o;r=this.map.height-q;break}s+=n;r+=t;return new C.PointXY(s,r)};this._changeZoomLevel=function(n){n=(n>16?16:n);n=(n<1?1:n);this.map.setZoomLevel(n);this._setZoomSlider(n)};this._doBestFit=function(){var u=this.map.routerect;var t=new C.ShapeCollection();var r=this.map.getShapeCollections(true,false);for(var s=0;s<r.length;s++){if(!r[s].bestFit){continue}for(var o=0,n=r[s].getSize();o<n;o++){var v=r[s].getAt(o);var p=(v instanceof C.Poi||v instanceof C.BasePoi);if(v instanceof C.HoverPoi){p=false}if(p){t.add(v,false)}}}var q=t.getSize();if(q>1){this.map.bestFit()}else{this.map.setCenter(this.map.savedCenter)}};this._setZoomSlider=function(n){i.style.top=this._getNewSliderYPosition(n)+"px";i.title="Zoom Level "+n};this._getNewSliderYPosition=function(o){var n=(68-(o*4.25));return n};this._setZoomLevelFromSliderPosition=function(){var n=(Math.round((68-parseInt(i.style.top,10))/4.25));this.map.setZoomLevel(n);this.logZoomLevel(n)};this.onZoomEnd=function(o){var n=this.map.getZoomLevel();this._setZoomSlider(n)};this.onMapTypeChanged=function(){N.className="mapControl largeZoom "+this.map.getMapType()};this.logZoomLevel=function(n){if(n<5){}else{if(n<9){}else{if(n<13){}else{}}}};this.initialize=function(n){this.map=n;this.draw()};this.getWidth=function(){return this.getValue("width")};this.getHeight=function(){return this.getValue("height")};this.destructor=function(){this.dispose(false)};this.getPosition=function(){return this.getValue("position")}};C.Loader._moduleLoaded("zoomcontrol4")});
