var ht=null;var hu=null;function J(){var hC=null;var actualRouteTag=null;var color=null;var du=null;var direction=null;var directionDisplay=null;var heading=null;var fF=null;var marker=null;var label=null;var visible=false;var active=false;var cC=null;var cO=null;var cL=null;var cS=null;var dv=null;var cN=null;};function aY(){var cE=null;var cH=null;};J.prototype.ft=function(){if(gu){if(this.heading=="N"){if(dA==null)dA=r(dV,gy,gw);this.dv=dA;}else if(this.heading=="S"){if(dB==null)dB=r(dW,gy,gw);this.dv=dB;}else if(this.heading=="E"){if(dI==null)dI=r(dU,gy,gw);this.dv=dI;}else if(this.heading=="W"){if(dz==null)dz=r(dO,gy,gw);this.dv=dz;}else if(this.heading=="NE"){if(busIconNorthEastLarge==null)busIconNorthEastLarge=r(busIconNorthEastLargeURL,gy,gw);this.dv=busIconNorthEastLarge;}else if(this.heading=="SE"){if(busIconSouthEastLarge==null)busIconSouthEastLarge=r(busIconSouthEastLargeURL,gy,gw);this.dv=busIconSouthEastLarge;}else if(this.heading=="SW"){if(busIconSouthWestLarge==null)busIconSouthWestLarge=r(busIconSouthWestLargeURL,gy,gw);this.dv=busIconSouthWestLarge;}else if(this.heading=="NW"){if(busIconNorthWestLarge==null)busIconNorthWestLarge=r(busIconNorthWestLargeURL,gy,gw);this.dv=busIconNorthWestLarge;}else if(this.heading=="ENE"){if(busIconEastNorthEastLarge==null)busIconEastNorthEastLarge=r(busIconEastNorthEastLargeURL,gy,gw);this.dv=busIconEastNorthEastLarge;}else if(this.heading=="ESE"){if(busIconEastSouthEastLarge==null)busIconEastSouthEastLarge=r(busIconEastSouthEastLargeURL,gy,gw);this.dv=busIconEastSouthEastLarge;}else if(this.heading=="SSW"){if(busIconSouthSouthWestLarge==null)busIconSouthSouthWestLarge=r(busIconSouthSouthWestLargeURL,gy,gw);this.dv=busIconSouthSouthWestLarge;}else if(this.heading=="WNW"){if(busIconWestNorthWestLarge==null)busIconWestNorthWestLarge=r(busIconWestNorthWestLargeURL,gy,gw);this.dv=busIconWestNorthWestLarge;}else if(this.heading=="NNE"){if(busIconNorthNorthEastLarge==null)busIconNorthNorthEastLarge=r(busIconNorthNorthEastLargeURL,gy,gw);this.dv=busIconNorthNorthEastLarge;}else if(this.heading=="NNW"){if(busIconNorthNorthWestLarge==null)busIconNorthNorthWestLarge=r(busIconNorthNorthWestLargeURL,gy,gw);this.dv=busIconNorthNorthWestLarge;}else if(this.heading=="SSE"){if(busIconSouthSouthEastLarge==null)busIconSouthSouthEastLarge=r(busIconSouthSouthEastLargeURL,gy,gw);this.dv=busIconSouthSouthEastLarge;}else if(this.heading=="WSW"){if(busIconWestSouthWestLarge==null)busIconWestSouthWestLarge=r(busIconWestSouthWestLargeURL,gy,gw);this.dv=busIconWestSouthWestLarge;}}else if(map.getZoom()>=gS){if(this.heading=="N"){if(dD==null)dD=r(dY,gX,gW);this.dv=dD;}else if(this.heading=="S"){if(dJ==null)dJ=r(dX,gX,gW);this.dv=dJ;}else if(this.heading=="E"){if(dK==null)dK=r(dR,gX,gW);this.dv=dK;}else if(this.heading=="W"){if(dE==null)dE=r(dP,gX,gW);this.dv=dE;}else if(this.heading=="NE"){if(busIconNorthEastMedium==null)busIconNorthEastMedium=r(busIconNorthEastMediumURL,gX,gW);this.dv=busIconNorthEastMedium;}else if(this.heading=="SE"){if(busIconSouthEastMedium==null)busIconSouthEastMedium=r(busIconSouthEastMediumURL,gX,gW);this.dv=busIconSouthEastMedium;}else if(this.heading=="SW"){if(busIconSouthWestMedium==null)busIconSouthWestMedium=r(busIconSouthWestMediumURL,gX,gW);this.dv=busIconSouthWestMedium;}else if(this.heading=="NW"){if(busIconNorthWestMedium==null)busIconNorthWestMedium=r(busIconNorthWestMediumURL,gX,gW);this.dv=busIconNorthWestMedium;}else if(this.heading=="ENE"){if(busIconEastNorthEastMedium==null)busIconEastNorthEastMedium=r(busIconEastNorthEastMediumURL,gX,gW);this.dv=busIconEastNorthEastMedium;}else if(this.heading=="ESE"){if(busIconEastSouthEastMedium==null)busIconEastSouthEastMedium=r(busIconEastSouthEastMediumURL,gX,gW);this.dv=busIconEastSouthEastMedium;}else if(this.heading=="SSW"){if(busIconSouthSouthWestMedium==null)busIconSouthSouthWestMedium=r(busIconSouthSouthWestMediumURL,gX,gW);this.dv=busIconSouthSouthWestMedium;}else if(this.heading=="WNW"){if(busIconWestNorthWestMedium==null)busIconWestNorthWestMedium=r(busIconWestNorthWestMediumURL,gX,gW);this.dv=busIconWestNorthWestMedium;}else if(this.heading=="NNE"){if(busIconNorthNorthEastMedium==null)busIconNorthNorthEastMedium=r(busIconNorthNorthEastMediumURL,gX,gW);this.dv=busIconNorthNorthEastMedium;}else if(this.heading=="NNW"){if(busIconNorthNorthWestMedium==null)busIconNorthNorthWestMedium=r(busIconNorthNorthWestMediumURL,gX,gW);this.dv=busIconNorthNorthWestMedium;}else if(this.heading=="SSE"){if(busIconSouthSouthEastMedium==null)busIconSouthSouthEastMedium=r(busIconSouthSouthEastMediumURL,gX,gW);this.dv=busIconSouthSouthEastMedium;}else if(this.heading=="WSW"){if(busIconWestSouthWestMedium==null)busIconWestSouthWestMedium=r(busIconWestSouthWestMediumURL,gX,gW);this.dv=busIconWestSouthWestMedium;}}else{if(dF==null)dF=r(dZ,iY,iX);this.dv=dF;}this.marker=aU(this.fF,this.dv,this.hC,this.actualRouteTag,this.du,this.cL,this.cS,this.direction,this.directionDisplay,this.heading,this.cO,this.cC,this.cN,this.color,false);map.addOverlay(this.marker);this.visible=true;if(gu){this.label=as(this.marker,"L");map.addOverlay(this.label);this.marker.label=this.label;}else if(map.getZoom()>=gS){this.label=as(this.marker,"M");map.addOverlay(this.label);this.marker.label=this.label;}else{this.label=as(this.marker,"S");map.addOverlay(this.label);this.marker.label=this.label;}};J.prototype.redraw=function(){if(this.marker.pulledUp){this.remove();this.ft();}else{this.marker.cL=this.cL;this.marker.cN=this.cN;this.marker.direction=this.direction;this.marker.directionDisplay=this.directionDisplay;this.marker.heading=this.heading;this.marker.cO=this.cO;this.marker.cS=this.cS;this.marker.cC=this.cC;this.marker.setLatLng(this.fF);this.label.setPoint(this.fF);this.visible=true;this.marker.show();this.label.show();}};J.prototype.remove=function(){if(this.marker==null)return;this.marker.bindInfoWindowHtml(null);if(this.marker.listeners!=null){for(var i=0;i<this.marker.listeners.length;i++){GEvent.removeListener(this.marker.listeners[i]);this.marker.listeners[i]=null;}}this.marker.listeners=null;this.marker.label=null;GEvent.clearInstanceListeners(this.marker);map.removeOverlay(this.marker);if(this.label!=null){GEvent.clearInstanceListeners(this.label);map.removeOverlay(this.label);this.label.remove();F(this.label);this.label=null;this.dv=null;}F(this.marker);this.marker=null;this.visible=false;};function F(eP){var a=eP.attributes,i,gx,n;if(a){gx=a.length;for(i=0;i<gx;i+=1){n=a[i].name;if(typeof eP[n]==='function'){eP[n]=null;}a[i]=null;}}while(eP.firstChild){F(eP.firstChild);eP.removeChild(eP.firstChild);}a=eP.childNodes;if(a){gx=a.length;for(i=0;i<gx;i+=1){F(eP.childNodes[i]);}}};function G(ec){for(var i=0;i<ec.ja.length;i++){ec.ja[i].remove();F(ec.ja[i]);ec.ja[i]=null;}ec.dw=false;ec.ja=new Array();};function cr(marker){jR++;var cW=null;if(!cY){var ec=v(marker.hC);if(ec==null){ec=v(0);}for(var i=0;i<ec.ja.length;i++){if(ec.ja[i].marker!=null&&ec.ja[i].marker.id==marker.id){cW=ec.ja[i];break;}}}else{for(var i=0;i<cU.length;i++){if(cU[i].marker!=null&&cU[i].marker.id==marker.id){cW=cU[i];break;}}}if(cW==null){return;}var gP=aU(marker.getLatLng(),marker.getIcon(),marker.hC,marker.actualRouteTag,marker.du,marker.cL,marker.cS,marker.direction,marker.directionDisplay,marker.heading,marker.cO,marker.cC,marker.cN,marker.color,true);gP.label=marker.label;gP.pulledUp=true;cW.marker.bindInfoWindowHtml(null);for(var i=0;i<cW.marker.listeners.length;i++){GEvent.removeListener(cW.marker.listeners[i]);cW.marker.listeners[i]=null;}cW.marker.listeners=null;GEvent.clearInstanceListeners(cW.marker);map.removeOverlay(cW.marker);F(cW.marker);cW.marker=gP;map.addOverlay(gP);if(gP.label!=null){gP.label.marker=gP;gP.label.setZIndex(aP(gP,null)+5);gP.label.overlap=false;gP.label.resetEvent();gP.label.show();}fX=true;fl.type="bus";fl.marker=gP;hs();};var hb="exit";function aU(fF,icon,hC,actualRouteTag,du,cL,cS,direction,directionDisplay,heading,cO,cC,cN,color,jq){var hI=Q(hC);var hP=hC;if(hI!=null){hP+=" - "+hI.name;}var hj=hC+""+du;var marker=new GMarker(fF,{id:hj,eK:true,icon:icon,zIndexProcess:(jq?aP:cw)});marker.hC=hC;marker.actualRouteTag=actualRouteTag;marker.du=du;marker.cL=cL;marker.cS=cS;marker.direction=direction;marker.directionDisplay=directionDisplay;marker.heading=heading;marker.cO=cO;marker.cC=cC;marker.cN=cN;marker.color=color;marker.pulledUp=false;marker.listeners=new Array();marker.listeners.push(GEvent.addListener(marker,"mouseover",function(){if(fl.style.visibility=="visible"&&fl.marker==marker){}else{hb="enter";je=true;tooltip.marker=marker;bp(marker);}}));marker.listeners.push(GEvent.addListener(marker,"mouseout",function(){hb="exit";window.setTimeout("cj()",0);}));marker.listeners.push(GEvent.addListener(marker,"click",function(){tooltip.style.visibility="hidden";fl.style.visibility="hidden";fq=true;cr(marker);}));return marker;};function cj(){if(je==true&&hb=="exit"){je=false;tooltip.style.visibility="hidden";}};function as(marker,size){var content=bm(marker,size);var label=new m(marker.getLatLng(),content);label.marker=marker;label.id="label"+marker.du;label.overlap=true;if(size=="L"){label.pixelOffset=new GSize(-20,-30);}else if(size=="M"){label.pixelOffset=new GSize(-16,-21);}else if(size=="S"){label.pixelOffset=new GSize(-8,-9);}label.percentOpacity=100;return label;};function bm(marker,size){var content="";var color="";if(marker.color==null){var route=v(marker.hC);if(route==null){route=v(0);}color=route.color;}else{color=marker.color;}if(size=="L"){content="<div class='busLabel' style='position: absolute; margin-left:7px; margin-top:0px; text-align:left; background-color:"+color+";width:27px; height:1px; overflow: hidden; text-indent:11px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:6px; margin-top:1px; text-align:left; background-color:"+color+";width:29px; height:1px; overflow: hidden; text-indent:11px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:5px; margin-top:2px; text-align:left; background-color:"+color+";width:31px; height:3px; overflow: hidden; text-indent:11px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:4px; margin-top:5px; text-align:left; background-color:"+color+";width:33px; height:3px; overflow: hidden; text-indent:11px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:3px; margin-top:8px; text-align:left; background-color:"+color+";width:35px; height:2px; overflow: hidden; text-indent:11px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-top:0px; text-align:center; width:41px; height:10px; overflow: hidden;' >"+marker.hC+"</div>"+"<div class='busLabel' style='color: black; margin-top:15px;'>"+marker.cL+"</div>"+"<div class='busLabel' style='color: black; margin-top:-3px; '>"+marker.cN+"</div>"+"<div class='busLabel' style='background-color: black; color:white; margin-top:8px; margin-left:8px; margin-right: 35px;'>"+"<div class='busLabel' style='position: relative; margin-top:0px; text-align:center; width:25px; height:10px; overflow: hidden;' >"+marker.du+"</div></div>";}else if(size=="M"){content="<div><div class='busLabel' style='position: absolute; margin-left:5px; margin-top:1px; text-align:left; background-color:"+color+";width:23px; height:1px; overflow: hidden; text-indent:5px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:4px; margin-top:2px; text-align:left; background-color:"+color+";width:25px; height:3px; overflow: hidden; text-indent:5px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:3px; margin-top:5px; text-align:left; background-color:"+color+";width:27px; height:2px; overflow: hidden; text-indent:5px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-left:2px; margin-top:7px; text-align:left; background-color:"+color+";width:29px; height:3px; overflow: hidden; text-indent:5px;' >&nbsp;</div>"+"<div class='busLabel' style='position: absolute; margin-top:0px; text-align:center; width:33px; height:10px; overflow: hidden;' >"+marker.hC+"</div></div>"+"<div class='busLabel' style='background-color: black; color:white; margin-top:27px; margin-left:7px; margin-right: 40px;'>"+"<div class='busLabel' style='position: relative; margin-top:0px; text-align:center; width:20px; height:10px; overflow: hidden;' >"+marker.du+"</div></div>";}else if(size=="S"){var arrow_direction=marker.heading;if(BrowserDetect.browser=="Explorer"&&BrowserDetect.version=="6"){content="<div style='margin-left:0px; margin-top:0px; width:16px; height:11px; overflow:hidden; vertical-align:top; background-color:"+color+"; background-image: url("+urlContextPath+"/map/images/bus_arrow_"+arrow_direction+".gif); background-position: top center; background-repeat:no-repeat; ' >"+"&nbsp;"+"</div>";}else{content="<div style='margin-left:0px; margin-top:0px; width:16px; height:11px; vertical-align:top; background-color:"+color+"; background-image: url("+urlContextPath+"/map/images/bus_arrow_"+arrow_direction+".gif); background-position: center center; background-repeat:no-repeat; ' >"+"&nbsp;"+"</div>";}}return content;};function cw(marker,b){return GOverlay.getZIndex(marker.getLatLng().lat())+5*1000000;};function aP(marker,b){return GOverlay.getZIndex(marker.getLatLng().lat())+5000000+10000000+jR*5;};function cg(cC,hC){var jF=screen.width-100;window.open(gh+"?pattern="+cC+"&route="+hC+(supervisor?"&supervisor="+supervisor:""),"RouteProgress"+Math.floor(Math.random()*99999),"toolbar=no, scrollbars=no, resizable=no, width="+jF+", height=380");};function bp(marker){var jk="<table width='100%'><tr align='center'><td><div style='background-color:white;'><div class='tooltip'>";jk+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";jk+="		<td bgcolor='"+(marker.color=="white"||marker.color=="#FFFFFF"?"black":marker.color)+"'>";jk+="		&nbsp;&nbsp;&nbsp;&nbsp;";jk+="		</td><td>";jk+="<table width='100%' cellpadding='10'><tr align='left'><td><div class='largerText'><nobr><b>Bus: "+marker.du+"</b></nobr></div><nobr>Route: "+marker.hC;if(marker.hC!="U"&&marker.hC!="PI"&&marker.hC!="PO"&&marker.hC!="OR"&&marker.hC!="DH"){jk+=" To "+marker.cS+"</nobr>";}if(marker.hC=="OR"){jk+="<br/><nobr>Designated Route: "+marker.actualRouteTag+"</nobr>";}jk+="<br/><nobr>Direction: "+marker.directionDisplay+"</nobr><br/>";if(supervisor){jk+="<nobr>Run: "+marker.cL+"</nobr><br/><nobr>Operator: "+marker.cN+"</nobr><br/>";}tooltip.type="bus";if(marker.hC!="U"&&marker.hC!="PI"&&marker.hC!="PO"&&marker.hC!="OR"&&marker.hC!="DH"){ht=jk;aG(marker.du,true)}else{jk+="</td></tr></table></div></div></td></tr></table>";tooltip.innerHTML=jk;aq(marker,tooltip);}};function bq(hx){var jk=ht;if(hx==null||hx.length==0){jk+="<table bgcolor='white' width='100%' border='0' cellspacing='0' cellpadding='0'>";jk+="<tr style='max-height:10px' height='10' colspan='4'><td></td></tr>";jk+="<tr><td width='10'></td><td align='center' colspan='2'>";jk+="<table width='100%' bgcolor='white' border='0' cellspacing='10' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><nobr>No arrival times available</nobr></td></tr></table><td width='10'></td></tr>";jk+="<tr style='max-height:10px' height='10' colspan='4'><td></td></tr>";jk+="</table><center></td></tr></table>";}else{jk+="<br /><nobr><span class='textBold'>Next Stops</span>";jk+="<table width='100%' bgcolor='white' border='0' cellspacing='10' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><table bgcolor='white' width='100%' border='0' cellspacing='0' cellpadding='0'>";for(var i=0;i<hx.length;i++){jk+="<tr><td align='left'><nobr>"+hx[i].cE+"&nbsp;&nbsp;&nbsp;</nobr></td><td align='right'><nobr>"+hx[i].cH+"</nobr></td></tr>";}jk+="</table></td></tr></table></td></tr></table>";}jk+="</div></div></td></tr></table>";tooltip.innerHTML=jk;tooltip.type="bus";aq();};function hs(){var marker=fl.marker;var infoboxText="<table width='100%' border='0'><tr align='center'><td><div style='background-color:white;'>";infoboxText+="<div class='tooltip'>";infoboxText+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";infoboxText+="		<td bgcolor='"+(marker.color=="white"||marker.color=="#FFFFFF"?"black":marker.color)+"'>";infoboxText+="		&nbsp;&nbsp;&nbsp;&nbsp;";infoboxText+="		</td><td>";infoboxText+="<table width='100%' class='infoBoxBus'><tr>";infoboxText+="<td align='left' valign='bottom'><span class='largerText'><nobr><b>Bus: "+marker.du+"</b></nobr></span></td>";infoboxText+="<td align='right' valign='top'><span onclick='closeThatBox();' style='cursor:pointer;'><img src='images/close_icon.gif'></span></td>";infoboxText+="</tr></table><table width='100%' class='infoBoxBus2'><tr><td><table width='100%' class='infoBoxBus3'>";infoboxText+="<tr><td align='left'><nobr>Route: "+marker.hC;if(marker.hC!="U"&&marker.hC!="PI"&&marker.hC!="PO"&&marker.hC!="OR"&&marker.hC!="DH"){infoboxText+=" To "+marker.cS+"</nobr>";}if(marker.hC=="OR"){infoboxText+="<br/><nobr>Designated Route: "+marker.actualRouteTag+"</nobr>";}infoboxText+="<br/><nobr>Direction: "+marker.directionDisplay+"</nobr><br/>";if(supervisor){infoboxText+="<nobr>Run: "+marker.cL+"</nobr><br/><nobr>Operator: "+marker.cN+"</nobr><br/>";}fl.type="bus";fl.marker=marker;if(marker.hC!="U"&&marker.hC!="PI"&&marker.hC!="PO"&&marker.hC!="OR"&&marker.hC!="DH"){hu=infoboxText;aG(marker.du,false)}else{infoboxText+="</td></tr></table></td></tr></table></td></tr></table></div></div></td></tr></table>";fl.innerHTML=infoboxText;fQ();}};function closeThatBox(){etaParameters="";fl.style.visibility="hidden";fq=false;fX=false;fl.totalBuses=null;};function iZ(hx){var infoboxText=hu;if(hx==null||hx.length==0){infoboxText+="<table bgcolor='white' width='100%' border='0' cellspacing='0' cellpadding='0'>";infoboxText+="<tr style='max-height:10px' height='10' colspan='4'><td></td></tr>";infoboxText+="<tr><td width='10'></td><td align='center' colspan='2'>";infoboxText+="<table width='100%' bgcolor='white' border='0' cellspacing='10' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><nobr>No arrival times available</nobr></td></tr></table></td><td width='10'></td></tr>";infoboxText+="</table></td></tr></table></td></tr></table>";}else{infoboxText+="<br /><nobr><span class='textBold'>Next Stops</span></nobr>";infoboxText+="<table width='100%' bgcolor='white' border='0' cellspacing='2' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><table bgcolor='white' width='100%' border='0' cellspacing='0' cellpadding='0'>";for(var i=0;i<hx.length;i++){infoboxText+="<tr><td align='left'><nobr>"+hx[i].cE+"&nbsp;&nbsp;&nbsp;</nobr></td><td align='right'><nobr>"+hx[i].cH+"</nobr></td></tr>";}infoboxText+="</table></td></tr></table>";}infoboxText+="<table width='100%' border='0' cellspacing='2' cellpadding='0'>";if(fl.marker.cC!=0){infoboxText+="<tr><td align='left'><span style='text-decoration:underline; color:blue; cursor:pointer;' onclick='cg(\""+fl.marker.cC+"\", \""+fl.marker.hC+"\")'>"+"Route Progress"+"</span></td></tr>";}if(schedulesAvailable){infoboxText+="<tr><td align='left'><span><a href='"+jspGetSchedulePDF+"&route="+fl.marker.hC+"' target='_blank'>"+"<span style='text-decoration:underline; color:blue;'>Route Schedule</span>"+"</a></span></td></tr>";}infoboxText+="</table></td></tr></table></div></div></td></tr></table>";fl.innerHTML=infoboxText;fl.type="bus";fQ(fl.marker,fl);}