 function bB(vArr){if(!vArr||vArr==0)return;var fX;for(fX in vArr)delete vArr[fX];};function O(){this.dL="";this.dK="";this.dM="";this.dJ="";this.dI=null;this.dO="";this.dN=function(xmlNode){var dr=f(xmlNode.childNodes[0]);var dq=f(xmlNode.childNodes[1]);var dj=f(xmlNode.childNodes[2]);var ds=f(xmlNode.childNodes[3]);var dv=f(xmlNode.childNodes[4]);var du=f(xmlNode.childNodes[5]);this.dI=new GLatLng(dv,du);this.dO=dq;this.dJ=dr;this.dM=dj;this.dK=ds;};this.dU=function(){with(this){var dQ="";dQ="<addr>";dQ+="<street>";dQ+=U(dJ);dQ+="</street>";dQ+="<streetNum>";dQ+=dO;dQ+="</streetNum>";dQ+="<city>";dQ+=dM;dQ+="</city>";dQ+="<state>";dQ+=dK;dQ+="</state>";dQ+="<lat>";dQ+=dI.lat();dQ+="</lat>";dQ+="<long>";dQ+=dI.lng();dQ+="</long>";dQ+="</addr>";}return dQ;};this.dT=function(){var dR="";if(this.dJ!="")dR+=this.dJ+", ";m("Street",this.dJ);if(this.dM!="")dR+=this.dM+", ";m("City",this.dM);if(this.dK!="")dR+=this.dK+((this.dL!="")?", ":"");m("StateProv",this.dK);if(this.dL!="")dR+=this.dL;m("Country",this.dL);if(this.dI){m("AddrCenter",this.dI.toUrlValue());}else m("AddrCenter","");m("Addr",dR);};this.dV=function(){this.dK=j("StateProv");this.dM=j("City");this.dL=j("Country");this.dJ=j("Street");var dS=j("AddrCenter");var dW=null;if(dS!=null&dS!=""){var aLtLg=dS.split(",");if(aLtLg.length==2){var dv=aLtLg[0];var du=aLtLg[1];this.dI=new GLatLng(parseFloat(dv),parseFloat(du));}}};this.Reset=function(){this.dK="";this.dM="";this.dL="";this.dJ="";if(this.dI){delete this.dI;this.dI=null;}}};function bc(){this.eC=false;this.eo="";this.ez=false;this.dY=null;this.ed="";this.ek="";this.el="";this.eq="";this.ef="";this.dX=1;this.er="";this.eb=new Date();this.ei=new Date();this.eu="";this.eA="";this.eg="";this.ew=0.0;this.es=0;this.ev="slow48x48";this.ey="shadow48x48";this.dZ=48;this.et=true;this.ep=null;this.en=false;this.eh=null;this.ee=new Array();this.ec=null;this.ej=false;this.ea=null;this.eB=function(){if(!this.ee||this.ee.length==0)return;var fX;for(fX in this.ee)delete this.ee[fX];};this.eH=function(){if(!this.dY)return;this.eB();if(this.dY)delete this.dY;};this.eG=function(eS){this.dY=new GMarker(eS,{draggable:true,bouncy:false,dragCrossMove:true,icon:this.ep});var oOwner=this;var hHandler=GEvent.addListener(this.dY,"mouseover",function(){if(oOwner.et)return;var ia="./img/"+oOwner.eF(oOwner.ed,oOwner.ek)+"_roll"+oOwner.dZ+"x"+oOwner.dZ+".png";oOwner.dY.setImage(ia);});this.ee.push(hHandler);hHandler=GEvent.addListener(this.dY,"mouseout",function(){if(oOwner.et)return;var ia="./img/"+oOwner.ev+".png";oOwner.dY.setImage(ia);});this.ee.push(hHandler);hHandler=GEvent.addListener(this.dY,"dragend",bg);this.ee.push(hHandler);};this.Init=function(eS){if(!this.eO())return false;this.eG(eS);eh=new O();return true;};this.eF=function(eI,eD){var eE="slow";if(eD=="eUnknown"||eD==""){switch(eI){case "eSlow":eE="slow";break;case "eNoMov":eE="stopped";break;default:break;}}else{switch(eD){case "eBadRoadWeather":eE="weather";break;case "eBadRoad":eE="poor_road";break;case "eRoadWorks":eE="construction";break;case "eRoadClosed":eE="road_closed";break;case "eLaneReductions":eE="reduce_lane";break;case "eAccident":eE="accident";break;default:break;}}return eE;};this.eK=function(){with(this){return en;}};this.eU=function(){var eV=(this.et)?".gif":".png";return eV;};this.eT=function(){var eP="shadow";if(this.eK())eP=eP+"_screen";return eP;};this.eO=function(){with(this){var eL=eF(ed,ek);var eQ=cU.getZoom();if(eQ<13)dZ=32;else dZ=48;if(!et){if(eK())eL=eL+"_screen";}else{eL+="_anim";}eL=eL+dZ+"x"+dZ;var sNewShadowName=eT()+dZ+"x"+dZ;var bSameName=(ev==eL&&ey==sNewShadowName);var hI=(ep!=null);if(bSameName&&hI)return false;ev=eL;ey=sNewShadowName;ep=new GIcon();ep.image="./img/"+ev+eU();ep.shadow="./img/"+ey+".png";ep.iconSize=new GSize(dZ,dZ);ep.shadowSize=new GSize(dZ*1.8125,dZ);ep.iconAnchor=new GPoint(dZ/2,dZ);ep.infoWindowAnchor=new GPoint(dZ/2,dZ/2);ep.infoShadowAnchor=new GPoint(dZ/2,dZ/2);return true;}};this.eR=function(){with(this){if(!eO())return false;var eS=dY.getPoint();cR.RemoveMarker(dY);eH();eG(eS);cR.AddMarker(dY,eo);if(!et){eN();dY.disableDragging();}return true;}};this.aN=function(eQ){with(this){if(eQ<13)dZ=32;else dZ=48;var hP=eR();if(ea){if(!fH()){}else{ea.style.display="block";}}}};this.eW=function(){this.et=true;this.eR();this.ej=false;};this.eY=function(){this.et=false;this.eR();this.de();this.ej=false;};this.eM=function(eI,eD){var fD=this.eF(eI,eD);var ia="./img/"+fD+"_anim"+this.dZ+"x"+this.dZ+".gif";this.dY.setImage(ia);};this.dP=function(xmlNode){with(this){if(!xmlNode)return;eg=xmlNode.getAttribute("uid");ed=xmlNode.getAttribute("type");ek=xmlNode.getAttribute("cause");ew=parseFloat(xmlNode.getAttribute("rating"));es=parseInt(xmlNode.getAttribute("Votes"));el=xmlNode.getAttribute("direction");eq=xmlNode.getAttribute("delay");ef=unescape(xmlNode.getAttribute("submitter"));er=f(xmlNode.childNodes[0]);eb.setTime(xmlNode.getAttribute("EventStartClient"));ei.setTime(xmlNode.getAttribute("EventEndClient"));en=(xmlNode.getAttribute("Future")=="True");eu=xmlNode.getAttribute("EventStartUtc");eA=xmlNode.getAttribute("EventEndUtc");var gv=new GLatLng(parseFloat(xmlNode.getAttribute("lat")),parseFloat(xmlNode.getAttribute("lng")));et=false;eO();eG(gv);dY.disableDragging();eh=new O();eh.dN(xmlNode.childNodes[1]);if(dY)eN();}};this.eZ=function(){with(this){eg="";dY=null;ed="";ek="";ew=0.0;el="";eq="";ef="";er="";eb=new Date();ei=new Date();eu="";eA="";}};this.eJ=function(){return this.dY;};this.eX=function(gmMarker){this.dY=gmMarker;};this.eN=function(){with(this){if(!dY)return;var fe="";fe=fm();var sEditLnkStr="<a href=\"javascript:bs()\">Edit Alert</a>";var sDeleteLnkStr="<a href=\"javascript:ba()\">Remove Alert</a>";fe+=sDeleteLnkStr+" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "+sEditLnkStr;var fd=fE("infownd");fe+="<br/><br/>"+fd;bB(ec);ec=new Array();ec.push(new GInfoWindowTab("Summary",fe));var ib=er;if(ib!=null&&ib!=""){ib=ib.replace(/\n/g,"<br/>");ib="<div style='background-color: FFFFFF;WIDTH: 250px;height: 150px;overflow-y:auto;'>"+ib+"</div>";ec.push(new GInfoWindowTab("More info",ib));}var oOwner=this;var hListener=GEvent.addListener(this.dY,"click",function(){if(fa){if(oOwner!=cQ)g("You are currently editing another alert.\nPlease finish editing first.","Can't display info",ICO_WARNING);return;}oOwner.fr();});this.ee.push(hListener);hListener=GEvent.addListener(this.dY,'infowindowclose',function(){var iz=iv.iB;if(iz=="Safari"){if(!fa){io=null;io=cQ;}}if(!fa){oOwner.ej=false;cQ=null;}});this.ee.push(hListener);hListener=GEvent.addListener(this.dY,'infowindowopen',function(){cQ=oOwner;oOwner.ej=true;});this.ee.push(hListener);}};this.dU=function(){with(this){var fi="<markers>";fi+="<marker ";fi+="uid='"+eg+"'";fi+=" lat='"+dY.getPoint().lat()+"'";fi+=" lng='"+dY.getPoint().lng()+"'";fi+=" type='"+ed+"'";fi+=" cause='"+ek+"'";fi+=" rating='"+ew+"'";fi+=" direction='"+el+"'";fi+=" delay='"+eq+"'";fi+=" submitter='"+escape(ef)+"'";fi+=" EventStartClient='"+eb.getTime()+"'";fi+=" EventEndClient='"+ei.getTime()+"'";fi+=" EventStartUtc='"+eu+"'";fi+=" EventEndUtc='"+eA+"'";fi+=" >";var ib=U(er);fi+="<info>";fi+=ib;fi+="</info>";fi+=eh.dU();fi+="</marker>";fi+="</markers>";}return fi;};function by(nr){if(nr<10)nr="0"+nr;return nr;};function bf(dtDate){var sHours=dtDate.getHours();var sAmPm="am";if(sHours==0)sHours=12;if(sHours>11)sAmPm="pm";if(sHours>12)sHours-=12;return sHours+":"+by(dtDate.getMinutes())+sAmPm;};function k(sHeading,ib){var dQ=sHeading+" "+"<b><i>"+ib+"</i></b>";return dQ+"<br>";};this.fm=function(){var dQ="";with(this){if(eh!=null&&eh!=undefined){if(eh.dJ!=""){dQ="<b>"+eh.dJ+"</b><br><br>";}}var ff="";var eD="";var fq=false;switch(ed){case "eSlow":ff="Traffic moving slowly.";break;case "eNoMov":ff="Traffic is not moving.";break;default:break;}switch(ek){case "eBadRoad":eD="Road condition is bad.";break;case "eBadRoadWeather":eD="Road condition is bad ,due to weather.";break;case "eAccident":eD="Accident.";break;case "eUnknown":eD="Unknown.";break;case "eRoadWorks":if(eK()){eD="Scheduled construction.";}else eD="Construction.";fq=(ed=="eGeneric");break;case "eRoadClosed":if(eK()){eD="Road will be closed.";}else{eD="Road closed.";}fq=(ed=="eGeneric");break;case "eLaneReductions":if(eK()){eD="Scheduled lane reductions.";}else{eD="Lane reductions.";}fq=(ed=="eGeneric");break;default:break;}var fz=aB(el);if(ff!=""){dQ+=k("Alert:",ff)+k("Cause:",eD);eo=ff;}else{dQ+=k("Alert:",eD);eo=eD;}dQ+=k("Direction:",fz);if(fq){dQ+=k("Since :",formatDate(eb,"E, MMM d, y,hh:mm a"));dQ+=k("Until :",formatDate(ei,"E, MMM d, y,hh:mm a"));}else{var fj=new Date();var fx=fj.getDate();var fB=eb.getDate();if(fB!=fx)dQ+=k("Since :",formatDate(eb,"E, MMM d, y, hh:mm a"));else dQ+=k("Since :",bf(eb));}if(eq!=undefined&&eq!=""){var fl="";switch(eq){case "e5To10Min":fl="5-10 min";break;case "e10To15Min":fl="10-15 min";break;case "e15To20Min":fl="15-20 min";break;case "e20To30Min":fl="20-30 min";break;case "e30To1Hr":fl="more then 30min";break;case "eMoreThen1Hr":fl="more then 1 hr";break;default:fl="";}if(fl!="")dQ+=k("Possible delay :",fl);}dQ+="<br>";var fs=ef;var fk=0;if(ef.search("--><--")>=0){var fp=ef.split("--><--");fs=fp[0];fk=parseInt(fp[1]);}var fn="";if(fk){var sRankImage="./img/rank_"+fk+"_48x48.gif";var fP="Rank Level: "+fk+"\n"+gG[fk];fn="<IMG style='vertical-align: middle;' src='"+sRankImage+"' title='"+fP+"'/>";}var fu=(fn!="")?"<br>":"<br><br>";dQ+="Submitted by:"+fs+"&nbsp;&nbsp;"+fn+fu;return dQ;}};this.de=function(){var fC=(this.ea==null);if(this.ea==null){this.ea=document.createElement("div");this.ea.setAttribute("id",this.eg);this.ea.className="report";}var ft=this.fm();var sDetailsLnk="";var bShowInfo=(this.er!=null&&this.er!="");if(bShowInfo){var ib=this.er.replace(/\n/g,"<br>")+"<br><br>";sDetailsLnk+="<a id="+this.eg+"_lnk href=\"Javascript:G('"+this.eg+"_lnk','<b>Additional info:</b>','"+ib+"','230px');\">details</a> | ";}var fd=this.fE("div");var ia="./img/"+this.eF(this.ed,this.ek)+"48x48"+".png";this.ea.innerHTML="<h1><img src=\""+ia+"\"></h1>"+ft+sDetailsLnk+"<a href=\"javascript:aS('"+this.eg+"')\">view on map</a><br/>"+fd;this.ea.style.display="block";if(fC){var fA=document.getElementById("TabPage1");fA.appendChild(this.ea);}};this.fr=function(){if(this.ej)return;var fv=this.ec[0].contentElem.innerHTML.search(/Reliability/);if(fv){var ft=this.ec[0].contentElem.innerHTML.substr(0,fv);this.ec[0].contentElem.innerHTML=ft+this.fE("infownd");}this.dY.openInfoWindowTabsHtml(this.ec);if(cQ==null)cQ=this;};this.fw=function(){if(cQ==this)cQ=null;if(this.ea){var oAlertDivParent=this.ea.parentNode;oAlertDivParent.removeChild(this.ea);delete this.ea;this.ea=null;}delete dc[this.eg];dc.length--;cR.RemoveMarker(this.dY);this.eH();};this.fH=function(){var df=((cU.getBounds().getSouthWest().distanceFrom(cU.getBounds().getNorthEast()))/1000)/2;dg=cU.getCenter();var gi=(this.dY.getPoint().distanceFrom(dg))/1000;var hz=(gi<=df);return hz;};this.fI=function(){if(!this.ea)return;if(!this.fH()){if(this.ez){}}else{this.ea.style.display="block";if(!this.ez){}}};this.fJ=function(){cR.AddMarker(this.dY,this.ed);this.eN();this.ez=true;};this.fE=function(cC){var fd="<div> Reliability ";for(var cN=1;cN<=5;cN++){var fG="";var fF="";if(gH&&ac(this.eg)==null){fG=" onmouseover='bh(this);' onmouseout='bo(this);' onclick='bI(this);'"}else fF=" style='cursor: default;' ";fd+="<img class='star' id='"+this.eg+"_"+cC+"_star_"+cN+"' src='"+aA(this.ew,cN)+"'"+fG+fF+">";}return fd+" Votes: <span id='"+this.eg+"_"+cC+"_votes'>"+this.es+"</span></div>";}};var iv={iD:function(){this.iB=this.iw(this.iy);this.version=this.iu(navigator.userAgent)||this.iu(navigator.appVersion);this.iF=this.iw(this.iC);},iw:function(data){for(var i=0;i<data.length;i++){var ir=data[i].string;var iA=data[i].iE;this.is=data[i].it||data[i].ip;if(ir){if(ir.indexOf(data[i].iq)!= -1)return data[i].ip;}else if(iA)return data[i].ip;}},iu:function(ir){var index=ir.indexOf(this.is);if(index== -1)return;return parseFloat(ir.substring(index+this.is.length+1));},iy:[{string:navigator.vendor,iq:"Apple",ip:"Safari",it:"Version"},{string:navigator.userAgent,iq:"Firefox",ip:"Firefox"},{string:navigator.userAgent,iq:"Netscape",ip:"Netscape"},{string:navigator.userAgent,iq:"MSIE",ip:"Explorer",it:"MSIE"},{string:navigator.userAgent,iq:"Mozilla",ip:"Netscape",it:"Mozilla"}],iC:[{string:navigator.platform,iq:"Win",ip:"Windows"},{string:navigator.platform,iq:"Mac",ip:"Mac"},{string:navigator.userAgent,iq:"iPhone",ip:"iPhone/iPod"}]};iv.iD();
