if(typeof Sigalert=="undefined"){var Sigalert={}}Sigalert.namespace=function(){var b=arguments,g=null,e,c,f;for(e=0;e<b.length;e+=1){f=b[e].split(".");g=Sigalert;for(c=(f[0]=="Sigalert")?1:0;c<f.length;c+=1){g[f[c]]=g[f[c]]||{};g=g[f[c]]}}return g};function $(a){return document.getElementById(a)}function make(a){return document.createElement(a)}function makeWithAria(b,c){var a=make(b);a.setAttribute("role",c);return a}function makeWithName(c,a){var b;try{b=make("<"+c+' name="'+a+'">')}catch(d){}if(!b||!b.name){b=make(c);b.name=a}return b}Sigalert.namespace("common");Sigalert.common.CssFixPng="fixpng";if(!("console" in window)||!("firebug" in console)){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;i+=1){window.console[names[i]]=function(){}}};Sigalert.namespace("common");Sigalert.common.DismissWhatsNewMessage=function(b,a){Sigalert.common.WriteCookie("LNN",b,a);$("idHeaderMessage").style.display="none";Sigalert.common.onResizeWindow()};Sigalert.common.ShowLoginForm=function(){Sigalert.common.WriteCookie("ttc",1);var d=makeWithName("form","LoginFormPopup");d.action="/Login.asp"+document.location.search;d.method="post";var b=make("div");b.appendChild(this.createControlGroup("Login Name:","<input type='text' size='15' maxlength='128' name='LoginName'>"));b.appendChild(this.createControlGroup("Password:","<input type='password' size='15' maxlength='32' name='Password'>"));b.appendChild(this.createControlGroup("Remember Me:","<input type='checkbox' id='chkRemember' name='Remember' value='1' checked>"));b.appendChild(this.createClear());b.appendChild(this.createPageSectionDescription("<a href='/ForgotPassword/GetEmAddr.asp'>Forgot your login name or password?</a>"));var c=makeWithName("input","Destination");c.setAttribute("type","hidden");c.value=Sigalert.common.getCurrentURL()+window.location.hash;d.appendChild(c);var a=make("div");a.innerHTML="<button id='btnLogin' type='submit' onClick='form.submit()'>Log Me In</button><button type='button' onClick='dlgLogin.hide()' class='NthButton'>Cancel</button><div style='margin-top: 6px;'><strong>Don't have an account?</strong> <a href='/Settings/FormUser.asp'>Click here to create a My Sigalert account.</a>";d.appendChild(this.createSimpleDialogContainer(b,a));dlgLogin=this.ShowSimpleDialog("My Sigalert Login",d,null,{width:"37em"},{doNotCreateBody:true});document.LoginFormPopup.LoginName.focus()};Sigalert.common.SetYahooAdVars=function(g){function d(h){if(h.length==1){h="0"+h}return h}function c(j,i,h){return d(parseInt(j).toString(16))+d(parseInt(i).toString(16))+d(parseInt(h).toString(16))}function a(h){var i=/^rgb\(([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/i;if(0==h.indexOf("rgb")){h.match(i);return c(RegExp.$1,RegExp.$2,RegExp.$3)}if(0==h.indexOf("#")){h=h.substr(1)}if(h.length==3){h=h.charAt(0)+h.charAt(0)+h.charAt(1)+h.charAt(1)+h.charAt(2)+h.charAt(2)}return h}if(YAHOO.lang.isUndefined(g)){g="TextAd"}var b=$("idTextAdStyle");var f=$("idTextAdLinkStyle");var e=$("idTextAdTextStyle");YAHOO.util.Dom.addClass(b,g);ctxt_ad_cc=a(YAHOO.util.Dom.getStyle(b,"backgroundColor"));ctxt_ad_bc=a(YAHOO.util.Dom.getStyle(b,"color"));ctxt_ad_lc=a(YAHOO.util.Dom.getStyle(f,"color"));ctxt_ad_tc=a(YAHOO.util.Dom.getStyle(e,"color"));ctxt_ad_uc=a(YAHOO.util.Dom.getStyle(e,"backgroundColor"));YAHOO.util.Dom.removeClass(b,g)};Sigalert.common.GotoPage=function(d,b){b="undefined"==typeof(b)||""==b?"":"&"+b;var a=document.location.search.indexOf("ap=");var c=new Sigalert.common.QueryString();var e=c.getValue("th");document.location.href=d+(-1==d.indexOf("?")?"?":"&")+"lat="+GdLat+"&lon="+GdLon+"&z="+GiZoom+(GbIsPartner?"&partner="+GstrPartnerId:"")+(-1!=a?"&ap="+document.location.search.charAt(a+3):"")+(e?"&th="+e:"")+b};Sigalert.common.ChangeTheme=function(a){Sigalert.common.WriteCookie("TH",a.toLowerCase(),1000);window.location.reload()};Sigalert.common.onMenuTimeStampClicked=function(){Sigalert.data.Manager.current.forceRefreshData();Sigalert.common.Sponsor.refreshUnits();Sigalert.common.LogPageViewRefresh()};Sigalert.namespace("common");Sigalert.common.parseJson=function(strJsonData){return eval("("+strJsonData+")")};Sigalert.namespace("common");Sigalert.common.WriteCookie=function(g,f,a,c){var b=escape(g)+"="+escape(f);if(!YAHOO.lang.isUndefined(a)&&a>=0){var e=new Date();e.setTime(e.getTime()+86400000*(a+1));e.setHours(0,0,0);b+=";expires="+e.toGMTString()}b+=";domain="+(c?c:GstrCookieDomain);b+=";path=/";document.cookie=b};Sigalert.common.ReadCookie=function(a){if(document.cookie.length>0){c_start=document.cookie.indexOf(a+"=");if(c_start!=-1){c_start=c_start+a.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1){c_end=document.cookie.length}return unescape(document.cookie.substring(c_start,c_end))}}return""};Sigalert.namespace("common.element");Sigalert.common.element={getPixelFontSize:function(b){var a=YAHOO.util.Dom.getStyle(b,"fontSize");if(a.match(/pt/i)){return Math.floor(parseInt(a.replace(/pt/i,""),10)*1.3333)}else{if(a.match(/px/i)){return parseInt(a.replace(/px/i,""),10)}else{if(a.match(/em/i)){return Math.floor(parseFloat(a.replace(/em/i,""))*getPixelFontSize(b.parentNode))}}}return 1},getDimension:function(b,a){a=YAHOO.util.Dom.getStyle(b,a);if(a.match(/px/i)){return parseInt(a.replace(/px/i,""),10)}else{if(a.match(/em/i)){return Math.floor(parseFloat(a.replace(/em/i,""))*this.getPixelFontSize(b))}}return 0},getHorizontalBorder:function(a){return this.getDimension(a,"borderRightWidth")+this.getDimension(a,"borderLeftWidth")},getVerticalBorder:function(a){return this.getDimension(a,"borderTopWidth")+this.getDimension(a,"borderBottomWidth")},getHorizontalPadding:function(a){return this.getDimension(a,"paddingRight")+this.getDimension(a,"paddingLeft")},getVerticalPadding:function(a){return this.getDimension(a,"paddingTop")+this.getDimension(a,"paddingBottom")},getClientWidth:function(a){return a.offsetWidth-this.getHorizontalBorder(a)-this.getHorizontalPadding(a)},getClientHeight:function(a){return a.offsetHeight-this.getVerticalBorder(a)-this.getVerticalPadding(a)}};Sigalert.namespace("common.element");Sigalert.common.deleteNode=function(a){YAHOO.util.Event.purgeElement(a,true);a.parentNode.removeChild(a)};Sigalert.common.deleteTableRows=function(a){while(a.rows.length!==0){YAHOO.util.Event.purgeElement(a.rows[0],true);a.deleteRow(0)}};YAHOO.lang.augmentObject(Sigalert.common.element,{getPadding:function(a,b){return this.getDimension(a,style)},getPaddingRect:function(a){return{top:this.getDimension(a,"paddingTop"),right:this.getDimension(a,"paddingRight"),bottom:this.getDimension(a,"paddingBottom"),left:this.getDimension(a,"paddingLeft")}},getPaddingTop:function(a){return this.getDimension(a,"paddingTop")},getPaddingBottom:function(a){return this.getDimension(a,"paddingBottom")},getPaddingLeft:function(a){return this.getDimension(a,"paddingLeft")},getPaddingRight:function(a){return this.getDimension(a,"paddingRight")},getMargin:function(a,b){return this.getDimension(a,style)},getMarginRect:function(a){return{top:this.getDimension(a,"marginTop"),right:this.getDimension(a,"marginRight"),bottom:this.getDimension(a,"marginBottom"),left:this.getDimension(a,"marginLeft")}},getMarginTop:function(a){return this.getDimension(a,"marginTop")},getMarginBottom:function(a){return this.getDimension(a,"marginBottom")},getMarginLeft:function(a){return this.getDimension(a,"marginLeft")},getMarginRight:function(a){return this.getDimension(a,"marginRight")},getHorizontalMargin:function(a){return this.getDimension(a,"marginRight")+this.getDimension(a,"marginLeft")},getVerticalMargin:function(a){return this.getDimension(a,"marginTop")+this.getDimension(a,"marginBottom")},getBorder:function(a,b){return this.getDimension(a,style)},getBorderRect:function(a){return{top:this.getDimension(a,"borderTopWidth"),right:this.getDimension(a,"borderRightWidth"),bottom:this.getDimension(a,"borderBottomWidth"),left:this.getDimension(a,"borderLeftWidth")}},getBorderTop:function(a){return this.getDimension(a,"borderTopWidth")},getBorderBottom:function(a){return this.getDimension(a,"borderBottomWidth")},getBorderLeft:function(a){return this.getDimension(a,"borderLeftWidth")},getBorderRight:function(a){return this.getDimension(a,"borderRightWidth")},getWidth:function(a){return a.offsetWidth+this.getHorizontalMargin(a)},getHeight:function(a){return a.offsetHeight+this.getVerticalMargin(a)},getNonClientWidth:function(a){return this.getHorizontalMargin(a)+this.getHorizontalBorder(a)+this.getHorizontalPadding(a)},getNonClientHeight:function(a){return this.getVerticalMargin(a)+this.getVerticalBorder(a)+this.getVerticalPadding(a)},getRegion:function(a){return{top:a.offsetTop,right:a.offsetLeft+this.getWidth(a),bottom:a.offsetTop+this.getHeight(a),left:a.offsetLeft}}});Sigalert.namespace("common.element");Sigalert.common.element.combobox={clearItems:function(a){if(typeof a==="string"){a=$(a)}while(a.options.length!==0){a.remove(0)}},getSelectedValue:function(a){if(typeof a==="string"){a=$(a)}if(a.selectedIndex<0){return null}return a.options[a.selectedIndex].value},setSelectedValue:function(c,b){if(typeof c==="string"){c=$(c)}for(var a=0;a<c.options.length;a+=1){if(c.options[a].value==b){c.selectedIndex=a;return a}}return -1},getSelectedText:function(a){if(typeof a==="string"){a=$(a)}if(a.selectedIndex<0){return null}return a.options[a.selectedIndex].text},addItem:function(d,c,e,b){if(typeof d==="string"){d=$(d)}var a=make("option");a.value=c;a.text=e;if(b){a.selected="selected"}if(YAHOO.env.ua.ie){d.add(a)}else{d.add(a,null)}return d.options.length-1},setItem:function(e,d,f,g){if(typeof e==="string"){e=$(e)}var b=null,c=e.options.length;for(var a=0;a<c;a+=1){b=e.options[a];if(g(b)){b.value=d;b.text=f;return a}}return this.addItem(e,d,f)}};(function(){Sigalert.namespace("common");Sigalert.common.getCurrentURL=function(){return document.location.protocol+"//"+document.location.host+document.location.pathname+document.location.search};Sigalert.common.extractFilenameString=function(e,b){var c=Sigalert.common.extractAddressString(e);var d=c.lastIndexOf("/");if(d!==-1){c=c.substring(d+1)}if(b){d=c.lastIndexOf(".");if(d!==-1){c=c.substring(0,d)}}return c};Sigalert.common.extractAddressString=function(c){var b=c.indexOf("?");if(b===-1){b=c.indexOf("#")}if(b===-1){return c}return c.substr(0,b)};Sigalert.common.extractQueryString=function(b){var c=b.match(new RegExp("[?]([a-z0-9A-Z+-_=&%]*)","i"));if(c){return c[0]}return""};Sigalert.common.extractHashString=function(c){var b=c.match(new RegExp("[#]([a-z0-9A-Z+-_=&%]*)","i"));if(b){return b[0]}return""};Sigalert.common.replaceQsInUrl=function(c,b){return Sigalert.common.extractAddressString(c)+(b.indexOf("?")===-1?"?":"")+b+Sigalert.common.extractHashString(c)};Sigalert.common.replaceHashInUrl=function(b,c){return Sigalert.common.extractAddressString(b)+Sigalert.common.extractQueryString(b)+(c.indexOf("#")===-1?"#":"")+c};var a=function(b){this.hash={};var f=b;if(f.length>0){f=f.substr(1);var d=f.split("&"),e=null;for(var c=0;c<d.length;c+=1){e=d[c].split("=");this.hash[e[0]]=e.length>1?e[1]:""}}};a.prototype={exists:function(b){return typeof(this.hash[b])!=="undefined"},getValue:function(b){return this.hash[b]},setPair:function(b,c){this.hash[b]=c},removePair:function(b){delete this.hash[b]},merge:function(c){for(var b in c.hash){this.setPair(b,c.hash[b])}},remove:function(c){for(var b in c.hash){this.removePair(b,c.hash[b])}}};Sigalert.common.Hash=function(b){Sigalert.common.Hash.superclass.constructor.call(this,typeof(b)!=="undefined"?b:window.location.hash)};YAHOO.extend(Sigalert.common.Hash,a,{getHashString:function(c){var d="";for(var b in this.hash){if(d){d+="&"+b+"="+(c?encodeURIComponent(this.hash[b]):this.hash[b])}else{d="#"+b+"="+(c?encodeURIComponent(this.hash[b]):this.hash[b])}}return d},applyHashToLocation:function(){window.location.replace(Sigalert.common.getCurrentURL()+this.getHashString())}});Sigalert.common.QueryString=function(b){Sigalert.common.QueryString.superclass.constructor.call(this,typeof(b)!=="undefined"?b:window.location.search)};YAHOO.extend(Sigalert.common.QueryString,a,{getQueryString:function(c){var d="";for(var b in this.hash){if(d){d+="&"+b+"="+(c?encodeURIComponent(this.hash[b]):this.hash[b])}else{d="?"+b+"="+(c?encodeURIComponent(this.hash[b]):this.hash[b])}}return d}})})();(function(){Sigalert.namespace("common");var b=new YAHOO.util.CustomEvent("windowresize",null,false,YAHOO.util.CustomEvent.FLAT);function a(e,d,c){Sigalert.data.Manager.loadRegionData(e,d,c);b.fire()}Sigalert.common.PageInitializer={init:function(e,d,c){YAHOO.util.Event.onDOMReady(function(){a(e,d,c)})},subscribe:function(d,e,c){b.subscribe(d,e,c)}}})();(function(){Sigalert.namespace("common");Sigalert.common.resizeWindow=new YAHOO.util.CustomEvent("windowresize",null,false,YAHOO.util.CustomEvent.FLAT);Sigalert.common.onResizeWindow=function(a){Sigalert.common.resizeWindow.fire(a)};YAHOO.util.Event.on(window,"resize",Sigalert.common.onResizeWindow)})();(function(){Sigalert.namespace("common");var a=null;Sigalert.common.ShowSimpleDialog=function(d,g,i,f,h){var b={fixedcenter:true,modal:true,visible:false,draggable:true,zIndex:10000};if(f){YAHOO.lang.augmentObject(b,f,true)}if(!a){a=new YAHOO.widget.SimpleDialog("SimpleDialog",b);var e=new YAHOO.util.KeyListener(document,{keys:27},{fn:a.hide,scope:a,correctScope:true},"keyup");a.cfg.queueProperty("keylisteners",e);a.render(document.body)}else{a.cfg.applyConfig(b,true);a.cfg.fireQueue()}var c=make("div");if(YAHOO.lang.isString(d)){c.innerHTML=d;a.setHeader(c)}else{if(d){c.appendChild(d);a.setHeader(c)}else{a.setHeader("")}}if(g){if(h&&h.doNotCreateBody){a.setBody(g)}else{a.setBody(this.createSimpleDialogContainer(g,i))}}else{a.setBody("")}if((!h)||(h&&!h.bDoNotShow)){a.show()}return a};Sigalert.common.createPageSectionDescription=function(b){var c=make("div");YAHOO.util.Dom.addClass(c,"PageSectionDescription");if(YAHOO.lang.isString(b)){c.innerHTML=b}else{c.appendChild(b)}return c};Sigalert.common.createControlGroup=function(d,f){var c=make("div");YAHOO.util.Dom.addClass(c,"FormControlGroup");var e=make("div");YAHOO.util.Dom.addClass(e,"label");if(YAHOO.lang.isString(d)){e.innerHTML=d}else{e.appendChild(d)}c.appendChild(e);var b=make("div");YAHOO.util.Dom.addClass(b,"control");if(YAHOO.lang.isString(f)){b.innerHTML=f}else{b.appendChild(f)}c.appendChild(b);return c};Sigalert.common.createClear=function(){var b=make("p");YAHOO.util.Dom.addClass(b,"clear");return b};Sigalert.common.createPageSectionDivider=function(){var b=make("div");YAHOO.util.Dom.addClass(b,"PageSectionDivider");return b};Sigalert.common.fillPageSection=function(c,e){if(YAHOO.lang.isString(e)){c.appendChild(this.createPageSectionDescription(e))}else{if(YAHOO.lang.isArray(e)){for(var d=0;d<e.length;d+=1){var b=e[d];if(YAHOO.lang.isString(b)){var f=make("div");f.innerHTML=b;c.appendChild(f)}else{if(b){c.appendChild(b)}}if(d!==e.length-1){c.appendChild(this.createPageSectionDivider())}}}else{if(e){c.appendChild(e)}}}c.appendChild(this.createClear())};Sigalert.common.createPageSection=function(c){var b=make("div");YAHOO.util.Dom.addClass(b,"PageSection PageSectionBackground");this.fillPageSection(b,c);return b};Sigalert.common.createPageSectionWithNoBackground=function(c){var b=make("div");YAHOO.util.Dom.addClass(b,"PageSectionNoBackground");this.fillPageSection(b,c);return b};Sigalert.common.createContentContainerDivider=function(){var b=make("div");YAHOO.util.Dom.addClass(b,"ContentContainerDivider");return b};Sigalert.common.createContentContainer=function(d){var b=make("div");YAHOO.util.Dom.addClass(b,"ContentContainer ContainerBackground ContainerBorder ContainerText");b.appendChild(make("p"));b.appendChild(this.createContentContainerDivider());if(YAHOO.lang.isArray(d)){for(var c=0;c<d.length;c+=1){b.appendChild(this.createPageSection(d[c]));if(c!==d.length-1){b.appendChild(this.createContentContainerDivider())}}}else{if(d){b.appendChild(this.createPageSection(d))}}b.appendChild(this.createContentContainerDivider());return b};Sigalert.common.createSimpleDialogContainer=function(c,e){var b=this.createContentContainer(c);if(e){b.appendChild(this.createPageSectionWithNoBackground(e))}else{if(!YAHOO.lang.isValue(e)){var d=make("button");YAHOO.util.Event.on(d,"click",function(){a.hide()});d.innerHTML="Close";b.appendChild(this.createPageSectionWithNoBackground(d))}}return b}})();Sigalert.namespace("common");Sigalert.common.createIncidentDetailsContainer=function(e){var c=document.createElement("table");YAHOO.util.Dom.addClass(c,"IncidentDetailsTable");for(var d=0;d<e.length;d+=1){var b=c.insertRow(-1);var a=b.insertCell(-1);a.innerHTML="* "+unescape(e[d][0]);YAHOO.util.Dom.addClass(a,"IncidentDetailsCell");a=b.insertCell(-1);YAHOO.util.Dom.addClass(a,"DetailsPopUpTimeStamp");a.innerHTML=e[d][1]}return c};Sigalert.common.createIncidentDetailsWithSummaryContainer=function(c,d){var b=this.createIncidentDetailsContainer(c);var e=b.insertRow(0);var a=e.insertCell(-1);YAHOO.util.Dom.addClass(a,"IncidentSummaryCell");if(d.incidentType){a.innerHTML="<span class='IncidentSummaryType'>"+d.incidentType.replace(" - No Details","")+"</span><span class='IncidentSummaryLocation'> - "+d.location}else{a.innerHTML="<span class='IncidentSummaryType'>There is no additional information at this time.</span>"}a=e.insertCell(-1);YAHOO.util.Dom.addClass(a,"DetailsPopUpTimeStamp");if(d.time){a.innerHTML=d.time}else{a.innerHTML="&nbsp;"}return b};(function(){Sigalert.namespace("common");var a=new Date(1990,1,1);Sigalert.common.generateImageTimeStamp=function(){var b=new Date();if(b>a){a=b;a.setSeconds(a.getSeconds()+60)}return a.getFullYear().toString()+a.getMonth().toString()+a.getDate().toString()+a.getHours().toString()+a.getMinutes().toString()}})();(function(){Sigalert.namespace("common");var k=GstrSponsor;var i=GstrAdvertisingArea;var h=GstrLocalAreaDisplayName;var c=GbShowAds;var j=GbShowCustomPopupInsert;var e=GiPageviewRefreshIntervalSeconds;var a=new Date().getTime()/1000;var d=[],l=false;function m(o,n){a=new Date().getTime()/1000;if(c){setTimeout(function(){l=true;Sigalert.Ajax.send("/Ajax/GetNewSpon.asp",{success:function(p){l=false;Sigalert.common.Sponsor.setLocalArea(p.localarea);Sigalert.common.Sponsor.setLocalAreaDisplayName(p.areaname);Sigalert.common.Sponsor.setSponsor(p.spon);if(o){o(n)}},failure:function(){l=false},post:"lat="+GdLat+"&lon="+GdLon+"&sa=1",severity:Sigalert.Ajax.Config.Severity.Medium,srcFile:"/Common/Sponsor.js",srcFunc:"retrieveNewSpon"})},15000)}}function f(s,r,t,q,o){var n=make("iframe");n.id=t;n.style.height=o+"px";n.style.width=q+"px";n.frameBorder=0;n.marginheight=0;n.marginwidth=0;n.scrolling="no";n.allowTransparency=true;var p=Math.round(new Date().getTime()/1000);n.src="/GetUnit.asp?u="+r+"&s="+k+"&cb="+p;s.innerHTML="";s.appendChild(n)}function g(o){var n=$(o.unitId+"Parent");if(n){f(n,o.unitClass,o.unitId,o.width,o.height)}}function b(){Sigalert.common.Sponsor.onRefresh.fire();for(var n=0;n<d.length;n+=1){g(d[n])}}Sigalert.common.Sponsor={getSponsor:function(){return k},setSponsor:function(n){if(k!==n){k=n}},getLocalArea:function(){return i},getLocalAreaDisplayName:function(){return h},setLocalArea:function(n){i=n},setLocalAreaDisplayName:function(n){h=n},getShowAds:function(){return c},getShowCustomPopupInsert:function(){return j},createPartnerUnit:function(q,r,p,o){var n=make("iframe");n.id=r;n.style.height=o+"px";n.style.width=p+"px";n.frameBorder=0;n.marginheight=0;n.marginwidth=0;n.scrolling="no";n.allowTransparency=true;return n},registerUnit:function(n,r,o,q,p){d.push({unitClass:n,unitId:r,width:o,height:q})},unregisterUnit:function(p){var o=null;for(var n=0;n<d.length;n+=1){o=d[n];if(o.unitId===p){d.splice(n,1);break}}},refreshUnits:function(){if(!l&&(new Date().getTime()/1000)-a>e){m(b);return true}return false},refreshUnit:function(p){var o=null;for(var n=0;n<d.length;n+=1){if(d[n].unitId===p){o=d[n];break}}if(o){if((new Date().getTime()/1000)-a>e){m(g,o)}else{g(o)}}},refreshUnitByElement:function(q,p,r,o,n){f(q,p,r,o,n)},refreshPartnerUnitById:function(q,p){var n=$(q);if(n){var o=Math.round(new Date().getTime()/1000);n.src="/GetPartnerUnit.asp?u="+p+"&partner="+GstrPartnerId+"&cb="+o}},clearUnit:function(o){var n=$(o);if(n){n.src=""}},onRefresh:new YAHOO.util.CustomEvent("refreshunits",null,false,YAHOO.util.CustomEvent.FLAT)};Sigalert.common.Sponsor.registerUnit("Head","idHeadUnit",728,90);Sigalert.common.Sponsor.registerUnit("Sky","idSkyUnit",160,600);Sigalert.common.Sponsor.registerUnit("Vert","idVertUnit",160,240)})();Sigalert.namespace("common");Sigalert.common.LogPageViewExternally=function(c){try{if("undefined"!==typeof(GbIsDev)){return}if(undefined==c){c=document.location.pathname}if("/"!=c.charAt(0)){c="/"+c}if("/"==c.charAt(c.length-1)){c+="Default.asp"}var b="/GATracker/region="+Sigalert.common.Sponsor.getLocalArea()+"/partner="+(GbIsPartner?GstrPartnerId:"sigalert")+"/page="+c+"/user="+GstrAnalyticsSegment;b=b.replace(/[^a-z0-9/\=\.]+/ig,"");_uacct="UA-85482-3";urchinTracker(b)}catch(a){}};Sigalert.namespace("common");Sigalert.common.LogPageView=function(a){Sigalert.common.LogPageViewExternally(a);Sigalert.Ajax.send("/Ajax/LogPageViewInternally.asp?Partner="+GstrPartnerId,{srcFile:"/Common/LogPageView.js",srcFunc:"Sigalert.common.LogPageView"})};(function(){Sigalert.namespace("common");var b=GiPageviewRefreshIntervalSeconds,a=new Date().getTime()/1000;Sigalert.common.LogPageViewRefresh=function(c){if((new Date().getTime()/1000)-a>b){setTimeout(function(){Sigalert.common.LogPageView((c?c:document.location.pathname)+"/Refresh")},15000);a=new Date().getTime()/1000}}})();(function(){Sigalert.namespace("Error");var a=GstrBuildNumber;Sigalert.Error.sendReport=function(b,c){YAHOO.util.Connect.initHeader("X-Build-Version",a);YAHOO.util.Connect.asyncRequest("POST","/Ajax/ReportError.asp",null,"s="+encodeURIComponent(b)+"&b="+encodeURIComponent(c))}}());(function(){Sigalert.namespace("Ajax.Config");Sigalert.Ajax.Config={Severity:{Low:0,Medium:1},ErrorDisplay:{None:0,Console:1,Alert:2}};Sigalert.Ajax.Request=function(url,config,oRequest){this.url=url;this.config=config;this.oRequest=oRequest};Sigalert.Ajax.Request.prototype={abort:function(){YAHOO.util.Connect.abort(this.oRequest)},isRequestInProgress:function(){return YAHOO.util.Connect.isCallInProgress(this.oRequest)}};var Config=Sigalert.Ajax.Config;var mstrBuildNumber=GstrBuildNumber,mbIsDevMachine=("undefined"!==typeof(GbIsDev)),mbEmailAjaxErrors=GbEmailAjaxErrors&&!mbIsDevMachine,StrFirewallProxyError="Your firewall or proxy server is interfering with our site. Please check your settings and try again.";function buildSendConfig(config){var oDefaultConfig={success:null,failure:null,retry:null,scope:null,argument:null,timeout:null,post:null,cb:null,method:null,severity:Sigalert.Ajax.Config.Severity.Low,errorDisplay:Sigalert.Ajax.Config.ErrorDisplay.None,retries:0,srcFile:"",srcFunc:"",srcCase:"",_retryCount:0};if(config){for(key in config){if(typeof(config[key])!=="undefined"){oDefaultConfig[key]=config[key]}}}return oDefaultConfig}function onError(url,strMethod,msg,config,iStatus,strBody){switch(config.errorDisplay){case Config.ErrorDisplay.Alert:if(Sigalert.common.ShowSimpleDialog){Sigalert.common.ShowSimpleDialog("Unexpected Error","<p><strong>Oops. Sorry about that. We encountered an unexpected error.</strong></p>"+(msg?"<p>"+msg+"</p>":"")+"<p>Please email <a href='support@sigalert.com'>Support@Sigalert.com</a> if this problem continues.</p>",null,{width:"40em"})}else{alert("Oops. Sorry about that. We encountered an unexpected error."+(msg?"\n\n"+msg:"")+"\n\nPlease email Support@Sigalert.com if this problem continues.")}default:console.log("[Ajax Error] "+msg);break}if(iStatus!==500&&iStatus!==0&&iStatus!==-200&&iStatus!==403&&iStatus!==12007){switch(config.severity){case Config.Severity.Medium:if(mbEmailAjaxErrors){Sigalert.Error.sendReport(msg,"\nREQUEST PARAMETERS\nURL:         "+url+"\nMethod:      "+strMethod+"\nTimeout:     "+config.timeout+"\nPost:        "+config.post+"\nCachebuster: "+config.cb+"\nFile:        "+config.srcFile+"\nFunc:        "+config.srcFunc+"\nCase:        "+config.srcCase+"\nHash:        "+document.location.hash+"\n"+strBody)}break;case Config.Severity.Low:break}}if(!mbIsDevMachine){try{var strGA_URI=config.srcFile.replace(/[^a-z0-9/\.]+/ig,"")+"/"+config.srcFunc.replace(/[^a-z0-9/\.]+/ig,"")+(config.srcCase!==""?"/"+config.srcCase.replace(/[^a-z0-9/\.]+/ig,""):"");_uacct="UA-85482-4";urchinTracker(strGA_URI)}catch(ex){}}if(config.failure){config.failure.call(config.scope,msg,config.argument,iStatus)}}function GetExceptionDetails(ex){var strDetails="";if(ex){if(ex.fileName){strDetails+="File: "+ex.fileName+"\n"}if(ex.lineNumber){strDetails+="Line: "+ex.lineNumber+"\n"}if(ex.stack){strDetails+="Stack: "+ex.stack}}return strDetails}function AjaxError(strText,iStatus,ex,bNoName){var strErr=strText,strDetails=GetExceptionDetails(ex);if(ex){strErr+=" "+ex.name+": "+ex.message}return{err:new Error(strErr),details:strDetails,status:iStatus,showName:!Boolean(bNoName),extra:(ex?ex.extra:null)}}Sigalert.Ajax.send=function(url,config){config=buildSendConfig(config);var strMethod="";if(config.method!==null){strMethod=config.method}else{var strMethod=(config.post!==null||config.cb===null?"POST":"GET");if(strMethod==="GET"&&config.cb){url+=(url.indexOf("?")===-1?"?":"&")+"cb="+(YAHOO.lang.isFunction(config.cb)?config.cb():config.cb)}}var cb={success:function(oResponse){try{var oData=null,bPassDataAsArg=true;var strContentType=oRequest.conn.getResponseHeader("Content-Type");if(strContentType){var strContentType=YAHOO.lang.trim(strContentType).toLowerCase();switch(strContentType){case"text/javascript":case"application/json":case"text/json":if(oResponse.responseText!==""){oData=Sigalert.common.parseJson(oResponse.responseText)}else{throw AjaxError(StrFirewallProxyError,-200,null,true)}break;case"text/plain":case"text/html":oData=oResponse.responseText;break;case"application/x-javascript":case"application/javascript":case"text/x-javascript":if(oResponse.responseText!==""){eval(oResponse.responseText)}else{throw AjaxError(StrFirewallProxyError,-200,null,true)}bPassDataAsArg=false;break}if(config.success){if(bPassDataAsArg){try{config.success.call(config.scope,oData,config.argument,strContentType)}catch(exCallback){throw AjaxError("Error in success callback.",-100,exCallback)}}else{try{config.success.call(config.scope,config.argument)}catch(exCallback){throw AjaxError("Error in success callback.",-100,exCallback)}}}}else{throw AjaxError(StrFirewallProxyError,-200,null,true)}}catch(ex){try{if(ex.err){onError(url,strMethod,(ex.showName&&!ex.extra?ex.err.name+": ":"")+ex.err.message,config,ex.status,(ex.extra?"EXTRA\n"+ex.extra+"\n":"")+ex.details+"\nRESPONSE HEADERS\n"+oResponse.getAllResponseHeaders+"\n\nRESPONSE TEXT\n"+oResponse.responseText)}else{onError(url,strMethod,ex.name+": "+ex.message,config,-2,GetExceptionDetails(ex)+"\nRESPONSE HEADERS\n"+oResponse.getAllResponseHeaders+"\n\nRESPONSE TEXT\n"+oResponse.responseText)}}catch(ex2){}}},failure:function(oResponse){var strMsg="";if(oResponse.status===500){strMsg=oResponse.responseText}else{if(oResponse.status===12007||oResponse.status===403){strMsg=StrFirewallProxyError}else{if(oResponse.status===0){if(config._retryCount<config.retries){config._retryCount+=1;var oRequest=Sigalert.Ajax.send(url,config);if(config.retry!==null){config.retry.call(config.scope,oRequest,config.argument)}return}strMsg="We were unable to communicate with our servers. Please check your Internet connection."}else{if(oResponse.status===-1){strMsg=oResponse.statusText}else{strMsg=oResponse.status+" "+oResponse.statusText}}}}onError(url,strMethod,strMsg,config,oResponse.status)},timeout:config.timeout};YAHOO.util.Connect.initHeader("X-Build-Version",mstrBuildNumber);var oRequest=YAHOO.util.Connect.asyncRequest(strMethod,url,cb,config.post);return new Sigalert.Ajax.Request(url,config,oRequest)}})();(function(){Sigalert.namespace("data");Sigalert.data.DataAccessor=function(strRegion,strMapBaseName,strDataPath){this.mstrRegion=strRegion;this.mstrMapBaseName=strMapBaseName;this.mstrCurrentDataPath="";this.miDataCacheBuster=-1;this.mbRetrievingData=false;this.maDataProcQueue=[];this.mbRetrieveOnlyPath=false;this.mdtmUpdateStart=null;this.mbUpdateGui=false;this.onDataRefreshStart=new YAHOO.util.CustomEvent("datarefreshstart",null,false,YAHOO.util.CustomEvent.FLAT);this.onDataRefreshEnd=new YAHOO.util.CustomEvent("dataupdated",null,false,YAHOO.util.CustomEvent.FLAT);this.onDataUpdated=new YAHOO.util.CustomEvent("dataupdated",null,false,YAHOO.util.CustomEvent.FLAT);this.mdtmLastDataRefresh=new Date();this.mdtmLastDataRefresh.setFullYear(2000);this.mdtmLastDataRefresh=this.mdtmLastDataRefresh.getTime()/1000;this.forceDataRetrieval()};Sigalert.data.DataAccessor.IntMinDataAgeSeconds=1;Sigalert.data.DataAccessor.IntMaxDataAgeSeconds=GiDataRefreshIntervalMinutes*60;Sigalert.data.DataAccessor.IntUpdateDataMessageLifeSpanMs=450;Sigalert.data.DataAccessor.prototype={setRetrievesOnlyPath:function(bRetrieveOnlyPath){this.mbRetrieveOnlyPath=bRetrieveOnlyPath},getDataPath:function(){return this.mstrCurrentDataPath},cb:function(){return this.miDataCacheBuster},isLoaded:function(){return this.miDataCacheBuster!==-1},getRegion:function(){return this.mstrRegion},getMapBaseName:function(){return this.mstrMapBaseName},refreshData:function(){if(!this.mbRetrievingData&&!this._isDataFresh()){this._retrieveData()}},forceRefreshData:function(){if(!this.mbRetrievingData&&!this._isDataNew()){this._retrieveData()}},forceDataRetrieval:function(){this._retrieveData()},process:function(evtProcData){this._runDataProc(evtProcData)},_isDataOldEnoughToUpdate:function(){var iTimePassed=(new Date().getTime()/1000)-this.mdtmLastDataRefresh;return iTimePassed>Sigalert.data.DataAccessor.IntMinDataAgeSeconds&&iTimePassed<Sigalert.data.DataAccessor.IntMaxDataAgeSeconds},_isDataOld:function(){return(new Date().getTime()/1000)-this.mdtmLastDataRefresh>Sigalert.data.DataAccessor.IntMaxDataAgeSeconds},_isDataNew:function(){return(new Date().getTime()/1000)-this.mdtmLastDataRefresh<Sigalert.data.DataAccessor.IntMinDataAgeSeconds},_isDataFresh:function(){return(new Date().getTime()/1000)-this.mdtmLastDataRefresh<Sigalert.data.DataAccessor.IntMaxDataAgeSeconds},_updateGui:function(bSuccess){if(this.mbUpdateGui){var spanMenuTimeStamp=$("spanMenuTimeStamp");if(spanMenuTimeStamp){YAHOO.util.Dom.removeClass("aMenuTimeStamp","MenuTimeStampUpdating");spanMenuTimeStamp.innerHTML="Data from: "+Sigalert.TrafficData[this.mstrRegion].LastUpdatedString}}this.onDataRefreshEnd.fire()},_onRetrievedData:function(bRetrievedNewData){this.mbRetrievingData=false;var dtmNow=new Date().getTime()/1000;if(dtmNow-this.mdtmUpdateStart<1){var me=this;setTimeout(function(){me._updateGui(bRetrievedNewData)},this.miUpdateDataMessageLifeSpanMs)}else{this._updateGui(bRetrievedNewData)}if(bRetrievedNewData){var iNowMs=new Date().getTime();this.mdtmLastDataRefresh=iNowMs/1000}var aQueue=this.maDataProcQueue;this.maDataProcQueue=[];while(aQueue.length>0){this._runDataProc(aQueue.shift())}if(bRetrievedNewData){this.onDataUpdated.fire({src:this})}},_onFailedRetrievingData:function(status,statusText){this.mbRetrievingData=false;this._updateGui(false)},_onStartLookingForData:function(){this.onDataRefreshStart.fire();if(this.mbUpdateGui){var spanMenuTimeStamp=$("spanMenuTimeStamp");if(spanMenuTimeStamp){this.mdtmUpdateStart=new Date().getTime();YAHOO.util.Dom.addClass("aMenuTimeStamp","MenuTimeStampUpdating");spanMenuTimeStamp.innerHTML="Looking for data..."}}},_onStartRetrievingData:function(){if(this.mbUpdateGui){var spanMenuTimeStamp=$("spanMenuTimeStamp");if(spanMenuTimeStamp){spanMenuTimeStamp.innerHTML="Updating data..."}}},_retrieveTrafficData:function(){this._onStartRetrievingData();Sigalert.Ajax.send(this.mstrCurrentDataPath+"/"+this.mstrMapBaseName+"Data.js",{success:function(){this._onRetrievedData(true)},failure:this._onFailedRetrievingData,scope:this,cb:this.miDataCacheBuster,errorDisplay:Sigalert.Ajax.Config.ErrorDisplay.Alert,severity:Sigalert.Ajax.Config.Severity.Medium,srcFile:"/DataAccessor.js",srcFunc:"_retrieveTrafficData"})},_onRetrievedDataDir:function(strNewDataDir,iNewDataCacheBuster){if(this._isDataOld()||(this._isDataOldEnoughToUpdate()&&strNewDataDir!==this.mstrCurrentDataPath)){this.mstrCurrentDataPath=strNewDataDir;this.miDataCacheBuster=iNewDataCacheBuster;if(!this.mbRetrieveOnlyPath){this._retrieveTrafficData()}else{this._onRetrievedData(true)}}else{this._onRetrievedData(false)}},_retrieveDataDir:function(){var me=this;var cb={success:function(oResponse){eval(oResponse.responseText);me._onRetrievedDataDir(sa_path,sa_cb)},failure:function(oResponse){me._onFailedRetrievingData(oResponse.status,oResponse.statusText)}};YAHOO.util.Connect.asyncRequest("GET","/Data/path.js?cb="+Math.round(new Date().getTime()/1000),cb,null)},_retrieveData:function(){this.mbRetrievingData=true;this._onStartLookingForData();this._retrieveDataDir()},_queueDataProc:function(oProcData){this.maDataProcQueue.push(oProcData)},_runDataProc:function(oProcData){if(this.mbRetrievingData){this._queueDataProc(oProcData)}else{if(this._isDataFresh()){var oData=oProcData.cbProcessData.func.call(oProcData.cbProcessData.scope,oProcData.cbProcessData.param);oProcData.cbOnComplete.func.call(oProcData.cbOnComplete.scope,oData,oProcData.cbOnComplete.param)}else{this._queueDataProc(oProcData);this._retrieveData()}}}}}());(function(){Sigalert.namespace("data");Sigalert.data.fetchScript=function(strUrl,onSuccess,onFailure){var cb={success:function(oResponse){eval(oResponse.responseText);if(onSuccess){onSuccess(strUrl)}},failure:function(oResponse){if(onFailure){onFailure(strUrl,oResponse.status+" - "+oResponse.statusText)}}};YAHOO.util.Connect.asyncRequest("GET",strUrl,cb,null)};Sigalert.data.fetchScripts=function(aUrls,onSuccess,onFailure){var iNumScripts=aUrls.length;var iScriptsLoaded=0;var iScriptsFailed=0;var onComplete=function(){if(iScriptsFailed===0){if(onSuccess){onSuccess()}}else{if(onFailure){onFailure()}}};var onScriptLoaded=function(){iScriptsLoaded+=1;if(iScriptsLoaded+iScriptsFailed===iNumScripts){onComplete()}};var onScriptFailed=function(){iScriptsFailed+=1;if(iScriptsLoaded+iScriptsFailed===iNumScripts){onComplete()}};for(var i=0;i<iNumScripts;i+=1){Sigalert.data.fetchScript(aUrls[i],onScriptLoaded,onScriptFailed)}};var moRegionDataAccessorIsFetching={};var moDataProcQueue={};var mstrStaticPath="/14/Min";Sigalert.data.Manager={onDataUpdated:new YAHOO.util.CustomEvent("managerdataupdated",null,false,YAHOO.util.CustomEvent.FLAT),current:null,createCallback:function(fxnCallback,oParam,oScope){return{func:fxnCallback,param:oParam,scope:oScope}},createProcData:function(cbOnComplete,cbProcessData){return{cbOnComplete:cbOnComplete,cbProcessData:cbProcessData}},process:function(strRegion,procData){this._runDataProc(strRegion,procData)},exists:function(strRegion){return typeof(this[strRegion])!=="undefined"},getCurrentRegion:function(){return this.current.getRegion()},getCurrentMapBaseName:function(){return this.current.getMapBaseName()},getCurrentLastUpdatedString:function(){return Sigalert.TrafficData[this.current.getRegion()].LastUpdatedString},loadRegionData:function(strRegion,strMapBaseName,strDataPath,bDoNotRetrieveData){if(!strRegion){console.log("loadRegionData - Invalid region given: '"+strRegion+"'");return}if(!strMapBaseName){this._retrieveRegionProperties(strRegion)}else{this._loadRegion(strRegion,strMapBaseName,strDataPath,bDoNotRetrieveData)}},setCurrentRegion:function(strRegion){if(this.current){this.current.mbUpdateGui=false}this.current=this[strRegion];this.current.mbUpdateGui=true},_runDataProc:function(strRegion,oProcData){var da=this[strRegion];var bFetching=moRegionDataAccessorIsFetching[strRegion];if(bFetching){this._queueDataProc(strRegion,oProcData)}else{if(da){da.process(oProcData)}else{this._queueDataProc(strRegion,oProcData);this._retrieveRegionProperties(strRegion)}}},_queueDataProc:function(strRegion,oProcData){if(!moDataProcQueue[strRegion]){moDataProcQueue[strRegion]=[]}moDataProcQueue[strRegion].push(oProcData)},_onDataAccessorDataUpdated:function(args){this.onDataUpdated.fire(args)},_loadRegion:function(strRegion,strMapBaseName,strDataPath,bDoNotRetrieveData){var da=new Sigalert.data.DataAccessor(strRegion,strMapBaseName,strDataPath);da.onDataUpdated.subscribe(this._onDataAccessorDataUpdated,null,this);this[strRegion]=da;if(!this.current){this.setCurrentRegion(strRegion)}var aQueue=moDataProcQueue[strRegion];moDataProcQueue[strRegion]=[];while(aQueue&&aQueue.length>0){this._runDataProc(strRegion,aQueue.shift())}},_onRetrievedRegionProperties:function(oResult,strRegion){var me=this,strMapBaseName=oResult.mapbasename;var onSuccess=function(){moRegionDataAccessorIsFetching[strRegion]=false;me._loadRegion(strRegion,strMapBaseName,"")};var onFailure=function(){moRegionDataAccessorIsFetching[strRegion]=false;console.log("Error retrieving static data for "+strRegion)};Sigalert.data.fetchScripts([mstrStaticPath+"/"+strMapBaseName+"Static.js",mstrStaticPath+"/"+strMapBaseName+"Map.js"],onSuccess,onFailure)},_onFailedRetrievingRegionProperties:function(strError,strRegion){moRegionDataAccessorIsFetching[strRegion]=false},_retrieveRegionProperties:function(strRegion){moRegionDataAccessorIsFetching[strRegion]=true;Sigalert.Ajax.send("/Ajax/GetRegionProperties.asp?region="+encodeURIComponent(strRegion),{success:this._onRetrievedRegionProperties,failure:this._onFailedRetrievingRegionProperties,scope:this,argument:strRegion,cb:GstrBuildNumber,errorDisplay:Sigalert.Ajax.Config.ErrorDisplay.Alert,severity:Sigalert.Ajax.Config.Severity.Medium,srcFile:"/Data.js",srcFunc:"Sigalert.data.Manager._retrieveRegionProperties"})}};function getRoadSectionId(args){var idSensor=args.idSensor,strRegion=args.region;if(idSensor<0){return -1}var oIndex=Sigalert.TrafficData.Index;var aSections=Sigalert.TrafficData[strRegion].RoadSections;var iHigh=aSections.length,iLow=-1,iMiddle;while(iHigh-iLow>1){if(aSections[iMiddle=iHigh+iLow>>1][oIndex.RoadSecFirstSpeedId]>idSensor){iHigh=iMiddle}else{iLow=iMiddle}}return iLow}Sigalert.data.Roads={getRoadSectionId:function(strRegion,cb,param,scope,idSensor){var Mgr=Sigalert.data.Manager;Mgr.process(strRegion,Mgr.createProcData(Mgr.createCallback(cb,param,scope),Mgr.createCallback(getRoadSectionId,{region:strRegion,idSensor:idSensor},null)))},getFirstRoadSectionLongName:function(strRegion,idRoadSection){var oIndex=Sigalert.TrafficData.Index,oData=Sigalert.TrafficData[strRegion];return this.getRoadLongName(strRegion,oData.Roads[oData.RoadSections[idRoadSection][oIndex.RoadSecRoadId]][oIndex.RoadFirstSecId])},getRoadLongName:function(strRegion,idRoadSection){var oIndex=Sigalert.TrafficData.Index,oSection=Sigalert.TrafficData[strRegion].RoadSections[idRoadSection];return oSection[oIndex.RoadSecName]+" "+oSection[oIndex.RoadSecDir]},getRoadShortName:function(strRegion,idRoadSection){var oIndex=Sigalert.TrafficData.Index;var oData=Sigalert.TrafficData[strRegion];var oSection=oData.RoadSections[idRoadSection];return oData.Roads[oSection[oIndex.RoadSecRoadId]][oIndex.RoadName]+" "+oSection[oIndex.RoadSecDir]},getFirstRoadSectionId:function(strRegion,idRoad){return Sigalert.TrafficData[strRegion].Roads[idRoad][Sigalert.TrafficData.Index.RoadFirstSecId]},getRoadId:function(strRegion,idRoadSection){return Sigalert.TrafficData[strRegion].RoadSections[idRoadSection][Sigalert.TrafficData.Index.RoadSecRoadId]},getNumRoadSections:function(strRegion,idRoadSection){var oIndex=Sigalert.TrafficData.Index,oData=Sigalert.TrafficData[strRegion],oRoad=oData.Roads[oData.RoadSections[idRoadSection][oIndex.RoadSecRoadId]];return oRoad[oIndex.RoadLastSecId]-oRoad[oIndex.RoadFirstSecId]+1},addRoadSections:function(eSelect,strRegion){var oIndex=Sigalert.TrafficData.Index,oData=Sigalert.TrafficData[strRegion],oSection=null;for(var i in oData.RoadSections){oSection=oData.RoadSections[i];Sigalert.common.element.combobox.addItem(eSelect,i,oSection[oIndex.RoadSecName]+" "+oSection[oIndex.RoadSecDir])}},addRoadSectionRamps:function(eSelect,strRegion,idRoadSection){var oIndex=Sigalert.TrafficData.Index,oData=Sigalert.TrafficData[strRegion],oSection=oData.RoadSections[idRoadSection],aSensorNames=oData.SensorNames;for(var i=oSection[oIndex.RoadSecFirstSpeedId];i<=oSection[oIndex.RoadSecLastSpeedId];i+=1){Sigalert.common.element.combobox.addItem(eSelect,i,aSensorNames[i])}}};Sigalert.data.Incidents={getIncidentId:function(strRegion,iIncIndex){var aIncs=Sigalert.TrafficData[strRegion].Incidents;if(iIncIndex>=0&&iIncIndex<aIncs.length){return aIncs[iIncIndex][Sigalert.TrafficData.Index.IncId]}return -1},getIncidentIndex:function(strRegion,iIncId){var aIncs=Sigalert.TrafficData[strRegion].Incidents;var oIndex=Sigalert.TrafficData.Index;for(var i=0;i<aIncs.length;i+=1){if(aIncs[i][oIndex.IncId]===iIncId){return i}}return -1},getIncidentExists:function(strRegion,iIncId){var aIncs=Sigalert.TrafficData[strRegion].Incidents;var oIndex=Sigalert.TrafficData.Index;for(var i=0;i<aIncs.length;i+=1){if(aIncs[i][oIndex.IncId]===iIncId){return true}}return false},getIncidentDetails:function(strRegion,iIncId,config){config.errorDisplay=Sigalert.Ajax.Config.ErrorDisplay.Alert;config.severity=Sigalert.Ajax.Config.Severity.Medium;config.srcFile="/Data.js";config.srcFunc="Sigalert.data.Incidents.getIncidentDetails";config.method="GET";Sigalert.Ajax.send("/Ajax/GetIncidentDetails.asp?region="+encodeURIComponent(strRegion)+"&id="+iIncId,config)}};Sigalert.data.Cameras={getCameraExists:function(strRegion,iCamId){return this.getCameraIndex(strRegion,iCamId)!==-1},getCameraIndex:function(strRegion,iCamId){var aCams=Sigalert.TrafficData[strRegion].Cameras;var oIndex=Sigalert.TrafficData.Index;for(var i=0;i<aCams.length;i+=1){if(aCams[i][oIndex.CamId]===iCamId){return i}}return -1},getCameraRoadName:function(strRegion,idRoadSection,idCam){var aCam=Sigalert.TrafficData[strRegion].Cameras[idCam];var oIndex=Sigalert.TrafficData.Index;var strRoad=idRoadSection>=0?Sigalert.data.Roads.getRoadShortName(strRegion,idRoadSection):aCam[oIndex.CamRoad];return strRoad?strRoad:"Camera"}}}());
(function(){Sigalert.namespace("controls");Sigalert.controls.Config=function(a){var b={};this.loadConfig=function(c){if(c){for(var d in c){if(YAHOO.lang.hasOwnProperty(c,d)){b[d.toLowerCase()]=c[d]}}}};this.setProperty=function(c,d){b[c.toLowerCase()]=d};this.getProperty=function(c){return b[c.toLowerCase()]}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.PopUpControl=function(b){this.mdivPopUp=null;this.mdivInnerBorder=null;this.mdivPane=null;this.mdivContent=null;this.mdivBody=null;this.mdivFang=null;this.mdivCloseBtn=null;this.mContainer=null;this.mdivTest=null;this.mdivContentTest=null;this.mTimerTrackPos=-1;this.mdivAdParent=null;this.mstrUnitId="";this.moConfig=null;this.onHide=null;this.onMouseEvent=new YAHOO.util.CustomEvent("popupmouseevent",this,false,YAHOO.util.CustomEvent.FLAT);this.init(b)};var a=Sigalert.controls.PopUpControl;a.CssPopUpMain="popup-main";a.CssPopUp="PopUp";a.CssMain="DetailsPopUpOuterBorder";a.CssInnerBorder="DetailsPopUpInnerBorder";a.CssPopUpPane="popup-pane";a.CssPane="DetailsPopUp";a.CssPopUpFang="popup-fang";a.CssPopUpFangTop="popup-fang-t";a.CssPopUpFangBottom="popup-fang-b";a.CssPopUpFangLeft="popup-fang-l";a.CssPopUpFangRight="popup-fang-r";a.CssCloseBtn="popup-close-button";a.CssDetailsCloseBtn="DetailsPopUpCloseButton";a.CssHeader="popup-header";a.CssFooter="popup-footer";a.IntAdWidth=236;a.IntAdHeight=60;Sigalert.controls.PopUpControl.prototype={render:function(b){if(typeof b=="string"){b=document.getElementById(b)}if(b){b.appendChild(this.mdivPopUp)}else{return false}this.mContainer=b;return true},getBodyOverflow:function(){return YAHOO.util.Dom.getStyle(this.mdivContent,"overflow")},setBodyOverflow:function(b){YAHOO.util.Dom.setStyle(this.mdivContent,"overflow",b)},setFontSize:function(b){YAHOO.util.Dom.setStyle(this.mdivPopUp,"fontSize",b);YAHOO.util.Dom.setStyle(this.mdivContentTest,"fontSize",b)},removeBody:function(){if(this.mdivContent.childNodes.length>0){var b=this.mdivContent.firstChild;while(b){if(b.nodeType===1){return this.mdivContent.removeChild(b)}b=b.nextSibling}}return null},getBody:function(){if(this.mdivContent.childNodes.length>0){var b=this.mdivContent.firstChild;while(b){if(b.nodeType===1){return b}b=b.nextSibling}}return null},setBody:function(b,c){this.mdivContent.innerHTML="";if(typeof(b)==="string"){this.mdivBody=make("div");this.mdivBody.innerHTML=b;this.mdivContent.appendChild(this.mdivBody)}else{this.mdivBody=this.mdivContent.appendChild(b)}if(c){YAHOO.util.Dom.addClass(this.mdivContent,c)}this.resizeSelf()},resizeSelf:function(){YAHOO.util.Dom.setStyle(this.mdivContent,"width","");YAHOO.util.Dom.setStyle(this.mdivContent,"height","");YAHOO.util.Dom.setStyle(this.mdivContent,"overflow","");var m=this.moConfig.getProperty("maxwidth"),h=this.moConfig.getProperty("minwidth"),d=Sigalert.common.element.getHorizontalPadding(this.mdivBody)-Sigalert.common.element.getHorizontalBorder(this.mdivContent)-Sigalert.common.element.getHorizontalMargin(this.mdivContent),e=this.moConfig.getProperty("maxheight"),i=this.moConfig.getProperty("minheight"),c=Sigalert.common.element.getVerticalPadding(this.mdivBody)-Sigalert.common.element.getVerticalBorder(this.mdivContent)-Sigalert.common.element.getVerticalMargin(this.mdivContent);this.mdivContentTest.innerHTML="";var l=this.mdivContentTest.appendChild(this.mdivContent.cloneNode(true)),f=l.offsetWidth,j=l.offsetHeight;if(f>m){YAHOO.util.Dom.setStyle(l,"width",(m+d)+"px");YAHOO.util.Dom.setStyle(this.mdivContent,"width",(m+d)+"px")}else{if(f<h){YAHOO.util.Dom.setStyle(l,"width",h+"px");YAHOO.util.Dom.setStyle(this.mdivContent,"width",h+"px")}else{YAHOO.util.Dom.setStyle(l,"width",f+"px");YAHOO.util.Dom.setStyle(this.mdivContent,"width",f+"px")}}f=l.offsetWidth;j=l.offsetHeight;this.mdivContentTest.innerHTML="";if(e>=0){if(j>e){YAHOO.util.Dom.setStyle(this.mdivContent,"overflow","auto");YAHOO.util.Dom.setStyle(this.mdivContent,"height",(e+c)+"px")}}if(i>=0){if(j<i){YAHOO.util.Dom.setStyle(this.mdivContent,"height",i+"px")}}if(this.moConfig.getProperty("constraintoviewport")){var b=Sigalert.common.element.getHeight(this.mdivPopUp);var e=b;if(this.mContainer===document.body){var g=10;e=YAHOO.util.Dom.getViewportHeight()-g-g}else{if(this.mContainer.parentNode){var g=10;e=Sigalert.common.element.getClientHeight(this.mContainer.parentNode)-g-g}}if(b>e){j=e-Sigalert.common.element.getVerticalPadding(this.mdivBody)-Sigalert.common.element.getVerticalBorder(this.mdivBody)-Sigalert.common.element.getVerticalMargin(this.mdivBody)-Sigalert.common.element.getVerticalPadding(this.mdivContent)-Sigalert.common.element.getVerticalBorder(this.mdivContent)-Sigalert.common.element.getVerticalMargin(this.mdivContent)-Sigalert.common.element.getVerticalPadding(this.mdivInnerBorder)-Sigalert.common.element.getVerticalBorder(this.mdivInnerBorder)-Sigalert.common.element.getVerticalMargin(this.mdivInnerBorder)-Sigalert.common.element.getVerticalPadding(this.mdivPane)-Sigalert.common.element.getVerticalBorder(this.mdivPane)-Sigalert.common.element.getVerticalMargin(this.mdivPane)-Sigalert.common.element.getVerticalPadding(this.mdivPopUp)-Sigalert.common.element.getVerticalBorder(this.mdivPopUp)-Sigalert.common.element.getVerticalMargin(this.mdivPopUp);if(this.mdivHeader&&this.moConfig.getProperty("showheaderad")){var k=j;j-=a.IntAdHeight+Sigalert.common.element.getVerticalPadding(this.mdivHeader)+Sigalert.common.element.getVerticalBorder(this.mdivHeader)+Sigalert.common.element.getVerticalMargin(this.mdivHeader)}if(this.mdivHeader&&this.moConfig.getProperty("showfooterad")){j-=a.IntAdHeight+Sigalert.common.element.getVerticalPadding(this.mdivFooter)+Sigalert.common.element.getVerticalBorder(this.mdivFooter)+Sigalert.common.element.getVerticalMargin(this.mdivFooter)}YAHOO.util.Dom.setStyle(this.mdivContent,"height",j+"px");YAHOO.util.Dom.setStyle(this.mdivContent,"overflow","auto")}}},hide:function(){if(YAHOO.util.Dom.getStyle(this.mdivPopUp,"visibility")!=="hidden"){Sigalert.common.Sponsor.clearUnit(this.mstrUnitId);Sigalert.common.Sponsor.unregisterUnit(this.mstrUnitId);YAHOO.util.Dom.setStyle(this.mdivPopUp,"visibility","hidden");if(this.mTimerTrackPos!==-1){clearInterval(this.mTimerTrackPos);this.mTimerTrackPos=-1}if(this.onHide){this.onHide(this)}}},isOpen:function(){return YAHOO.util.Dom.getStyle(this.mdivPopUp,"visibility")!=="hidden"},show:function(c,i){var f=c;if(i==="element"){c=YAHOO.util.Region.getRegion(c)}var j=this.calcPopUpPos(c);this.moConfig.setProperty("fangx",j.fangx);this.moConfig.setProperty("fangy",j.fangy);YAHOO.util.Dom.setStyle(this.mdivPopUp,"left",j.popupx+"px");YAHOO.util.Dom.setStyle(this.mdivPopUp,"top",j.popupy+"px");if(this.moConfig.getProperty("pointsat")){var e=this.moConfig.getProperty("pointsat");var g=null;while(e&&e!==document.body){if(YAHOO.util.Dom.getStyle(e,"position")==="absolute"){var b=YAHOO.util.Dom.getStyle(e,"zIndex");if(b){var d=parseInt(b,10);if(g===null||d>g){g=d}}}e=e.parentNode}if(g!==null){YAHOO.util.Dom.setStyle(this.mdivPopUp,"zIndex",g+1)}}this.moConfig.setProperty("fangpos",j.fangpos);this.alignFang();YAHOO.util.Dom.setStyle(this.mdivPopUp,"visibility","visible");if(this.mTimerTrackPos!==-1){clearInterval(this.mTimerTrackPos);this.mTimerTrackPos=-1}if(this.moConfig.getProperty("trackposition")){var h=this;this.mTimerTrackPos=setInterval(function(){h._trackPosition(f,i)},10)}if(Sigalert.common.Sponsor.getShowCustomPopupInsert()){Sigalert.common.Sponsor.refreshPartnerUnitById(this.mstrUnitId,"Pop")}else{if(this.mdivAdParent){Sigalert.common.Sponsor.refreshUnitByElement(this.mdivAdParent,"Pop",this.mstrUnitId,a.IntAdWidth,a.IntAdHeight);Sigalert.common.Sponsor.registerUnit("Pop",this.mstrUnitId,a.IntAdWidth,a.IntAdHeight)}}},clearUnit:function(){if(this.mdivAdParent){this.mdivAdParent.innerHTML=""}},setShowHeaderAd:function(b){if(b!==this.moConfig.getProperty("showheaderad")){if(b){if(Sigalert.common.Sponsor.getShowCustomPopupInsert()||Sigalert.common.Sponsor.getShowAds()){this.mdivHeader=make("div");this.mdivHeader.align="center";YAHOO.util.Dom.addClass(this.mdivHeader,a.CssHeader);this.mdivInnerBorder.insertBefore(this.mdivHeader,this.mdivPane);this.mdivCloseBtn=this.mdivPane.removeChild(this.mdivCloseBtn);this.mdivInnerBorder.insertBefore(this.mdivCloseBtn,this.mdivPane);this.mdivHeader.appendChild(this._createAdMarkup())}}else{this.mdivInnerBorder.removeChild(this.mdivHeader);this.mdivCloseBtn=this.mdivInnerBorder.removeChild(this.mdivCloseBtn);this.mdivPane.appendChild(this.mdivCloseBtn);this.mdivHeader=null;this.mdivAdParent=null;this.mstrUnitId=""}this.moConfig.setProperty("showheaderad",b)}},setShowFooterAd:function(b){if(b!==this.moConfig.getProperty("showfooterad")){if(b){if(Sigalert.common.Sponsor.getShowCustomPopupInsert()||Sigalert.common.Sponsor.getShowAds()){this.mdivFooter=make("div");this.mdivFooter.align="center";YAHOO.util.Dom.addClass(this.mdivFooter,a.CssFooter);this.mdivInnerBorder.appendChild(this.mdivFooter);this.mdivFooter.appendChild(this._createAdMarkup())}}else{this.mdivInnerBorder.removeChild(this.mdivFooter);this.mdivHeader=null;this.mdivAdParent=null;this.mstrUnitId=""}this.moConfig.setProperty("showfooterad",b)}},setTrackPosition:function(b){this.moConfig.setProperty("trackposition",b)},_trackPosition:function(b,d){if(d==="element"){b=YAHOO.util.Region.getRegion(b)}var c=this.calcPopUpPos(b);this.moConfig.setProperty("fangx",c.fangx);this.moConfig.setProperty("fangy",c.fangy);YAHOO.util.Dom.setStyle(this.mdivPopUp,"left",c.popupx+"px");YAHOO.util.Dom.setStyle(this.mdivPopUp,"top",c.popupy+"px");this.moConfig.setProperty("fangpos",c.fangpos);this.alignFang()},calcPopUpPos:function(m){var s=this,o=this.getWidth(),L=this.getHeight(),u=Sigalert.common.element.getClientWidth(this.mdivPopUp),k=Sigalert.common.element.getClientHeight(this.mdivPopUp),g=this.getLeftAndRightFangWidth(),f=this.getLeftAndRightFangHeight(),z=this.getTopAndBottomFangWidth(),q=this.getTopAndBottomFangHeight(),U=m.right-m.left,I=this.moConfig.getProperty("offsets"),d=0,c=0,w=0,r=0;if(this.mContainer===document.body){w=YAHOO.util.Dom.getViewportWidth();r=YAHOO.util.Dom.getViewportHeight();if(!I){I={top:10,right:10,bottom:10,left:10}}}else{if(this.mContainer.parentNode){w=Sigalert.common.element.getClientWidth(this.mContainer.parentNode);r=Sigalert.common.element.getClientHeight(this.mContainer.parentNode)}}if(this.mContainer===document.body){d=YAHOO.util.Dom.getDocumentScrollLeft();c=YAHOO.util.Dom.getDocumentScrollTop()}else{if(this.mContainer.parentNode){d=-Sigalert.common.element.getDimension(this.mContainer,"left");c=-Sigalert.common.element.getDimension(this.mContainer,"top")}}var b=m.left+(m.right-m.left)/2,W=m.top+(m.bottom-m.top)/2,v=w/2,N=r/2,t=d+I.left,Q=d+w-I.right,B=c+I.top,H=c+r-I.bottom,D=W-L/2,G=W+L/2,V=m.top<D?m.top:D,M=m.bottom>G?m.bottom:G,P="",K=0,J=0,p=0,n=0;var E=new YAHOO.util.Region(B,Q,H,t);function l(x,j,ab,Y,X,Z){var y=0;if(x[X]-x[Z]>j[X]-j[Z]){y=j[Z]-x[Z]+Y}else{if(x[X]>j[X]){var aa=x[X]-j[X];var i=x[Z]-j[Z];if(aa>i){y=-i}else{y=-aa}if(x[X]+y-Y<ab){y=-(x[X]-ab-Y)}}else{if(x[Z]<j[Z]){var aa=j[X]-x[X]-Y;var i=j[Z]-x[Z]+Y;if(i>aa){y=aa}else{y=i}if(x[Z]+y+Y>ab){y=ab-Y-x[Z]}}}}x[Z]+=y;x[X]+=y;return x}function O(){var x=H-B,i=L;if(i>x){i=x}var aa=W-i/2,X=aa+i,Z=m.right+g-Sigalert.common.element.getBorderLeft(s.mdivPopUp),ab=Z+o,Y=l(new YAHOO.util.Region(aa,ab,X,Z),E,W,f,"bottom","top"),y=E.intersect(Y);var j=0;if(y){j=y.getArea()/Y.getArea()}return{fangpos:"left",popupx:Y.left,popupy:Y.top,fangx:0,fangy:W-f/2-Y.top,fills:j}}function R(){var x=H-B,i=L;if(i>x){i=x}var aa=W-i/2,X=aa+i,Z=m.left-o-g+2,ab=Z+o,Y=l(new YAHOO.util.Region(aa,ab,X,Z),E,W,f,"bottom","top"),y=E.intersect(Y);var j=0;if(y){j=y.getArea()/Y.getArea()}return{fangpos:"right",popupx:Y.left,popupy:Y.top,fangx:0,fangy:W-f/2-Y.top,fills:j}}function h(){var y=o,i=L,aa=m.top-L-q,X=aa+i,Z=b-y/2,ab=Z+o;var Y=l(new YAHOO.util.Region(aa,ab,X,Z),E,b,z,"right","left"),x=E.intersect(Y);var j=0;if(x){j=x.getArea()/Y.getArea()}return{fangpos:"bottom",popupx:Y.left,popupy:Y.top,fangx:b-z/2-Y.left,fangy:0,fills:j}}function C(){var aa=20,i=aa+z/2;if(i>U){i=0}var X=o,j=L,ac=m.bottom+q-Sigalert.common.element.getBorderTop(s.mdivPopUp),Y=ac+j,ab=b-X/2,ad=ab+o;var Z=l(new YAHOO.util.Region(ac,ad,Y,ab),E,b,z,"right","left"),y=E.intersect(Z);var x=0;if(y){x=y.getArea()/Z.getArea()}return{fangpos:"top",popupx:Z.left,popupy:Z.top,fangx:b-z/2-Z.left,fangy:0,fills:x}}var F={left:R(),right:O(),above:h(),below:C()};var e=this.moConfig.getProperty("positioningorder");for(var T=0;T<e.length;T+=1){var A=true;for(var S=T+1;S<e.length;S+=1){A=F[e[T]].fills>=F[e[S]].fills;if(!A){break}}if(A){return F[e[T]]}}return F.right},setX:function(b){YAHOO.util.Dom.setStyle(this.mdivPopUp,"left",b+"px");this.alignFang()},setY:function(b){YAHOO.util.Dom.setStyle(this.mdivPopUp,"top",b+"px");this.alignFang()},setFangX:function(b){this.moConfig.setProperty("fangx",b);this.alignFang()},setFangY:function(b){this.moConfig.setProperty("fangy",b);this.alignFang()},getTopAndBottomFangHeight:function(){YAHOO.util.Dom.addClass(this.mdivTest,a.CssPopUpFangTop);var b=Math.abs(Sigalert.common.element.getDimension(this.mdivTest,"top"));YAHOO.util.Dom.removeClass(this.mdivTest,a.CssPopUpFangTop);return b},getTopAndBottomFangWidth:function(){YAHOO.util.Dom.addClass(this.mdivTest,a.CssPopUpFangTop);var b=Math.abs(Sigalert.common.element.getDimension(this.mdivTest,"width"));YAHOO.util.Dom.removeClass(this.mdivTest,a.CssPopUpFangTop);return b},getLeftAndRightFangHeight:function(){YAHOO.util.Dom.addClass(this.mdivTest,a.CssPopUpFangLeft);var b=Math.abs(Sigalert.common.element.getDimension(this.mdivTest,"height"));YAHOO.util.Dom.removeClass(this.mdivTest,a.CssPopUpFangLeft);return b},getLeftAndRightFangWidth:function(){YAHOO.util.Dom.addClass(this.mdivTest,a.CssPopUpFangLeft);var b=Math.abs(Sigalert.common.element.getDimension(this.mdivTest,"left"));YAHOO.util.Dom.removeClass(this.mdivTest,a.CssPopUpFangLeft);return b},getNonBodyWidth:function(){return Sigalert.common.element.getHorizontalPadding(this.mdivContent)+Sigalert.common.element.getHorizontalBorder(this.mdivContent)+Sigalert.common.element.getHorizontalMargin(this.mdivContent)+Sigalert.common.element.getHorizontalPadding(this.mdivInnerBorder)+Sigalert.common.element.getHorizontalBorder(this.mdivInnerBorder)+Sigalert.common.element.getHorizontalMargin(this.mdivInnerBorder)+Sigalert.common.element.getHorizontalPadding(this.mdivPane)+Sigalert.common.element.getHorizontalBorder(this.mdivPane)+Sigalert.common.element.getHorizontalMargin(this.mdivPane)+Sigalert.common.element.getHorizontalPadding(this.mdivPopUp)+Sigalert.common.element.getHorizontalBorder(this.mdivPopUp)+Sigalert.common.element.getHorizontalMargin(this.mdivPopUp)},getNonBodyHeight:function(){var b=Sigalert.common.element.getVerticalPadding(this.mdivContent)+Sigalert.common.element.getVerticalBorder(this.mdivContent)+Sigalert.common.element.getVerticalMargin(this.mdivContent)+Sigalert.common.element.getVerticalPadding(this.mdivInnerBorder)+Sigalert.common.element.getVerticalBorder(this.mdivInnerBorder)+Sigalert.common.element.getVerticalMargin(this.mdivInnerBorder)+Sigalert.common.element.getVerticalPadding(this.mdivPane)+Sigalert.common.element.getVerticalBorder(this.mdivPane)+Sigalert.common.element.getVerticalMargin(this.mdivPane)+Sigalert.common.element.getVerticalPadding(this.mdivPopUp)+Sigalert.common.element.getVerticalBorder(this.mdivPopUp)+Sigalert.common.element.getVerticalMargin(this.mdivPopUp);if(this.mdivHeader&&this.moConfig.getProperty("showheaderad")){b+=a.IntAdHeight+Sigalert.common.element.getVerticalPadding(this.mdivHeader)+Sigalert.common.element.getVerticalBorder(this.mdivHeader)+Sigalert.common.element.getVerticalMargin(this.mdivHeader)}if(this.mdivFooter&&this.moConfig.getProperty("showfooterad")){b+=a.IntAdHeight+Sigalert.common.element.getVerticalPadding(this.mdivFooter)+Sigalert.common.element.getVerticalBorder(this.mdivFooter)+Sigalert.common.element.getVerticalMargin(this.mdivFooter)}return b},getFangLeft:function(){return Sigalert.common.element.getDimension(this.mdivFang,"left")},getHeight:function(){return Sigalert.common.element.getHeight(this.mdivPopUp)},getWidth:function(){return Sigalert.common.element.getWidth(this.mdivPopUp)},getBodyHeight:function(){return Sigalert.common.element.getHeight(this.mdivContent)},alignFang:function(){switch(this.moConfig.getProperty("fangpos")){case"top":YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangBottom);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangLeft);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangRight);YAHOO.util.Dom.addClass(this.mdivFang,a.CssPopUpFangTop);YAHOO.util.Dom.setStyle(this.mdivFang,"top","");YAHOO.util.Dom.setStyle(this.mdivFang,"left",this.moConfig.getProperty("fangx")+"px");break;case"bottom":YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangTop);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangLeft);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangRight);YAHOO.util.Dom.addClass(this.mdivFang,a.CssPopUpFangBottom);YAHOO.util.Dom.setStyle(this.mdivFang,"top","");YAHOO.util.Dom.setStyle(this.mdivFang,"left",this.moConfig.getProperty("fangx")+"px");break;case"left":YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangTop);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangBottom);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangRight);YAHOO.util.Dom.addClass(this.mdivFang,a.CssPopUpFangLeft);YAHOO.util.Dom.setStyle(this.mdivFang,"left","");YAHOO.util.Dom.setStyle(this.mdivFang,"top",this.moConfig.getProperty("fangy")+"px");break;case"right":YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangTop);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangBottom);YAHOO.util.Dom.removeClass(this.mdivFang,a.CssPopUpFangLeft);YAHOO.util.Dom.addClass(this.mdivFang,a.CssPopUpFangRight);YAHOO.util.Dom.setStyle(this.mdivFang,"left","");YAHOO.util.Dom.setStyle(this.mdivFang,"top",this.moConfig.getProperty("fangy")+"px");break}},onCloseBtnClicked:function(){this.hide()},setCaptureMouseEvents:function(b){this.moConfig.setProperty("capturemousevents",b)},_subscribeToMouseEvents:function(){var b=YAHOO.util.Event;b.on(this.mdivPopUp,"mousedown",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"mouseup",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"mouseout",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"mouseover",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"dblclick",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"mousemove",this._onMouseEvent,null,this);b.on(this.mdivPopUp,"click",this._onMouseEvent,null,this)},_unsubscribeToMouseEvents:function(){var b=YAHOO.util.Event;b.removeListener(this.mdivPopUp,"mousedown",this._onMouseEvent);b.removeListener(this.mdivPopUp,"mouseup",this._onMouseEvent);b.removeListener(this.mdivPopUp,"mouseout",this._onMouseEvent);b.removeListener(this.mdivPopUp,"mouseover",this._onMouseEvent);b.removeListener(this.mdivPopUp,"dblclick",this._onMouseEvent);b.removeListener(this.mdivPopUp,"mousemove",this._onMouseEvent);b.removeListener(this.mdivPopUp,"click",this._onMouseEvent)},_onMouseEvent:function(b){if(this.moConfig.getProperty("capturemousevents")){this.onMouseEvent.fire({src:this,e:b});YAHOO.util.Event.stopPropagation(b)}},_createAdMarkup:function(){this.mdivAdParent=make("div");this.mstrUnitId=YAHOO.util.Dom.generateId(null,"idPopUnit");this.mdivAdParent.id=this.mstrUnitId+"Parent";YAHOO.util.Dom.setStyle(this.mdivAdParent,"width",a.IntAdWidth+"px");YAHOO.util.Dom.setStyle(this.mdivAdParent,"height",a.IntAdHeight+"px");if(Sigalert.common.Sponsor.getShowCustomPopupInsert()){this.mdivAdParent.appendChild(Sigalert.common.Sponsor.createPartnerUnit("Pop",this.mstrUnitId,a.IntAdWidth,a.IntAdHeight))}return this.mdivAdParent},init:function(b){this.initConfig();this.moConfig.loadConfig(b);this.mdivPopUp=make("div");this.mdivInnerBorder=make("div");this.mdivPane=make("div");this.mdivFang=make("div");this.mdivCloseBtn=make("div");this.mdivContent=make("div");this.mdivTest=make("div");this.mdivContentTest=make("div");YAHOO.util.Dom.addClass(this.mdivPopUp,a.CssPopUpMain);YAHOO.util.Dom.addClass(this.mdivPopUp,a.CssMain);YAHOO.util.Dom.addClass(this.mdivPopUp,a.CssPopUp);YAHOO.util.Dom.addClass(this.mdivInnerBorder,a.CssInnerBorder);YAHOO.util.Dom.addClass(this.mdivPane,a.CssPopUpPane);YAHOO.util.Dom.addClass(this.mdivPane,a.CssPane);YAHOO.util.Dom.addClass(this.mdivFang,a.CssPopUpFang);YAHOO.util.Dom.addClass(this.mdivFang,Sigalert.common.CssFixPng);YAHOO.util.Dom.addClass(this.mdivCloseBtn,a.CssCloseBtn);YAHOO.util.Dom.addClass(this.mdivCloseBtn,a.CssDetailsCloseBtn);YAHOO.util.Dom.addClass(this.mdivCloseBtn,Sigalert.common.CssFixPng);YAHOO.util.Dom.setStyle(this.mdivTest,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivTest,"visibility","hidden");YAHOO.util.Dom.setStyle(this.mdivContentTest,"position","absolute");YAHOO.util.Dom.setStyle(this.mdivContentTest,"visibility","hidden");YAHOO.util.Event.on(this.mdivCloseBtn,"click",this.onCloseBtnClicked,null,this);if(this.moConfig.getProperty("capturemousevents")){this._subscribeToMouseEvents()}if(Sigalert.common.Sponsor.getShowCustomPopupInsert()||Sigalert.common.Sponsor.getShowAds()){if(this.moConfig.getProperty("showheaderad")){this.mdivHeader=make("div");this.mdivHeader.align="center";YAHOO.util.Dom.addClass(this.mdivHeader,a.CssHeader);this.mdivInnerBorder.appendChild(this.mdivHeader);this.mdivInnerBorder.appendChild(this.mdivCloseBtn);this.mdivHeader.appendChild(this._createAdMarkup());this.mdivInnerBorder.appendChild(this.mdivPane)}else{if(this.moConfig.getProperty("showfooterad")){this.mdivInnerBorder.appendChild(this.mdivPane);this.mdivFooter=make("div");this.mdivFooter.align="center";YAHOO.util.Dom.addClass(this.mdivFooter,a.CssFooter);this.mdivInnerBorder.appendChild(this.mdivFooter);this.mdivFooter.appendChild(this._createAdMarkup())}else{this.mdivInnerBorder.appendChild(this.mdivPane)}}}else{this.mdivInnerBorder.appendChild(this.mdivPane)}this.mdivPopUp.appendChild(this.mdivInnerBorder);this.mdivPopUp.appendChild(this.mdivFang);this.mdivPopUp.appendChild(this.mdivTest);document.body.appendChild(this.mdivContentTest);if(!this.mdivCloseBtn.parentNode){this.mdivPane.appendChild(this.mdivCloseBtn)}this.mdivPane.appendChild(this.mdivContent)},initConfig:function(){this.moConfig=new Sigalert.controls.Config();this.moConfig.setProperty("minwidth",352);this.moConfig.setProperty("maxwidth",352);this.moConfig.setProperty("minheight",-1);this.moConfig.setProperty("maxheight",-1);this.moConfig.setProperty("constraintoviewport",false);this.moConfig.setProperty("opacity",0.9);this.moConfig.setProperty("fangx",0);this.moConfig.setProperty("fangy",0);this.moConfig.setProperty("fangpos","left");this.moConfig.setProperty("pointsat",null);this.moConfig.setProperty("capturemousevents",false);this.moConfig.setProperty("trackposition",false);this.moConfig.setProperty("showheaderad",true);this.moConfig.setProperty("showfooterad",false);this.moConfig.setProperty("positioningorder",["right","left","above","below"]);this.moConfig.setProperty("offsets",{top:0,right:0,bottom:0,left:0})}}}());(function(){function a(f){var j=f.region;var n=Sigalert.TrafficData.Index;var h=Sigalert.TrafficData[j].Incidents;var m=[];var l=0;for(var g=0;g<h.length;g+=1){var k=h[g];if(!k[n.IncRoad]){m[l]={type:"i",index:g,id:k[n.IncId],time:k[n.IncTime],location:k[n.IncLoc],incidentType:k[n.IncType],severity:k[n.IncSeverity]};l+=1}}return{data:m}}function e(k){var v=k.region;var B=k.startIndex;var h=k.endIndex;var w=k.allowInvalidSpeeds;var C=Sigalert.TrafficData[v];var r=C.Speeds;var I=C.Incidents;var l=C.Cameras||[];var M=C.Roads;var z=C.SensorNames;var n=Sigalert.TrafficData.Index;var D=[];var s=false;var E=0;var H=C.RoadSections;var L=C.Roads[H[k.roadSectionId][n.RoadSecRoadId]];var y=B===-1?H[L[n.RoadFirstSecId]][n.RoadSecFirstSpeedId]:B;var q=h===-1?H[L[n.RoadLastSecId]][n.RoadSecLastSpeedId]:h;var g=r.length;var x=[],u=L[n.RoadFirstSecId],p=L[n.RoadLastSecId],f=u,J=null;for(var G=y;G<g&&G<=q;G+=1){J=r[G];if(J[n.SpeedHov]){s=true}if(u<=p&&G===H[u][n.RoadSecFirstSpeedId]){x[x.length]={index:E,id:u};f=u;u+=1}if(w||(J[n.Speed]>=0||J[n.SpeedHov]>=0)){D[E]={type:"s",index:G,id:G,intersection:z[G],speed:J[n.Speed]>=0?J[n.Speed]:"N/A",hovSpeed:J[n.SpeedHov]>=0?J[n.SpeedHov]:""};E+=1}var A=J[n.SpeedItems];if(A&&A.length>0){for(var F=0;F<A.length;F+=1){var K=A[F];switch(K[n.SpeedItemType]){case 0:if(I.length>0){var m=I[K[n.SpeedItemIndex]];if(m){D[E]={type:"i",index:K[n.SpeedItemIndex],id:m[n.IncId],time:m[n.IncTime],location:m[n.IncLoc],incidentType:m[n.IncType],severity:m[n.IncSeverity]};E+=1}}break;case 1:if(l.length>0){var t=K[n.SpeedItemIndex];var o=l[t];if(o){D[E]={type:"c",index:K[n.SpeedItemIndex],id:o[n.CamId],description:o[n.CamRamp],road:Sigalert.data.Cameras.getCameraRoadName(v,f,t),url:o[n.CamUrl]};E+=1}}break}}}}return{data:D,hasHov:s,dataSections:x}}function d(m){var l=m.region;var f=m.itemType;var o=m.itemId;var h=Sigalert.TrafficData.Index;var g=null;var n=-1;var k=-1;switch(f){case"s":k=o;break;case"i":g=Sigalert.TrafficData[l].Incidents;n=Sigalert.TrafficData.Index.IncId;break;case"c":g=Sigalert.TrafficData[l].Cameras;n=Sigalert.TrafficData.Index.CamId;break}if(g){for(var j=0;j<g.length;j+=1){if(g[j][n]===o){k=j;break}}}if(k>0){return c(l,f,k)}return{}}function c(i,f,g){var l=Sigalert.TrafficData.Index;switch(f){case"s":var h=Sigalert.TrafficData[i].Speeds[g];return{type:"s",index:g,id:g,intersection:Sigalert.TrafficData[i].SensorNames[g],speed:h[l.Speed]>=0?h[l.Speed]:"N/A",hovSpeed:h[l.SpeedHov]>=0?h[l.SpeedHov]:""};case"i":if(g!==-1){var k=Sigalert.TrafficData[i].Incidents[g];return{type:"i",index:g,id:k[l.IncId],time:k[l.IncTime],location:k[l.IncLoc],incidentType:k[l.IncType],severity:k[l.IncSeverity]}}break;case"c":if(g!==-1){var j=aCams[g];return{type:"c",index:g,id:j[l.CamId],description:j[l.CamRamp],road:j[l.CamRoad],url:j[l.CamUrl]}}break}return{}}var b=Sigalert.data.Manager;Sigalert.namespace("data");Sigalert.data.RoadSummary={getSummaryForSurfaceStreets:function(i,f,j,h){var g=Sigalert.data.Manager;g.process(i,g.createProcData(g.createCallback(f,j,h),g.createCallback(a,{region:i},null)))},getSummaryForItemById:function(k,f,l,i,g,j){var h=Sigalert.data.Manager;h.process(k,h.createProcData(h.createCallback(f,l,i),h.createCallback(d,{region:k,itemType:g,itemId:j},null)))},getSummaryForRoad:function(h,f,i,g,j){this.getSummaryForRoadSegment(h,f,i,g,j,-1,-1)},getSummaryForRoadSegment:function(i,h,g,n,k,f,l,j){var m=Sigalert.data.Manager;m.process(i,m.createProcData(m.createCallback(h,g,n),m.createCallback(e,{region:i,roadSectionId:k,startIndex:f,endIndex:l,allowInvalidSpeeds:j},null)))}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.RoadSummaryControl=function(b){this.mTable=null;this.mHeaderRow=null;this.mNoDataRow=null;this.mFilterHidesDataRow=null;this.mContainer=null;this.miRowColor=0;this.moLoadingParams={func:null,args:[]};this.miStartSpeedIndex=-1;this.miEndSpeedIndex=-1;this.midCurrentRoadSection=0;this.moFocusOptions={type:"",id:-1,numItems:-1,byHeight:false};this.menmFocusMode=a.ModeNormal;this.mstrCurrentTitle="";this.mbTrackPopUpPosition=false;this.moConfig=null;this.mbShowSpeeds=true;this.mbShowIncidents=true;this.mbShowCameras=true;this.moSummaryData=null;this.mpnlDetails=null;this.mPopUpDetails=null;this.mTableParentNode=null;this.onBeginRetrievingSummaryDetails=null;this.onEndRetrievingSummaryDetails=null;this.onFailedRetrievingSummaryDetails=null;this.init(b)};var a=Sigalert.controls.RoadSummaryControl;a.CssSummaryTable="summary-table";a.CssFocusLine="summary-focus-line";a.CssSummaryNoDataRow="ListBodyRowEmpty";a.CssSummaryNoDataCell="ListBodyCellEmpty";a.CssSummaryHeaderRow="SummaryHeaderRow";a.CssSummaryHeaderCell="summary-header-cell";a.CssSummaryHeaderRampCell="summary-header-ramp-cell";a.CssSummaryHeaderSpeedCell="summary-header-speed-cell";a.CssSummaryHeaderHovCell="summary-header-hov-cell";a.CssHovIcon="SummaryHovIcon";a.CssSummaryRow="ListBodyRow1";a.CssSummaryAlternateRow="ListBodyRow2";a.CssFocusedRow="summary-focused-row";a.CssSummaryCell="summary-cell";a.CssSummaryCameraCell="SummaryCameraCell";a.CssSummaryIncidentCell="IncidentSummaryCell";a.CssSummaryRampCell="summary-ramp-cell";a.CssSummarySpeedCell="summary-speed-cell";a.CssSummaryFastSpeedCell="MphFast";a.CssSummarySlowSpeedCell="MphSlow";a.CssSummaryMinorIncident="SummaryMinorIncident";a.CssSummaryModerateIncident="SummaryModerateIncident";a.CssSummarySevereIncident="SummarySevereIncident";a.CssIncidentCellAccident="SummaryIncidentClickableAccidentText";a.CssIncidentCellTimeStamp="SummaryIncidentTimeStamp";a.CssClickableCell="summary-clickable-cell";a.CssSummarySpeedPrefix="Mph";a.CssSectionHeaderRow="SummarySectionHeaderRow";a.CssSectionHeaderCell="SummarySectionHeaderCell";a.ModeNormal=0;a.ModeFocus=1;a.ModeItem=2;a.ModeSurface=3;a.StrNoData="Data Unavailable";a.StrFilterHidesData="Filter Settings Hide All Data";Sigalert.controls.RoadSummaryControl.prototype={getShowSpeeds:function(){return this.mbShowSpeeds},getShowIncidents:function(){return this.mbShowIncidents},getShowCameras:function(){return this.mbShowCameras},init:function(d){this.initConfig();this.moConfig.loadConfig(d);this.mTable=make("table");YAHOO.util.Dom.addClass(this.mTable,a.CssSummaryTable);YAHOO.util.Event.on(this.mTable,"mousedown",this.onEntryClicked,null,this);var f=make("colgroup");var b=make("col");var e=make("col");var c=make("col");f.appendChild(b);f.appendChild(e);f.appendChild(c);YAHOO.util.Dom.addClass(e,"colspeed");YAHOO.util.Dom.addClass(c,"colspeed");this.mTable.appendChild(f);Sigalert.data.Manager[this.moConfig.getProperty("region")].onDataUpdated.subscribe(this.onTrafficDataUpdated,null,this)},render:function(b){if(typeof b=="string"){b=document.getElementById(b)}if(b){b.appendChild(this.mTable)}else{return false}this.mContainer=b;return true},onTrafficDataUpdated:function(){if(this.moLoadingParams.func){this.moLoadingParams.func.apply(this,this.moLoadingParams.args)}},getHeaderHeight:function(){this.insertTableHeaderRow();var b=Sigalert.common.element.getHeight(this.mHeaderRow);this.deleteTableRows();return b},getRowHeight:function(e){var d=this.insertItem(-1,false,"t",-1,-1,true);var b=d.insertCell(-1);YAHOO.util.Dom.addClass(b,a.CssSummaryCell);YAHOO.util.Dom.addClass(b,a.CssSummaryRampCell);b.innerHTML="Test";var c=Sigalert.common.element.getHeight(d)*e;this.deleteTableRows();return c},setEmptyRow:function(c,e){this.deleteTableRows();var d=this.insertItem(-1,false,"e",-1,-1,true);YAHOO.util.Dom.addClass(d,e);var b=d.insertCell(-1);b.colSpan=3;YAHOO.util.Dom.addClass(b,a.CssSummaryCell);if(typeof c==="string"){b.innerHTML=c}else{b.appendChild(c)}},scrollTo:function(c,n,e){if(!this.moSummaryData){return}for(var f=0;f<this.mTable.rows.length;f+=1){if(this.mTable.rows[f].itemType===c){if(this.mTable.rows[f].itemId==n||(c==="s"&&this.mTable.rows[f].itemIndex==n)){var l=YAHOO.util.Dom.getViewportHeight();var o=this.mTable.rows[f];if(e){var k=YAHOO.util.Dom.getY(o)}else{var k=YAHOO.util.Dom.getY(o)-l/2}var h=this;var g=null;var m=1000;var b=k/m;var d=(new Date()).getTime();function j(){var i=b*((new Date()).getTime()-d);if(i<k){window.scrollTo(0,i)}else{clearInterval(g);window.scrollTo(0,k);h.showItemDetails(o)}}g=setInterval(j,1);break}}}},loadSummaryForSurfaceStreets:function(){var c=Array.prototype.slice.call(arguments);var b=function(d){this.loadSummary(a.ModeSurface,"Surface Streets",d);this.moLoadingParams.func=this.loadSummaryForSurfaceStreets;this.moLoadingParams.args=c;this.mstrCurrentTitle=""};Sigalert.data.RoadSummary.getSummaryForSurfaceStreets(this.moConfig.getProperty("region"),b,null,this)},loadSummaryForItem:function(d,e,f){var c=Array.prototype.slice.call(arguments);var b=function(g){this.loadItem(a.ModeItem,g,f);this.moLoadingParams.func=this.loadSummaryForItem;this.moLoadingParams.args=c;this.mstrCurrentTitle="";this.moFocusOptions.type=d;this.moFocusOptions.id=e};Sigalert.data.RoadSummary.getSummaryForItemById(this.moConfig.getProperty("region"),b,null,this,d,e)},isItemLoaded:function(b,c){return this.menmFocusMode===a.ModeItem&&this.moFocusOptions.type===b&&this.moFocusOptions.id===c},loadFakeSummaryForFocusedItem:function(d){var b={hasHov:false,data:[]};for(var c=0;c<d;c+=1){b.data[c]={hovSpeed:"",index:c,intersection:"Skirball Center Dr / Mulholland Dr",speed:54,type:"s",id:3}}this.loadFocusedItem(a.ModeFocus,"1 West","s",3,d,b)},loadSummaryForFocusedItem:function(i,c,f,g,h,e){var d=Array.prototype.slice.call(arguments);var b=function(j){if(j.data.length===0){this.loadSummaryForItem(f,g)}else{this.loadFocusedItem(a.ModeFocus,c,f,g,h,j);this.moLoadingParams.func=this.loadSummaryForFocusedItem;this.moLoadingParams.args=d;this.midCurrentRoadSection=i;this.mstrCurrentTitle=c}};Sigalert.data.RoadSummary.getSummaryForRoadSegment(this.moConfig.getProperty("region"),b,null,this,i,-1,-1,e)},isFocusedItemLoaded:function(e,b,c,d){return this.menmFocusMode===a.ModeFocus&&this.midCurrentRoadSection===e&&this.moFocusOptions.type===b&&this.moFocusOptions.id===c&&this.moFocusOptions.numItems===d},loadSummaryForRoad:function(c,b){this.loadSummaryForRoadSegment(c,-1,-1,b)},isRoadLoaded:function(b){return this.isRoadSegmentLoaded(b,-1,-1)},loadSummaryForRoadSegment:function(g,e,f,d){var c=Array.prototype.slice.call(arguments);var b=function(h){this.loadSummary(a.ModeNormal,Sigalert.data.Roads.getFirstRoadSectionLongName(this.moConfig.getProperty("region"),g),h);this.moLoadingParams.func=this.loadSummaryForRoadSegment;this.moLoadingParams.args=c;this.midCurrentRoadSection=g;this.miStartSpeedIndex=e;this.miEndSpeedIndex=f};Sigalert.data.RoadSummary.getSummaryForRoadSegment(this.moConfig.getProperty("region"),b,null,this,g,e,f,d)},isRoadSegmentLoaded:function(d,b,c){return this.menmFocusMode===a.ModeNormal&&this.midCurrentRoadSection===d&&this.miStartSpeedIndex===b&&this.miEndSpeedIndex===c},setTrackPopUpPosition:function(b){this.mbTrackPopUpPosition=b;if(this.mPopUpDetails){this.mPopUpDetails.setTrackPosition(this.mbTrackPopUpPosition)}},toggleSpeeds:function(){this.mbShowSpeeds=!this.mbShowSpeeds;if(this.mbShowSpeeds){this.unFilterSummaryList("s")}else{this.filterSummaryList("s")}},toggleIncidents:function(){this.mbShowIncidents=!this.mbShowIncidents;if(this.mbShowIncidents){this.unFilterSummaryList("i")}else{this.filterSummaryList("i")}},toggleCameras:function(){this.mbShowCameras=!this.mbShowCameras;if(this.mbShowCameras){this.unFilterSummaryList("c")}else{this.filterSummaryList("c")}},hideCameras:function(){this.mbShowCameras=false;if(this.moSummaryData){this.loadSummary(this.menmFocusMode,Sigalert.data.Roads.getFirstRoadSectionLongName(this.moConfig.getProperty("region"),this.midCurrentRoadSection),this.moSummaryData)}},reColorSummaryTable:function(){var c=0;for(var b=this.moConfig.getProperty("showheader")?1:0;b<this.mTable.rows.length;b+=1){if(!this.mTable.rows[b].doNotColor){if(c===0){YAHOO.util.Dom.replaceClass(this.mTable.rows[b],a.CssSummaryAlternateRow,a.CssSummaryRow);c=1}else{YAHOO.util.Dom.replaceClass(this.mTable.rows[b],a.CssSummaryRow,a.CssSummaryAlternateRow);c=0}}}},filterSummaryList:function(b){if(this.moSummaryData){this.loadSummary(this.menmFocusMode,Sigalert.data.Roads.getFirstRoadSectionLongName(this.moConfig.getProperty("region"),this.midCurrentRoadSection),this.moSummaryData)}},unFilterSummaryList:function(b){if(this.moSummaryData){this.loadSummary(this.menmFocusMode,Sigalert.data.Roads.getFirstRoadSectionLongName(this.moConfig.getProperty("region"),this.midCurrentRoadSection),this.moSummaryData)}},adjustPopUpPosition:function(){if(this.mPopUpDetails&&this.mPopUpDetails.rowEntry&&this.mPopUpDetails.rowEntry.popUpOpen){this.mPopUpDetails.show(this.mPopUpDetails.rowEntry,"element")}},initConfig:function(){this.moConfig=new Sigalert.controls.Config();this.moConfig.setProperty("showheader",false);this.moConfig.setProperty("disablepopups",false);this.moConfig.setProperty("region","");this.moConfig.setProperty("showsectionheaders",false)},hideDetailsPopUp:function(){if(this.mPopUpDetails){this.mPopUpDetails.hide()}},showDetailsPopUp:function(f,c,d){var e=this;if(!this.mPopUpDetails){this.mPopUpDetails=new Sigalert.controls.PopUpControl({constraintoviewport:true,pointsat:this.mTable,trackposition:this.mbTrackPopUpPosition});this.mPopUpDetails.render(document.body);var b=function(){e.mPopUpDetails.rowEntry.popUpOpen=false};this.mPopUpDetails.onHide=b}this.mPopUpDetails.rowEntry=f;this.mPopUpDetails.setBody(d);this.mPopUpDetails.show(f,"element");f.popUpOpen=true},showCameraDetails:function(c){this.hideDetailsPopUp();var b=document.createElement("img");YAHOO.util.Dom.addClass(b,Sigalert.common.CssFixPng);YAHOO.util.Dom.addClass(b,Sigalert.controls.PopUpControl.CssBody);b.width=352;b.height=240;b.src=c.details+(c.details.indexOf("?")===-1?"?":"&")+Sigalert.common.generateImageTimeStamp();this.showDetailsPopUp(c,"Camera",b)},showIncidentDetails:function(b){this.hideDetailsPopUp();this.showDetailsPopUp(b,"Accident",Sigalert.common.createIncidentDetailsContainer(b.details))},onIncidentDetailsRetrieved:function(b,c){c.details=b;this.showIncidentDetails(c);if(this.onEndRetrievingSummaryDetails){this.onEndRetrievingSummaryDetails(this)}},retrieveIncidentDetails:function(b){if(this.onBeginRetrievingSummaryDetails){this.onBeginRetrievingSummaryDetails(this)}Sigalert.data.Incidents.getIncidentDetails(this.moConfig.getProperty("region"),b.itemId,{success:this.onIncidentDetailsRetrieved,scope:this,argument:b})},showItemDetails:function(b){if(b.popUpOpen){this.hideDetailsPopUp()}else{if(b.details){switch(b.itemType){case"i":this.showIncidentDetails(b);break;case"c":this.showCameraDetails(b);break}}else{switch(b.itemType){case"i":this.retrieveIncidentDetails(b);break}}}},onEntryClicked:function(c){if(!this.moConfig.getProperty("disablepopups")){var b=YAHOO.util.Event.getTarget(c);while(b!==this.mTable){if(b.nodeName.toLowerCase()==="tr"){if(b!==this.mHeaderRow&&b!==this.mNoDataRow&&b!==this.mFilterHidesDataRow){this.showItemDetails(b)}break}b=b.parentNode}}},deleteTableRows:function(){this.mHeaderRow=null;this.mNoDataRow=null;this.mFilterHidesDataRow=null;while(this.mTable.rows.length!==0){this.mTable.deleteRow(-1)}this.resetData()},resetData:function(){this.moSummaryData=null;this.menmFocusMode=a.ModeNormal;this.miStartSpeedIndex=-1;this.miEndSpeedIndex=-1;this.moFocusOptions={type:"",id:-1,numItems:-1,byHeight:false}},insertTableHeaderRow:function(c){this.mHeaderRow=this.mTable.insertRow(0);this.mHeaderRow.itemType="h";YAHOO.util.Dom.addClass(this.mHeaderRow,a.CssSummaryHeaderRow);var e=this.mHeaderRow.insertCell(-1);YAHOO.util.Dom.addClass(e,a.CssSummaryHeaderCell);YAHOO.util.Dom.addClass(e,a.CssSummaryHeaderRampCell);e.innerHTML="Ramp";var d=this.mHeaderRow.insertCell(-1);YAHOO.util.Dom.addClass(d,a.CssSummaryHeaderCell);YAHOO.util.Dom.addClass(d,a.CssSummaryHeaderSpeedCell);d.innerHTML="MPH";if(c){var b=this.mHeaderRow.insertCell(-1);YAHOO.util.Dom.addClass(b,a.CssSummaryHeaderCell);YAHOO.util.Dom.addClass(b,a.CssSummaryHeaderHovCell);YAHOO.util.Dom.addClass(b,a.CssHovIcon);YAHOO.util.Dom.addClass(b,Sigalert.common.CssFixPng)}else{e.colSpan=2}},insertNoDataRow:function(){this.mNoDataRow=this.mTable.insertRow(0);YAHOO.util.Dom.addClass(this.mNoDataRow,a.CssSummaryNoDataRow);var b=this.mNoDataRow.insertCell(-1);b.colSpan=3;YAHOO.util.Dom.addClass(b,a.CssSummaryNoDataCell);b.innerHTML=a.StrNoData},insertFilterHidesDataRow:function(){this.mFilterHidesDataRow=this.mTable.insertRow(-1);YAHOO.util.Dom.addClass(this.mFilterHidesDataRow,a.CssSummaryNoDataRow);var b=this.mFilterHidesDataRow.insertCell(-1);b.colSpan=3;YAHOO.util.Dom.addClass(b,a.CssSummaryNoDataCell);b.innerHTML=a.StrFilterHidesData},insertItem:function(h,f,c,e,d,b){if(h>=0&&h<this.mTable.rows.length){var g=this.mTable.insertRow(h)}else{var g=this.mTable.insertRow(-1)}g.itemType=c;g.itemIndex=e;g.dataIndex=d;if(!b){if(this.miRowColor===0){YAHOO.util.Dom.addClass(g,a.CssSummaryRow);this.miRowColor=1}else{YAHOO.util.Dom.addClass(g,a.CssSummaryAlternateRow);this.miRowColor=0}}else{g.doNotColor=true}return g},insertCameraItem:function(g,e,c,h,d){var f=this.insertItem(g,e,h.type,h.index,d);f.itemId=h.id;f.details=h.url;var b=f.insertCell(-1);YAHOO.util.Dom.addClass(b,a.CssSummaryCell);YAHOO.util.Dom.addClass(b,a.CssSummaryCameraCell);if(!this.moConfig.getProperty("disablepopups")){YAHOO.util.Dom.addClass(b,a.CssClickableCell)}b.colSpan=3;b.innerHTML="<div class='SummaryCamera'>"+h.road+" at "+h.description+"</div>";return f},createIncidentItem:function(c){var b=make("div");b.innerHTML=(this.moConfig.getProperty("disablepopups")?"<span>":"<span class='"+a.CssIncidentCellAccident+"'>")+c.incidentType.replace(" - No Details","")+"</span><br/>"+c.location+"<br/><span class='"+a.CssIncidentCellTimeStamp+"'>Occurred at "+c.time+"</span>";YAHOO.util.Dom.addClass(b,a.CssSummaryCell);YAHOO.util.Dom.addClass(b,"SummaryIncident");if(c.severity>=100){YAHOO.util.Dom.addClass(b,a.CssSummarySevereIncident)}else{if(c.severity>=50){YAHOO.util.Dom.addClass(b,a.CssSummaryModerateIncident)}else{if(c.severity>=0){YAHOO.util.Dom.addClass(b,a.CssSummaryMinorIncident)}}}return b},insertIncidentItem:function(f,i,h,c,g,d){var j=this.insertItem(f,i,c.type,c.index,g,true);YAHOO.util.Dom.replaceClass(j,a.CssSummaryAlternateRow,a.CssSummaryRow);j.itemId=c.id;var e=j.insertCell(-1);YAHOO.util.Dom.addClass(e,a.CssSummaryIncidentCell);if(!this.moConfig.getProperty("disablepopups")){YAHOO.util.Dom.addClass(e,a.CssClickableCell)}e.colSpan=3;var b=this.createIncidentItem(c);if(d){YAHOO.util.Dom.addClass(b,d)}e.appendChild(b);return j},insertSpeedItem:function(e,j,h,c,f){var k=this.insertItem(e,j,c.type,c.index,f);var g=k.insertCell(-1);YAHOO.util.Dom.addClass(g,a.CssSummaryCell);YAHOO.util.Dom.addClass(g,a.CssSummaryRampCell);var b=make("div");if(h){YAHOO.util.Dom.addClass(b,"summary-ramp-hov")}else{g.colSpan=2;YAHOO.util.Dom.addClass(b,"summary-ramp")}b.innerHTML=c.intersection;g.appendChild(b);var d=k.insertCell(-1);YAHOO.util.Dom.addClass(d,a.CssSummaryCell);YAHOO.util.Dom.addClass(d,a.CssSummarySpeedCell);if(c.speed!=="N/A"){if(c.speed>=Sigalert.TrafficData.FastMph){YAHOO.util.Dom.addClass(d,a.CssSummaryFastSpeedCell)}else{if(c.speed<=Sigalert.TrafficData.SlowMph){YAHOO.util.Dom.addClass(d,a.CssSummarySlowSpeedCell)}else{YAHOO.util.Dom.addClass(d,a.CssSummarySpeedPrefix+c.speed)}}}d.innerHTML=c.speed;if(c.hovSpeed!==""){var i=k.insertCell(-1);YAHOO.util.Dom.addClass(i,a.CssSummaryCell);YAHOO.util.Dom.addClass(i,a.CssSummarySpeedCell);if(c.hovSpeed!=="N/A"){if(c.hovSpeed>=55){YAHOO.util.Dom.addClass(i,a.CssSummaryFastSpeedCell)}else{if(c.hovSpeed<=15){YAHOO.util.Dom.addClass(i,a.CssSummarySlowSpeedCell)}else{YAHOO.util.Dom.addClass(i,a.CssSummarySpeedPrefix+c.hovSpeed)}}}i.innerHTML=c.hovSpeed}else{if(h){k.insertCell(-1)}}return k},insertSectionHeaderItem:function(h,g,b,f,e){var c=this.mTable.insertRow(-1);c.itemType="sh";c.itemId=f;YAHOO.util.Dom.addClass(c,a.CssSectionHeaderRow);var d=c.insertCell(-1);d.colSpan=3;YAHOO.util.Dom.addClass(d,a.CssSectionHeaderCell);d.innerHTML=Sigalert.data.Roads.getRoadLongName(this.moConfig.getProperty("region"),f)},onBeforeLoadSummary:function(b){this.miRowColor=0;this.hideDetailsPopUp();this.deleteTableRows();this.mTableParentNode=this.mTable.parentNode;if(b){this.mTable=this.mTable.parentNode.removeChild(this.mTable)}},onAfterLoadSummary:function(c,b){if(c){this.mTableParentNode.appendChild(this.mTable)}this.moSummaryData=b},loadItem:function(c,g,f){this.onBeforeLoadSummary(true);var d=false;var b="";var e=null;switch(g.type){case"s":if(this.mbShowSpeeds){e=this.insertSpeedItem(-1,this.moConfig.getProperty("showheader"),g.hovSpeed!=="",g,-1,f);b="Speed";d=true}break;case"i":if(this.mbShowIncidents){e=this.insertIncidentItem(-1,false,false,g,-1,f);b="Accident";d=true}break;case"c":if(this.mbShowCameras){e=this.insertCameraItem(-1,false,false,g,-1,f);b="Camera";d=true}break}if(!d){this.insertNoDataRow()}this.menmFocusMode=c;this.onAfterLoadSummary(true,g,b)},getFocusedItemIndex:function(d,e,f,b){for(var c=0;c<b;c+=1){if(f[c].type===d&&f[c].id===e){return c}}return -1},loadFocusedItem:function(H,h,D,z,e,n){this.onBeforeLoadSummary(false);var g=this.getRowHeight(1);var E=this.moConfig.getProperty("showheader");var w=n.data;var q=w.length;var l=0;var p=false;var y=this.getFocusedItemIndex(D,z,w,q);if(y!==-1){var r=h.toLowerCase();if(r.indexOf("west")===-1&&r.indexOf("north")===-1){var v=-1;var m=0}else{var v=0;var m=-1}var s=m;var k=y+1;var f=y;var j=[];var u=0;for(var x=y;x>=0&&x<q&&l<e;){var G=false;var F=false;var I=1;switch(w[x].type){case"s":if(this.mbShowSpeeds){if(s===-1){j.push(x)}else{j.unshift(x)}if(w[x].hovSpeed!==""){p=true}G=true}break;case"i":if(this.mbShowIncidents){var C=this.insertIncidentItem(-1,true,false,w[x],x);var d=Sigalert.common.element.getHeight(C);this.deleteTableRows();I=Math.ceil(d/g);if(l>0&&l+I>e){F=true}else{if(s===-1){j.push(x)}else{j.unshift(x)}G=true}}break;case"c":if(this.mbShowCameras){if(s===-1){j.push(x)}else{j.unshift(x)}G=true}break}if(F){u+=1;if(u>1){l=e}}else{u=0}if(G){if(s===m){f-=1;s=v;x=k;if(x<0||x>=q){x=f;s=m}}else{k+=1;s=m;x=f;if(x<0||x>=q){x=k;s=v}}l+=I}else{if(F){if(s===m){s=v;k-=1}else{s=m;f+=1}}if(s===m){f-=1;x=f;if(x<0||x>=q){x=k;s=v}}else{k+=1;x=k;if(x<0||x>=q){x=f;s=m}}}}for(var x=0;x<j.length;x+=1){var t=w[j[x]];if(j[x]===y){var o=document.createElement("div");YAHOO.util.Dom.addClass(o,a.CssFocusLine);var c=this.mTable.insertRow(-1);c.doNotColor=true;var b=c.insertCell(-1);b.colSpan=3;b.appendChild(o)}switch(t.type){case"s":if(this.mbShowSpeeds){this.insertSpeedItem(-1,true,p,t,j[x])}break;case"i":if(this.mbShowIncidents){this.insertIncidentItem(-1,true,p,t,j[x])}break;case"c":if(this.mbShowCameras){this.insertCameraItem(-1,true,p,t,j[x])}break}if(j[x]===y){YAHOO.util.Dom.addClass(this.mTable.rows[this.mTable.rows.length-1],a.CssFocusedRow);var B=this.mTable.insertRow(-1);B.doNotColor=true;var A=B.insertCell(-1);A.colSpan=3;A.appendChild(o.cloneNode(false))}}}if(l===0){this.insertNoDataRow()}else{if(E){this.insertTableHeaderRow(p)}this.reColorSummaryTable()}this.moFocusOptions.type=D;this.moFocusOptions.id=z;this.moFocusOptions.numItems=e;this.moFocusOptions.byHeight=false;this.menmFocusMode=H;this.onAfterLoadSummary(false,n,h)},loadSummary:function(n,l,d){this.onBeforeLoadSummary(true);if(d.data.length>0){var m=this.moConfig.getProperty("showheader"),c=d.data,b=d.dataSections||[],g=c.length,j=1,e=this.moConfig.getProperty("showsectionheaders"),k=d.hasHov,h=0;if(m){this.insertTableHeaderRow(k)}for(var f=0;f<g;f+=1){if(e&&j<b.length&&f===b[j].index){if(h===0&&j>1){this.insertFilterHidesDataRow()}this.insertSectionHeaderItem(-1,m,k,b[j].id,f);h=0;j+=1}switch(c[f].type){case"s":if(this.mbShowSpeeds){this.insertSpeedItem(-1,m,k,c[f],f);h+=1}break;case"i":if(this.mbShowIncidents){this.insertIncidentItem(-1,m,k,c[f],f);h+=1}break;case"c":if(this.mbShowCameras){this.insertCameraItem(-1,m,k,c[f],f);h+=1}break}}if(h===0){this.insertFilterHidesDataRow()}}else{this.insertNoDataRow()}this.menmFocusMode=n;this.onAfterLoadSummary(true,d,l)}}}());(function(){Sigalert.namespace("controls");var c=GiFindRoutesByMinutesId;function a(g,e,f){Sigalert.Ajax.send("/Ajax/GetRoutes.asp",{success:function(j){if(j.encData){for(var h=0;h<j.routes.length;h+=1){j.routes[h].encData=j.encData;j.routes[h].index=h}}if(e===c){var k=function(l,i){return l.timeminutes-i.timeminutes};j.routes.sort(k);j.routes=j.routes.slice(0,3)}if(j.region&&Sigalert.data.Manager.exists(j.region)){Sigalert.data.Manager[j.region].forceRefreshData()}if(f.success){f.success.call(f.scope,j,f.argument)}},failure:f.failure,scope:f.scope,post:"rte="+encodeURIComponent(g)+"&method="+e,severity:f.severity,errorDisplay:f.errorDisplay,timeout:f.timeout,srcFile:"/RouteRetriever.js",srcFunc:"retrieveRouteData"})}function d(e,h,g,f){Sigalert.Ajax.send("/Ajax/CheckStatusOfRouteRetrieval.asp",{success:function(i){if(i.time===0){a(i.rte,e,f)}else{if(f.update){f.update(i.time,f.argument)}var j=1000;if(i.time>10){j=5000}else{if(i.time<=2){j=500}}setTimeout(function(){d(e,h,g,f)},j)}},failure:f.failure,scope:f.scope,post:"id="+h+"&machine="+g,severity:f.severity,errorDisplay:f.errorDisplay,timeout:f.timeout,srcFile:"/RouteRetriever.js",srcFunc:"retrieveStatusOfRouteRetrievalData"})}function b(e,g,f){Sigalert.Ajax.send("/Ajax/StartRouteRetrieval.asp",{success:function(h){d(e,h.id,h.machine,f)},failure:f.failure,scope:f.scope,post:g,severity:f.severity,errorDisplay:f.errorDisplay,timeout:f.timeout,srcFile:"/RouteRetriever.js",srcFunc:"startRouteRetrieval"})}Sigalert.data.Routes={onRouteSaved:new YAHOO.util.CustomEvent("routesaved",null,false,YAHOO.util.CustomEvent.FLAT),findRoutes:function(f,h,k,j,e,i,g){g.severity=Sigalert.Ajax.Config.Severity.Medium;b(f,"sroad="+h+"&start="+k+"&eroad="+j+"&end="+e+"&method="+f+"&region="+encodeURIComponent(i),g)},findRoutesByRouteId:function(f,e,g){g.severity=Sigalert.Ajax.Config.Severity.Medium;b(f,"rte="+e+"&method="+f,g)},getRouteByRouteId:function(e,f){f.severity=Sigalert.Ajax.Config.Severity.Medium;f.srcFile="/RouteRetriever.js";f.srcFunc="getRouteByRouteId";f.post="rte="+e;if(typeof(f.success)!=="undefined"&&f.success){var g=f.success;f.success=function(h){if(h.region&&Sigalert.data.Manager.exists(h.region)){Sigalert.data.Manager[h.region].forceRefreshData()}if(g){g.call(f.scope,h,f.argument)}}}Sigalert.Ajax.send("/Ajax/GetSavedRoute.asp",f)},createAlertObject:function(f,h,e,j,g,i){return{dayMask:f,startHour:h,startMinute:e,endHour:j,endMinute:g,devices:i}},saveRoute:function(g,k,f,n,l,o,m,e){e.severity=Sigalert.Ajax.Config.Severity.Medium;e.srcFile="/RouteRetriever.js";e.srcFunc="saveRoute";var h="from="+encodeURIComponent(g)+"&to="+encodeURIComponent(k)+"&descrip="+encodeURIComponent(f)+"&rte="+encodeURIComponent(n)+"&rteindex="+l;if(o){h+="&fday="+o.dayMask;h+="&fshour="+o.startHour;h+="&fsmin="+o.startMinute;h+="&fehour="+o.endHour;h+="&femin="+o.endMinute;if(o.devices){for(var j=0;j<o.devices.length;j+=1){h+="&fd"+j+"="+o.devices[j]}}}if(m){h+="&rday="+m.dayMask;h+="&rshour="+m.startHour;h+="&rsmin="+m.startMinute;h+="&rehour="+m.endHour;h+="&remin="+m.endMinute;if(m.devices){for(var j=0;j<m.devices.length;j+=1){h+="&rd"+j+"="+m.devices[j]}}}Sigalert.Ajax.send("/Ajax/SaveRoute.asp",{success:function(i){if(e.success){e.success.call(e.scope,i,e.argument)}Sigalert.data.Routes.onRouteSaved.fire(i)},failure:e.failure,scope:e.scope,post:h,severity:e.severity,errorDisplay:e.errorDisplay,timeout:e.timeout})},saveCustomRoute:function(e,q,l,m,o,h,k,g,p,j,r,n,f){f.severity=Sigalert.Ajax.Config.Severity.Medium;f.srcFile="/RouteRetriever.js";f.srcFunc="saveCustomRoute";var i="email="+encodeURIComponent(e)+"&fphone="+q+"&fprov="+l+"&rphone="+m+"&rprov="+o+"&from="+encodeURIComponent(h)+"&to="+encodeURIComponent(k)+"&descrip="+encodeURIComponent(g)+"&rte="+encodeURIComponent(p)+"&rteindex="+j;if(r){i+="&fday="+r.dayMask;i+="&fshour="+r.startHour;i+="&fsmin="+r.startMinute;i+="&fehour="+r.endHour;i+="&femin="+r.endMinute}if(n){i+="&rday="+n.dayMask;i+="&rshour="+n.startHour;i+="&rsmin="+n.startMinute;i+="&rehour="+n.endHour;i+="&remin="+n.endMinute}f.post=i;Sigalert.Ajax.send("/Custom/Ajax/SaveRoute.asp?partner="+GstrPartnerId,f)},getSavedRouteList:function(f,e){e.severity=Sigalert.Ajax.Config.Severity.Medium;e.srcFile="/RouteRetriever.js";e.srcFunc="getSavedRouteList";e.post="region="+encodeURIComponent(f);Sigalert.Ajax.send("/Ajax/GetSavedRouteList.asp",e)},getRouteSegmentInfo:function(f,g,e){e.severity=Sigalert.Ajax.Config.Severity.Medium;e.post="rte="+encodeURIComponent(f)+"&i="+g;e.srcFile="/RouteRetriever.js";e.srcFunc="getRouteSegmentInfo";Sigalert.Ajax.send("/Ajax/GetRouteSegmentInfo.asp",e)},getSavedRouteSegmentInfo:function(e,f){f.severity=Sigalert.Ajax.Config.Severity.Medium;f.post="rte="+e;f.srcFile="/RouteRetriever.js";f.srcFunc="getSavedRouteSegmentInfo";Sigalert.Ajax.send("/Ajax/GetSavedRouteSegmentInfo.asp",f)},sendRoute:function(e,g,h,f){if(g==="Mobile Phone"){g="MobilePhone"}f.severity=Sigalert.Ajax.Config.Severity.Medium;f.post="type="+encodeURIComponent(g)+"&addr="+encodeURIComponent(h)+"&rte="+encodeURIComponent(e);f.srcFile="/RouteRetriever.js";f.srcFunc="sendRoute";Sigalert.Ajax.send("/Ajax/SendRoute.asp",f)}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.RouteControl=function(a){this.mDiv=null;this.mHeader=null;this.mTable=null;this.mTotalRow=null;this.mContainer=null;this.mdivExpandCollapse=null;this.mstrEncodedRouteData=null;this.mstrRouteSummary=null;this.miRouteIndex=null;this.miRouteId=null;this.miNumSegs=0;this.miNumLoadedSegs=0;this.moConfig=null;this.mDragDrop=null;this.onClosing=null;this.init(a)};RouteControl=Sigalert.controls.RouteControl;RouteControl.CssRoute="route-control RouteHeaderColor";RouteControl.CssDraggableRoute="DraggableRoute";RouteControl.CssRouteBorder="RouteBorder";RouteControl.CssRouteNoHeader="route-control-no-header";RouteControl.CssRouteTableContainer="ListTableContainer";RouteControl.CssHeader="route-header";RouteControl.CssHeaderBorder="RouteHeaderBorder";RouteControl.CssDraggableHeader="route-header-draggable";RouteControl.CssRouteHeader="RouteHeader";RouteControl.CssHeaderTitle="route-header-title";RouteControl.CssBody="route-body";RouteControl.CssExpandedRow="route-expanded-row";RouteControl.CssCell="RouteSegmentDivider";RouteControl.CssCellFade="RouteCellFade";RouteControl.CssTotalLabelCell="route-totallabel-cell";RouteControl.CssTotalCell="route-total-cell";RouteControl.CssTotalText="RouteTotalText";RouteControl.CssArrowCell="route-arrow-cell";RouteControl.CssArrow="route-control-arrow";RouteControl.CssArrowCollapsedCell="RouteArrowCollapsed";RouteControl.CssArrowExpandedCell="RouteArrowExpanded";RouteControl.CssSummaryCell="route-summary-cell";RouteControl.CssExpandableCell="route-expandable-cell";RouteControl.CssRoadCell="route-road-cell";RouteControl.CssRoadCellFreeway="route-road-cell-freeway";RouteControl.CssSummary="route-summary";RouteControl.CssSummaryBorder="SummaryBorder";RouteControl.CssInstructionsCell="route-instructions-cell";RouteControl.CssInstructions="route-instructions";RouteControl.CssCellDivider="RouteCellDivider";RouteControl.CssTimeCell="route-time-cell";RouteControl.CssHeaderButton="route-headerbutton";RouteControl.CssFooterButton="route-footerbutton";RouteControl.CssCloseButton="route-closebutton";RouteControl.CssCloseIcon="RouteCloseIcon";RouteControl.CssExpandCollapseButton="route-expandcollapsebutton";RouteControl.CssExpandIcon="RouteExpandIcon";RouteControl.CssCollapseIcon="RouteCollapseIcon";RouteControl.CssSaveButton="route-savebutton";RouteControl.CssSaveIcon="RouteSaveIcon";RouteControl.CssPhoneButton="route-phonebutton";RouteControl.CssPhoneIcon="RoutePhoneIcon";RouteControl.CssTotalRow="RouteTotalRow";RouteControl.CssLoadingRow="RoutePopupLoadingRow";RouteControl.CssLoading="RoutePopupLoading";RouteControl.CssLoadingText="route-popup-loading-text";RouteControl.CssSavingText="route-popup-saving-text";RouteControl.StrCloseIcon="Close Route";RouteControl.StrExpandIcon="Expand All Route Segments";RouteControl.StrCollapseIcon="Collapse All Route Segments";RouteControl.StrSaveIcon="Save Route";RouteControl.StrPhoneIcon="Send Route To Phone";RouteControl.StrLoading="Loading Route Details";RouteControl.StrSaving="Saving Route";RouteControl.StrSending="Sending Route";RouteControl.saveDialog=null;RouteControl.sendToPhoneDialog=null;Sigalert.controls.RouteControl.prototype={init:function(e){this.initConfig();this.moConfig.loadConfig(e);this.mDiv=document.createElement("div");if(this.moConfig.getProperty("showheader")){var d=document.createElement("div");YAHOO.util.Dom.addClass(d,RouteControl.CssHeader);YAHOO.util.Dom.addClass(d,RouteControl.CssHeaderBorder);YAHOO.util.Dom.addClass(d,RouteControl.CssRouteHeader);this.mHeader=document.createElement("div");YAHOO.util.Dom.addClass(this.mHeader,RouteControl.CssHeaderTitle);d.appendChild(this.mHeader);var c=document.createElement("div");c.title=RouteControl.StrCloseIcon;YAHOO.util.Dom.addClass(c,RouteControl.CssHeaderButton);YAHOO.util.Dom.addClass(c,RouteControl.CssCloseButton);YAHOO.util.Dom.addClass(c,RouteControl.CssCloseIcon);YAHOO.util.Dom.addClass(c,Sigalert.common.CssFixPng);YAHOO.util.Event.on(c,"click",this.onCloseClicked,null,this);d.appendChild(c);this.mdivExpandCollapse=document.createElement("div");this.mdivExpandCollapse.title=RouteControl.StrExpandIcon;YAHOO.util.Dom.addClass(this.mdivExpandCollapse,RouteControl.CssHeaderButton);YAHOO.util.Dom.addClass(this.mdivExpandCollapse,RouteControl.CssExpandCollapseButton);YAHOO.util.Dom.addClass(this.mdivExpandCollapse,RouteControl.CssExpandIcon);YAHOO.util.Dom.addClass(this.mdivExpandCollapse,Sigalert.common.CssFixPng);YAHOO.util.Event.on(this.mdivExpandCollapse,"click",this.onExpandCollapseClicked,null,this);d.appendChild(this.mdivExpandCollapse);this.mDiv.appendChild(d);YAHOO.util.Dom.addClass(this.mDiv,RouteControl.CssRouteTableContainer);if(this.moConfig.getProperty("draggable")){YAHOO.util.Dom.addClass(d,RouteControl.CssDraggableHeader);mDragDrop=new YAHOO.util.DD(this.mDiv);mDragDrop.setHandleElId(d);mDragDrop.routeControl=this;mDragDrop.onDrag=this.onDrag;YAHOO.util.Dom.addClass(this.mDiv,RouteControl.CssDraggableRoute)}}else{YAHOO.util.Dom.addClass(this.mDiv,RouteControl.CssRouteNoHeader)}this.mTable=document.createElement("table");var h=make("colgroup");var f=make("col");var b=make("col");var a=make("col");var g=make("col");h.appendChild(f);h.appendChild(b);h.appendChild(a);h.appendChild(g);YAHOO.util.Dom.addClass(f,"route-colarrow");YAHOO.util.Dom.addClass(b,"route-colfreeway");YAHOO.util.Dom.addClass(g,"route-coltime");this.mTable.appendChild(h);this.mDiv.appendChild(this.mTable);YAHOO.util.Dom.addClass(this.mDiv,RouteControl.CssRoute);YAHOO.util.Dom.addClass(this.mDiv,RouteControl.CssRouteBorder);YAHOO.util.Dom.addClass(this.mTable,RouteControl.CssBody);YAHOO.util.Event.on(this.mTable,"mousedown",this.onSegmentClicked,null,this);this.onClosing=new YAHOO.util.CustomEvent("closing",this,false,YAHOO.util.CustomEvent.FLAT);if(this.moConfig.getProperty("autorefresh")){Sigalert.data.Manager.onDataUpdated.subscribe(this._onTrafficDataUpdated,this,this)}},initConfig:function(){this.moConfig=new Sigalert.controls.Config();this.moConfig.setProperty("showheader",true);this.moConfig.setProperty("popupzindex",null);this.moConfig.setProperty("showsavebutton",true);this.moConfig.setProperty("showphonebutton",true);this.moConfig.setProperty("draggable",false);this.moConfig.setProperty("cansave",false);this.moConfig.setProperty("region","");this.moConfig.setProperty("autorefresh",true)},render:function(a){if(typeof a==="string"){a=$(a)}if(a){a.appendChild(this.mDiv)}else{return false}this.mContainer=a;return true},destroy:function(){Sigalert.data.Manager.onDataUpdated.unsubscribe(this._onTrafficDataUpdated,this)},_onRetrievedRouteSegmentInfo:function(a){this.updateRoute(a)},_onTrafficDataUpdated:function(a){function c(d){this.updateRoute(d)}function b(){var e={segs:[],miles:"??",speed:"??",time:"??"};for(var d=0;d<this.mTable.rows.length-1;d+=1){e.segs.push({miles:"??",speed:"??",time:"??"})}this.updateRoute(e)}if(a.src.getRegion()===this.moConfig.getProperty("region")){if(this.mstrEncodedRouteData){Sigalert.data.Routes.getRouteSegmentInfo(this.mstrEncodedRouteData,this.miRouteIndex,{scope:this,success:c,failure:b})}else{Sigalert.data.Routes.getSavedRouteSegmentInfo(this.miRouteId,{scope:this,success:c,failure:b})}}},setRegion:function(a){this.moConfig.setProperty("region",a)},setXY:function(a,b){YAHOO.util.Dom.setStyle(this.mDiv,"left",a+"px");YAHOO.util.Dom.setStyle(this.mDiv,"top",b+"px")},hide:function(){this.hidePopUp();YAHOO.util.Dom.setStyle(this.mDiv,"display","none")},show:function(){YAHOO.util.Dom.setStyle(this.mDiv,"display","block")},expandAllSegments:function(){var b=null;for(var a=0;a<this.mTable.rows.length;a+=1){b=this.mTable.rows[a];if(b!==this.mTotalRow&&b.summary&&!b.expanded){this.showSegmentSummary(b)}}},collapseAllSegments:function(){var b=null;for(var a=0;a<this.mTable.rows.length;a+=1){b=this.mTable.rows[a];if(b!==this.mTotalRow&&b.summary&&b.expanded){this.hideSegmentSummary(b)}}},showLoadingRoute:function(){Sigalert.common.deleteTableRows(this.mTable);var e=this.mTable.insertRow(-1);YAHOO.util.Dom.addClass(e,RouteControl.CssLoadingRow);var a=e.insertCell(-1);var d=make("div");YAHOO.util.Dom.addClass(d,RouteControl.CssLoading);var b=make("img");b.src=GstrImageDir+"/Loading.gif";d.appendChild(b);var c=make("span");c.innerHTML=RouteControl.StrLoading;YAHOO.util.Dom.addClass(c,RouteControl.CssLoadingText);d.appendChild(c);a.appendChild(d);this.updateExpandCollapseState()},updateRoute:function(f){for(var c=0,d=null,k=null,e=0;c<this.mTable.rows.length-1;c+=1){k=this.mTable.rows[c];if(k.routeControl){d=f.segs[e];var g="Mph",h="RouteFade",a=d.speed;if(isNaN(parseInt(a,10))){g+="NA";h+="NA"}else{if(a<=Sigalert.TrafficData.SlowMph){g+="Slow";h+="Slow"}else{if(a>=Sigalert.TrafficData.FastMph){g+="Fast";h+="Fast"}else{g+=a;h+=a}}}YAHOO.util.Dom.replaceClass(k,k.routeControl.speedClass,g);k.routeControl.speedClass=g;if(YAHOO.env.ua.ie===0||YAHOO.env.ua.ie>=7){h=RouteControl.CssCellFade}for(var b=0;b<k.cells.length;b+=1){YAHOO.util.Dom.replaceClass(k.cells[b],k.cells[b].routeControl.fadeClass,h);k.cells[b].routeControl.fadeClass=h}YAHOO.util.Dom.getElementsBy(function(i){return YAHOO.util.Dom.hasClass(i,"RouteTime")},null,k)[0].innerHTML=d.time;YAHOO.util.Dom.getElementsBy(function(i){return YAHOO.util.Dom.hasClass(i,"RouteDistance")},null,k)[0].innerHTML=d.miles+" miles";e+=1}else{k.className="";YAHOO.util.Dom.addClass(k,this.mTable.rows[c-1].className)}}var g="Mph",h="RouteFade",a=f.speed;if(isNaN(parseInt(a,10))){g+="NA";h+="NA"}else{if(a<=Sigalert.TrafficData.SlowMph){g+="Slow";h+="Slow"}else{if(a>=Sigalert.TrafficData.FastMph){g+="Fast";h+="Fast"}else{g+=a;h+=a}}}YAHOO.util.Dom.replaceClass(this.mTotalRow,this.mTotalRow.routeControl.speedClass,g);this.mTotalRow.routeControl.speedClass=g;if(YAHOO.env.ua.ie===0||YAHOO.env.ua.ie>=7){h=RouteControl.CssCellFade}for(var b=0;b<this.mTotalRow.cells.length;b+=1){YAHOO.util.Dom.replaceClass(this.mTotalRow.cells[b],this.mTotalRow.cells[b].routeControl.fadeClass,h);this.mTotalRow.cells[b].routeControl.fadeClass=h}YAHOO.util.Dom.getElementsBy(function(i){return YAHOO.util.Dom.hasClass(i,"RouteTime")},null,this.mTotalRow)[0].innerHTML=f.time;YAHOO.util.Dom.getElementsBy(function(i){return YAHOO.util.Dom.hasClass(i,"RouteDistance")},null,this.mTotalRow)[0].innerHTML=f.miles+" miles"},loadRoute:function(g,o,f){Sigalert.common.deleteTableRows(this.mTable);this.miNumLoadedSegs=0;this.miNumSegs=g.segs.length;for(var d=0;d<g.segs.length;d+=1){this.appendRouteSegment(g.segs,d,o,f,g.start,g.end)}this.mTotalRow=this.mTable.insertRow(-1);this.mTotalRow.vAlign="middle";YAHOO.util.Dom.addClass(this.mTotalRow,RouteControl.CssTotalRow);var k="Mph";var n="RouteFade";var c=Math.round(g.speed);if(c<=Sigalert.TrafficData.SlowMph){k+="Slow";n+="Slow"}else{if(c>=Sigalert.TrafficData.FastMph){k+="Fast";n+="Fast"}else{k+=c;n+=c}}YAHOO.util.Dom.addClass(this.mTotalRow,k);this.mTotalRow.routeControl={speedClass:k};if(YAHOO.env.ua.ie===0||YAHOO.env.ua.ie>=7){n=RouteControl.CssCellFade}var e=this.mTotalRow.insertCell(-1);YAHOO.util.Dom.addClass(e,RouteControl.CssCell);YAHOO.util.Dom.addClass(e,RouteControl.CssTotalLabelCell);YAHOO.util.Dom.addClass(e,RouteControl.CssTotalText);YAHOO.util.Dom.addClass(e,n);e.routeControl={fadeClass:n};e.colSpan=3;if(this.moConfig.getProperty("showsavebutton")){var a=make("div");a.title=RouteControl.StrSaveIcon;YAHOO.util.Dom.addClass(a,RouteControl.CssFooterButton);YAHOO.util.Dom.addClass(a,RouteControl.CssSaveButton);YAHOO.util.Dom.addClass(a,RouteControl.CssSaveIcon);YAHOO.util.Dom.addClass(a,Sigalert.common.CssFixPng);YAHOO.util.Event.on(a,"click",this.onSaveRoute,null,this);e.appendChild(a)}if(this.moConfig.getProperty("showphonebutton")){var h=make("div");h.title=RouteControl.StrPhoneIcon;YAHOO.util.Dom.addClass(h,RouteControl.CssFooterButton);YAHOO.util.Dom.addClass(h,RouteControl.CssPhoneButton);YAHOO.util.Dom.addClass(h,RouteControl.CssPhoneIcon);YAHOO.util.Dom.addClass(h,Sigalert.common.CssFixPng);YAHOO.util.Event.on(h,"click",this.onSendRouteToPhone,null,this);e.appendChild(h)}var j=make("span");j.innerHTML="Route Total:";YAHOO.util.Dom.setStyle(j,"float","right");e.appendChild(j);var l=this.mTotalRow.insertCell(-1);YAHOO.util.Dom.addClass(l,RouteControl.CssCell);YAHOO.util.Dom.addClass(l,RouteControl.CssTotalCell);YAHOO.util.Dom.addClass(l,RouteControl.CssTotalText);YAHOO.util.Dom.addClass(l,n);l.routeControl={fadeClass:n};var b=make("span");YAHOO.util.Dom.addClass(b,"RouteTime");b.innerHTML=g.time;l.appendChild(b);l.appendChild(make("br"));var m=make("span");YAHOO.util.Dom.addClass(m,"RouteDistance");m.innerHTML=g.miles+" miles";l.appendChild(m);this.mstrEncodedRouteData=g.encData;this.mstrRouteSummary=g.summary;this.miRouteIndex=g.index;this.miRouteId=g.id;this.updateExpandCollapseState()},getHeader:function(){return this.mHeader?this.mHeader.innerHTML:null},setHeader:function(a){if(this.mHeader){this.mHeader.innerHTML=a}},adjustPopUpPosition:function(){for(var a=0;a<this.mTable.rows.length;a+=1){var b=this.mTable.rows[a];if(b.roadSummaryCtrl){b.roadSummaryCtrl.adjustPopUpPosition()}}},hidePopUp:function(){for(var a=0;a<this.mTable.rows.length;a+=1){var b=this.mTable.rows[a];if(b.roadSummaryCtrl){b.roadSummaryCtrl.hideDetailsPopUp()}}},onDrag:function(b,a){this.routeControl.adjustPopUpPosition()},onCloseClicked:function(){this.onClosing.fire(this)},onExpandCollapseClicked:function(){if(YAHOO.util.Dom.hasClass(this.mdivExpandCollapse,RouteControl.CssExpandIcon)){this.expandAllSegments()}else{this.collapseAllSegments()}},onSaveRoute:function(){if(this.moConfig.getProperty("cansave")){RouteControl.saveDialog=Sigalert.common.ShowSimpleDialog("Save Route",null,null,{fixedcenter:false,width:"48em"},{bDoNotShow:true});RouteControl.saveDialog.setHeader("Save "+this.mHeader.innerHTML);RouteControl.saveDialog.setBody(createSaveRouteDialog(this,this.mstrEncodedRouteData,this.miRouteIndex));RouteControl.saveDialog.center();RouteControl.saveDialog.cfg.setProperty("y",YAHOO.util.Dom.getDocumentScrollTop()+10);var a=YAHOO.util.Dom.getViewportWidth()-24;if(Sigalert.common.element.getWidth(RouteControl.saveDialog.innerElement)>a){RouteControl.saveDialog.cfg.setProperty("width",a+"px")}RouteControl.saveDialog.show();onSaveRouteDlgOpened()}else{RouteControl.saveDialog=Sigalert.common.ShowSimpleDialog("Save Route",createCannotSaveRouteDialog(),null,{width:"31em"});YAHOO.util.Event.on("idALogin","click",function(b,c){c.hide();Sigalert.common.ShowLoginForm()},RouteControl.saveDialog)}},onSendRouteToPhone:function(){RouteControl.sendToPhoneDialog=Sigalert.common.ShowSimpleDialog("Send Route to Phone",null,null,{fixedcenter:false,width:"48em"},{bDoNotShow:true});RouteControl.sendToPhoneDialog.setHeader("Send Route to Phone ("+this.mHeader.innerHTML+")");RouteControl.sendToPhoneDialog.setBody(createSendToPhoneDialog(this.mstrRouteSummary,this.miRouteIndex));RouteControl.sendToPhoneDialog.center();RouteControl.sendToPhoneDialog.cfg.setProperty("y",YAHOO.util.Dom.getDocumentScrollTop()+10);var a=YAHOO.util.Dom.getViewportWidth()-24;if(Sigalert.common.element.getWidth(RouteControl.sendToPhoneDialog.innerElement)>a){RouteControl.sendToPhoneDialog.cfg.setProperty("width",a+"px")}RouteControl.sendToPhoneDialog.show();onSendRouteToPhoneDlgOpened()},onSegmentClicked:function(b){var a=YAHOO.util.Event.getTarget(b);while(a!==this.mTable){if(a.nodeName.toLowerCase()==="tr"){if(a!==this.mTotalRow&&a.summary){if(a.expanded){this.hideSegmentSummary(a)}else{this.showSegmentSummary(a)}}break}a=a.parentNode}},updateExpandCollapseState:function(){if(this.mdivExpandCollapse){for(var a=0;a<this.mTable.rows.length;a+=1){row=this.mTable.rows[a];if(row!==this.mTotalRow&&row.summary&&row.expanded){this.mdivExpandCollapse.title=RouteControl.StrCollapseIcon;YAHOO.util.Dom.replaceClass(this.mdivExpandCollapse,RouteControl.CssExpandIcon,RouteControl.CssCollapseIcon);return}}this.mdivExpandCollapse.title=RouteControl.StrExpandIcon;YAHOO.util.Dom.replaceClass(this.mdivExpandCollapse,RouteControl.CssCollapseIcon,RouteControl.CssExpandIcon)}},createSegmentSummary:function(a){a.summaryDiv=make("div");YAHOO.util.Dom.addClass(a.summaryDiv,RouteControl.CssSummary);YAHOO.util.Dom.addClass(a.summaryDiv,RouteControl.CssSummaryBorder);a.roadSummaryCtrl=new Sigalert.controls.RoadSummaryControl({region:this.moConfig.getProperty("region"),showheader:true});a.roadSummaryCtrl.render(a.summaryDiv);a.roadSummaryCtrl.loadSummaryForRoadSegment(a.summary.roadSectionId,a.summary.startSpeed,a.summary.endSpeed,false)},showSegmentSummary:function(b){YAHOO.util.Dom.addClass(b,RouteControl.CssExpandedRow);YAHOO.util.Dom.removeClass(b.cells[0].firstChild,RouteControl.CssArrowCollapsedCell);YAHOO.util.Dom.addClass(b.cells[0].firstChild,RouteControl.CssArrowExpandedCell);var c=this.mTable.insertRow(b.rowIndex+1);YAHOO.util.Dom.addClass(c,b.className);var a=c.insertCell(-1);a.colSpan=4;YAHOO.util.Dom.addClass(a,RouteControl.CssCell);YAHOO.util.Dom.addClass(a,RouteControl.CssSummaryCell);a.appendChild(b.summaryDiv);b.expanded=true;this.updateExpandCollapseState()},hideSegmentSummary:function(a){YAHOO.util.Dom.removeClass(a,RouteControl.CssExpandedRow);YAHOO.util.Dom.removeClass(a.cells[0].firstChild,RouteControl.CssArrowExpandedCell);YAHOO.util.Dom.addClass(a.cells[0].firstChild,RouteControl.CssArrowCollapsedCell);a.roadSummaryCtrl.hideDetailsPopUp();a.summaryDiv=this.mTable.rows[a.rowIndex+1].cells[0].removeChild(a.summaryDiv);this.mTable.deleteRow(a.rowIndex+1);a.expanded=false;this.updateExpandCollapseState()},appendRouteSegment:function(f,b,e,h,d,g){var c=f[b];var a=function(o){var x=this.mTable.insertRow(b);x.vAlign="middle";x.expanded=false;x.summaryDiv=null;x.summary={roadId:c.id,roadSectionId:o,roadName:c.road+" "+c.dir,startSpeed:c.startSpeed,endSpeed:c.endSpeed};var q="Mph";var t="RouteFade";var i=Math.round(c.speed);if(i<=Sigalert.TrafficData.SlowMph){q+="Slow";t+="Slow"}else{if(i>=Sigalert.TrafficData.FastMph){q+="Fast";t+="Fast"}else{q+=i;t+=i}}YAHOO.util.Dom.addClass(x,q);x.routeControl={speedClass:q};if(YAHOO.env.ua.ie===0||YAHOO.env.ua.ie>=7){t=RouteControl.CssCellFade}var w=x.insertCell(-1);YAHOO.util.Dom.addClass(w,RouteControl.CssCell);YAHOO.util.Dom.addClass(w,RouteControl.CssArrowCell);YAHOO.util.Dom.addClass(w,RouteControl.CssExpandableCell);YAHOO.util.Dom.addClass(w,t);w.routeControl={fadeClass:t};var u=make("div");YAHOO.util.Dom.addClass(u,RouteControl.CssArrow);YAHOO.util.Dom.addClass(u,RouteControl.CssArrowCollapsedCell);YAHOO.util.Dom.addClass(u,Sigalert.common.CssFixPng);w.appendChild(u);var p=x.insertCell(-1);p.align="center";YAHOO.util.Dom.addClass(p,RouteControl.CssCell);YAHOO.util.Dom.addClass(p,RouteControl.CssRoadCell);YAHOO.util.Dom.addClass(p,RouteControl.CssExpandableCell);YAHOO.util.Dom.addClass(p,t);p.routeControl={fadeClass:t};var v=document.createElement("div");YAHOO.util.Dom.addClass(v,RouteControl.CssRoadCellFreeway);p.appendChild(v);var j=document.createElement("img");YAHOO.util.Dom.addClass(j,Sigalert.common.CssFixPng);j.src=GstrImageDir+"/"+e+"/"+c.road+h;v.appendChild(j);v.appendChild(document.createElement("br"));var s=document.createElement("span");s.innerHTML=c.dir;v.appendChild(s);var k=x.insertCell(-1);YAHOO.util.Dom.addClass(k,RouteControl.CssCell);YAHOO.util.Dom.addClass(k,RouteControl.CssInstructionsCell);YAHOO.util.Dom.addClass(k,RouteControl.CssExpandableCell);YAHOO.util.Dom.addClass(k,t);k.routeControl={fadeClass:t};var n=document.createElement("div");YAHOO.util.Dom.addClass(n,RouteControl.CssInstructions);YAHOO.util.Dom.addClass(n,RouteControl.CssCellDivider);n.innerHTML=c.onramp+" to<br />"+c.offramp;k.appendChild(n);var m=x.insertCell(-1);YAHOO.util.Dom.addClass(m,RouteControl.CssCell);YAHOO.util.Dom.addClass(m,RouteControl.CssTimeCell);YAHOO.util.Dom.addClass(m,RouteControl.CssExpandableCell);YAHOO.util.Dom.addClass(m,t);m.routeControl={fadeClass:t};var r=make("span");YAHOO.util.Dom.addClass(r,"RouteTime");r.innerHTML=c.time;m.appendChild(r);m.appendChild(make("br"));var l=make("span");YAHOO.util.Dom.addClass(l,"RouteDistance");l.innerHTML=c.miles+" miles";m.appendChild(l);this.createSegmentSummary(x);this.miNumLoadedSegs+=1;if(this.miNumLoadedSegs===this.miNumSegs){if(YAHOO.lang.isValue(this.miRouteId)){this.expandAllSegments()}this.updateExpandCollapseState()}};Sigalert.data.Roads.getRoadSectionId(this.moConfig.getProperty("region"),a,null,this,c.startSpeed)}}}());(function(){Sigalert.namespace("controls");Sigalert.controls.RouteContainerControl=function(a){this.mRouteContainer=null;this.mClearEl=null;this.mdivStatus=null;this.mdivFooter=null;this.mbRoutesRetrievedSuccessfully=false;this.mstrEncodedRouteData="";this.miFindMethod=-1;this.moConfig=null;this.onRoutesReceived=null;this.onNumRoutesChanged=null;this.onReportAProblemClicked=null;this.init(a)};RouteContainerControl=Sigalert.controls.RouteContainerControl;RouteContainerControl.CssContainer="PageSection PageSectionBackground";RouteContainerControl.CssClear="clear";RouteContainerControl.CssStatus="route-container-status PageSectionDescription";RouteContainerControl.CssRouteControlContainer="RouteControlContainer";RouteContainerControl.CssRoute="route-container-route";RouteContainerControl.CssFooter="route-container-footer";RouteContainerControl.StrStartFind="<img src='"+GstrImageDir+"/Loading.gif' />&nbsp<i>Starting search...</i>";RouteContainerControl.StrStartGet="<img src='"+GstrImageDir+"/Loading.gif' />&nbsp<i>Retrieving route...</i>";Sigalert.controls.RouteContainerControl.prototype={init:function(c){this.initConfig();this.moConfig.loadConfig(c);this.mRouteContainer=make("div");this.mdivStatus=make("div");this.mClearEl=make("p");this.mdivFooter=make("div");if(this.moConfig.getProperty("showmanualroute")){var b=make("p");YAHOO.util.Dom.addClass(b,"PageSectionDescription");b.innerHTML="Can't find the route you are looking for? <a href='javascript:Sigalert.common.GotoPage(\"/Settings/FormRoute.asp?WizId="+new Date().getTime()+"\")'>Click here to create your route manually.</a>";this.mdivFooter.appendChild(b)}if(this.moConfig.getProperty("showreportproblem")){var a=make("p");YAHOO.util.Dom.addClass(a,"PageSectionDescription");var d=make("a");d.innerHTML="Report a problem with this page.";d.href="javascript:{};";YAHOO.util.Event.on(d,"click",this.onShowReportFormClicked,null,this);a.appendChild(d);this.mdivFooter.appendChild(a)}YAHOO.util.Dom.addClass(this.mRouteContainer,RouteContainerControl.CssContainer);YAHOO.util.Dom.addClass(this.mClearEl,RouteContainerControl.CssClear);YAHOO.util.Dom.addClass(this.mdivStatus,RouteContainerControl.CssStatus);YAHOO.util.Dom.addClass(this.mdivFooter,RouteContainerControl.CssFooter);this.mRouteContainer.appendChild(this.mdivStatus);this.mRouteContainer.appendChild(this.mClearEl);this.mRouteContainer.appendChild(this.mdivFooter);this.onRoutesReceived=new YAHOO.util.CustomEvent("routesreceived",this,false,YAHOO.util.CustomEvent.FLAT);this.onNumRoutesChanged=new YAHOO.util.CustomEvent("numrouteschanged",this,false,YAHOO.util.CustomEvent.FLAT);this.onRoutesAdded=new YAHOO.util.CustomEvent("routesadded",this,false,YAHOO.util.CustomEvent.FLAT);this.onReportAProblemClicked=new YAHOO.util.CustomEvent("reportproblemclicked",this,false,YAHOO.util.CustomEvent.FLAT);this.show();this.setStatusMsg(RouteContainerControl.StrStartFind)},render:function(a){if(typeof a==="string"){a=$(a)}if(a){a.appendChild(this.mRouteContainer)}else{return false}this.mContainer=a;return true},initConfig:function(){this.moConfig=new Sigalert.controls.Config();this.moConfig.setProperty("imagepath","");this.moConfig.setProperty("imageext","");this.moConfig.setProperty("updatehash",false);this.moConfig.setProperty("showrouteheaders",true);this.moConfig.setProperty("showmanualroute",true);this.moConfig.setProperty("showreportproblem",true);this.moConfig.setProperty("cansaveroutes",false);this.moConfig.setProperty("showsavebutton",true);this.moConfig.setProperty("showphonebutton",true);this.moConfig.setProperty("region","")},show:function(){if(this.mRouteContainer.childNodes.length>2){YAHOO.util.Dom.setStyle(this.mRouteContainer,"display","block")}},hide:function(){YAHOO.util.Dom.setStyle(this.mRouteContainer,"display","none")},setStatusMsg:function(a){if(this.mdivStatus){YAHOO.util.Dom.setStyle(this.mdivStatus,"display","block");this.mdivStatus.innerHTML=a}},getRoutes:function(){var c=[];for(var a=0;a<this.mRouteContainer.childNodes.length;a+=1){var b=this.mRouteContainer.childNodes[a];if(b.routeCtrl){c.push(b.routeCtrl)}}return c},getEncodedRouteData:function(){return this.mstrEncodedRouteData},getRouteFindMethod:function(){return this.miFindMethod},onShowReportFormClicked:function(){this.onReportAProblemClicked.fire({src:this})},_onRouteRetrievalFailed:function(b,a){this.mbRoutesRetrievedSuccessfully=false;if(this.mdivStatus){var c="<p><strong>Oops. Sorry about that. We encountered an unexpected error.</strong></p><p>"+b+"</p><p>Please email <a href='support@sigalert.com'>Support@Sigalert.com</a> if this problem continues.</p>";this.setStatusMsg(c);YAHOO.util.Dom.setStyle(this.mdivStatus,"display","block")}},_onRoutesRetrieved:function(c,a){this.mbRoutesRetrievedSuccessfully=true;if(c.routes){var d=[];if(c.routes.length>0){if(this.mdivStatus){YAHOO.util.Dom.setStyle(this.mdivStatus,"display","block");if(a.finding){this.setStatusMsg("<strong>We found "+c.routes.length+" route"+(c.routes.length!==1?"s":"")+" for you.</strong>")}else{this.setStatusMsg("<strong>Route successfully retrieved.</strong>")}}for(var b=0;b<c.routes.length;b+=1){if(!c.routes[b].name){c.routes[b].name=a.name+" ("+(b+1)+")"}}d=this.addRoutes(c)}else{this.setStatusMsg("I'm sorry but we didn't find any routes. Please check your settings and try again.");YAHOO.util.Dom.setStyle(this.mdivStatus,"display","block")}YAHOO.util.Dom.setStyle(this.mdivFooter,"display","block");this.onRoutesReceived.fire({src:this,routes:d})}},_onRouteRetrievingStatusUpdate:function(a){if(this.mdivStatus){YAHOO.util.Dom.setStyle(this.mdivStatus,"display","block");if(a<3){this.setStatusMsg("<img src='"+GstrImageDir+"/Loading.gif' />&nbsp<i>Working... Almost there...</i>")}else{this.setStatusMsg("<img src='"+GstrImageDir+"/Loading.gif' />&nbsp<i>Working...</i> Done in "+a+" seconds.")}}},loadRouteById:function(a,b){if(a!==-1){this.setStatusMsg(RouteContainerControl.StrStartGet);this.show();Sigalert.data.Routes.getRouteByRouteId(a,{success:this._onRoutesRetrieved,failure:this._onRouteRetrievalFailed,argument:{name:b,finding:false},scope:this})}},findRoutesByRouteId:function(b,a,c){if(a!==-1){this.setStatusMsg(RouteContainerControl.StrStartFind);this.show();Sigalert.data.Routes.findRoutesByRouteId(b,a,{success:this._onRoutesRetrieved,failure:this._onRouteRetrievalFailed,update:this._onRouteRetrievingStatusUpdate,argument:{name:c,finding:true},scope:this})}},findRoutes:function(b,c,e,d,a){if(e!==-1&&a!==-1){this.clearRoutes();this.setStatusMsg(RouteContainerControl.StrStartFind);this.show();Sigalert.data.Routes.findRoutes(b,c,e,d,a,Sigalert.data.Manager.getCurrentRegion(),{success:this._onRoutesRetrieved,failure:this._onRouteRetrievalFailed,update:this._onRouteRetrievingStatusUpdate,argument:{name:"Route",finding:true},scope:this})}},onRoutesChanged:function(){if(this.moConfig.getProperty("updatehash")){var b={};for(var c=0;c<this.mRouteContainer.childNodes.length;c+=1){var e=this.mRouteContainer.childNodes[c];if(e.routeCtrl&&YAHOO.lang.isValue(e.routeCtrl.miRouteId)){b[e.routeCtrl.miRouteId]=0}}var a=new Sigalert.common.Hash();var d="";for(var f in b){d+=f+"-"}if(d.length>0){a.setPair("rts",d.substr(0,d.length-1))}else{a.setPair("rts","")}a.applyHashToLocation()}YAHOO.util.Dom.setStyle(this.mdivFooter,"display",this.mRouteContainer.childNodes.length>3?"block":"none");this.onNumRoutesChanged.fire({src:this,numRoutes:this.mRouteContainer.childNodes.length-3})},addRoutes:function(b){this.mstrEncodedRouteData=b.encData;this.miFindMethod=b.findMethod;var c=[];for(var a=0;a<b.routes.length;a+=1){c[a]=this.addRoute(b.routes[a],b.region,b.path,b.ext)}return c},addRoute:function(g,e,d,c){var f=make("div");YAHOO.util.Dom.addClass(f,RouteContainerControl.CssRoute);var b=new Sigalert.controls.RouteControl({region:e,showsavebutton:(g.encData&&this.moConfig.getProperty("showsavebutton")),showphonebutton:(g.encData&&this.moConfig.getProperty("showphonebutton")),showheader:this.moConfig.getProperty("showrouteheaders"),cansave:this.moConfig.getProperty("cansaveroutes")});b.onClosing.subscribe(this.onCloseRoute,null,this);if(g.name){b.setHeader(unescape(g.name))}b.render(f);b.loadRoute(g,d,c);var a=document.createElement("div");a.routeCtrl=b;YAHOO.util.Dom.addClass(a,RouteContainerControl.CssRouteControlContainer);a.appendChild(f);this.mRouteContainer.insertBefore(a,this.mClearEl);this.onRoutesChanged();return f},clearRoutes:function(){var b=this.mClearEl.previousSibling;var a=null;while(b&&b!==this.mdivStatus){a=b.previousSibling;b.routeCtrl.destroy();b.routeCtrl=null;Sigalert.common.deleteNode(b);b=a}this.mstrEncodedRouteData="";this.miFindMethod=-1;this.hide();this.onRoutesChanged()},onCloseRoute:function(a){var b=a.mContainer;while(b&&b!==this.mRouteContainer){if(YAHOO.util.Dom.hasClass(b,RouteContainerControl.CssRouteControlContainer)||YAHOO.util.Dom.hasClass(b,RouteContainerControl.CssFormCtrlGroupSingle)){Sigalert.common.deleteNode(b);break}b=b.parentNode}a.destroy();if(this.mRouteContainer.childNodes.length===3){this.mstrEncodedRouteData="";this.miFindMethod=-1;this.hide()}this.onRoutesChanged()},adjustPopUpPositions:function(){for(var a=0;a<this.mRouteContainer.childNodes.length;a+=1){var b=this.mRouteContainer.childNodes[a];if(b.routeCtrl){b.routeCtrl.adjustPopUpPosition()}}},hidePopUps:function(){for(var a=0;a<this.mRouteContainer.childNodes.length;a+=1){var b=this.mRouteContainer.childNodes[a];if(b.routeCtrl){b.routeCtrl.hidePopUp()}}}}}());function AddStandardQS(g){var f=this.href;var i=new Array();var h="";if(YAHOO.util.Dom.hasClass(this,"external")||0==f.indexOf("javascript:")||0==f.indexOf("mailto:")){return}var a=f.match(new RegExp("^[a-zA-Z0-9./:-]*","i"));var b=f.match(new RegExp("[?]([a-z0-9A-Z+-_=&%]*)","i"));var c=f.match(new RegExp("[#]([a-z0-9A-Z+-_=&%]*)","i"));if(null!=b&&b.length>=2){h=b[1];i.push(h)}if(-1==h.indexOf("region=")&&-1==h.indexOf("Region=")){i.push("lat="+escape(GdLat));i.push("lon="+escape(GdLon));i.push("z="+escape(GiZoom))}if(-1==h.indexOf("partner=")&&GbIsPartner){i.push("partner="+GstrPartnerId)}var j=document.location.search.indexOf("ap=");if(-1!=j){i.push("ap="+document.location.search.charAt(j+3))}var k=new Sigalert.common.QueryString();var d=k.getValue("th");if(d){i.push("th="+d)}a+="?"+i.toString("&").replace(/,/ig,"&");if(null!=c&&c.length>=2){a+="#"+c[1]}this.href=a}function SetupMainMenu(){var g;function c(j,h){var k,l,i;if(this.parent){l=this.element.lastChild;YAHOO.util.Dom.setStyle(l,"height","0px");if(g&&g.isAnimated()){g.stop();g=null}k=this.body;i=k.getElementsByTagName("ul")[0];if(k.parentNode){YAHOO.util.Dom.setStyle(k.parentNode,"zIndex","2000")}YAHOO.util.Dom.setStyle(k,"overflow","hidden");YAHOO.util.Dom.setStyle(i,"marginTop","-"+i.offsetHeight+"px")}}function e(j,i,h){if(this.cfg.getProperty("iframe")){this.syncIframe()}if(h){YAHOO.util.Dom.setStyle(h,"height",this.element.offsetHeight+"px")}}function a(k,j,h){var l=this.body;var i=l.getElementsByTagName("ul")[0];if(h){YAHOO.util.Dom.setStyle(h,"height",this.element.offsetHeight+"px")}YAHOO.util.Dom.setStyle(i,"marginTop","auto");YAHOO.util.Dom.setStyle(l,"overflow","visible");if(YAHOO.env.ua.ie){YAHOO.util.Dom.setStyle(l,"zoom","1")}}function d(j,h){var l,k,i;if(this.parent){l=this.element;k=l.lastChild;i=this.body.getElementsByTagName("ul")[0];g=new YAHOO.util.Anim(i,{marginTop:{to:0}},0.15,YAHOO.util.Easing.easeOut);g.onStart.subscribe(function(){YAHOO.util.Dom.setStyle(k,"height","100%")});g.animate();if(YAHOO.env.ua.ie){YAHOO.util.Dom.setStyle(k,"height",l.offsetHeight+"px");g.onTween.subscribe(e,k,this)}g.onComplete.subscribe(a,k,this)}}function f(i,h){var j=Sigalert.common.ReadCookie("TH");if(""==j){j="blue"}YAHOO.widget.MenuManager.getMenu("supportsubmenu").unsubscribe("show",f);YAHOO.widget.MenuManager.getMenuItem("idTheme"+j).cfg.setProperty("checked",true)}var b=new YAHOO.widget.MenuBar("mainnav",{autosubmenudisplay:true,hidedelay:750,showdelay:0,lazyload:true,constraintoviewport:true});b.subscribe("beforeShow",c);b.subscribe("show",d);b.render();if(!GbIsPartner){YAHOO.widget.MenuManager.getMenu("supportsubmenu").subscribe("show",f)}}YAHOO.util.Event.onContentReady("mainnav",SetupMainMenu);