Sigalert.namespace("common");Sigalert.common.cacheImage=function(b){var a=new Image();a.src=b};(function(){Sigalert.namespace("data");var a=1,b=2;Sigalert.data.DragMap={HotSpotType:{Speed:0,Inc:1,Cam:2},getLastUpdatedString:function(c){return Sigalert.TrafficData[c].LastUpdatedString},getIncidentId:function(d,c){return Sigalert.TrafficData[d].Incidents[c][Sigalert.TrafficData.Index.IncId]},getIncidentSpeedId:function(d,c){return Sigalert.TrafficData[d].Incidents[c][Sigalert.TrafficData.Index.IncSpeedId]},getSpeed:function(d,c){return Sigalert.TrafficData[d].Speeds[c][Sigalert.TrafficData.Index.Speed]},getHovSpeed:function(d,c){return Sigalert.TrafficData[d].Speeds[c][Sigalert.TrafficData.Index.SpeedHov]},getCameraId:function(d,c){return Sigalert.TrafficData[d].Cameras[c][Sigalert.TrafficData.Index.CamId]},getCameraSpeedId:function(d,c){return Sigalert.TrafficData[d].Cameras[c][Sigalert.TrafficData.Index.CamSpeedId]},getCameraRampName:function(d,c){return Sigalert.TrafficData[d].Cameras[c][Sigalert.TrafficData.Index.CamRamp]},getCameraUrl:function(d,c){return Sigalert.TrafficData[d].Cameras[c][Sigalert.TrafficData.Index.CamUrl]},hasSensors:function(c){return Sigalert.TrafficData[c].SensorPositions?true:false},processSensorHotSpots:function(j,d,l){var e=Sigalert.TrafficData.Index;var h=Sigalert.TrafficData[j].SensorPositions;if(h){var k=h.length;for(var g=0;g<k;g+=1){var c=h[g];var f=c[e.CompressedSensorPosChildren];d.call(l||this,{x:c[e.CompressedSensorPosX],y:c[e.CompressedSensorPosY],type:this.HotSpotType.Speed,index:c[e.CompressedSensorPosIndex],kd1:f==g||f>g+1?g+1:0,kd2:f>g?f:0})}}},processIncidentHotSpots:function(g,c,d){var k=Sigalert.TrafficData.Index;var f=Sigalert.TrafficData[g].Incidents;if(f){var h=f.length;for(var e=0;e<h;e+=1){var j=f[e];if(j[k.IncX]!==-1&&j[k.IncY]!==-1){c.call(d||this,{x:j[k.IncX],y:j[k.IncY],type:this.HotSpotType.Inc,index:e,kd1:0,kd2:0})}}}},processCameraHotSpots:function(g,d,c){var k=Sigalert.TrafficData.Index;var f=Sigalert.TrafficData[g].Cameras;if(f){var j=f.length;for(var e=0;e<j;e+=1){var h=f[e];if(h[k.CamX]!==-1&&h[k.CamY]!==-1){d.call(c||this,{x:h[k.CamX],y:h[k.CamY],type:this.HotSpotType.Cam,index:e,kd1:0,kd2:0})}}}}}}());(function(){Sigalert.namespace("controls");ImageLoader=function(){};ImageLoader.prototype={load:function(d,b,e,c){d._loadAttempts=0;if(!d._imgLoader){d._imgLoader=new Image()}d._imgLoader.onload=function(){d.src=d._imgLoader.src;d._imgLoader.onload=null;d._imgLoader.onerror=null};d._imgLoader.onerror=function(){d._loadAttempts+=1;if(d._loadAttempts<3){setTimeout(function(){d._imgLoader.src=b+(c?"&":"?")+"n="+d._loadAttempts},e*1.5)}else{if(d._loadAttempts<4){setTimeout(function(){d._imgLoader.src=b+(c?"&":"?")+"n="+d._loadAttempts},3000)}else{d._imgLoader.onload=null;d._imgLoader.onerror=null;d.src=GstrImageDir+"/DotClear.gif"}}};d._imgLoader.src=b;if(YAHOO.env.ua.webkit>0&&d._imgLoader.complete){d.src=d._imgLoader.src}}};Sigalert.controls.StaticMapControl=function(b,c){this.mContainer=null;this.mElement=null;this.mViewport=null;this.mLayers=null;this.mBgLayer=null;this.mBgContent=null;this.mTrafficLayer=null;this.mTrafficContent=null;this.moConfig=null;this.mTiles=null;this.maZoomLevels=null;this.miCurrentZoomLevel=0;this.moCurrentZoomLevel=null;this.mImageLoader=null;this.miViewportWidthPixels=0;this.miViewportHeightPixels=0;this.mOrigin=null;this.mMapPos={x:0,y:0};this.mTileRect=null;this.miMapId=0;this.init(b,c);a.onInitComplete.fire(this)};var a=Sigalert.controls.StaticMapControl;a.onInitComplete=new YAHOO.util.CustomEvent("initcompleted",null,false,YAHOO.util.CustomEvent.FLAT);Sigalert.controls.MapControl=a;a.prototype={_parseCoord:function(c){var b=parseInt(c);return isNaN(b)?0:b},_setMapPosition:function(b,c){this.mLayers.style.left=(b+this.miViewportWidthPixels/2)+"px";this.mLayers.style.top=(c+this.miViewportHeightPixels/2)+"px";this.mMapPos.x=b;this.mMapPos.y=c},_reset:function(){this.mLayers.style.left="0px";this.mLayers.style.top="0px";this.mBgContent.innerHTML="";this.mTrafficContent.innerHTML="";this.mTiles={}},_getTileRect:function(){var k=this.moCurrentZoomLevel.tileWidthPixels,j=this.moCurrentZoomLevel.tileHeightPixels;var c=Math.ceil(this.miViewportWidthPixels/k),h=Math.ceil(this.miViewportHeightPixels/j);var g=this._getMapPosition();var i=this.miViewportWidthPixels/2+g[0],d=this.miViewportWidthPixels/2-g[0];c=Math.ceil(i/k)+Math.ceil(d/k);var f=this.miViewportHeightPixels/2+g[1],b=this.miViewportHeightPixels/2-g[1];h=Math.ceil(f/j)+Math.ceil(b/j);var e={left:-Math.ceil(i/k),right:Math.ceil(d/k),width:Math.ceil(d/k)+Math.ceil(i/k),top:-Math.ceil(f/j),bottom:Math.ceil(b/j),height:Math.ceil(f/j)+Math.ceil(b/j)};return e},_createTile:function(b,f,e,c){var d=make("img");d.className="MapTile";d.style.width=e+"px";d.style.height=c+"px";d.style.top=(f*c)+"px";d.style.left=(b*e)+"px";d.src=GstrImageDir+"/DotClear.gif";if(YAHOO.env.ua.ie>0&&YAHOO.env.ua.ie<7){d.galleryImg="no"}return d},_createTiles:function(){this._reset();this.miViewportWidthPixels=this.mViewport.offsetWidth;this.miViewportHeightPixels=this.mViewport.offsetHeight;this.miCurrentZoomLevel=this.moConfig.getProperty("zoom");this.moCurrentZoomLevel=this.maZoomLevels[this.miCurrentZoomLevel];var m=this.moConfig.getProperty("lat"),c=this.moConfig.getProperty("lon"),r=this.moCurrentZoomLevel.tileWidthPixels,p=this.moCurrentZoomLevel.tileHeightPixels,n=this;var g=this.latLonToXY(m,c,this.miCurrentZoomLevel);if(this.moCurrentZoomLevel._widthPixels<this.miViewportWidthPixels){g[0]=this.miViewportWidthPixels/2}else{if(g[0]<this.miViewportWidthPixels/2){g[0]=this.miViewportWidthPixels/2}else{if(g[0]>this.moCurrentZoomLevel._widthPixels-this.miViewportWidthPixels/2){g[0]=this.moCurrentZoomLevel._widthPixels-this.miViewportWidthPixels/2}}}if(this.moCurrentZoomLevel._heightPixels<this.miViewportHeightPixels){g[1]=this.miViewportHeightPixels/2}else{if(g[1]<this.miViewportHeightPixels/2){g[1]=this.miViewportHeightPixels/2}else{if(g[1]>this.moCurrentZoomLevel._heightPixels-this.miViewportHeightPixels/2){g[1]=this.moCurrentZoomLevel._heightPixels-this.miViewportHeightPixels/2}}}var l=r-(g[0]%r||r),h=p-(g[1]%p||p);this._setMapPosition(l,h);this.mTileRect=this._getTileRect();var q=Math.ceil(g[0]/r),b=Math.ceil(g[1]/p);this.mOrigin={x:g[0],y:g[1],elX:l,elY:h};var o=null,k=null,d=(this.mTileRect.width*this.mTileRect.height*0.5);for(var f=this.mTileRect.left;f<this.mTileRect.right;f+=1){for(var e=this.mTileRect.top;e<this.mTileRect.bottom;e+=1){o=this._createTile(f,e,r,p);this._loadBgTileImage(o,q+f,b+e,d);this.mBgContent.appendChild(o);k=this._createTile(f,e,r,p);this._loadTrafficTileImage(k,q+f,b+e,d);this.mTrafficContent.appendChild(k);this.mTiles[f+","+e]={bgImg:o,trafficImg:k,pos:{x:q+f,y:b+e}}}}this._onTilesCreated({iMapElX:l,iMapElY:h,iMapX:g[0],iMapY:g[1]})},repaintBg:function(){var g=this.moCurrentZoomLevel.tileWidthPixels,f=this.moCurrentZoomLevel.tileHeightPixels,c=this.getMapXY(),b=(this.mTileRect.width*this.mTileRect.height*0.5),h=null;for(var e=this.mTileRect.left;e<this.mTileRect.right;e+=1){for(var d=this.mTileRect.top;d<this.mTileRect.bottom;d+=1){h=this.mTiles[e+","+d];this._loadBgTileImage(h.bgImg,h.pos.x,h.pos.y,b)}}},_repaint:function(){var g=this.moCurrentZoomLevel.tileWidthPixels,f=this.moCurrentZoomLevel.tileHeightPixels,c=this.getMapXY(),b=(this.mTileRect.width*this.mTileRect.height*0.5),h=null;for(var e=this.mTileRect.left;e<this.mTileRect.right;e+=1){for(var d=this.mTileRect.top;d<this.mTileRect.bottom;d+=1){h=this.mTiles[e+","+d];this._loadTrafficTileImage(h.trafficImg,h.pos.x,h.pos.y,b)}}},_onTilesCreated:function(b){},_getTrafficTileImageUrl:function(c,d){var b=this.moConfig.getProperty("region")?Sigalert.data.Manager[this.moConfig.getProperty("region")]:Sigalert.data.Manager.current;if(b.isLoaded()){return b.getDataPath()+"/"+this.moCurrentZoomLevel.map+(YAHOO.env.ua.ie>0&&YAHOO.env.ua.ie<7?"/ie/":"/")+"x"+c+"y"+d+".png?cb="+b.cb()}return null},_getBgTileImageUrl:function(b,c){return this.moConfig.getProperty("tilepath")+"/"+this.moCurrentZoomLevel.map+"/"+this.moCurrentZoomLevel.map+"-x"+b+"y"+c+".png"},_loadTrafficTileImage:function(d,c,f,b){d.src=GstrImageDir+"/DotClear.gif";if(c<0||f<0||c>=this.moCurrentZoomLevel.widthTiles||f>=this.moCurrentZoomLevel.heightTiles){return}var e=this._getTrafficTileImageUrl(c,f);if(e!==null){this.mImageLoader.load(d,e,b,true)}},_loadBgTileImage:function(d,c,e,b){d.src=GstrImageDir+"/DotClear.gif";if(c<0||e<0||c>=this.moCurrentZoomLevel.widthTiles||e>=this.moCurrentZoomLevel.heightTiles){return}this.mImageLoader.load(d,this._getBgTileImageUrl(c,e),b,false)},latLonToXY:function(h,b,j){if(typeof(j)==="undefined"){j=this.miCurrentZoomLevel}var f=this.maZoomLevels[j];var d=h*0.01745329252;var g=Math.sin(d);var c=0.08181919131087181;var i=Math.pow(((1-c*g)/(1+c*g)),(c*0.5));var e=3779.5296/f.scale;return[Math.round((b*111319.4907932736*e)-f.origin.x),Math.round((-Math.log(Math.tan(Math.PI*0.25+d*0.5)*i)*6378137*e)-f.origin.y)]},xyToLatLon:function(b,g,d){if(typeof(d)==="undefined"){d=this.miCurrentZoomLevel}var f=this.maZoomLevels[d];var c=24106357584.3552/f.scale;var e=Math.PI*0.5-2*Math.atan(1/Math.exp((g+f.origin.y)/c));return[parseFloat((-57.2957795131*(e+0.003356551507*Math.sin(2*e)+0.000006571872862*Math.sin(4*e)+1.764564399e-8*Math.sin(6*e)+5.328478689e-11*Math.sin(8*e))).toFixed(5)),parseFloat(((b+f.origin.x)/c*57.2957795131).toFixed(5))]},mapXyToElXy:function(e,d){var c=this.getMapXY(),b=this._getMapPosition();return[e-c[0]-b[0],d-c[1]-b[1]]},elXyToMapXy:function(e,d){var c=this.getMapXY(),b=this._getMapPosition();return[e+b[0]]},clientXyToMapXy:function(e,c){var d=this.getMapXY(),b=YAHOO.util.Dom.getXY(this.mViewport);return[(e+YAHOO.util.Dom.getDocumentScrollLeft()-b[0]+d[0]-this.miViewportWidthPixels/2),(c+YAHOO.util.Dom.getDocumentScrollTop()-b[1]+d[1]-this.miViewportHeightPixels/2)]},getMapXY:function(){return[this.mOrigin.x-this.mMapPos.x+this.mOrigin.elX,this.mOrigin.y-this.mMapPos.y+this.mOrigin.elY]},_getMapPosition:function(){return[this.mMapPos.x,this.mMapPos.y]},getMapLatLon:function(){var b=this.getMapXY();return this.xyToLatLon(b[0],b[1],this.miCurrentZoomLevel)},xScale:function(){return this.maZoomLevels[0].widthTiles/this.moCurrentZoomLevel.widthTiles},yScale:function(){return this.maZoomLevels[0].heightTiles/this.moCurrentZoomLevel.heightTiles},onTrafficDataRefreshStart:function(){},onTrafficDataRefreshEnd:function(){},onTrafficDataUpdated:function(){this._repaint()},init:function(b,d){this.initConfig();this.moConfig.loadConfig(d);this.moConfig.setProperty("lat",this.moConfig.getProperty("lat").toFixed(5));this.moConfig.setProperty("lon",this.moConfig.getProperty("lon").toFixed(5));this.miMapId=YAHOO.util.Dom.generateId(null,"MapControl");if(this.moConfig.getProperty("zoomlevels")===""){this.moConfig.setProperty("zoomlevels",Sigalert.TrafficData[this.moConfig.getProperty("mapbasename")].ZoomLevels)}this.maZoomLevels=this.moConfig.getProperty("zoomlevels");for(var c=0;c<this.maZoomLevels.length;c+=1){this.maZoomLevels[c]._widthPixels=this.maZoomLevels[c].widthTiles*this.maZoomLevels[c].tileWidthPixels;this.maZoomLevels[c]._heightPixels=this.maZoomLevels[c].heightTiles*this.maZoomLevels[c].tileHeightPixels}this.mImageLoader=new ImageLoader();this.constructMarkup();this._render(b);this._createTiles();if(this.moConfig.getProperty("region")&&Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshStart){Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshStart.subscribe(this.onTrafficDataRefreshStart,null,this);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshEnd.subscribe(this.onTrafficDataRefreshEnd,null,this);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataUpdated.subscribe(this.onTrafficDataUpdated,null,this)}},constructMarkup:function(){this.mElement=make("div");this.mElement.className="MapControl";this.mElement.style.height=this.moConfig.getProperty("height")+"px";this.mViewport=make("div");this.mViewport.className="MapViewport MapViewportWide";this.mElement.appendChild(this.mViewport);this.mLayers=make("div");this.mLayers.className="MapLayers";this.mViewport.appendChild(this.mLayers);this.mBgLayer=make("div");this.mBgLayer.className="MapLayer";this.mLayers.appendChild(this.mBgLayer);this.mBgContent=make("div");this.mBgContent.className="MapLayerContent";this.mBgLayer.appendChild(this.mBgContent);this.mTrafficLayer=make("div");this.mTrafficLayer.className="MapLayer";this.mLayers.appendChild(this.mTrafficLayer);this.mTrafficContent=make("div");this.mTrafficContent.className="MapLayerContent";this.mTrafficLayer.appendChild(this.mTrafficContent)},initConfig:function(){this.moConfig=new Sigalert.controls.Config();this.moConfig.setProperty("tilepath","");this.moConfig.setProperty("region","");this.moConfig.setProperty("mapbasename","");this.moConfig.setProperty("zoomlevels","");this.moConfig.setProperty("zoom",1);this.moConfig.setProperty("lat",0);this.moConfig.setProperty("lon",0);this.moConfig.setProperty("height",1);this.moConfig.setProperty("retryimgloading",true)},_render:function(b){if(typeof(b)==="string"){b=$(b)}if(b){b.appendChild(this.mElement)}else{return false}this.mContainer=b;return true}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.DynamicMapControl=function(c,d){this.miLastMouseWheelTimeMs=0;this.moSlideMapAnim=null;this.onMapSlideComplete=new YAHOO.util.CustomEvent("mapslidecomplete",this,false,YAHOO.util.CustomEvent.FLAT);this.onMapPositionChanged=new YAHOO.util.CustomEvent("mappositionchanged",this,false,YAHOO.util.CustomEvent.FLAT);this.onMapZoomChanged=new YAHOO.util.CustomEvent("mapzoomchanged",this,false,YAHOO.util.CustomEvent.FLAT);this.onUserAction=new YAHOO.util.CustomEvent("useraction",this,false,YAHOO.util.CustomEvent.FLAT);Sigalert.controls.DynamicMapControl.superclass.constructor.call(this,c,d)};var b=Sigalert.controls.StaticMapControl;var a=Sigalert.controls.DynamicMapControl;YAHOO.extend(a,b,{_getNewMapPos:function(f,e){var d=this._getMapPosition();var j=d[0],h=d[1];var c=this.getMapXY(),i=f,g=e;if(c[0]-f<this.miViewportWidthPixels/2){i=c[0]-this.miViewportWidthPixels/2}else{if(c[0]-f+this.miViewportWidthPixels/2>this.moCurrentZoomLevel._widthPixels){i=c[0]-this.moCurrentZoomLevel._widthPixels+this.miViewportWidthPixels/2}}if(c[1]-e<this.miViewportHeightPixels/2){g=c[1]-this.miViewportHeightPixels/2}else{if(c[1]-e+this.miViewportHeightPixels/2>this.moCurrentZoomLevel._heightPixels){g=c[1]-this.moCurrentZoomLevel._heightPixels+this.miViewportHeightPixels/2}}if(this.moCurrentZoomLevel._widthPixels<this.miViewportWidthPixels){i=0}if(this.moCurrentZoomLevel._heightPixels<this.miViewportHeightPixels){g=0}j+=i;h+=g;return[j,h]},slideMap:function(l,k,d,c){var f=this._getMapPosition(),g=this._getNewMapPos(l,k);if(f[0]!==g[0]||f[1]!==g[1]){var e=function(){this.mMapPos.x=this._parseCoord(this.mLayers.style.left)-this.miViewportWidthPixels/2;this.mMapPos.y=this._parseCoord(this.mLayers.style.top)-this.miViewportHeightPixels/2};var j=function(){this.mMapPos.x=this._parseCoord(this.mLayers.style.left)-this.miViewportWidthPixels/2;this.mMapPos.y=this._parseCoord(this.mLayers.style.top)-this.miViewportHeightPixels/2;this._checkTiles();if(typeof(d)!=="undefined"){d.call(c)}var m=this.getMapLatLon();this.onMapSlideComplete.fire({map:this,lat:m[0],lon:m[1],zoom:this.miCurrentZoomLevel})};var i=g[0]+this.miViewportWidthPixels/2,h=g[1]+this.miViewportHeightPixels/2;this.moSlideMapAnim=new YAHOO.util.Anim(this.mLayers,{left:{to:i},top:{to:h}},0.5,YAHOO.util.Easing.easeOut);this.moSlideMapAnim.onTween.subscribe(e,null,this);this.moSlideMapAnim.onComplete.subscribe(j,null,this);this.moSlideMapAnim.animate();return true}return false},moveMap:function(d,c){var f=this._getMapPosition(),e=this._getNewMapPos(d,c);if(f[0]!==e[0]||f[1]!==e[1]){this._setMapPosition(e[0],e[1]);this._checkTiles()}},_setMapPosition:function(c,d){a.superclass._setMapPosition.call(this,c,d);this._onMapPositionChanged()},setHeight:function(k){if(YAHOO.util.Dom.getAncestorBy(this.mElement,function(n){return YAHOO.util.Dom.getStyle(n,"display")==="none"})){return}this.moConfig.setProperty("height",k);this.mElement.style.height=k+"px";var m=this.mViewport.offsetWidth-this.miViewportWidthPixels,l=this.mViewport.offsetHeight-this.miViewportHeightPixels;this.miViewportWidthPixels=this.mViewport.offsetWidth;this.miViewportHeightPixels=this.mViewport.offsetHeight;this.mMapPos.x=this._parseCoord(this.mLayers.style.left)-this.miViewportWidthPixels/2;this.mMapPos.y=this._parseCoord(this.mLayers.style.top)-this.miViewportHeightPixels/2;var h=this.getMapXY();var j=h[0],g=h[1];if(this.moCurrentZoomLevel._widthPixels<this.miViewportWidthPixels){h[0]=this.miViewportWidthPixels/2}else{if(h[0]<this.miViewportWidthPixels/2){h[0]=this.miViewportWidthPixels/2}else{if(h[0]>this.moCurrentZoomLevel._widthPixels-this.miViewportWidthPixels/2){h[0]=this.moCurrentZoomLevel._widthPixels-this.miViewportWidthPixels/2}}}if(this.moCurrentZoomLevel._heightPixels<this.miViewportHeightPixels){h[1]=this.miViewportHeightPixels/2}else{if(h[1]<this.miViewportHeightPixels/2){h[1]=this.miViewportHeightPixels/2}else{if(h[1]>this.moCurrentZoomLevel._heightPixels-this.miViewportHeightPixels/2){h[1]=this.moCurrentZoomLevel._heightPixels-this.miViewportHeightPixels/2}}}var i=h[0]-j,f=h[1]-g;if(i!==0||f!==0){var e=this._getMapPosition();e[0]-=i;e[1]-=f;this._setMapPosition(e[0],e[1])}var c=this._getTileRect();if(c.width!==this.mTileRect.width||c.height!==this.mTileRect.height){var d=this.getMapLatLon();this.moConfig.setProperty("lat",d[0]);this.moConfig.setProperty("lon",d[1]);this._createTiles()}else{this._checkTiles()}},_getTileRect:function(){var e=a.superclass._getTileRect.call(this);var d=Math.ceil(this.miViewportWidthPixels/this.moCurrentZoomLevel.tileWidthPixels),c=Math.ceil(this.miViewportHeightPixels/this.moCurrentZoomLevel.tileHeightPixels);if(d===e.width){e.left-=1;e.width+=1}if(c===e.height){e.top-=1;e.height+=1}return e},_checkTiles:function(){var t=this.moCurrentZoomLevel.tileWidthPixels,r=this.moCurrentZoomLevel.tileHeightPixels,k=this._getMapPosition(),n=this.getMapXY(),c=(this.mTileRect.width*this.mTileRect.height*0.5),f=null,p=0;var m=this.mTiles[(this.mTileRect.left)+","+(this.mTileRect.top)],e=this.mTiles[(this.mTileRect.right-1)+","+(this.mTileRect.bottom-1)];var o={left:n[0]-this.miViewportWidthPixels/2,right:n[0]+this.miViewportWidthPixels/2,top:n[1]-this.miViewportHeightPixels/2,bottom:n[1]+this.miViewportHeightPixels/2};var q={left:n[0]+this._parseCoord(m.bgImg.style.left)+k[0],right:n[0]+this._parseCoord(e.bgImg.style.left)+t+k[0],top:n[1]+this._parseCoord(m.bgImg.style.top)+k[1],bottom:n[1]+this._parseCoord(e.bgImg.style.top)+r+k[1]};var s={left:o.left-q.left,right:q.right-o.right,top:o.top-q.top,bottom:q.bottom-o.bottom};var d={left:m.pos.x,right:e.pos.x,top:m.pos.y,bottom:e.pos.y};if(s.left<0){p=Math.ceil(-s.left/t);for(var h=this.mTileRect.left-1,l=1;l<=p;h-=1,l+=1){for(var g=this.mTileRect.top;g<this.mTileRect.bottom;g+=1){f=this.mTiles[(this.mTileRect.right-l)+","+g];f.pos.x=d.left-l;f.trafficImg.style.left=f.bgImg.style.left=(h*t)+"px";f.needsToBePainted=true;this.mTiles[h+","+g]=f;delete this.mTiles[(this.mTileRect.right-l)+","+g]}}this.mTileRect.left-=p;this.mTileRect.right-=p}else{if(s.right<0){p=Math.ceil(-s.right/t);for(var h=this.mTileRect.right,l=1;l<=p;h+=1,l+=1){for(var g=this.mTileRect.top;g<this.mTileRect.bottom;g+=1){f=this.mTiles[(this.mTileRect.left-1+l)+","+g];f.pos.x=d.right+l;f.trafficImg.style.left=f.bgImg.style.left=(h*t)+"px";f.needsToBePainted=true;this.mTiles[h+","+g]=f;delete this.mTiles[(this.mTileRect.left-1+l)+","+g]}}this.mTileRect.left+=p;this.mTileRect.right+=p}}if(s.top<0){p=Math.ceil(-s.top/r);for(var h=this.mTileRect.top-1,l=1;l<=p;h-=1,l+=1){for(var g=this.mTileRect.left;g<this.mTileRect.right;g+=1){f=this.mTiles[g+","+(this.mTileRect.bottom-l)];f.pos.y=d.top-l;f.trafficImg.style.top=f.bgImg.style.top=(h*r)+"px";f.needsToBePainted=true;this.mTiles[g+","+h]=f;delete this.mTiles[g+","+(this.mTileRect.bottom-l)]}}this.mTileRect.top-=p;this.mTileRect.bottom-=p}else{if(s.bottom<0){p=Math.ceil(-s.bottom/r);for(var h=this.mTileRect.bottom,l=1;l<=p;h+=1,l+=1){for(var g=this.mTileRect.left;g<this.mTileRect.right;g+=1){f=this.mTiles[g+","+(this.mTileRect.top-1+l)];f.pos.y=d.bottom+l;f.trafficImg.style.top=f.bgImg.style.top=(h*r)+"px";f.needsToBePainted=true;this.mTiles[g+","+h]=f;delete this.mTiles[g+","+(this.mTileRect.top-1+l)]}}this.mTileRect.top+=p;this.mTileRect.bottom+=p}}for(var h=this.mTileRect.left;h<this.mTileRect.right;h+=1){for(var g=this.mTileRect.top;g<this.mTileRect.bottom;g+=1){f=this.mTiles[h+","+g];if(f.needsToBePainted){this._loadBgTileImage(f.bgImg,f.pos.x,f.pos.y,c);this._loadTrafficTileImage(f.trafficImg,f.pos.x,f.pos.y,c);f.needsToBePainted=false}}}},isZoomedOutAllTheWay:function(){return this.miCurrentZoomLevel===(this.maZoomLevels.length-1)},isZoomedInAllTheWay:function(){return this.miCurrentZoomLevel===0},zoomIn:function(){return this.setZoom(this.miCurrentZoomLevel-1)},zoomOut:function(){return this.setZoom(this.miCurrentZoomLevel+1)},getMaxZoom:function(){return this.maZoomLevels.length-1},getZoom:function(){return this.miCurrentZoomLevel},setZoom:function(c){var d=this.getMapLatLon();return this.setLatLonZoom(d[0],d[1],c)},setLatLonZoom:function(c,d,e){if(e<0){e=0}else{if(e>=this.maZoomLevels.length){e=this.maZoomLevels.length-1}}if(e===this.miCurrentZoomLevel){return false}this.moConfig.setProperty("lat",c);this.moConfig.setProperty("lon",d);this.moConfig.setProperty("zoom",e);this._createTiles();this._onZoomChanged(e);return true},reload:function(e){var d=this.moConfig.getProperty("region");if(d&&Sigalert.data.Manager[d].onDataRefreshStart){Sigalert.data.Manager[d].onDataRefreshStart.unsubscribe(this.onTrafficDataRefreshStart);Sigalert.data.Manager[d].onDataRefreshEnd.subscribe(this.onTrafficDataRefreshEnd);Sigalert.data.Manager[d].onDataUpdated.subscribe(this.onTrafficDataUpdated)}this.initConfig();this.moConfig.loadConfig(e);this.moConfig.setProperty("lat",this.moConfig.getProperty("lat").toFixed(5));this.moConfig.setProperty("lon",this.moConfig.getProperty("lon").toFixed(5));if(this.moConfig.getProperty("zoomlevels")===""){this.moConfig.setProperty("zoomlevels",Sigalert.TrafficData[this.moConfig.getProperty("mapbasename")].ZoomLevels)}this.maZoomLevels=this.moConfig.getProperty("zoomlevels");for(var c=0;c<this.maZoomLevels.length;c+=1){this.maZoomLevels[c]._widthPixels=this.maZoomLevels[c].widthTiles*this.maZoomLevels[c].tileWidthPixels;this.maZoomLevels[c]._heightPixels=this.maZoomLevels[c].heightTiles*this.maZoomLevels[c].tileHeightPixels}if(this.moConfig.getProperty("region")&&Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshStart){Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshStart.subscribe(this.onTrafficDataRefreshStart,null,this);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshEnd.subscribe(this.onTrafficDataRefreshEnd,null,this);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataUpdated.subscribe(this.onTrafficDataUpdated,null,this)}this._createTiles()},_onZoomChanged:function(c){var d=this.getMapLatLon();this.onMapZoomChanged.fire({map:this,lat:d[0],lon:d[1],zoom:c})},_onMapPositionChanged:function(){if(this.mOrigin){var c=this.getMapLatLon();this.onMapPositionChanged.fire({map:this,lat:c[0],lon:c[1],zoom:this.miCurrentZoomLevel})}},_onUserDidAction:function(){var c=this.getMapLatLon();this.onUserAction.fire({map:this,lat:c[0],lon:c[1],zoom:this.miCurrentZoomLevel})}})}());(function(){Sigalert.namespace("controls");Sigalert.controls.MouseMapControl=function(c,d){this.mbDraggingMap=false;this.mbJustDraggedMap=false;this.onMapDragComplete=new YAHOO.util.CustomEvent("mapdragcomplete",this,false,YAHOO.util.CustomEvent.FLAT);Sigalert.controls.MouseMapControl.superclass.constructor.call(this,c,d)};var a=Sigalert.controls.DynamicMapControl;var b=Sigalert.controls.MouseMapControl;b.StrPointerCursor="pointer";b.StrDraggingCursor="url(/Images/Cursors/Hwe.cur), move";b.StrDefaultCursor="url(/Images/Cursors/HMove.cur), move";YAHOO.extend(b,a,{init:function(h,l){b.superclass.init.call(this,h,l);var q=0,p=0,j=false,i=false,o=0,s=this;function f(u){if(u.preventDefault){u.preventDefault()}else{u.returnValue=false}}function e(A,z){var x=YAHOO.util.Dom.getXY(s.mContainer),w=0,v=0;if(YAHOO.env.ua.gecko>0&&YAHOO.env.ua.gecko<=1.8){w=s.miViewportWidthPixels/2+x[0]-A.screenX;v=s.miViewportHeightPixels/2+x[1]-A.screenY}else{w=s.miViewportWidthPixels/2+x[0]-A.clientX;v=s.miViewportHeightPixels/2+x[1]-A.clientY}var u=s.getMapXY(),y=s.xyToLatLon(u[0]-w,u[1]-v);s.setLatLonZoom(y[0],y[1],z)}function d(u){q=u.clientX;p=u.clientY;j=true;i=false;this.mbJustDraggedMap=false;f(u)}function c(u){j=false;if(this.mbDraggingMap){this._onEndDrag()}}function g(w){this.mbDraggingMap=j;if(!this.mbDraggingMap){return}if(!i){i=true;this._onStartDrag()}var v=w.clientX-q,u=w.clientY-p;q=w.clientX;p=w.clientY;this.moveMap(v,u);f(w)}function n(u){if(this.mbDraggingMap){this.mbDraggingMap=false;this.mbJustDraggedMap=true}}function r(v){var w=0;if(v.wheelDelta){w=v.wheelDelta}else{if(v.detail){w=-v.detail}}if(w!==0){if(v.stopPropagation){v.stopPropagation();v.preventDefault()}v.cancelBubble=true;v.returnValue=false;var u=new Date().getTime();if(u-o>750){o=u;if(w<0&&!this.isZoomedOutAllTheWay()){e(v,this.miCurrentZoomLevel+1);this._onUserDidAction()}else{if(w>0&&!this.isZoomedInAllTheWay()){e(v,this.miCurrentZoomLevel-1);this._onUserDidAction()}}}}}function t(v){if(this.isZoomedInAllTheWay()){var u=YAHOO.util.Dom.getXY(this.mContainer);this.slideMap(this.miViewportWidthPixels/2+u[0]-v.clientX,this.miViewportHeightPixels/2+u[1]-v.clientY)}else{e(v,this.miCurrentZoomLevel-1)}this._onUserDidAction()}YAHOO.util.Event.on(this.mLayers,"mousedown",d,null,this);YAHOO.util.Event.on(document,"mouseup",c,null,this);YAHOO.util.Event.on(document,"mousemove",g,null,this);YAHOO.util.Event.on(this.mLayers,"click",n,null,this);YAHOO.util.Event.on(this.mLayers,"dblclick",t,null,this);if(this.moConfig.getProperty("zoomwithwheel")){YAHOO.util.Event.on(this.mLayers,"DOMMouseScroll",r,null,this);YAHOO.util.Event.on(this.mLayers,"mousewheel",r,null,this)}if(!YAHOO.util.Event.isIE){function m(v){var u=v.srcElement||v.target;if(u.nodeName.toLowerCase()==="iframe"){c(v)}}YAHOO.util.Event.on(document,"mouseover",m,null,this)}if(GbIsPartner&&(YAHOO.env.ua.gecko>0||YAHOO.util.Event.isIE)){function k(x){var w=YAHOO.util.Event.getRelatedTarget(x);if(!w){c(x)}else{try{var v=w.nodeType}catch(u){c(x)}}}YAHOO.util.Event.on(document.body,"mouseout",k,null,this)}},initConfig:function(){b.superclass.initConfig.call(this);this.moConfig.setProperty("zoomwithwheel",true)},setCursor:function(c){if(this.mLayers.style.cursor!==c){this.mLayers.style.cursor=c}},_onStartDrag:function(){this.setCursor(b.StrDraggingCursor)},_onEndDrag:function(){this.setCursor(b.StrDefaultCursor);var c=this.getMapLatLon();this.onMapDragComplete.fire({map:this,lat:c[0],lon:c[1],zoom:this.miCurrentZoomLevel});this._onUserDidAction()}})}());(function(){Sigalert.namespace("controls");var c=function(e,g,d,f){return Math.sqrt((d-e)*(d-e)+(f-g)*(f-g))};Sigalert.controls.HotspotMapControl=function(d,e){this.mrectHotSpots={min:[-1000000,-1000000],max:[1000000,1000000]};this.maKdHotSpots=[];this.madivSpeedHotSpotHighlight=null;this.madivIncHotSpotHighlight=null;this.madivCamHotSpotHighlight=null;this.madivSpeedHotSpotOutline=null;this.madivIncHotSpotOutline=null;this.madivCamHotSpotOutline=null;this.miHotSpotIncId=-1;this.mdivControls=null;this.mdivBtnContainer=null;this.mdivOptionsBtn=null;this.mdivTrafficContainer=null;this.mdivTrafficBlindContainer=null;this.mdivTrafficBlindContent=null;this.mdivTrafficBlindClosedBtn=null;this.mdivTrafficBlindOpenBtn=null;this.mdivBlindTrafficCam=null;this.mimgTrafficCam=null;this.mdivTrafficCamCaption=null;this.mdivTrafficBtn=null;this.miBlindTrafficHeight=0;this.miBlindOptionsHeight=0;this.mstrCurrentBlind="";this.mradUsePopUps=null;this.mradUseBlinds=null;this.mradUseNoDetails=null;this.mbStartBlindOpen=true;this.moHelpBlind={maBlindDimen:[0,0],maClosedBlindContainerDimen:[0,0],miBlindContainerHeight:0};this.moOptionsBlind={maBlindDimen:[0,0],maClosedBlindContainerDimen:[0,0],miBlindContainerHeight:0};this.moTrafficBlind={small:{maBlindDimen:[0,0],maClosedBlindContainerDimen:[0,0],miBlindContainerHeight:0,miBlindSummaryHeight:0},large:{maBlindDimen:[0,0],maClosedBlindContainerDimen:[0,0],miBlindContainerHeight:0,miBlindSummaryHeight:0},current:this.small};this.mdivHelpBlindContentContainer=null;this.mdivOptionsBlindContentContainer=null;this.mtblTest=null;this.mcellTest=null;this.mAnimBlind=null;this.mAnimOptionsBlind=null;this.mbAnimOptionsBlindShowing=false;this.mAnimHelpBlind=null;this.mbAnimHelpBlindShowing=false;this.mAnimBtns=null;this.mbAnimBtnsClosed=false;this.mAnimTrafficBtn=false;this.mbAnimTrafficBtnVisible=false;this.mbAnimTrafficBlindShowing=false;this.mdivHelpBtn=null;this.mdivRefreshBtn=null;this.mdivTimeStamp=null;this.mPopUpDetails=null;this.miPopUpX=0;this.miPopUpY=0;this.miIncDetailsLoadCount=0;this.moIncDetailsData=null;this.miPopUpId=-1;this.mstrPopUpType="";this.mstrCamIncFangPopUpBodyOverflow="";this.mdivTest=null;this.mbTrafficBlindClosedForFangPopUp=false;this.mFangPopUpSpeedDetails=null;this.mFangRoadSummary=null;this.mdivFangRoadSummary=null;this.miFangPopUpSpeedId=-1;this.miFangPopUpSpeedX=0;this.miFangPopUpSpeedY=0;this.mstrFangPopUpSpeedDetailsBodyOverflow="";this.mpnlCamPopUp=null;this.mspnCameraHeader=null;this.mpnlSummaryPopUp=null;this.mspnSummaryHeader=null;this.mDivPopupSummary=null;this.mRoadSummary=null;this.mCurrentHotSpotX=0;this.mCurrentHotSpotY=0;this.mbCheckMouseDistance=false;this.miExtraFloatingPopUpWidth=0;this.miExtraFloatingPopUpHeight=0;this.miFloatingPopUpCamId=-1;this.mtmrFloatingPopUp=null;this.mdivSummary=null;this.mRoadDetailsCtrl=null;this.mdivBlindSummary=null;this.mBlindRoadSummaryCtrl=null;this.onFontSizeChanged=new YAHOO.util.CustomEvent("fontsizechanged",this,false,YAHOO.util.CustomEvent.FLAT);Sigalert.controls.HotspotMapControl.superclass.constructor.call(this,d,e)};var b=Sigalert.controls.MouseMapControl;var a=Sigalert.controls.HotspotMapControl;a.StrEmptySummary="Hover over a freeway to view its speeds.";a.StrClosedTrafficBlindButton="Details";a.PathLoadingImage=GstrImageDir+"/LoadingImage.png";a.IntMouseOffset=0;a.IntHotspotRadiusSqd=60*60;a.IntHotspotHighlightRadiusSqd=100*100;a.IntNumberOfItemsInRoadSummary=7;a.ViewportOffsets={left:60,right:16,top:50,bottom:56};YAHOO.extend(a,b,{_processDynamicData:function(){var d=this,g=this.moConfig.getProperty("region");function e(i){var h=d._findHotSpotLeaf([i.x,i.y],0,0);h.aLeaf[h.uChild]=this.maKdHotSpots.length;this.maKdHotSpots[this.maKdHotSpots.length]=[i.x,i.y,i.kd1,i.kd2,i.type,i.index]}function f(h){this.maKdHotSpots[this.maKdHotSpots.length]=[h.x,h.y,h.kd1,h.kd2,h.type,h.index]}this.maKdHotSpots=[];if(Sigalert.data.DragMap.hasSensors(g)){Sigalert.data.DragMap.processSensorHotSpots(g,f,this)}Sigalert.data.DragMap.processIncidentHotSpots(g,e,this);Sigalert.data.DragMap.processCameraHotSpots(g,e,this)},_nearestHotSpot:function(k,v,m,p,e){var l=this.maKdHotSpots[v];var n={min:e.min.concat(),max:e.max.concat()};n.max[m]=l[m];var j={min:e.min.concat(),max:e.max.concat()};j.min[m]=l[m];var o,d;var g,h;if(p[m]<=l[m]){o=l[2];g=n;d=l[3];h=j}else{o=l[3];g=j;d=l[2];h=n}var f=(m+1)&1;var t=-1;if(0!=o){var w=this._nearestHotSpot(k,o,f,p,g);if(w.iPoint>=0){t=w.iPoint;k=w.dDistSqd}}var u=0;for(var s=0;s<2;s+=1){if(p[s]<=h.min[s]){u+=(p[s]-h.min[s])*(p[s]-h.min[s])}else{if(p[s]>=h.max[s]){u+=(p[s]-h.max[s])*(p[s]-h.max[s])}}}if(u<k){var r=(l[0]-p[0])*(l[0]-p[0])+(l[1]-p[1])*(l[1]-p[1]);if(r<k){t=v;k=r}if(0!=d){var q=this._nearestHotSpot(k,d,f,p,h);if(q.iPoint>=0){t=q.iPoint;k=q.dDistSqd}}}return{iPoint:t,dDistSqd:k}},_findHotSpot:function(g,i){var f=this.xScale(),e=this.yScale();var h=Math.sqrt(a.IntHotspotHighlightRadiusSqd/2);h=(h*f)*(h*f)+(h*e)*(h*e);var d=this.clientXyToMapXy(g,i);d[0]*=f;d[1]*=e;return this._nearestHotSpot(h,0,0,d,this.mrectHotSpots)},_findHotSpotLeaf:function(h,f,g){var e=this.maKdHotSpots[f];var d=h[g]<=e[g]?2:3;return 0==e[d]?{aLeaf:e,uChild:d}:this._findHotSpotLeaf(h,e[d],(g+1)&1)},_getFontFontSizeAsInt:function(d){d=d||this.moConfig.getProperty("fontsize");switch(d){case"small":return 0.85;case"large":return 1.1}return 0.85},_getFontSize:function(d){d=d||this.moConfig.getProperty("fontsize");switch(d){case"small":return"0.85em";case"large":return"1.1em"}return"0.85em"},setFontSize:function(d){switch(d){case"small":this.moTrafficBlind.current=this.moTrafficBlind.small;break;case"large":this.moTrafficBlind.current=this.moTrafficBlind.large;break;default:return}var e=this._getFontSize(d);if(this.mdivTrafficBlindContent){YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContent,"fontSize",e)}if(this.mDivPopUp){YAHOO.util.Dom.setStyle(this.mDivPopUp,"fontSize",e)}if(this.mPopUpDetails){this.mPopUpDetails.setFontSize(e)}if(this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails.setFontSize(e)}if(this.moTrafficBlind.current.miBlindContainerHeight!==0){this._setTrafficBlindSize()}this.moConfig.setProperty("fontsize",d);this.onFontSizeChanged.fire({map:this,fontsize:d})},setZoom:function(d){this.hideFangPopUps();this.hidePopups();var e=a.superclass.setZoom.call(this,d);return e},setSummaryPosition:function(d,f){if(!this.moConfig.getProperty("enabledetails")){this.moConfig.setProperty("summaryposition",d.toLowerCase());return}var d=d.toLowerCase();var e=this.moConfig.getProperty("summaryposition");if(e!==d){switch(d){case"popup":YAHOO.util.Dom.removeClass(this.mViewport,"MapViewportRight");YAHOO.util.Dom.replaceClass(this.mViewport,"MapViewportLeft","MapViewportWide");Sigalert.common.WriteCookie("MPP","p",365);YAHOO.util.Dom.setStyle(this.mdivSummary,"display","none");if(this.mbAnimTrafficBtnVisible){this.fadeTrafficButton()}if(this.mradUsePopUps){this.mradUsePopUps.checked=true}if(!this.mpnlSummaryPopUp){this.mpnlSummaryPopUp=new YAHOO.widget.Panel("pnlMapSummaryPopup",{width:this.moConfig.getProperty("popupwidth")+"px",zIndex:1000,close:false,underlay:"none",xy:[0,0],visible:false,draggable:false});if(this.moConfig.getProperty("hidepopuptimeoutseconds")!==-1){this.mpnlSummaryPopUp.showEvent.subscribe(function(){if(this.mtmrFloatingPopUp!==null){clearTimeout(this.mtmrFloatingPopUp)}var o=this;this.mtmrFloatingPopUp=setTimeout(function(){o.hideRoadSummaryMapPopup()},this.moConfig.getProperty("hidepopuptimeoutseconds")*1000)},null,this)}this.mDivPopUp=make("div");YAHOO.util.Dom.addClass(this.mDivPopUp,"MapPopUpContent");YAHOO.util.Dom.setStyle(this.mDivPopUp,"fontSize",this._getFontSize());this.mDivPopupSummary=make("div");YAHOO.util.Dom.addClass(this.mDivPopupSummary,"MapPopUpSummary");YAHOO.util.Dom.addClass(this.mDivPopupSummary,"SummaryBorder");this.mRoadSummary=new Sigalert.controls.RoadSummaryControl({showheader:true,disablepopups:true,region:this.moConfig.getProperty("region")});this.mRoadSummary.hideCameras();this.mRoadSummary.render(this.mDivPopupSummary);var n=make("div");YAHOO.util.Dom.addClass(this.divHeader,"MapPopUpHeader");var m=make("div");this.mspnSummaryHeader=document.createElement("span");YAHOO.util.Dom.addClass(this.mspnSummaryHeader,"map-popup-title");YAHOO.util.Dom.addClass(this.mspnSummaryHeader,"MapPopUpTitle");YAHOO.util.Dom.addClass(this.mspnSummaryHeader,"MapTabBorder");YAHOO.util.Dom.addClass(this.mspnSummaryHeader,"MapTabBackground");this.mspnSummaryHeader.innerHTML="Road";var k=make("div");YAHOO.util.Dom.addClass(k,"MapPopUpHeaderBorder");YAHOO.util.Dom.addClass(k,"MapTabBorder");YAHOO.util.Dom.addClass(k,"MapTabBackground");m.appendChild(this.mspnSummaryHeader);n.appendChild(m);n.appendChild(k);this.mDivPopUp.appendChild(this.mDivPopupSummary);if(false){var h=make("div");YAHOO.util.Dom.addClass(h,"ContentContainerDivider");var i=make("div");YAHOO.util.Dom.addClass(i,"MapPopUpAd");i.innerHTML="Place Ad Here";this.mDivPopUp.appendChild(h);this.mDivPopUp.appendChild(i)}this.mpnlSummaryPopUp.setHeader(n);this.mpnlSummaryPopUp.setBody(this.mDivPopUp);this.mpnlSummaryPopUp.render(document.body)}if(f){f.call(this)}break;case"left":case"right":this.hidePopups();if(this.mbAnimTrafficBtnVisible){this.fadeTrafficButton()}if(!this.mdivSummary){this.mdivSummary=make("div");YAHOO.util.Dom.addClass(this.mdivSummary,"MapOuterRoadSummary");if(this.moConfig.getProperty("sidebarinsert")){var j=$(this.moConfig.getProperty("sidebarinsert"));if(j){var l=make("div");YAHOO.util.Dom.generateId(l,"idSidebarUnitParent");YAHOO.util.Dom.addClass(l,"MapSidebarInsertParent");j=j.parentNode.removeChild(j);l.appendChild(j);YAHOO.util.Dom.setStyle(j,"display","block");this.mdivSummary.appendChild(l)}}var g=make("div");YAHOO.util.Dom.addClass(g,"SummaryBorder");this.mdivSummary.appendChild(g);this.mRoadDetailsCtrl=new Sigalert.controls.RoadDetailsControl({region:this.moConfig.getProperty("region"),showheader:true,disablepopups:true,showrefreshbutton:false,showcamerabutton:false,showincidentbutton:false,showspeedsbutton:false});this.mRoadDetailsCtrl.hideCameras();this.mRoadDetailsCtrl.removeOuterBorder();YAHOO.util.Dom.setStyle(this.mRoadDetailsCtrl.mdivSummary,"overflow","hidden");this.mRoadDetailsCtrl.render(g);this.mRoadDetailsCtrl.setEmptyRow(a.StrEmptySummary,"MapTrafficDetailsDescription");this.mElement.appendChild(this.mdivSummary)}else{YAHOO.util.Dom.setStyle(this.mdivSummary,"display","")}if(d==="left"){YAHOO.util.Dom.replaceClass(this.mdivSummary,"MapOuterRightRoadSummary","MapOuterLeftRoadSummary");YAHOO.util.Dom.removeClass(this.mElement,"MapViewportWide");YAHOO.util.Dom.replaceClass(this.mElement,"MapViewportLeft","MapViewportRight")}else{YAHOO.util.Dom.replaceClass(this.mdivSummary,"MapOuterLeftRoadSummary","MapOuterRightRoadSummary");YAHOO.util.Dom.removeClass(this.mElement,"MapViewportWide");YAHOO.util.Dom.replaceClass(this.mElement,"MapViewportRight","MapViewportLeft")}if(f){f.call(this)}break;case"blinds":YAHOO.util.Dom.removeClass(this.mViewport,"MapViewportRight");YAHOO.util.Dom.replaceClass(this.mViewport,"MapViewportLeft","MapViewportWide");Sigalert.common.WriteCookie("MPP","f",365);this.hidePopups();YAHOO.util.Dom.setStyle(this.mdivSummary,"display","none");if(!this.mbAnimTrafficBtnVisible){this.slideButtons(this.fadeTrafficButton,f)}YAHOO.util.Dom.setStyle(this.mdivBlindSummary,"display","block");YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"display","none");if(this.mradUsePopUps){this.mradUseBlinds.checked=true}break;case"none":YAHOO.util.Dom.removeClass(this.mViewport,"MapViewportRight");YAHOO.util.Dom.replaceClass(this.mViewport,"MapViewportLeft","MapViewportWide");Sigalert.common.WriteCookie("MPP","n",365);this.hidePopups();YAHOO.util.Dom.setStyle(this.mdivSummary,"display","none");if(this.mbAnimTrafficBtnVisible){this.fadeTrafficButton()}if(this.mradUsePopUps){this.mradUseNoDetails.checked=true}if(f){f.call(this)}break}if(e==="left"||e==="right"||d==="left"||d==="right"){this._createTiles()}this.moConfig.setProperty("summaryposition",d);if(this.mContainer){}}},_calcTrafficBlindSize:function(){this.mcellTest.appendChild(this.mdivTrafficBlindContainer);YAHOO.util.Dom.addClass(this.mdivBlindSummary,"SummaryBorder");this.mBlindRoadSummaryCtrl.loadFakeSummaryForFocusedItem(a.IntNumberOfItemsInRoadSummary);this.moTrafficBlind.current.maBlindDimen=[Sigalert.common.element.getWidth(this.mdivTrafficBlind),Sigalert.common.element.getHeight(this.mdivTrafficBlindContentContainer)+Sigalert.common.element.getVerticalBorder(this.mdivTrafficBlindContentContainer)];this.moTrafficBlind.current.maClosedBlindContainerDimen[1]=Sigalert.common.element.getDimension(this.mdivTrafficBlindClosedBtn,"height")+Sigalert.common.element.getNonClientHeight(this.mdivTrafficBlindClosedBtn);this.moTrafficBlind.current.miBlindContainerHeight=this.moTrafficBlind.current.maBlindDimen[1]+this.moTrafficBlind.current.maClosedBlindContainerDimen[1];this.moTrafficBlind.current.miBlindSummaryHeight=Sigalert.common.element.getHeight(this.mdivBlindSummary);YAHOO.util.Dom.removeClass(this.mdivBlindSummary,"SummaryBorder");this.mBlindRoadSummaryCtrl.setEmptyRow(a.StrEmptySummary,"MapTrafficDetailsDescription");this.mdivTrafficBlindContainer=this.mcellTest.removeChild(this.mdivTrafficBlindContainer);this.mdivTrafficHolder.appendChild(this.mdivTrafficBlindContainer);var d=this.mdivTrafficBtn.cloneNode(false);YAHOO.util.Dom.setStyle(d,"position","absolute");YAHOO.util.Dom.setStyle(d,"visibility","hidden");document.body.appendChild(d);this.moTrafficBlind.current.maClosedBlindContainerDimen[0]=Sigalert.common.element.getDimension(d,"width")+Sigalert.common.element.getNonClientWidth(d);document.body.removeChild(d)},_setTrafficBlindSize:function(){YAHOO.util.Dom.setStyle(this.mdivBlindSummary,"height",this.moTrafficBlind.current.miBlindSummaryHeight+"px");if(YAHOO.env.ua.gecko!==0){YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"height",(this.moTrafficBlind.current.miBlindSummaryHeight+2)+"px")}else{YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"height",this.moTrafficBlind.current.miBlindSummaryHeight+"px")}YAHOO.util.Dom.setStyle(this.mdivTrafficBlind,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivTrafficBlind,"width",this.moTrafficBlind.current.maBlindDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivTrafficBlind,"height",this.moTrafficBlind.current.maBlindDimen[1]+"px");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContainer,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContainer,"width",(this.moTrafficBlind.current.maClosedBlindContainerDimen[0])+"px");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContainer,"height",this.moTrafficBlind.current.maClosedBlindContainerDimen[1]+"px")},_getFangPopUpConstraints:function(f,e,d,g){function h(){var o=this.getMapXY(),m=this.miViewportWidthPixels/2,i=this.miViewportHeightPixels/2,q={offsets:a.ViewportOffsets};q.region=new YAHOO.util.Region(o[1]-i+q.offsets.top,o[0]+m-q.offsets.right,o[1]+i-q.offsets.bottom,o[0]-m+q.offsets.left);q.width=q.region.right-q.region.left;q.height=q.region.bottom-q.region.top;q.dx=0;q.dy=0;var j=f,u=e,t={width:d.width,height:d.height,constrained:false,dx:0,dy:0,distance:0},s={width:g.width,height:g.height,constrained:false,dx:0,dy:0,distance:0};var p=new YAHOO.util.Region(q.region.top+25,q.region.right-25,q.region.bottom-17,q.region.left+25);if(!p.contains(new YAHOO.util.Point(j,u))){n=u-p.bottom,l=p.top-u,r=j-p.right,k=p.left-j;if(r>0&&k>0){if(r<k){q.dx=-r}else{q.dx=k}}else{if(r>0){q.dx=-r}else{if(k>0){q.dx=k}}}if(n>0&&l>0){if(n<l){q.dy=-n}else{q.dy=l}}else{if(n>0){q.dy=-n}else{if(l>0){q.dy=l}}}j+=q.dx;u+=q.dy}if(q.width<=t.width){t.constrained=true;t.width=q.width}if(q.height<=t.height){t.constrained=true;t.height=q.height}if(q.width<=s.width){s.constrained=true;s.width=q.width}if(q.height<=s.height){s.constrained=true;s.height=q.height}var r=(j+t.width)-q.region.right,k=q.region.left+t.width-j;if(r>0&&k>0){if(r<k){t.dx=-r;t.position="right"}else{t.dx=k;t.position="left"}}else{if(r<k){t.position="right"}else{t.position="left"}}var n=(u+s.height)-q.region.bottom,l=q.region.top+s.height-u;if(n>0&&l>0){if(n<l){s.dy=-n;s.position="below"}else{s.dy=l;s.position="above"}}else{if(n<l){s.position="below"}else{s.position="above"}}if(Math.abs(s.dy)<Math.abs(t.dx)){s.width=q.width;q.dy+=s.dy;q.position=s.position;q.width=s.width;if(q.position==="below"){q.height=q.region.bottom-u+Math.abs(s.dy)}else{q.height=u+Math.abs(s.dy)-q.region.top}q.constrained=s.constrained;q.isHoriz=false;q.isVert=true}else{t.height=q.height;q.dx+=t.dx;q.position=t.position;if(q.position==="right"){q.width=q.region.right-j+Math.abs(t.dx)}else{q.width=j+Math.abs(t.dx)-q.region.left}q.height=t.height;q.constrained=t.constrained;q.isHoriz=true;q.isVert=false}return q}if(this.mbAnimOptionsBlindShowing){this.slideOptionsBlind()}else{if(this.mbAnimHelpBlindShowing){this.slideHelpBlind()}else{if(this.mbAnimTrafficBlindShowing){this.slideTrafficBlind();this.mbTrafficBlindClosedForFangPopUp=true}}}return h.call(this)},_setCamIncFangPopUpBody:function(e,g,f){f=f||this._getFangPopUpConstraints();this.mPopUpDetails.setBody(e);var d=function(){var h=this.mapXyToElXy(this.miPopUpX/this.xScale(),this.miPopUpY/this.yScale());this.mPopUpDetails.setCaptureMouseEvents(false);this.mPopUpDetails.show(new YAHOO.util.Region(h[1]-1,h[0]+1,h[1]+1,h[0]-1));var i=this;setTimeout(function(){i.mPopUpDetails.setCaptureMouseEvents(true)},500)};if(!g||!this.slideMap(f.dx,f.dy,d,this)){d.call(this)}},_setupCamIncFangPopUp:function(e,g,f){if(!this.mPopUpDetails){this.mPopUpDetails=new Sigalert.controls.PopUpControl({capturemousevents:true});this.mPopUpDetails.hide();this.mPopUpDetails.render(this.mLayers);this.mPopUpDetails.setFontSize(this._getFontSize());var d=this;this.mPopUpDetails.onHide=function(){if(YAHOO.env.ua.gecko!==0){d.mPopUpDetails.setBodyOverflow("hidden")}d.miPopUpId=-1;d.miPopUpX=0;d.miPopUpY=0;d.mstrPopUpType="";d.miIncDetailsLoadCount=0;d.moIncDetailsData=null;if(d.mbTrafficBlindClosedForFangPopUp){d.slideTrafficBlind();d.mbTrafficBlindClosedForFangPopUp=false}};this.mPopUpDetails.onMouseEvent.subscribe(function(){this.hidePopups()},null,this)}this.miPopUpId=e;this.miPopUpX=g;this.miPopUpY=f;this.miIncDetailsLoadCount=0;this.moIncDetailsData=null;this.mPopUpDetails.removeBody();this.hidePopups()},showCameraFangPopUp:function(f,h,g,e,j){if(this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails.hide()}var i=this.moConfig.getProperty("region");var d=function(m){this._setupCamIncFangPopUp(f,h,g);this.mstrPopUpType="cam";var v=Sigalert.controls.PopUpControl,B=this.mPopUpDetails.getNonBodyWidth(),w=this.mPopUpDetails.getNonBodyHeight(),k=this.mPopUpDetails.getLeftAndRightFangWidth(),x=this.mPopUpDetails.getTopAndBottomFangHeight(),s=100,l={width:v.IntAdWidth+B+k,height:s+w},o={width:v.IntAdWidth+B,height:s+w+x},n=this._getFangPopUpConstraints(this.miPopUpX/this.xScale(),this.miPopUpY/this.yScale(),l,o),z=(n.isHoriz?B+k:B),A=(n.isVert?w+x:w),t=v.IntAdWidth,q=n.width-z,y=s,u=n.height-A;this.mPopUpDetails.moConfig.setProperty("minwidth",t);this.mPopUpDetails.moConfig.setProperty("maxwidth",q);this.mPopUpDetails.moConfig.setProperty("minheight",y);this.mPopUpDetails.moConfig.setProperty("maxheight",u);this.mPopUpDetails.moConfig.setProperty("offsets",n.offsets);this.mPopUpDetails.moConfig.setProperty("positioningorder",[n.position]);var r=function(I){var F=this.mPopUpDetails.getBody();if(F){oBody=F}else{oBody=p.body}var J=YAHOO.util.Dom.getElementsBy(function(O){return YAHOO.util.Dom.hasClass(O,"CameraFangImage")},null,oBody)[0],K=YAHOO.util.Dom.getElementsBy(function(O){return YAHOO.util.Dom.hasClass(O,"CameraFangCaption")},null,oBody)[0];J.alt="Camera Image";this.mdivTest.innerHTML="";var C=this.mdivTest.appendChild(K.cloneNode(true));var L=Sigalert.common.element.getHeight(C);u-=L;this.mdivTest.innerHTML="";var E=I.width/I.height,N=Math.min(q,I.width),M=Math.min(u,I.height);var D=N,G=N/E;if(G>M){G=M;D=M*E}J.width=D;J.height=G;YAHOO.util.Dom.setStyle(oBody,"height",(G+L)+"px");J.src=I.src;q=Math.min(q,D);q=Math.max(q,t);this.mPopUpDetails.moConfig.setProperty("maxwidth",q);if(F){this.mPopUpDetails.resizeSelf();var H=this.mapXyToElXy(this.miPopUpX/this.xScale(),this.miPopUpY/this.yScale());this.mPopUpDetails.show(new YAHOO.util.Region(H[1]-1,H[0]+1,H[1]+1,H[0]-1))}else{this._setCamIncFangPopUpBody(oBody,j,n)}};var p=this.createCameraPopupBody(e,m,r,true);p.img.src=p.url;if(!p.img.complete){this._setCamIncFangPopUpBody(p.body,j,n)}};Sigalert.data.Roads.getRoadSectionId(i,d,null,this,Sigalert.data.DragMap.getCameraSpeedId(i,e))},_showIncidentFangPopup:function(k,d,n){var j=0;try{var q=Sigalert.controls.PopUpControl;j=1;var y=this.mPopUpDetails.getNonBodyWidth();j=2;var r=this.mPopUpDetails.getNonBodyHeight();j=3;var e=this.mPopUpDetails.getLeftAndRightFangWidth();j=4;var s=this.mPopUpDetails.getTopAndBottomFangHeight();j=5;var p=175;j=6;var f={width:q.IntAdWidth+y+e,height:p+r};j=7;var l={width:q.IntAdWidth+y,height:p+r+s};j=8;var g=this._getFangPopUpConstraints(this.miPopUpX/this.xScale(),this.miPopUpY/this.yScale(),f,l);j=9;var w=(g.isHoriz?y+e:y);j=10;var x=(g.isVert?r+s:r);j=11;var v=q.IntAdWidth;j=12;var u=Math.min(g.width-w,450);j=13;var m=-1;j=14;var o=g.height-x;j=15;this.mPopUpDetails.moConfig.setProperty("minwidth",v);j=16;this.mPopUpDetails.moConfig.setProperty("maxwidth",u);j=17;this.mPopUpDetails.moConfig.setProperty("minheight",m);j=18;this.mPopUpDetails.moConfig.setProperty("maxheight",o);j=19;this.mPopUpDetails.moConfig.setProperty("offsets",g.offsets);j=20;this.mPopUpDetails.moConfig.setProperty("positioningorder",[g.position]);j=21;this._setCamIncFangPopUpBody(Sigalert.common.createIncidentDetailsWithSummaryContainer(k,d),n,g);j=22}catch(t){var i="[HotspotMapControl._showIncidentFangPopup progress = "+j+" "+t.name+": "+t.message+"]";i+=" [this.mPopUpDetails = "+typeof("this.mPopUpDetails")+"]";if(this.mPopUpDetails){if(this.mPopUpDetails.getNonBodyWidth){i+=" [this.mPopUpDetails.getNonBodyWidth = "+this.mPopUpDetails.getNonBodyWidth()+"]"}if(this.mPopUpDetails.getNonBodyHeight){i+=" [this.mPopUpDetails.getNonBodyHeight = "+this.mPopUpDetails.getNonBodyHeight()+"]"}if(this.mPopUpDetails.getLeftAndRightFangWidth){i+=" [this.mPopUpDetails.getLeftAndRightFangWidth = "+this.mPopUpDetails.getLeftAndRightFangWidth()+"]"}if(this.mPopUpDetails.getTopAndBottomFangHeight){i+=" [this.mPopUpDetails.getTopAndBottomFangHeight = "+this.mPopUpDetails.getTopAndBottomFangHeight()+"]"}}if(q){i+=" [PopUpControl.IntAdWidth = "+q.IntAdWidth+"]"}i+=" [iExtraPopUpWidth = "+w+"]";i+=" [iExtraPopUpHeight = "+x+"]";i+=" [iMinIncWidth = "+v+"]";i+=" [iMaxIncWidth = "+u+"]";i+=" [iMinIncHeight = "+m+"]";i+=" [iMaxIncHeight = "+o+"]";i+=" [oDetails = "+typeof(k)+"]";i+=" [oIncData = "+typeof(d)+"]";var h=new Error(t.name+": "+t.message);h.extra=i;throw h}},_onIncidentSummaryDataRetrieved:function(d,e){if(this.miIncDetailsLoadCount===1&&this.mstrPopUpType==="inc"){this._showIncidentFangPopup(this.moIncDetailsData,d,e)}else{this.moIncDetailsData=d;this.miIncDetailsLoadCount+=1}},_onIncidentDetailsRetrieved:function(f,i){var d=0;try{if(this.miIncDetailsLoadCount===1&&this.mstrPopUpType==="inc"){d=1.1;this._showIncidentFangPopup(f,this.moIncDetailsData,i);d=1.2}else{d=2.1;this.moIncDetailsData=f;d=2.2;this.miIncDetailsLoadCount+=1;d=2.3}}catch(e){var h="[HotspotMapControl._onIncidentDetailsRetrieved progress = "+d+" "+e.name+": "+e.message+"]";h+=" [this.miIncDetailsLoadCount = "+this.miIncDetailsLoadCount+"]";h+=" [this.mstrPopUpType = "+this.mstrPopUpType+"]";if(e.extra){h+="\n"+e.extra}var g=new Error(e.extra?e.message:e.name+": "+e.message);g.extra=h;throw g}},showIncidentFangPopUp:function(f,e,d,g){if(this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails.hide()}this._setupCamIncFangPopUp(f,e,d);this.mstrPopUpType="inc";Sigalert.data.Incidents.getIncidentDetails(this.moConfig.getProperty("region"),this.miPopUpId,{success:this._onIncidentDetailsRetrieved,scope:this,argument:g});Sigalert.data.RoadSummary.getSummaryForItemById(this.moConfig.getProperty("region"),this._onIncidentSummaryDataRetrieved,g,this,"i",this.miPopUpId)},showSpeedFangPopUp:function(f,e,i,h){var g=this.moConfig.getProperty("region");var d=function(u){if(this.mPopUpDetails){this.mPopUpDetails.hide()}if(!this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails=new Sigalert.controls.PopUpControl({capturemousevents:true});this.mFangPopUpSpeedDetails.hide();this.mFangPopUpSpeedDetails.render(this.mLayers);this.mFangPopUpSpeedDetails.setFontSize(this._getFontSize());var s=this;this.mFangPopUpSpeedDetails.onHide=function(){if(YAHOO.env.ua.gecko!==0){s.mFangPopUpSpeedDetails.setBodyOverflow("hidden")}s.miFangPopUpSpeedId=-1;s.miFangPopUpSpeedX=0;s.miFangPopUpSpeedY=0;s.mFangRoadSummary.hideDetailsPopUp();if(s.mbTrafficBlindClosedForFangPopUp){s.slideTrafficBlind();s.mbTrafficBlindClosedForFangPopUp=false}};this.mFangPopUpSpeedDetails.onMouseEvent.subscribe(function(){this.hidePopups()},null,this);YAHOO.util.Event.on(this.mFangPopUpSpeedDetails.mdivPopUp,"mouseover",this._onMapMouseOut,null,this);this.mdivFangRoadSummary=make("div");YAHOO.util.Dom.addClass(this.mdivFangRoadSummary,"MapFangPopUpRoadSummary");this.mFangRoadSummary=new Sigalert.controls.RoadDetailsControl({region:g,showheader:true,disablepopups:false,showrefreshbutton:false,showspeedsbutton:false,showincidentbutton:false,showcamerabutton:false});this.mFangRoadSummary.setSummaryListOverflow("hidden");this.mFangRoadSummary.removeHeaderPositionStyle();this.mFangRoadSummary.setTrackPopUpPosition(true);this.mFangRoadSummary.removeOuterBorder();this.mFangRoadSummary.render(this.mdivFangRoadSummary);this.mFangPopUpSpeedDetails.setBody(this.mdivFangRoadSummary,"SummaryBorder MapFangPopUpRoadRoadSummaryContainer")}var k=31;if(YAHOO.env.ua.ie>0&&YAHOO.env.ua.ie<7){k=(this.miViewportHeightPixels*0.0234)/this._getFontFontSizeAsInt()}this.mFangRoadSummary.loadSummaryForFocusedItem(u,Sigalert.data.Roads.getRoadLongName(g,u),"s",f,k,true);this.miFangPopUpSpeedId=f;this.miFangPopUpSpeedX=e;this.miFangPopUpSpeedY=i;this.hidePopups();var p=Sigalert.controls.PopUpControl,n=this.mFangPopUpSpeedDetails.getNonBodyWidth(),m=this.mFangPopUpSpeedDetails.getNonBodyHeight(),q=this.mFangPopUpSpeedDetails.getLeftAndRightFangWidth(),o=this.mFangPopUpSpeedDetails.getTopAndBottomFangHeight(),l=200,t={width:p.IntAdWidth+n+q,height:l+m},j={width:p.IntAdWidth+n,height:l+m+o},r=this._getFangPopUpConstraints(this.miFangPopUpSpeedX/this.xScale(),this.miFangPopUpSpeedY/this.yScale(),t,j);iExtraPopUpWidth=(r.isHoriz?n+q:n),iExtraPopUpHeight=(r.isVert?m+o:m),iMinWidth=p.IntAdWidth,iMaxWidth=Math.min(r.width-iExtraPopUpWidth,250),iMinHeight=36,iMaxHeight=r.height-iExtraPopUpHeight;this.mFangPopUpSpeedDetails.moConfig.setProperty("minwidth",iMinWidth);this.mFangPopUpSpeedDetails.moConfig.setProperty("maxwidth",iMaxWidth);this.mFangPopUpSpeedDetails.moConfig.setProperty("minheight",iMinHeight);this.mFangPopUpSpeedDetails.moConfig.setProperty("maxheight",iMaxHeight);this.mFangPopUpSpeedDetails.moConfig.setProperty("offsets",r.offsets);this.mFangPopUpSpeedDetails.moConfig.setProperty("positioningorder",[r.position]);this.mFangPopUpSpeedDetails.resizeSelf();var v=function(){var w=this.mapXyToElXy(this.miFangPopUpSpeedX/this.xScale(),this.miFangPopUpSpeedY/this.yScale());this.mFangPopUpSpeedDetails.setCaptureMouseEvents(false);this.mFangPopUpSpeedDetails.show(new YAHOO.util.Region(w[1]-1,w[0]+1,w[1]+1,w[0]-1));var x=this;setTimeout(function(){x.mFangPopUpSpeedDetails.setCaptureMouseEvents(true)},500)};if(!h||!this.slideMap(r.dx,r.dy,v,this)){v.call(this)}};Sigalert.data.Roads.getRoadSectionId(g,d,null,this,f)},hideSpeedFangPopUp:function(){if(this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails.hide()}},hideCamIncFangPopUp:function(){if(this.mPopUpDetails){this.mPopUpDetails.hide()}},hideFangPopUps:function(){this.hideCamIncFangPopUp();this.hideSpeedFangPopUp()},_getConstrainedX:function(d,i){d+=YAHOO.util.Dom.getDocumentScrollLeft();var f=50,e=YAHOO.util.Dom.getX(this.mViewport),g=d+f+i,h=d-f-i;xNew=0;if(g<this.miViewportWidthPixels+e){xNew=d+f}else{if(h>e){xNew=h}else{xNew=e+10}}return xNew},_getConstrainedY:function(j,h){j+=YAHOO.util.Dom.getDocumentScrollTop();var g=50,f=YAHOO.util.Dom.getY(this.mViewport),d=j+g+h,i=j-g-h,e=0;if(d<this.miViewportHeightPixels+f){e=j+g}else{if(i>f){e=i}else{e=f+10}}return e},hideCameraPopup:function(){this.mbCheckMouseDistance=false;if(this.mpnlCamPopUp){this.mpnlCamPopUp.hide()}},hideRoadSummaryMapPopup:function(){this.mbCheckMouseDistance=false;if(this.mpnlSummaryPopUp){this.mpnlSummaryPopUp.hide()}},hidePopups:function(){this.hideCameraPopup();this.hideRoadSummaryMapPopup()},showRoadSummaryPopup:function(f,k,g,h,e){if(f.ctrlKey){return}var i=true;this.hideCameraPopup();if(k>=0){if(!this.mRoadSummary.isFocusedItemLoaded(k,g,h,this.moConfig.getProperty("maxpopuprows"))){this.mRoadSummary.loadSummaryForFocusedItem(k,e,g,h,this.moConfig.getProperty("maxpopuprows"),true);i=false}}else{if(!this.mRoadSummary.isItemLoaded(g,h)){this.mRoadSummary.loadSummaryForItem(g,h);i=false}}this.mspnSummaryHeader.innerHTML=e;this.mCurrentHotSpotX=f.clientX;this.mCurrentHotSpotY=f.clientY;this.mbCheckMouseDistance=true;if(!this.mpnlSummaryPopUp.cfg.getProperty("visible")||!i){var d=this._getConstrainedX(f.clientX,this.moConfig.getProperty("popupwidth"));var j=this._getConstrainedY(f.clientY,Sigalert.common.element.getHeight(this.mpnlSummaryPopUp.element));this.mpnlSummaryPopUp.cfg.setProperty("x",d);this.mpnlSummaryPopUp.cfg.setProperty("y",j);this.mpnlSummaryPopUp.show()}},createCameraPopupBody:function(i,k,f,j){var g=this.moConfig.getProperty("region"),d=Sigalert.data.DragMap.getCameraUrl(g,i);d+=(d.indexOf("?")===-1?"?":"&")+Sigalert.common.generateImageTimeStamp();var l=make("div");YAHOO.util.Dom.addClass(l,"CameraFangCaption");l.innerHTML=(j?Sigalert.data.Cameras.getCameraRoadName(g,k,i)+" at ":"")+Sigalert.data.DragMap.getCameraRampName(g,i);var m=make("img"),e=null;YAHOO.util.Dom.addClass(m,"CameraFangImage");if(f){var h=this;m.alt="Loading Camera Image...";e=new Image();e.onerror=function(){m.alt="Error Loading Image";e.onerror=null;e.onsuccess=null};e.onload=function(){m.alt="Camera Image";f.call(h,e);e.onerror=null;e.onsuccess=null}}else{m.alt="Camera Image";m.src=d}var n=make("div");YAHOO.util.Dom.addClass(n,"CameraFangBody");n.appendChild(m);n.appendChild(l);return{body:n,img:e,url:d}},_showCamPopup:function(f,k,e,r,m){if(m.ctrlKey){return}this.hideRoadSummaryMapPopup();if(!this.mpnlCamPopUp){this.mpnlCamPopUp=new YAHOO.widget.Panel("pnlMapCameraPopup",{zIndex:1000,context:["idViewport","tr","tr"],constraintoviewport:true,close:false,underlay:"none",draggable:false});if(this.moConfig.getProperty("hidepopuptimeoutseconds")!==-1){this.mpnlCamPopUp.showEvent.subscribe(function(){if(this.mtmrFloatingPopUp!==null){clearTimeout(this.mtmrFloatingPopUp)}var x=this;this.mtmrFloatingPopUp=setTimeout(function(){x.hideCameraPopup()},this.moConfig.getProperty("hidepopuptimeoutseconds")*1000)},null,this)}this.mpnlCamPopUp.hideEvent.subscribe(function(){this.miFloatingPopUpCamId=-1},null,this);var p=make("div");var j=make("div");this.mspnCameraHeader=make("span");YAHOO.util.Dom.addClass(this.mspnCameraHeader,"map-popup-title");YAHOO.util.Dom.addClass(this.mspnCameraHeader,"MapPopUpTitle");YAHOO.util.Dom.addClass(this.mspnCameraHeader,"MapTabBorder");YAHOO.util.Dom.addClass(this.mspnCameraHeader,"MapTabBackground");this.mspnCameraHeader.innerHTML="Camera";var n=make("div");YAHOO.util.Dom.addClass(n,"MapPopUpHeaderBorder");YAHOO.util.Dom.addClass(n,"MapTabBorder");YAHOO.util.Dom.addClass(n,"MapTabBackground");j.appendChild(this.mspnCameraHeader);p.appendChild(j);p.appendChild(n);this.mpnlCamPopUp.setHeader(p);this.mpnlCamPopUp.setBody("");this.mpnlCamPopUp.render(document.body);this.miExtraFloatingPopUpWidth=Sigalert.common.element.getNonClientWidth(this.mpnlCamPopUp.body);this.miExtraFloatingPopUpHeight=Sigalert.common.element.getNonClientHeight(this.mpnlCamPopUp.body)}this.mCurrentHotSpotX=m.clientX;this.mCurrentHotSpotY=m.clientY;this.mbCheckMouseDistance=true;var o=250,l=200,q=o+this.miExtraFloatingPopUpWidth,w=l+this.miExtraFloatingPopUpHeight,u=this.miViewportWidthPixels-a.ViewportOffsets.left-a.ViewportOffsets.right-this.miExtraFloatingPopUpWidth,d=this.miViewportHeightPixels-a.ViewportOffsets.top-a.ViewportOffsets.bottom-this.miExtraFloatingPopUpHeight,s=this.getMapXY();var g=this.clientXyToMapXy(m.clientX,m.clientY);if(g[0]>s[0]){u-=this.miViewportWidthPixels/2-(g[0]-s[0])}else{u-=this.miViewportWidthPixels/2-(s[0]-g[0])}if(g[1]>s[1]){d-=this.miViewportHeightPixels/2-(g[1]-s[1])}else{d-=this.miViewportHeightPixels/2-(s[1]-g[1])}u=Math.max(u,o);d=Math.max(d,l);var v=this._getConstrainedX(m.clientX,q),t=this._getConstrainedY(m.clientY,w);var i=function(D){var z=YAHOO.util.Dom.getElementsBy(function(J){return YAHOO.util.Dom.hasClass(J,"CameraFangBody")},null,this.mpnlCamPopUp.body)[0],E=YAHOO.util.Dom.getElementsBy(function(J){return YAHOO.util.Dom.hasClass(J,"CameraFangImage")},null,z)[0],F=YAHOO.util.Dom.getElementsBy(function(J){return YAHOO.util.Dom.hasClass(J,"CameraFangCaption")},null,z)[0];E.alt="Camera Image";var G=4+Sigalert.common.element.getHeight(F);H-=G;var y=D.width/D.height,I=Math.min(u,D.width),H=Math.min(d,D.height);var x=I,B=I/y;if(B>H){B=H;x=H*y}E.width=x;E.height=B;var A=Math.min(u,x);A=Math.max(A,l);var C=B+G;this.mpnlCamPopUp.cfg.setProperty("width",(A+this.miExtraFloatingPopUpWidth)+"px");YAHOO.util.Dom.setStyle(z,"height",C+"px");v=this._getConstrainedX(m.clientX,A+this.miExtraFloatingPopUpWidth);t=this._getConstrainedY(m.clientY,C+this.miExtraFloatingPopUpHeight);this.mpnlCamPopUp.cfg.setProperty("x",v);this.mpnlCamPopUp.cfg.setProperty("y",t);E.src=D.src};var h=this.createCameraPopupBody(k,e,i,false);YAHOO.util.Dom.setStyle(h.body,"height",l+"px");this.mpnlCamPopUp.setBody(h.body);this.mpnlCamPopUp.render();this.mspnCameraHeader.innerHTML=f;this.mpnlCamPopUp.cfg.setProperty("width",q+"px");this.mpnlCamPopUp.cfg.setProperty("x",v);this.mpnlCamPopUp.cfg.setProperty("y",t);this.mpnlCamPopUp.show();h.img.src=h.url},showCameraPopup:function(g,i){var f=Sigalert.data.DragMap,j=this.moConfig.getProperty("region"),h=f.getCameraId(j,i);if(this.miFloatingPopUpCamId!==h&&(this.mstrPopUpType!=="cam"||this.miPopUpId!==h)){this.miFloatingPopUpCamId=h;var e={ctrlKey:g.ctrlKey,clientX:g.clientX,clientY:g.clientY};var d=function(k){this._showCamPopup(Sigalert.data.Cameras.getCameraRoadName(j,k,i),i,k,352,e)};Sigalert.data.Roads.getRoadSectionId(j,d,null,this,f.getCameraSpeedId(j,i))}else{if(this.mstrPopUpType==="cam"&&h===this.miPopUpId){this.hidePopups()}}},fillRoadSummaryTable:function(g,e,f,d){if(g>=0){this.mRoadDetailsCtrl.loadSummaryForFocusedItem(g,d,e,f,15,true)}else{this.mRoadDetailsCtrl.loadSummaryForItem(e,f)}},loadBlindsRoadSummary:function(g,e,f,d){YAHOO.util.Dom.setStyle(this.mdivBlindSummary,"display","block");YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"display","none");if(this.mbAnimTrafficBlindShowing){YAHOO.util.Dom.removeClass(this.mdivBlindSummary,"MapTrafficBlindEmptySummary");YAHOO.util.Dom.addClass(this.mdivBlindSummary,"SummaryBorder");if(g>=0){if(!this.mBlindRoadSummaryCtrl.isFocusedItemLoaded(g,e,f,a.IntNumberOfItemsInRoadSummary)){this.mdivTrafficBtn.innerHTML=d;this.mBlindRoadSummaryCtrl.loadSummaryForFocusedItem(g,d,e,f,a.IntNumberOfItemsInRoadSummary,true)}}else{if(!this.mBlindRoadSummaryCtrl.isItemLoaded(e,f)){this.mdivTrafficBtn.innerHTML=d;this.mBlindRoadSummaryCtrl.loadSummaryForItem(e,f)}}}},loadBlindsCamera:function(f){YAHOO.util.Dom.setStyle(this.mdivBlindSummary,"display","none");YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"display","block");this.mimgTrafficCam.src=a.PathLoadingImage;var e=Sigalert.data.DragMap,g=this.moConfig.getProperty("region");var d=function(k){if(this.mbAnimTrafficBlindShowing){var j=Sigalert.data.Cameras.getCameraRoadName(g,k,f),i=e.getCameraRampName(g,f);this.mdivTrafficBtn.innerHTML=j;this.mdivTrafficCamCaption.innerHTML=j+" at "+i;var h=e.getCameraUrl(g,f);h+=(h.indexOf("?")===-1?"?":"&")+Sigalert.common.generateImageTimeStamp();this.mimgTrafficCam.src=h}};Sigalert.data.Roads.getRoadSectionId(g,d,null,this,e.getCameraSpeedId(g,f))},showSpeedData:function(g,f){var h=this.moConfig.getProperty("region"),i=Sigalert.data.Roads,e={ctrlKey:f.ctrlKey,clientX:f.clientX,clientY:f.clientY};var d=function(j){switch(this.moConfig.getProperty("summaryposition")){case"left":case"right":this.fillRoadSummaryTable(j,"s",g,i.getRoadLongName(h,j));break;case"blinds":this.loadBlindsRoadSummary(j,"s",g,i.getRoadShortName(h,j));break;case"popup":this.showRoadSummaryPopup(e,j,"s",g,i.getRoadLongName(h,j));break}};i.getRoadSectionId(h,d,null,this,g)},showIncidentData:function(i,f){var j=Sigalert.data.Roads,h=this.moConfig.getProperty("region"),g=Sigalert.data.Incidents.getIncidentId(h,i),e={ctrlKey:f.ctrlKey,clientX:f.clientX,clientY:f.clientY};var d=function(k){switch(this.moConfig.getProperty("summaryposition")){case"left":case"right":this.fillRoadSummaryTable(k,"i",g,k>=0?j.getRoadLongName(h,k):"Accident");break;case"blinds":this.loadBlindsRoadSummary(k,"i",g,k>=0?j.getRoadShortName(h,k):"Accident");break;case"popup":this.showRoadSummaryPopup(e,k,"i",g,k>=0?j.getRoadLongName(h,k):"Accident");break}};j.getRoadSectionId(h,d,null,this,Sigalert.data.DragMap.getIncidentSpeedId(h,i))},showCameraData:function(e,d){switch(this.moConfig.getProperty("summaryposition")){case"left":case"right":break;case"blinds":this.loadBlindsCamera(e);break;case"popup":this.showCameraPopup(d,e);break}},getCloseStartBlind:function(){return this.moConfig.getProperty("closestartblindonaction")&&this.mbStartBlindOpen},closeStartBlind:function(){if(this.getCloseStartBlind()){this.mbStartBlindOpen=false;switch(this.moConfig.getProperty("startblind")){case"details":if(this.mbAnimTrafficBlindShowing){this.slideTrafficBlind()}break;case"help":if(this.mbAnimHelpBlindShowing){this.slideHelpBlind()}break;case"options":if(this.mbAnimOptionsBlindShowing){this.slideOptionsBlind()}break}}},onUsePopUpsChanged:function(){if(this.mradUsePopUps.checked){this.slideOptionsBlind(this.setSummaryPosition,"popup")}},onUseBlindsChanged:function(){if(this.mradUseBlinds.checked&&!this.mbAnimTrafficBtnVisible){this.slideOptionsBlind(this.setSummaryPosition,"blinds")}},onUseNoDetailsChanged:function(){if(this.mradUseNoDetails.checked){this.slideOptionsBlind(this.setSummaryPosition,"none")}},onUseSmallFontChanged:function(){if(this.mradSmallFont.checked){this.setFontSize("small");this.slideOptionsBlind(this.moConfig.getProperty("summaryposition")==="blinds"?this.slideTrafficBlind:null)}},onUseLargeFontChanged:function(){if(this.mradLargeFont.checked){this.setFontSize("large");this.slideOptionsBlind(this.moConfig.getProperty("summaryposition")==="blinds"?this.slideTrafficBlind:null)}},fadeTrafficButton:function(e){if(this.mbAnimTrafficBtnVisible){if(this.mAnimTrafficBtn){this.mAnimTrafficBtn.stop()}var d=function(){if(this.mdivTrafficHolder.style.removeAttribute){this.mdivTrafficHolder.style.removeAttribute("filter")}YAHOO.util.Dom.setStyle(this.mdivTrafficHolder,"visibility","hidden");this.mAnimTrafficBtn.onComplete.unsubscribeAll();this.slideButtons()};this.mAnimTrafficBtn=new YAHOO.util.Anim(this.mdivTrafficHolder,{opacity:{to:0}},0.5,YAHOO.util.Easing.easeOut);this.mAnimTrafficBtn.onComplete.subscribe(d,null,this);this.mbAnimTrafficBtnVisible=false;this.mAnimTrafficBtn.animate()}else{if(this.mAnimTrafficBtn){this.mAnimTrafficBtn.stop()}var d=function(){if(this.mdivTrafficHolder.style.removeAttribute){this.mdivTrafficHolder.style.removeAttribute("filter")}this.mAnimTrafficBtn.onComplete.unsubscribeAll();if(e){e.call(this)}else{this.slideTrafficBlind()}};YAHOO.util.Dom.setStyle(this.mdivTrafficHolder,"visibility","visible");this.mAnimTrafficBtn=new YAHOO.util.Anim(this.mdivTrafficHolder,{opacity:{to:1}},0.5,YAHOO.util.Easing.easeOut);this.mAnimTrafficBtn.onComplete.subscribe(d,null,this);this.mbAnimTrafficBtnVisible=true;this.mAnimTrafficBtn.animate()}},slideButtons:function(g,f){var d=Sigalert.common.element.getDimension(this.mdivBtnContainer,"right");if(this.mbAnimBtnsClosed){if(this.mAnimBtns){this.mAnimBtns.stop()}this.mAnimBtns=new YAHOO.util.Anim(this.mdivBtnContainer,{right:{from:d,to:0}},0.5,YAHOO.util.Easing.easeOut);this.mbAnimBtnsClosed=false;this.mAnimBtns.animate()}else{if(this.mAnimBtns){this.mAnimBtns.stop()}var e=function(h,j,i){if(i&&i.func){this.mAnimBtns.onComplete.unsubscribeAll();i.func.call(this,i.arg)}};this.mAnimBtns=new YAHOO.util.Anim(this.mdivBtnContainer,{right:{from:d,to:90}},0.5,YAHOO.util.Easing.easeOut);this.mAnimBtns.onComplete.subscribe(e,{func:g,arg:f},this);this.mbAnimBtnsClosed=true;this.mAnimBtns.animate()}},slideTrafficBlind:function(e){if(this.mbAnimTrafficBlindShowing){if(this.mAnimBlind){this.mAnimBlind.stop()}var d=function(f,h,g){YAHOO.util.Dom.removeClass(this.mdivTrafficBlindOpenBtn,"MapBlindTrafficButtonLargeFont");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindClosedBtn,"display","block");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindOpenBtn,"display","none");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContainer,"width",this.moTrafficBlind.current.maClosedBlindContainerDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContentContainer,"display","none");this.mdivTrafficBtn.innerHTML=a.StrClosedTrafficBlindButton;if(g){this.mAnimBlind.onComplete.unsubscribeAll();g.call(this)}};this.mAnimBlind=new YAHOO.util.Anim(this.mdivTrafficBlindContainer,{height:{to:this.moTrafficBlind.current.maClosedBlindContainerDimen[1]}},0.5,YAHOO.util.Easing.easeOut);this.mAnimBlind.onComplete.subscribe(d,e,this);this.mbAnimTrafficBlindShowing=false;this.mAnimBlind.animate()}else{if(this.mAnimBlind){this.mAnimBlind.stop()}if(this.moConfig.getProperty("fontsize")==="large"){YAHOO.util.Dom.addClass(this.mdivTrafficBlindOpenBtn,"MapBlindTrafficButtonLargeFont")}else{YAHOO.util.Dom.removeClass(this.mdivTrafficBlindOpenBtn,"MapBlindTrafficButtonLargeFont")}YAHOO.util.Dom.setStyle(this.mdivTrafficBlindOpenBtn,"display","block");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindClosedBtn,"display","none");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContentContainer,"display","block");YAHOO.util.Dom.setStyle(this.mdivTrafficBlindContainer,"width",(this.moTrafficBlind.current.maBlindDimen[0]+2)+"px");this.mAnimBlind=new YAHOO.util.Anim(this.mdivTrafficBlindContainer,{height:{to:this.moTrafficBlind.current.miBlindContainerHeight}},0.5,YAHOO.util.Easing.easeOut);this.mbAnimTrafficBlindShowing=true;this.mAnimBlind.animate()}},slideOptionsBlind:function(f,e){if(this.mbAnimOptionsBlindShowing){if(this.mAnimOptionsBlind){this.mAnimOptionsBlind.stop()}var d=function(g,i,h){YAHOO.util.Dom.replaceClass(this.mdivOptionsBlindBtn,"MapBlindButtonOpen","MapBlindButtonClosed");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContainer,"width",this.moOptionsBlind.maClosedBlindContainerDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContentContainer,"display","none");if(h&&h.func){this.mAnimOptionsBlind.onComplete.unsubscribeAll();h.func.call(this,h.arg)}};this.mAnimOptionsBlind=new YAHOO.util.Anim(this.mdivOptionsBlindContainer,{height:{to:this.moOptionsBlind.maClosedBlindContainerDimen[1]}},0.5,YAHOO.util.Easing.easeOut);this.mAnimOptionsBlind.onComplete.subscribe(d,{func:f,arg:e},this);this.mbAnimOptionsBlindShowing=false;this.mAnimOptionsBlind.animate()}else{if(this.mAnimOptionsBlind){this.mAnimOptionsBlind.stop()}YAHOO.util.Dom.replaceClass(this.mdivOptionsBlindBtn,"MapBlindButtonClosed","MapBlindButtonOpen");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContentContainer,"display","block");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContainer,"width",this.moOptionsBlind.maBlindDimen[0]+"px");this.mAnimOptionsBlind=new YAHOO.util.Anim(this.mdivOptionsBlindContainer,{height:{to:this.moOptionsBlind.miBlindContainerHeight}},0.5,YAHOO.util.Easing.easeOut);this.mbAnimOptionsBlindShowing=true;this.mAnimOptionsBlind.animate()}},slideHelpBlind:function(f,e){if(this.mbAnimHelpBlindShowing){if(this.mAnimHelpBlind){this.mAnimHelpBlind.stop()}var d=function(g,i,h){YAHOO.util.Dom.replaceClass(this.mdivHelpBlindBtn,"MapBlindButtonOpen","MapBlindButtonClosed");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContainer,"width",this.moHelpBlind.maClosedBlindContainerDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContentContainer,"display","none");if(h&&h.func){this.mAnimHelpBlind.onComplete.unsubscribeAll();h.func.call(this,h.arg)}};this.mAnimHelpBlind=new YAHOO.util.Anim(this.mdivHelpBlindContainer,{height:{to:this.moHelpBlind.maClosedBlindContainerDimen[1]}},0.5,YAHOO.util.Easing.easeOut);this.mAnimHelpBlind.onComplete.subscribe(d,{func:f,arg:e},this);this.mbAnimHelpBlindShowing=false;this.mAnimHelpBlind.animate()}else{if(this.mAnimHelpBlind){this.mAnimHelpBlind.stop()}YAHOO.util.Dom.replaceClass(this.mdivHelpBlindBtn,"MapBlindButtonClosed","MapBlindButtonOpen");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContentContainer,"display","block");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContainer,"width",this.moHelpBlind.maBlindDimen[0]+"px");this.mAnimHelpBlind=new YAHOO.util.Anim(this.mdivHelpBlindContainer,{height:{to:this.moHelpBlind.miBlindContainerHeight}},0.5,YAHOO.util.Easing.easeOut);this.mbAnimHelpBlindShowing=true;this.mAnimHelpBlind.animate()}},onTrafficBlindClicked:function(){this.mbStartBlindOpen=false;if(this.mbAnimOptionsBlindShowing){this.slideOptionsBlind(this.slideTrafficBlind)}else{if(this.mbAnimHelpBlindShowing){this.slideHelpBlind(this.slideTrafficBlind)}else{this.slideTrafficBlind()}}},onOptionsClicked:function(){this.mbStartBlindOpen=false;if(this.mbAnimTrafficBlindShowing){this.slideTrafficBlind(this.slideOptionsBlind)}else{if(this.mbAnimHelpBlindShowing){this.slideHelpBlind(this.slideOptionsBlind)}else{this.slideOptionsBlind()}}},onHelpClicked:function(){this.mbStartBlindOpen=false;if(this.mbAnimTrafficBlindShowing){this.slideTrafficBlind(this.slideHelpBlind)}else{if(this.mbAnimOptionsBlindShowing){this.slideOptionsBlind(this.slideHelpBlind)}else{this.slideHelpBlind()}}},onRefreshClicked:function(){Sigalert.data.Manager[this.moConfig.getProperty("region")].forceRefreshData();this._onUserDidAction()},hideHotSpotHighlight:function(){for(var d=0;d<this.maZoomLevels.length;d+=1){YAHOO.util.Dom.setStyle(this.madivSpeedHotSpotHighlight[d],"display","none");YAHOO.util.Dom.setStyle(this.madivIncHotSpotHighlight[d],"display","none");YAHOO.util.Dom.setStyle(this.madivCamHotSpotHighlight[d],"display","none");YAHOO.util.Dom.setStyle(this.madivSpeedHotSpotOutline[d],"display","none");YAHOO.util.Dom.setStyle(this.madivIncHotSpotOutline[d],"display","none");YAHOO.util.Dom.setStyle(this.madivCamHotSpotOutline[d],"display","none")}},showHotSpotHighlight:function(d,g){this.hideHotSpotHighlight();var f=this;var e=function(l,k){for(var j=0;j<f.maZoomLevels.length;j+=1){if(j!==f.miCurrentZoomLevel){YAHOO.util.Dom.removeClass(l,k+j)}}YAHOO.util.Dom.setStyle(l,"display","block");YAHOO.util.Dom.addClass(l,k+f.miCurrentZoomLevel);YAHOO.util.Dom.addClass(l,Sigalert.common.CssFixPng);var h=f.mapXyToElXy(d[0]/f.xScale(),d[1]/f.yScale());h[0]-=Sigalert.common.element.getDimension(l,"width")/2;h[1]-=Sigalert.common.element.getDimension(l,"height")/2;YAHOO.util.Dom.setStyle(l,"left",h[0]+"px");YAHOO.util.Dom.setStyle(l,"top",h[1]+"px")};switch(d[4]){case Sigalert.data.DragMap.HotSpotType.Speed:this.miHotSpotIncId=-1;if(g){e(this.madivSpeedHotSpotOutline[this.miCurrentZoomLevel],"SpeedHotSpotOutline")}else{e(this.madivSpeedHotSpotHighlight[this.miCurrentZoomLevel],"SpeedHotSpotHighlight")}break;case Sigalert.data.DragMap.HotSpotType.Inc:this.miHotSpotIncId=Sigalert.data.DragMap.getIncidentId(this.moConfig.getProperty("region"),d[5]);if(g){e(this.madivIncHotSpotOutline[this.miCurrentZoomLevel],"IncidentHotSpotOutline")}else{e(this.madivIncHotSpotHighlight[this.miCurrentZoomLevel],"IncidentHotSpotHighlight")}break;case Sigalert.data.DragMap.HotSpotType.Cam:this.miHotSpotIncId=-1;if(g){e(this.madivCamHotSpotOutline[this.miCurrentZoomLevel],"CameraHotSpotOutline")}else{e(this.madivCamHotSpotHighlight[this.miCurrentZoomLevel],"CameraHotSpotHighlight")}break}},_onStartDrag:function(){a.superclass._onStartDrag.call(this);if(YAHOO.env.ua.gecko!==0){if(this.mFangPopUpSpeedDetails){this.mstrFangPopUpSpeedDetailsBodyOverflow=this.mFangPopUpSpeedDetails.getBodyOverflow();this.mFangPopUpSpeedDetails.setBodyOverflow("hidden")}if(this.mPopUpDetails){this.mstrCamIncFangPopUpBodyOverflow=this.mPopUpDetails.getBodyOverflow();this.mPopUpDetails.setBodyOverflow("hidden")}}},_onEndDrag:function(){a.superclass._onEndDrag.call(this);if(YAHOO.env.ua.gecko!==0){if(this.mFangPopUpSpeedDetails){this.mFangPopUpSpeedDetails.setBodyOverflow(this.mstrFangPopUpSpeedDetailsBodyOverflow)}if(this.mPopUpDetails){this.mPopUpDetails.setBodyOverflow(this.mstrCamIncFangPopUpBodyOverflow)}}this.closeStartBlind();Sigalert.data.Manager[this.moConfig.getProperty("region")].refreshData()},_onMouseOverHotspot:function(d){},_onMapMouseOut:function(d){this.hidePopups()},_onZoomChanged:function(d){a.superclass._onZoomChanged.call(this,d);this.hideHotSpotHighlight();Sigalert.data.Manager[this.moConfig.getProperty("region")].refreshData()},_onTilesCreated:function(d){a.superclass._onTilesCreated.call(this,d);if(this.miPopUpId!==-1){if(this.mstrPopUpType==="inc"){this.showIncidentFangPopUp(this.miPopUpId,this.miPopUpX,this.miPopUpY,false)}else{if(this.mstrPopUpType==="cam"){this.showCameraFangPopUp(this.miPopUpId,this.miPopUpX,this.miPopUpY,Sigalert.data.Cameras.getCameraIndex(this.moConfig.getProperty("region"),this.miPopUpId),false)}}}if(this.miFangPopUpSpeedId!==-1){this.showSpeedFangPopUp(this.miFangPopUpSpeedId,this.miFangPopUpSpeedX,this.miFangPopUpSpeedY,false)}this.hideHotSpotHighlight()},onTrafficDataRefreshStart:function(){a.superclass.onTrafficDataRefreshStart.call(this);if(this.mdivRefreshBtn){YAHOO.util.Dom.replaceClass(this.mdivRefreshBtn,"MapRefreshIcon","MapRefreshIconUpdating")}},onTrafficDataRefreshEnd:function(){a.superclass.onTrafficDataRefreshEnd.call(this);if(this.mdivRefreshBtn){YAHOO.util.Dom.replaceClass(this.mdivRefreshBtn,"MapRefreshIconUpdating","MapRefreshIcon")}},onTrafficDataUpdated:function(){a.superclass.onTrafficDataUpdated.call(this);if(this.mdivTimeStamp){this.mdivTimeStamp.innerHTML="Data from: "+Sigalert.data.DragMap.getLastUpdatedString(this.moConfig.getProperty("region"))}this._processDynamicData();if(this.miPopUpId!==-1){if(this.mstrPopUpType==="inc"&&Sigalert.data.Incidents.getIncidentExists(this.moConfig.getProperty("region"),this.miPopUpId)){this.showIncidentFangPopUp(this.miPopUpId,this.miPopUpX,this.miPopUpY,false)}else{if(this.mstrPopUpType==="cam"&&Sigalert.data.Cameras.getCameraExists(this.moConfig.getProperty("region"),this.miPopUpId)){this.showCameraFangPopUp(this.miPopUpId,this.miPopUpX,this.miPopUpY,Sigalert.data.Cameras.getCameraIndex(this.moConfig.getProperty("region"),this.miPopUpId),false)}else{this.hideCamIncFangPopUp()}}}if(this.miFangPopUpSpeedId!==-1){this.showSpeedFangPopUp(this.miFangPopUpSpeedId,this.miFangPopUpSpeedX,this.miFangPopUpSpeedY,false)}if(this.miHotSpotIncId!==-1){if(!Sigalert.data.Incidents.getIncidentExists(this.moConfig.getProperty("region"),this.miHotSpotIncId)){this.hideHotSpotHighlight()}}},init:function(e,i){a.superclass.init.call(this,e,i);function f(k){if(this.mbCheckMouseDistance){var j=25;if(c(this.mCurrentHotSpotX,this.mCurrentHotSpotY,k.clientX,k.clientY)>=j){this.hideRoadSummaryMapPopup();this.hideCameraPopup();this.hideHotSpotHighlight()}}}YAHOO.util.Event.on(this.mLayers,"mousemove",f,null,this);this._processDynamicData();var h=this.moConfig.getProperty("summaryposition");this.moConfig.setProperty("summaryposition","");var g=function(){switch(this.moConfig.getProperty("startblind")){case"details":this.setSummaryPosition(h);break;case"help":this.setSummaryPosition(h,this.slideHelpBlind);break;case"options":this.setSummaryPosition(h);break;default:this.setSummaryPosition(h);break}};if(this.moConfig.getProperty("showoptionsbutton")){YAHOO.util.Event.onAvailable(this.mradUseNoDetails.id,g,null,this);var d=this.moConfig.getProperty("fontsize");YAHOO.util.Event.onAvailable(this.mradUseNoDetails.id,function(){switch(d){case"small":this.mradSmallFont.checked=true;break;case"large":this.mradLargeFont.checked=true;break}},null,this)}else{g.call(this)}Sigalert.common.cacheImage(GstrImageDir+"/Cursors/HMove.cur");Sigalert.common.cacheImage(GstrImageDir+"/Cursors/Hwe.cur");Sigalert.common.cacheImage(a.PathLoadingImage)},initConfig:function(){a.superclass.initConfig.call(this);this.moConfig.setProperty("enabledetails",true);this.moConfig.setProperty("enablehotspotclicking",true);this.moConfig.setProperty("summaryposition","popup");this.moConfig.setProperty("startblind","");this.moConfig.setProperty("showhelpbutton",true);this.moConfig.setProperty("showrefreshbutton",true);this.moConfig.setProperty("showoptionsbutton",true);this.moConfig.setProperty("showupdatetime",true);this.moConfig.setProperty("showlogo",true);this.moConfig.setProperty("popupwidth",235);this.moConfig.setProperty("summarywidth",300);this.moConfig.setProperty("sidebarinsert","");this.moConfig.setProperty("fontsize","small");this.moConfig.setProperty("closestartblindonaction",false);this.moConfig.setProperty("maxpopuprows",a.IntNumberOfItemsInRoadSummary);this.moConfig.setProperty("hidepopuptimeoutseconds",-1);this.moConfig.setProperty("floatingcampopupmaxwidth",-1)},constructMarkup:function(){a.superclass.constructMarkup.call(this);function j(y){if(this.mbDraggingMap){return}var x=this._findHotSpot(y.clientX,y.clientY),B=false;if(x.iPoint>=0){var v=this.maKdHotSpots[x.iPoint];var A=this.moConfig.getProperty("summaryposition");var i=(A==="blinds"||A==="left"||A==="right");var z=false;B=x.dDistSqd<=a.IntHotspotRadiusSqd;var w={aSpot:v,bShowHighlight:i,bShowOutline:z,bWithinRadius:B};this._onMouseOverHotspot(w);v=w.aSpot;i=w.bShowHighlight;z=w.bShowOutline;B=w.bWithinRadius;if(i||B){switch(v[4]){case Sigalert.data.DragMap.HotSpotType.Speed:this.showHotSpotHighlight(v,z);this.showSpeedData(v[5],y);this._onUserDidAction();break;case Sigalert.data.DragMap.HotSpotType.Inc:this.showHotSpotHighlight(v,z);this.showIncidentData(v[5],y);this._onUserDidAction();break;case Sigalert.data.DragMap.HotSpotType.Cam:this.showHotSpotHighlight(v,z);this.showCameraData(v[5],y);this._onUserDidAction();break}}else{this.showHotSpotHighlight(v,true)}}else{this.hideHotSpotHighlight()}if(B){this.setCursor(b.StrPointerCursor)}else{this.setCursor(b.StrDefaultCursor)}}function u(y){if(this.mbDraggingMap||this.mbJustDraggedMap){this.mbJustDraggedMap=false;return false}var w=this._findHotSpot(y.clientX,y.clientY);if(w.iPoint>=0){var i=this.maKdHotSpots[w.iPoint];if(w.dDistSqd<=a.IntHotspotRadiusSqd){switch(i[4]){case Sigalert.data.DragMap.HotSpotType.Speed:if(this.miFangPopUpSpeedId!==i[5]){this.hideFangPopUps();this.showSpeedFangPopUp(i[5],i[0],i[1],true)}else{this.hideSpeedFangPopUp()}this._onUserDidAction();break;case Sigalert.data.DragMap.HotSpotType.Inc:var x=Sigalert.data.DragMap.getIncidentId(this.moConfig.getProperty("region"),i[5]);if(this.mstrPopUpType!=="inc"||(this.mstrPopUpType==="inc"&&this.miPopUpId!==x)){this.hideFangPopUps();this.showIncidentFangPopUp(x,i[0],i[1],true)}else{this.hideCamIncFangPopUp()}bHotSpotClicked=true;this._onUserDidAction();break;case Sigalert.data.DragMap.HotSpotType.Cam:var v=Sigalert.data.DragMap.getCameraId(this.moConfig.getProperty("region"),i[5]);if(this.mstrPopUpType!=="cam"||(this.mstrPopUpType==="cam"&&this.miPopUpId!==v)){this.hideFangPopUps();this.showCameraFangPopUp(v,i[0],i[1],i[5],true)}else{this.hideCamIncFangPopUp()}this._onUserDidAction();break}}else{this.hideFangPopUps();this.hidePopups()}}else{this.hideFangPopUps();this.hidePopups()}}this.mdivTest=make("div");YAHOO.util.Dom.setStyle(this.mdivTest,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivTest,"visibility","hidden");document.body.appendChild(this.mdivTest);if(this.moConfig.getProperty("enabledetails")){YAHOO.util.Event.on(this.mLayers,"mousemove",j,null,this);if(this.moConfig.getProperty("enablehotspotclicking")){YAHOO.util.Event.on(this.mLayers,"click",u,null,this)}}if(this.moConfig.getProperty("showrefreshbutton")||this.moConfig.getProperty("showoptionsbutton")||this.moConfig.getProperty("showhelpbutton")){this.mdivControls=make("div");YAHOO.util.Dom.addClass(this.mdivControls,"map-blind-controls");this.mdivBtnContainer=make("div");YAHOO.util.Dom.addClass(this.mdivBtnContainer,"map-image-buttons");this.mdivControls.appendChild(this.mdivBtnContainer);var m=1;this.mtblTest=make("table");YAHOO.util.Dom.setStyle(this.mtblTest,"position","absolute");YAHOO.util.Dom.setStyle(this.mtblTest,"visibility","hidden");this.mcellTest=this.mtblTest.insertRow(-1).insertCell(-1);document.body.appendChild(this.mtblTest);if(this.moConfig.getProperty("showhelpbutton")){this.mdivHelpBtn=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBtn,"map-icon");YAHOO.util.Dom.addClass(this.mdivHelpBtn,"MapHelpIcon");YAHOO.util.Dom.addClass(this.mdivHelpBtn,"map-icon"+m);this.mdivHelpBtn.title="Help";YAHOO.util.Event.on(this.mdivHelpBtn,"click",this.onHelpClicked,null,this);this.mdivBtnContainer.appendChild(this.mdivHelpBtn);this.mdivHelpBlindContainer=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBlindContainer,"map-blind-container");YAHOO.util.Dom.addClass(this.mdivHelpBlindContainer,"map-blind-container-help");YAHOO.util.Dom.addClass(this.mdivHelpBlindContainer,"map-icon"+m);this.mdivHelpBlind=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBlind,"map-blind");YAHOO.util.Dom.addClass(this.mdivHelpBlind,"map-blind-help");this.mdivHelpBlindContainer.appendChild(this.mdivHelpBlind);this.mdivHelpBlindContentContainer=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBlindContentContainer,"map-blind-content-container-help");YAHOO.util.Dom.addClass(this.mdivHelpBlindContentContainer,"MapHelpBoxBorder");YAHOO.util.Dom.addClass(this.mdivHelpBlindContentContainer,"MapBlindBackground");this.mdivHelpBlind.appendChild(this.mdivHelpBlindContentContainer);var q=make("div");YAHOO.util.Dom.addClass(q,"map-blind-bar-help");YAHOO.util.Dom.addClass(q,"MapHelpBoxHeader");this.mdivHelpBlindContentContainer.appendChild(q);this.mdivHelpBlindContent=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBlindContent,"map-blind-content-help");this.mdivHelpBlindContentContainer.appendChild(this.mdivHelpBlindContent);this.mdivHelp=make("div");YAHOO.util.Dom.addClass(this.mdivHelp,"map-help MapBlindContent");this.mdivHelpBlindContent.appendChild(this.mdivHelp);this.mdivHelp.innerHTML="<div class='MapLegend'><h1>Map Help</h1><div style='margin-bottom: 3px'>Drag the map with your mouse to see different areas.</div><div>Zoom in and out with the slider or by double-clicking your mouse.</div><div class='ContentContainerDivider'></div><h1>Speeds (MPH)</h1><div class='MapLegendSpeeds fixpng'></div><div>15-&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 35&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 60+</div><h1>Incidents</h1><div class='MapLegendIncidents'><div class='MapLegendIncident MapLegendSevereIncident fixpng'></div><div class='MapLegendIncident MapLegendModerateIncident fixpng'></div><div class='MapLegendIncident MapLegendMinorIncident fixpng'></div></div><div>Severe&nbsp&nbsp&nbsp Moderate&nbsp&nbsp&nbsp Minor</div></div>";this.mdivHelpBlindBtn=make("div");YAHOO.util.Dom.addClass(this.mdivHelpBlindBtn,"map-blind-button MapBlindHelpButton MapBlindButtonClosed");YAHOO.util.Event.on(this.mdivHelpBlindBtn,"click",this.onHelpClicked,null,this);this.mdivHelpBlind.appendChild(this.mdivHelpBlindBtn);this.mcellTest.appendChild(this.mdivHelpBlindContainer);this.moHelpBlind.maBlindDimen=[Sigalert.common.element.getWidth(this.mdivHelpBlind),Sigalert.common.element.getHeight(this.mdivHelpBlind)];this.moHelpBlind.maClosedBlindContainerDimen[1]=Sigalert.common.element.getDimension(this.mdivHelpBlindBtn,"height");this.moHelpBlind.miBlindContainerHeight=this.moHelpBlind.maBlindDimen[1]+this.moHelpBlind.maClosedBlindContainerDimen[1]-1;this.mdivHelpBlindContainer=this.mcellTest.removeChild(this.mdivHelpBlindContainer);this.mdivBtnContainer.appendChild(this.mdivHelpBlindContainer);var h=this.mdivHelpBtn.cloneNode(false);YAHOO.util.Dom.setStyle(h,"position","absolute");YAHOO.util.Dom.setStyle(h,"visibility","hidden");document.body.appendChild(h);this.moHelpBlind.maClosedBlindContainerDimen[0]=Sigalert.common.element.getDimension(h,"width");document.body.removeChild(h);YAHOO.util.Dom.setStyle(this.mdivHelpBlind,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivHelpBlind,"width",this.moHelpBlind.maBlindDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivHelpBlind,"height",this.moHelpBlind.maBlindDimen[1]+"px");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContainer,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContainer,"width",this.moHelpBlind.maClosedBlindContainerDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivHelpBlindContainer,"height",this.moHelpBlind.maClosedBlindContainerDimen[1]+"px");YAHOO.util.Event.on(this.mdivHelpBlind,"mouseover",this._onMapMouseOut,null,this);m+=1}if(this.moConfig.getProperty("showoptionsbutton")){this.mdivOptionsBtn=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBtn,"map-icon");YAHOO.util.Dom.addClass(this.mdivOptionsBtn,"map-options-icon");YAHOO.util.Dom.addClass(this.mdivOptionsBtn,"MapOptionsIcon");YAHOO.util.Dom.addClass(this.mdivOptionsBtn,"map-icon"+m);this.mdivOptionsBtn.title="Options";YAHOO.util.Event.on(this.mdivOptionsBtn,"click",this.onOptionsClicked,null,this);this.mdivBtnContainer.appendChild(this.mdivOptionsBtn);this.mdivOptionsBlindContainer=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContainer,"map-blind-container");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContainer,"map-blind-container-options");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContainer,"map-icon"+m);this.mdivOptionsBlind=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBlind,"map-blind");YAHOO.util.Dom.addClass(this.mdivOptionsBlind,"map-blind-options");this.mdivOptionsBlindContainer.appendChild(this.mdivOptionsBlind);this.mdivOptionsBlindContentContainer=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContentContainer,"map-blind-content-container-options");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContentContainer,"MapOptionsBoxBorder");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContentContainer,"MapBlindBackground");this.mdivOptionsBlind.appendChild(this.mdivOptionsBlindContentContainer);var s=make("div");YAHOO.util.Dom.addClass(s,"map-blind-bar-options");YAHOO.util.Dom.addClass(s,"MapOptionsBoxHeader");this.mdivOptionsBlindContentContainer.appendChild(s);this.mdivOptionsBlindContent=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBlindContent,"map-blind-content-options");this.mdivOptionsBlindContentContainer.appendChild(this.mdivOptionsBlindContent);this.mdivOptions=make("div");YAHOO.util.Dom.addClass(this.mdivOptions,"map-options");YAHOO.util.Dom.addClass(this.mdivOptions,"MapBlindContent");this.mdivOptionsBlindContent.appendChild(this.mdivOptions);var f=YAHOO.util.Dom.generateId(null,"radUsePopUps"),n=YAHOO.util.Dom.generateId(null,"radUseBlinds"),d=YAHOO.util.Dom.generateId(null,"radUseNoDetails"),t=YAHOO.util.Dom.generateId(null,this.miMapId+"_radSmallFont"),g=YAHOO.util.Dom.generateId(null,this.miMapId+"_radLargeFont");this.mdivOptions.innerHTML="<span><b>Show Traffic Details:</b></span><br><input type='radio' id='"+f+"' name='details' value='0' /><label for='"+f+"'>Near Mouse</label><br><input type='radio' id='"+n+"' name='details' value='1' /><label for='"+n+"'>Upper-Right Corner</label><br><input type='radio' id='"+d+"' name='details' value='2' checked=true /><label for='"+d+"'>None</label><br><br><span><b>Font Size:</b></span><br><input type='radio' id='"+t+"' name='fontsize' value='1' /><label for='"+t+"'>Small Font</label><br><input type='radio' id='"+g+"' name='fontsize' value='0' /><label for='"+g+"'>Large Font</label>";this.mradUsePopUps=YAHOO.util.Dom.getFirstChildBy(this.mdivOptions,function(i){return i.id===f});this.mradUseBlinds=YAHOO.util.Dom.getFirstChildBy(this.mdivOptions,function(i){return i.id===n});this.mradUseNoDetails=YAHOO.util.Dom.getFirstChildBy(this.mdivOptions,function(i){return i.id===d});this.mradSmallFont=YAHOO.util.Dom.getFirstChildBy(this.mdivOptions,function(i){return i.id===t});this.mradLargeFont=YAHOO.util.Dom.getFirstChildBy(this.mdivOptions,function(i){return i.id===g});YAHOO.util.Event.on(this.mradUsePopUps,"click",this.onUsePopUpsChanged,null,this);YAHOO.util.Event.on(this.mradUseBlinds,"click",this.onUseBlindsChanged,null,this);YAHOO.util.Event.on(this.mradUseNoDetails,"click",this.onUseNoDetailsChanged,null,this);YAHOO.util.Event.on(this.mradSmallFont,"click",this.onUseSmallFontChanged,null,this);YAHOO.util.Event.on(this.mradLargeFont,"click",this.onUseLargeFontChanged,null,this);this.mdivOptionsBlindBtn=make("div");YAHOO.util.Dom.addClass(this.mdivOptionsBlindBtn,"map-blind-button MapBlindOptionsButton MapBlindButtonClosed");YAHOO.util.Event.on(this.mdivOptionsBlindBtn,"click",this.onOptionsClicked,null,this);this.mdivOptionsBlind.appendChild(this.mdivOptionsBlindBtn);this.mcellTest.appendChild(this.mdivOptionsBlindContainer);this.moOptionsBlind.maBlindDimen=[Sigalert.common.element.getWidth(this.mdivOptionsBlind),Sigalert.common.element.getHeight(this.mdivOptionsBlind)];this.moOptionsBlind.maClosedBlindContainerDimen[1]=Sigalert.common.element.getDimension(this.mdivOptionsBlindBtn,"height");this.moOptionsBlind.miBlindContainerHeight=this.moOptionsBlind.maBlindDimen[1]+this.moOptionsBlind.maClosedBlindContainerDimen[1]-1;this.mdivOptionsBlindContainer=this.mcellTest.removeChild(this.mdivOptionsBlindContainer);this.mdivBtnContainer.appendChild(this.mdivOptionsBlindContainer);var h=this.mdivOptionsBtn.cloneNode(false);YAHOO.util.Dom.setStyle(h,"position","absolute");YAHOO.util.Dom.setStyle(h,"visibility","hidden");document.body.appendChild(h);this.moOptionsBlind.maClosedBlindContainerDimen[0]=Sigalert.common.element.getDimension(h,"width");document.body.removeChild(h);YAHOO.util.Dom.setStyle(this.mdivOptionsBlind,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivOptionsBlind,"width",this.moOptionsBlind.maBlindDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivOptionsBlind,"height",this.moOptionsBlind.maBlindDimen[1]+"px");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContainer,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContainer,"width",this.moOptionsBlind.maClosedBlindContainerDimen[0]+"px");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContainer,"height",this.moOptionsBlind.maClosedBlindContainerDimen[1]+"px");YAHOO.util.Dom.setStyle(this.mdivOptionsBlindContentContainer,"display","none");YAHOO.util.Event.on(this.mdivOptionsBlind,"mouseover",this._onMapMouseOut,null,this);m+=1}if(this.moConfig.getProperty("showrefreshbutton")){this.mdivRefreshBtn=make("div");YAHOO.util.Dom.addClass(this.mdivRefreshBtn,"map-icon");YAHOO.util.Dom.addClass(this.mdivRefreshBtn,"map-refresh-icon");YAHOO.util.Dom.addClass(this.mdivRefreshBtn,"MapRefreshIcon");YAHOO.util.Dom.addClass(this.mdivRefreshBtn,"map-icon"+m);this.mdivRefreshBtn.title="Refresh";YAHOO.util.Event.on(this.mdivRefreshBtn,"click",this.onRefreshClicked,null,this);this.mdivBtnContainer.appendChild(this.mdivRefreshBtn);m+=1}this.mdivTrafficContainer=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficContainer,"map-traffic-container");this.mdivControls.appendChild(this.mdivTrafficContainer);this.mdivTrafficHolder=make("div");YAHOO.util.Dom.setStyle(this.mdivTrafficHolder,"opacity",0);YAHOO.util.Dom.setStyle(this.mdivTrafficHolder,"visibility","hidden");this.mdivTrafficContainer.appendChild(this.mdivTrafficHolder);this.mdivTrafficBtn=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBtn,"MapPopUpTitle map-traffic-button MapTrafficButton");this.mdivTrafficBtn.innerHTML=a.StrClosedTrafficBlindButton;YAHOO.util.Event.on(this.mdivTrafficBtn,"click",this.onTrafficBlindClicked,null,this);this.mdivTrafficHolder.appendChild(this.mdivTrafficBtn);this.mdivTrafficBlindContainer=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlindContainer,"map-blind-container map-blind-container-traffic");this.mdivTrafficBlind=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlind,"map-blind map-blind-traffic");this.mdivTrafficBlindContainer.appendChild(this.mdivTrafficBlind);this.mdivTrafficBlindContentContainer=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlindContentContainer,"map-blind-content-container-traffic MapTrafficBlindContainer MapBlindBackground");this.mdivTrafficBlind.appendChild(this.mdivTrafficBlindContentContainer);var k=make("div");YAHOO.util.Dom.addClass(k,"map-blind-bar-traffic MapTrafficButton");this.mdivTrafficBlindContentContainer.appendChild(k);this.mdivTrafficBlindContent=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlindContent,"map-blind-content-traffic");this.mdivTrafficBlindContentContainer.appendChild(this.mdivTrafficBlindContent);this.mdivTrafficBlindClosedBtn=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlindClosedBtn,"MapBlindTrafficButton MapTrafficBlindButtonClosed "+Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivTrafficBlindClosedBtn,"click",this.onTrafficBlindClicked,null,this);this.mdivTrafficBlind.appendChild(this.mdivTrafficBlindClosedBtn);this.mdivTrafficBlindOpenBtn=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficBlindOpenBtn,"MapBlindTrafficButton MapTrafficBlindButtonOpen "+Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivTrafficBlindOpenBtn,"click",this.onTrafficBlindClicked,null,this);this.mdivTrafficBlind.appendChild(this.mdivTrafficBlindOpenBtn);this.mdivBlindSummary=make("div");YAHOO.util.Dom.addClass(this.mdivBlindSummary,"map-traffic MapTrafficBlindEmptySummary");this.mBlindRoadSummaryCtrl=new Sigalert.controls.RoadSummaryControl({showheader:true,disablepopups:true,region:this.moConfig.getProperty("region")});this.mBlindRoadSummaryCtrl.hideCameras();this.mBlindRoadSummaryCtrl.render(this.mdivBlindSummary);this.mdivTrafficBlindContent.appendChild(this.mdivBlindSummary);this.mBlindRoadSummaryCtrl.setEmptyRow(a.StrEmptySummary,"MapTrafficDetailsDescription");this.mdivBlindTrafficCam=make("div");YAHOO.util.Dom.addClass(this.mdivBlindTrafficCam,"map-traffic-cam");this.mimgTrafficCam=make("img");this.mimgTrafficCam.src=a.PathLoadingImage;YAHOO.util.Dom.addClass(this.mimgTrafficCam,"map-traffic-cam-image");this.mdivBlindTrafficCam.appendChild(this.mimgTrafficCam);this.mdivTrafficCamCaption=make("div");YAHOO.util.Dom.addClass(this.mdivTrafficCamCaption,"map-traffic-cam-caption");this.mdivBlindTrafficCam.appendChild(this.mdivTrafficCamCaption);this.mdivTrafficBlindContent.appendChild(this.mdivBlindTrafficCam);this.mdivTrafficBlindContent.appendChild(Sigalert.common.createClear());YAHOO.util.Dom.setStyle(this.mdivBlindSummary,"display","block");YAHOO.util.Dom.setStyle(this.mdivBlindTrafficCam,"display","none");var o=this.moConfig.getProperty("fontsize");this.setFontSize("large");this._calcTrafficBlindSize();this.setFontSize("small");this._calcTrafficBlindSize();if(YAHOO.env.ua.ie){this.moTrafficBlind.large.maBlindDimen[0]+=1;this.moTrafficBlind.large.maBlindDimen[1]+=1}this.setFontSize(o);YAHOO.util.Event.on(this.mdivTrafficBlind,"mouseover",this._onMapMouseOut,null,this);this.mViewport.appendChild(this.mdivControls)}if(this.moConfig.getProperty("showlogo")){var r=make("div");YAHOO.util.Dom.addClass(r,"MapLogo");YAHOO.util.Dom.addClass(r,Sigalert.common.CssFixPng);this.mViewport.appendChild(r)}if(this.moConfig.getProperty("showupdatetime")){this.mdivTimeStamp=make("div");YAHOO.util.Dom.addClass(this.mdivTimeStamp,"MapTimeStamp");this.mViewport.appendChild(this.mdivTimeStamp)}var p=this;var e=function(){var i=make("div");p.mLayers.appendChild(i);return i};this.madivSpeedHotSpotHighlight=[];this.madivIncHotSpotHighlight=[];this.madivCamHotSpotHighlight=[];this.madivSpeedHotSpotOutline=[];this.madivIncHotSpotOutline=[];this.madivCamHotSpotOutline=[];for(var l=0;l<this.maZoomLevels.length;l+=1){this.madivSpeedHotSpotHighlight[l]=e();this.madivIncHotSpotHighlight[l]=e();this.madivCamHotSpotHighlight[l]=e();this.madivSpeedHotSpotOutline[l]=e();this.madivIncHotSpotOutline[l]=e();this.madivCamHotSpotOutline[l]=e()}},_render:function(d){a.superclass._render.call(this,d);YAHOO.util.Dom.setStyle(this.mdivHelpBlindContentContainer,"display","none")}})}());(function(){var b=Sigalert.controls.StaticMapControl;var d=b.prototype.constructMarkup;b.prototype.constructMarkup=function(){d.call(this);this.maZoomLayers=[];for(var f=0;f<this.maZoomLevels.length;f+=1){var e=make("div");e.id="div"+this.miMapId+"ZoomLayer"+f;YAHOO.util.Dom.addClass(e,"MapLayer");YAHOO.util.Dom.setStyle(e,"display","none");this.mLayers.appendChild(e);this.maZoomLayers[f]=e}};var c=b.prototype._onTilesCreated;b.prototype._onTilesCreated=function(e){c.call(this,e);var h=-e.iMapX-e.iMapElX,g=-e.iMapY-e.iMapElY;for(var f=0;f<this.maZoomLayers.length;f+=1){YAHOO.util.Dom.setStyle(this.maZoomLayers[f],"display","none");YAHOO.util.Dom.setStyle(this.maZoomLayers[f],"left",h+"px");YAHOO.util.Dom.setStyle(this.maZoomLayers[f],"top",g+"px")}YAHOO.util.Dom.setStyle(this.maZoomLayers[this.miCurrentZoomLevel],"display","block")};var a=function(){};a.prototype={_createLogo:function(i,f,h,e){var g=make("img");g.id=this.miMapId+"_"+i+"_logo";YAHOO.util.Dom.addClass(g,"map-user-logo");if(e){YAHOO.util.Dom.addClass(g,"map-hot-user-logo")}YAHOO.util.Dom.addClass(g,Sigalert.common.CssFixPng);if(f.top){YAHOO.util.Dom.setStyle(g,"top",f.top)}if(f.right){YAHOO.util.Dom.setStyle(g,"right",f.right)}if(f.bottom){YAHOO.util.Dom.setStyle(g,"bottom",f.bottom)}if(f.left){YAHOO.util.Dom.setStyle(g,"left",f.left)}g.src=h;this.mViewport.appendChild(g);return g},deleteLogo:function(h){var g=this;var f=YAHOO.util.Dom.getChildrenBy(this.mViewport,function(i){return i.id===g.miMapId+"_"+h+"_logo"});for(var e=0;e<f.length;e+=1){Sigalert.common.deleteNode(f[e])}},deleteAllLogos:function(h){var g="";if(h){g=new RegExp("^"+this.miMapId+"_"+h+".*_logo")}else{g=new RegExp("^"+this.miMapId+"_.*_logo")}var f=YAHOO.util.Dom.getChildrenBy(this.mViewport,function(i){return i.id.match(g)});for(var e=0;e<f.length;e+=1){Sigalert.common.deleteNode(f[e])}},addLogo:function(g,e,f){this._createLogo(g,e,f,false)},_createPushpin:function(f,k,e,g,i,n){if(g<0||g>=this.maZoomLevels.length){alert(g+" is an invalid zoom level for a pushpin. Must be from 0 to "+(this.maZoomLevels.length-1)+".");return null}var j=make("img");j.id=this.miMapId+"_"+f+"_"+g;YAHOO.util.Dom.addClass(j,"map-user-pushpin");if(n){YAHOO.util.Dom.addClass(j,"map-hot-user-pushpin")}YAHOO.util.Dom.addClass(j,Sigalert.common.CssFixPng);j.src=i;var l=this.latLonToXY(k,e,g);this.maZoomLayers[g].appendChild(j);var h=new Image(),m=this;h.onload=function(){YAHOO.util.Dom.setStyle(j,"top",(l[1]-h.height/2)+"px");YAHOO.util.Dom.setStyle(j,"left",(l[0]-h.width/2)+"px")};h.onerror=function(){YAHOO.util.Dom.setStyle(j,"top",(l[1]-Sigalert.common.element.getHeight(j)/2)+"px");YAHOO.util.Dom.setStyle(j,"left",(l[0]-Sigalert.common.element.getWidth(j)/2)+"px")};h.src=i;return j},_getZoomLevels:function(g){var f=[];if(YAHOO.lang.isArray(g)){f=g}else{if(YAHOO.lang.isNumber(g)){f[0]=g}else{for(var e=0;e<this.maZoomLevels.length;e+=1){f[e]=e}}}return f},deletePushpin:function(n,m){var g=this._getZoomLevels(m),l=0,k=this;for(var f=0;f<g.length;f+=1){l=g[f];var h=YAHOO.util.Dom.getChildrenBy(this.maZoomLayers[l],function(i){return i.id===k.miMapId+"_"+n+"_"+l});for(var e=0;e<h.length;e+=1){Sigalert.common.deleteNode(h[e])}}},deleteAllPushpins:function(n,m){var g=this._getZoomLevels(m);if(n){var l=0;for(var f=0;f<g.length;f+=1){l=g[f];var k=new RegExp("^"+this.miMapId+"_"+n+".*_"+l);var h=YAHOO.util.Dom.getChildrenBy(this.maZoomLayers[l],function(i){return i.id.match(k)});for(var e=0;e<h.length;e+=1){Sigalert.common.deleteNode(h[e])}}}else{for(var f=0;f<g.length;f+=1){this.maZoomLayers[g[f]].innerHTML=""}}},_addPushpin:function(i,e,f,g,h){this._createPushpin(i,e,f,g,h,false)},addPushpin:function(l,e,f,j,k){var h=this._getZoomLevels(j);for(var g=0;g<h.length;g+=1){this._addPushpin(l,e,f,h[g],k)}},_setPushpinLatLon:function(m,f,g,l){var k=this,e=this.latLonToXY(f,g,l),i=YAHOO.util.Dom.getChildrenBy(this.maZoomLayers[l],function(j){return j.id===k.miMapId+"_"+m+"_"+l});for(var h=0;h<i.length;h+=1){YAHOO.util.Dom.setStyle(i[h],"top",(e[1]-i[h].height/2)+"px");YAHOO.util.Dom.setStyle(i[h],"left",(e[0]-i[h].width/2)+"px")}},setPushpinLatLon:function(k,e,f,j){var h=this._getZoomLevels(j);for(var g=0;g<h.length;g+=1){this._setPushpinLatLon(k,e,f,h[g])}}};YAHOO.lang.augment(b,a,true)}());(function(){var c=Sigalert.controls.StaticMapControl,d=Sigalert.controls.HotspotMapControl;var a=c.prototype.init;c.prototype.init=function(g,h){a.call(this,g,h);this.mFangPopUpLogo=null;this.miLogoIdGen=0;this.miOpenLogoId=-1;this.mFangPopUpPushPin=null;this.miPushPinIdGen=0;this.miOpenPushPinId=-1;this.mbMouseOverPushpin=false};if(d){var e=d.prototype.hideFangPopUps;d.prototype.hideFangPopUps=function(){e.call(this);this.hideLogoPopUp();this.hidePushpinPopUp()};var f=d.prototype._onMouseOverHotspot;d.prototype._onMouseOverHotspot=function(g){f.call(this,g);g.bShowOutline=this.mbMouseOverPushpin}}var b=function(){};b.prototype={hideLogoPopUp:function(){if(this.mFangPopUpLogo){this.mFangPopUpLogo.hide()}},hidePushpinPopUp:function(){if(this.mFangPopUpPushPin){this.mFangPopUpPushPin.hide()}},addLogoWithFangPopup:function(h,o,k,g,n){this.miLogoIdGen+=1;n=n||false;var j=this._createLogo(h,o,k,true),l=this,i=this.miLogoIdGen;var m=function(){if(!l.mFangPopUpLogo){l.mFangPopUpLogo=new Sigalert.controls.PopUpControl({minwidth:50,maxwidth:250,constraintoviewport:true,capturemousevents:true});l.mFangPopUpLogo.render(l.mViewport);l.mFangPopUpLogo.onHide=function(){if(YAHOO.env.ua.gecko!==0){l.mFangPopUpLogo.setBodyOverflow("hidden")}}}if(l.mFangPopUpLogo.isOpen()&&l.miOpenLogoId===i){l.mFangPopUpLogo.hide();l.miOpenLogoId=-1}else{l.miOpenLogoId=i;l.mFangPopUpLogo.setShowHeaderAd(n);l.mFangPopUpLogo.setBody(g);l.mFangPopUpLogo.show(Sigalert.common.element.getRegion(j))}};YAHOO.util.Event.on(j,"click",m,null,this)},addLogoWithCallback:function(m,h,k,g){var i=this._createLogo(m,h,k,g?true:false),j=this;if(g){var l=function(){g(j,m)};YAHOO.util.Event.on(i,"click",l,null,this)}},addLogoWithDialog:function(m,i,k,g,h){var j=this._createLogo(m,i,k,true);var l=function(){Sigalert.common.ShowSimpleDialog(g,h,null,{width:"37em"})};YAHOO.util.Event.on(j,"click",l,null,this)},addLogoWithNewWindow:function(l,g,i,k){var h=this._createLogo(l,g,i,true);var j=function(){window.open(k)};YAHOO.util.Event.on(h,"click",j,null,this)},_onPushpinMouseOver:function(){this.mbMouseOverPushpin=true},_onPushpinMouseOut:function(){this.mbMouseOverPushpin=false},_addPushpinWithFangPopup:function(i,m,g,j,k,h,q){this.miPushPinIdGen+=1;q=q||false;var l=this._createPushpin(i,m,g,j,k,true),n=this,p=this.miPushPinIdGen;var o=function(s){if(!n.mFangPopUpPushPin){n.mFangPopUpPushPin=new Sigalert.controls.PopUpControl({minwidth:50,maxwidth:250,constraintoviewport:true,capturemousevents:true,showheaderad:q});n.mFangPopUpPushPin.render(n.mLayers);n.mFangPopUpPushPin.onHide=function(){if(YAHOO.env.ua.gecko!==0){n.mFangPopUpPushPin.setBodyOverflow("hidden")}};YAHOO.util.Event.on(n.mFangPopUpPushPin.mdivPopUp,"mouseover",n._onMapMouseOut,null,n)}if(n.mFangPopUpPushPin.isOpen()&&n.miOpenPushPinId===p){n.mFangPopUpPushPin.hide();n.miOpenPushPinId=-1}else{n.hideFangPopUps();n.miOpenPushPinId=p;n.mFangPopUpPushPin.setShowHeaderAd(q);n.mFangPopUpPushPin.setBody(h);var r=n.mapXyToElXy(n._parseCoord(l.style.left),n._parseCoord(l.style.top));n.mFangPopUpPushPin.show(new YAHOO.util.Region(r[1],r[0]+l.offsetWidth,r[1]+l.offsetHeight,r[0]))}YAHOO.util.Event.stopEvent(s)};YAHOO.util.Event.on(l,"click",o,null,this);YAHOO.util.Event.on(l,"mouseover",this._onPushpinMouseOver,null,this);YAHOO.util.Event.on(l,"mouseout",this._onPushpinMouseOut,null,this)},addPushpinWithFangPopup:function(j,m,g,p,l,h,n){var o=this._getZoomLevels(p);for(var k=0;k<o.length;k+=1){this._addPushpinWithFangPopup(j,m,g,o[k],l,h,n)}},_addPushpinWithCallback:function(h,m,g,i,k,j){var l=this._createPushpin(h,m,g,i,k,j?true:false),n=this;if(j){var o=function(p){j(n,h);YAHOO.util.Event.stopEvent(p)};YAHOO.util.Event.on(l,"click",o,null,this)}YAHOO.util.Event.on(l,"mouseover",this._onPushpinMouseOver,null,this);YAHOO.util.Event.on(l,"mouseout",this._onPushpinMouseOut,null,this)},addPushpinWithCallback:function(o,h,j,m,n,g){var l=this._getZoomLevels(m);for(var k=0;k<l.length;k+=1){this._addPushpinWithCallback(o,h,j,l[k],n,g)}},_addPushpinWithDialog:function(i,m,g,j,k,p,h){var l=this._createPushpin(i,m,g,j,k,true),n=this;var o=function(q){Sigalert.common.ShowSimpleDialog(p,h,null,{width:"37em"});YAHOO.util.Event.stopEvent(q)};YAHOO.util.Event.on(l,"click",o,null,this);YAHOO.util.Event.on(l,"mouseover",this._onPushpinMouseOver,null,this);YAHOO.util.Event.on(l,"mouseout",this._onPushpinMouseOut,null,this)},addPushpinWithDialog:function(j,m,g,p,l,n,h){var o=this._getZoomLevels(p);for(var k=0;k<o.length;k+=1){this._addPushpinWithDialog(j,m,g,o[k],l,n,h)}},_addPushpinWithNewWindow:function(h,m,g,i,k,j){var l=this._createPushpin(h,m,g,i,k,true),n=this;var o=function(p){window.open(j);YAHOO.util.Event.stopEvent(p)};YAHOO.util.Event.on(l,"click",o,null,this);YAHOO.util.Event.on(l,"mouseover",this._onPushpinMouseOver,null,this);YAHOO.util.Event.on(l,"mouseout",this._onPushpinMouseOut,null,this)},addPushpinWithNewWindow:function(o,g,h,l,m,n){var k=this._getZoomLevels(l);for(var j=0;j<k.length;j+=1){this._addPushpinWithNewWindow(o,g,h,k[j],m,n)}}};YAHOO.lang.augment(c,b,true)}());(function(){var b=Sigalert.controls.DynamicMapControl;var c=b.prototype.constructMarkup;b.prototype.constructMarkup=function(){c.call(this);function g(){this.slideMap(0,0.2*this.miViewportHeightPixels);this._onUserDidAction()}function j(){this.slideMap(-0.2*this.miViewportWidthPixels,0);this._onUserDidAction()}function r(){this.slideMap(0,-0.2*this.miViewportHeightPixels);this._onUserDidAction()}function l(){this.slideMap(0.2*this.miViewportWidthPixels,0);this._onUserDidAction()}function i(){this.zoomIn();this._onUserDidAction()}function n(){this.zoomOut();this._onUserDidAction()}var k=make("div");YAHOO.util.Dom.addClass(k,"MapZoomSliderHeight");YAHOO.util.Dom.setStyle(k,"visibility","hidden");YAHOO.util.Dom.setStyle(k,"position","absolute");YAHOO.util.Dom.setStyle(k,"top","0px");YAHOO.util.Dom.setStyle(k,"left","0px");document.body.appendChild(k);this.moConfig.setProperty("zoomslidermax",Sigalert.common.element.getDimension(k,"height"));this.moConfig.setProperty("zoomsliderstep",this.moConfig.getProperty("zoomslidermax")/(this.maZoomLevels.length-1));document.body.removeChild(k);var q=make("div");YAHOO.util.Dom.addClass(q,"MapZoomControls");this.mViewport.appendChild(q);var f=make("div");YAHOO.util.Dom.addClass(f,"MapZoomControlsBg");YAHOO.util.Dom.addClass(f,Sigalert.common.CssFixPng);q.appendChild(f);var o=make("div");YAHOO.util.Dom.addClass(o,"MapNavButton");YAHOO.util.Dom.addClass(o,"MapNavUp");YAHOO.util.Event.on(o,"click",g,null,this);q.appendChild(o);o=make("div");YAHOO.util.Dom.addClass(o,"MapNavButton");YAHOO.util.Dom.addClass(o,"MapNavRight");YAHOO.util.Event.on(o,"click",j,null,this);q.appendChild(o);o=make("div");YAHOO.util.Dom.addClass(o,"MapNavButton");YAHOO.util.Dom.addClass(o,"MapNavDown");YAHOO.util.Event.on(o,"click",r,null,this);q.appendChild(o);o=make("div");YAHOO.util.Dom.addClass(o,"MapNavButton");YAHOO.util.Dom.addClass(o,"MapNavLeft");YAHOO.util.Event.on(o,"click",l,null,this);q.appendChild(o);var p=make("div");YAHOO.util.Dom.generateId(p,"idZoomSliderContainer");YAHOO.util.Dom.addClass(p,"MapZoomSlider");q.appendChild(p);var e=make("div");YAHOO.util.Dom.generateId(e,"idZoomSliderThumb");YAHOO.util.Dom.addClass(e,"MapZoomSliderThumb");YAHOO.util.Dom.addClass(e,Sigalert.common.CssFixPng);p.appendChild(e);var d=make("div");YAHOO.util.Dom.addClass(d,"MapZoomPlus");YAHOO.util.Event.addListener(d,"click",i,null,this);q.appendChild(d);var m=make("div");YAHOO.util.Dom.addClass(m,"MapZoomMinus");YAHOO.util.Event.addListener(m,"click",n,null,this);q.appendChild(m);this.moZoomSlider=YAHOO.widget.Slider.getVertSlider(p.id,e.id,0,this.moConfig.getProperty("zoomslidermax"));function h(){var s=this.moConfig.getProperty("zoomsliderstep");var v=Math.floor((this.moZoomSlider.getYValue()+(s/2))/s);var t=v*s;if(t!==this.moZoomSlider.getYValue()){var u=this;setTimeout(function(){u.moZoomSlider.setValue(t)},0)}else{if(this.setZoom(v)){this._onUserDidAction()}}}this.moZoomSlider.subscribe("slideEnd",h,null,this);this.moZoomSlider.setValue(this.moConfig.getProperty("zoom")*this.moConfig.getProperty("zoomsliderstep"))};var a=b.prototype._onZoomChanged;b.prototype._onZoomChanged=function(e){a.call(this,e);var d=e*this.moConfig.getProperty("zoomsliderstep");if(d!==this.moZoomSlider.getYValue()){this.moZoomSlider.setValue(d)}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.RoadDetailsControl=function(c){this.mdivDetails=null;this.mdivSummary=null;this.mdivRefreshBtn=null;this.mdivTitleBar=null;this.mspnTitle=null;this.mdivToggleCams=null;this.mdivToggleIncs=null;this.mdivToggleSpeeds=null;this.onToolbarButtonClicked=new YAHOO.util.CustomEvent("toolbarbuttonclicked",this,false,YAHOO.util.CustomEvent.FLAT);Sigalert.controls.RoadDetailsControl.superclass.constructor.call(this,c)};var a=Sigalert.controls.RoadSummaryControl;var b=Sigalert.controls.RoadDetailsControl;b.StrRefresh="Refresh Data";b.StrHideCams="Hide Cameras";b.StrHideIncs="Hide Incidents";b.StrHideSpeeds="Hide Speeds";b.StrShowCams="Show Cameras";b.StrShowIncs="Show Incidents";b.StrShowSpeeds="Show Speeds";YAHOO.extend(b,a,{toggleSpeeds:function(){b.superclass.toggleSpeeds.call(this);if(this.mdivToggleSpeeds){this.mdivToggleSpeeds.title=this.mbShowSpeeds?b.StrHideSpeeds:b.StrShowSpeeds;if(this.mbShowSpeeds){YAHOO.util.Dom.replaceClass(this.mdivToggleSpeeds,"RoadDetailsSpeedIconHiding","RoadDetailsSpeedIconShowing")}else{YAHOO.util.Dom.replaceClass(this.mdivToggleSpeeds,"RoadDetailsSpeedIconShowing","RoadDetailsSpeedIconHiding")}}},toggleIncidents:function(){b.superclass.toggleIncidents.call(this);if(this.mdivToggleIncs){this.mdivToggleIncs.title=this.mbShowIncidents?b.StrHideIncs:b.StrShowIncs;if(this.mbShowIncidents){YAHOO.util.Dom.replaceClass(this.mdivToggleIncs,"RoadDetailsIncidentIconHiding","RoadDetailsIncidentIconShowing")}else{YAHOO.util.Dom.replaceClass(this.mdivToggleIncs,"RoadDetailsIncidentIconShowing","RoadDetailsIncidentIconHiding")}}},toggleCameras:function(){b.superclass.toggleCameras.call(this);if(this.mdivToggleCams){this.mdivToggleCams.title=this.mbShowCameras?b.StrHideCams:b.StrShowCams;if(this.mbShowCameras){YAHOO.util.Dom.replaceClass(this.mdivToggleCams,"RoadDetailsCameraIconHiding","RoadDetailsCameraIconShowing")}else{YAHOO.util.Dom.replaceClass(this.mdivToggleCams,"RoadDetailsCameraIconShowing","RoadDetailsCameraIconHiding")}}},hideCameras:function(){b.superclass.hideCameras.call(this);if(this.mdivToggleCams){this.mdivToggleCams.title=this.mbShowCameras?"Hide Cameras":"Show Cameras";if(this.mbShowCameras){YAHOO.util.Dom.replaceClass(this.mdivToggleCams,"RoadDetailsCameraIconHiding","RoadDetailsCameraIconShowing")}else{YAHOO.util.Dom.replaceClass(this.mdivToggleCams,"RoadDetailsCameraIconShowing","RoadDetailsCameraIconHiding")}}},setSummaryListOverflow:function(c){YAHOO.util.Dom.setStyle(this.mdivSummary,"overflow",c)},removeOuterBorder:function(){YAHOO.util.Dom.removeClass(this.mdivDetails,"SummaryBorder")},removeHeaderPositionStyle:function(){YAHOO.util.Dom.setStyle(this.mdivTitleBar,"position","static")},clearSummaryListHeight:function(c){YAHOO.util.Dom.setStyle(this.mdivSummary,"height","")},onContainerResized:function(d){var c=d-Sigalert.common.element.getVerticalBorder(this.mdivDetails)-Sigalert.common.element.getHeight(this.mdivTitleBar)-Sigalert.common.element.getVerticalBorder(this.mdivSummary)-Sigalert.common.element.getVerticalMargin(this.mdivSummary)-Sigalert.common.element.getVerticalPadding(this.mdivSummary);YAHOO.util.Dom.setStyle(this.mdivSummary,"height",c+"px")},onDataRefreshStart:function(){YAHOO.util.Dom.replaceClass(this.mdivRefreshBtn,"RoadDetailsRefreshIcon","RoadDetailsRefreshIconUpdating")},onDataRefreshEnd:function(){YAHOO.util.Dom.replaceClass(this.mdivRefreshBtn,"RoadDetailsRefreshIconUpdating","RoadDetailsRefreshIcon")},onRefreshButtonClicked:function(){Sigalert.data.Manager[this.moConfig.getProperty("region")].forceRefreshData();this.onToolbarButtonClicked.fire({src:this,button:"refresh"})},onFilterCamerasClicked:function(){this.toggleCameras();this.onToolbarButtonClicked.fire({src:this,button:"togglecameras"})},onFilterIncidentsClicked:function(){this.toggleIncidents();this.onToolbarButtonClicked.fire({src:this,button:"toggleincidents"})},onFilterSpeedsClicked:function(){this.toggleSpeeds();this.onToolbarButtonClicked.fire({src:this,button:"togglespeeds"})},init:function(c){b.superclass.init.call(this,c);this.mdivDetails=make("div");this.mdivTitleBar=make("div");this.mspnTitle=make("span");this.mdivSummary=make("div");YAHOO.util.Dom.addClass(this.mdivDetails,"RoadDetails");YAHOO.util.Dom.addClass(this.mdivDetails,"SummaryBorder");YAHOO.util.Dom.addClass(this.mdivTitleBar,"RoadDetailsTitleBar");YAHOO.util.Dom.addClass(this.mdivTitleBar,"DetailsHeader");YAHOO.util.Dom.addClass(this.mspnTitle,"RoadDetailsTitle");YAHOO.util.Dom.addClass(this.mdivSummary,"RoadDetailsList");this.mdivTitleBar.appendChild(this.mspnTitle);if(this.moConfig.getProperty("showrefreshbutton")){Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshStart.subscribe(this.onDataRefreshStart,null,this);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataRefreshEnd.subscribe(this.onDataRefreshEnd,null,this);this.mdivRefreshBtn=make("div");this.mdivRefreshBtn.title=b.StrRefresh;YAHOO.util.Dom.addClass(this.mdivRefreshBtn,"RoadDetailsIcon road-details-refresh-icon RoadDetailsRefreshIcon");YAHOO.util.Dom.addClass(this.mdivRefreshBtn,Sigalert.common.CssFixPng);var e=YAHOO.util.Event.on(this.mdivRefreshBtn,"mousedown",this.onRefreshButtonClicked,null,this);this.mdivTitleBar.appendChild(this.mdivRefreshBtn)}if(this.moConfig.getProperty("showcamerabutton")){this.mdivToggleCams=make("div");this.mdivToggleCams.title=b.StrHideCams;YAHOO.util.Dom.addClass(this.mdivToggleCams,"RoadDetailsIcon RoadDetailsCameraIcon RoadDetailsCameraIconShowing");YAHOO.util.Dom.addClass(this.mdivToggleCams,Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivToggleCams,"mousedown",this.onFilterCamerasClicked,null,this);this.mdivTitleBar.appendChild(this.mdivToggleCams)}if(this.moConfig.getProperty("showincidentbutton")){this.mdivToggleIncs=make("div");this.mdivToggleIncs.title=b.StrHideIncs;YAHOO.util.Dom.addClass(this.mdivToggleIncs,"RoadDetailsIcon RoadDetailsIncidentIcon RoadDetailsIncidentIconShowing");YAHOO.util.Dom.addClass(this.mdivToggleIncs,Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivToggleIncs,"mousedown",this.onFilterIncidentsClicked,null,this);this.mdivTitleBar.appendChild(this.mdivToggleIncs)}if(this.moConfig.getProperty("showspeedsbutton")){this.mdivToggleSpeeds=make("div");this.mdivToggleSpeeds.title=b.StrHideSpeeds;YAHOO.util.Dom.addClass(this.mdivToggleSpeeds,"RoadDetailsIcon RoadDetailsSpeedIcon RoadDetailsSpeedIconShowing");YAHOO.util.Dom.addClass(this.mdivToggleSpeeds,Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivToggleSpeeds,"mousedown",this.onFilterSpeedsClicked,null,this);this.mdivTitleBar.appendChild(this.mdivToggleSpeeds)}var d=make("div");YAHOO.util.Dom.setStyle(d,"clear","both");this.mdivSummary.appendChild(this.mTable);this.mdivDetails.appendChild(this.mdivTitleBar);this.mdivDetails.appendChild(this.mdivSummary);this.mdivDetails.appendChild(d)},initConfig:function(){b.superclass.initConfig.call(this);this.moConfig.setProperty("showrefreshbutton",true);this.moConfig.setProperty("showspeedsbutton",true);this.moConfig.setProperty("showincidentbutton",true);this.moConfig.setProperty("showcamerabutton",true)},render:function(c){if(typeof c=="string"){c=document.getElementById(c)}if(c){c.appendChild(this.mdivDetails)}else{return false}this.mContainer=c;return true},onAfterLoadSummary:function(e,d,c){b.superclass.onAfterLoadSummary.call(this,e,d);this.mspnTitle.innerHTML=c}})}());function func(c,a,b){return"dede = "+c+"_"+a+"_"+b}(function(){var d=new Date();var i=30;var b;var h=null;function c(){var l=$("divViewport");var n=YAHOO.util.Dom.getViewportHeight()-YAHOO.util.Dom.getY(l)-Sigalert.common.element.getVerticalPadding(l)-Sigalert.common.element.getVerticalBorder(l)-Sigalert.common.element.getMarginBottom(l);YAHOO.util.Dom.setStyle(l,"height",n+"px");var m=$("idUnderMapParent");if(m){n-=Sigalert.common.element.getHeight(m)}n-=Sigalert.common.element.getVerticalBorder($("divMap"));return n}function g(x,m,p,q){var n=Sigalert.common.ReadCookie("MPP"),u=Sigalert.common.ReadCookie("MFS"),t="none",w=false;switch(u){case"s":u="small";break;case"l":u="large";break;default:u="small";break}switch(n){case"p":n="popup";break;case"f":n="blinds";t="details";break;case"n":n="none";break;default:n="popup";break}var s=Sigalert.common.ReadCookie("lat");if(!s||isNaN(s)){t="help";w=true}var o=new Sigalert.common.Hash();var v=parseFloat(o.getValue("lat")),l=parseFloat(o.getValue("lon")),r=parseInt(o.getValue("z"),10);if(isNaN(v)||isNaN(l)){v=x;l=m}if(isNaN(r)){r=p}Sigalert.common.WriteCookie("lat",v,365);Sigalert.common.WriteCookie("lon",l,365);Sigalert.common.WriteCookie("z",r,365);h=new Sigalert.controls.HotspotMapControl("divMap",{tilepath:q,summaryposition:n,startblind:t,closestartblindonaction:w,enablehotspotpagechange:false,zoom:r,lat:v,lon:l,fontsize:u,zoomwithwheel:!GbIsPartner,region:Sigalert.data.Manager.getCurrentRegion(),mapbasename:Sigalert.data.Manager.getCurrentMapBaseName(),height:c()});h.onFontSizeChanged.subscribe(f);h.onUserAction.subscribe(e);h.onMapDragComplete.subscribe(a);h.onMapSlideComplete.subscribe(a);h.onMapZoomChanged.subscribe(a)}function f(m){var l="";switch(m.fontsize){case"small":l="s";break;case"large":l="l";break}if(l){Sigalert.common.WriteCookie("MFS",l,1825)}}function a(l){if(GdLat!==l.lat||GdLon!==l.lon||GiZoom!==l.zoom){setTimeout(function(){var m=new Sigalert.common.Hash();m.setPair("lat",l.lat);m.setPair("lon",l.lon);m.setPair("z",l.zoom);m.applyHashToLocation()},200)}GdLat=l.lat;GdLon=l.lon;GiZoom=l.zoom;Sigalert.common.WriteCookie("lat",l.lat,365);Sigalert.common.WriteCookie("lon",l.lon,365);Sigalert.common.WriteCookie("z",l.zoom,365)}function e(l){Sigalert.data.Manager[l.map.moConfig.getProperty("region")].refreshData();Sigalert.common.Sponsor.refreshUnits();Sigalert.common.LogPageViewRefresh()}function j(){var l=Sigalert.common.Sponsor.getLocalAreaDisplayName();if(l){document.title="Sigalert.com "+l+" Traffic Map"}}function k(){h.setHeight(c())}Map={init:function(l,m,n,o){Sigalert.common.resizeWindow.subscribe(k);Sigalert.common.Sponsor.onRefresh.subscribe(j);g(l,m,n,o)},onChangeMapDetailView:function(){h.setSummaryPosition(Sigalert.common.element.combobox.getSelectedValue("cboView"))},useControls:function(){h.setSummaryPosition("blinds")},useLeftPopups:function(){h.setSummaryPosition("leftpopup")},usePopups:function(){h.setSummaryPosition("popup")},useLeftBox:function(){h.setSummaryPosition("left")},useRightBox:function(){h.setSummaryPosition("right")},useInnerLeftBox:function(){h.setSummaryPosition("innerleft")},useInnerRightBox:function(){h.setSummaryPosition("innerright")},zoomIn:function(){h.zoomIn()},zoomOut:function(){h.zoomOut()},Map:function(){return h}}})();