function P(jb,ge){var hE="";if(!ge&&allRoutesForStop){hE="all";}else{for(var i=0;i<er.length;i++){if(er[i].visible){hE+=hE==""?er[i].id:"-"+er[i].id;}}}var url=gf+"?stop="+jb+"&route="+hE+"&key="+Math.random();var request=GXmlHttp.create();request.open("GET",url,true);request.onreadystatechange=function(){try{if(request.readyState==4){if(ge){bN(request);}else{bM(request);}}}catch(e){A("Bus stop information is not currently available.  Please try again later. (GSI-E)");}};request.send(null);};function bM(jQ){try{if(jQ.readyState==4){if(jQ.status==200){ci(jQ.responseXML);}}}catch(e){A("Bus stop information is not currently available.  Please try again later. (SCBS-E)"+e);}jQ=null;t();};function bN(jQ){try{if(jQ.readyState==4){if(jQ.status==200){cu(jQ.responseXML);}}}catch(e){}jQ=null;t();};function cu(xml){I();if(je){var hF="";var jG=xml.getElementsByTagName("stop");if(D(jG,"PXDBSTT",true))return;fW=new Array();var cE="";if(jG[0].getElementsByTagName("nm").length>0&&jG[0].getElementsByTagName("nm")[0].firstChild!=null){cE=jG[0].getElementsByTagName("nm")[0].firstChild.data;}var stopDisplayName=cE;if(stopDisplayName.length>40){var i=stopDisplayName.indexOf(" ",39);if(i>39&&i<stopDisplayName.length-1){stopDisplayName=stopDisplayName.substring(0,i)+"<br/>"+stopDisplayName.substring(i+1);}}var stopId="";if(jG[0].getElementsByTagName("id").length>0&&jG[0].getElementsByTagName("id")[0].firstChild!=null){stopId=jG[0].getElementsByTagName("id")[0].firstChild.data;}var colorInfo=null;if(jG[0].getElementsByTagName("cr").length>0&&jG[0].getElementsByTagName("cr")[0].firstChild!=null){var colorRoute=jG[0].getElementsByTagName("cr")[0].firstChild.data;colorInfo=Q(colorRoute).color;}var iV=jG[0].getElementsByTagName("sri");if(iV.length>0&&iV[0].firstChild!=null){fW=new Array();for(var i=0;i<iV.length;i++){var hZ=iV[i].getElementsByTagName("rt")[0].firstChild.data;var fp=iV[i].getElementsByTagName("d")[0].firstChild.data;var directionDisplayInfo=iV[i].getElementsByTagName("dd")[0].firstChild.data;var descriptionInfo=Q(hZ).name;if(colorInfo==null){colorInfo=Q(hZ).color;}fW.push(hZ);if(i==0){hF="<table width='100%'><tr align='center'><td><div style='background-color:white;'><div class='tooltip'>";hF+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";hF+="		<td bgcolor='"+colorInfo+"'>";hF+="		&nbsp;&nbsp;&nbsp;&nbsp;";hF+="		</td><td>";hF+="		<table width='100%' cellpadding='10' cellspacing='0'><tr align='left'><td><table>";hF+="<tr><td><div class='largerText'><b>Stop:</b></div></td><td><div class='largerText'><nobr>"+stopDisplayName+"</nobr></div></td></tr>";hF+="<tr><td><b>Route:</b></td><td> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td></tr>";}else{hF+="<tr><td>&nbsp;</td><td> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td></tr>";}}hF+="</table>";}else{var hZ=tooltip.marker.hE;var fp=tooltip.marker.direction;var directionDisplayInfo=tooltip.marker.directionDisplay;var descriptionInfo=Q(tooltip.marker.hE).name;var colorInfo=Q(tooltip.marker.hE).color;hF="<table width='100%'><tr align='center'><td><div style='background-color:white;'><div class='tooltip'>";hF+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";hF+="		<td bgcolor='"+colorInfo+"'>";hF+="		&nbsp;&nbsp;&nbsp;&nbsp;";hF+="		</td><td>";hF+="		<table width='100%' cellpadding='10' cellspacing='0'><tr align='left'><td><table>";hF+="<tr><td><div class='largerText'><b>Stop:</b></div></td><td><div class='largerText'><nobr>"+stopDisplayName+"</nobr></div></td></tr>";hF+="<tr><td><b>Route:</b></td><td> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td></tr>";}var hy="";if(fe){var hw=jG[0].getElementsByTagName("pre");if(hw!=null&&hw.length>0){hy="<table width='100%' cellspacing='0' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><table width='100%' cellspacing='0' cellpadding='0' border='0'><tr><td align='left' style='padding-left:5px;'><span class='textBold'>Bus&nbsp;&nbsp;</span></td><td align='left'><span class='textBold'>Route</span></td><td align='right' style='padding-right:5px;'><span class='textBold'>ETA</span></td></tr>";hy+="<tr bgcolor='white'><td style='padding-top:5px;' align='left' colspan='3'></td></tr>";for(var x=0;x<hw.length;x++){var hE=hw[x].getElementsByTagName("rn")[0].firstChild.data;var cJ=hw[x].getElementsByTagName("fd")[0].firstChild.data;var cW=hw[x].getElementsByTagName("v")[0].firstChild.data;var cH=hw[x].getElementsByTagName("pt")[0].firstChild.data;hy+="<tr bgcolor='white'><td style='padding-left:5px;' align='left'>"+cW+"&nbsp;&nbsp;&nbsp;&nbsp;</td><td align='left'><nobr>"+hE+" To "+cJ+"&nbsp;&nbsp;&nbsp;&nbsp;</nobr></td><td align='right' style='padding-right:5px;'><nobr>"+cH+"&nbsp;</nobr></td></tr>";}hy+="<tr bgcolor='white'><td style='padding-bottom:5px;' align='left' colspan='3'></td></tr>";hy+="</table></td></tr></table>";}else{var noPredictionText="No arrival times";var noPredictionTags=jG[0].getElementsByTagName("noPredictionMessage");if(noPredictionTags!=null){noPredictionText=noPredictionTags[0].firstChild.data;}hy+="<br/><table width='100%' border='1' cellspacing='0' cellpadding='10' bgcolor='white'><tr><td style='padding:5px;' align='center' colspan='3'>"+noPredictionText+"</td></tr>";}if(hi){hy+="<tr><td><table width='100%' style='border-style:solid; border-width:0px; border-color:black;' cellspacing='0' cellpadding='0' bgcolor='white'><tr><td><nobr>Text \""+jV+" "+stopId+"\" to "+jO+" for arrival times</nobr></td></tr></table></td></tr>";}hy+="</td></tr></table>";hy+="</td></tr></table>";hy+="</div></div></td></tr></table>";}bn(hF+hy);}};function ci(xml){I();var hF="";var jG=xml.getElementsByTagName("stop");if(D(jG,"PXDBSTT",true))return;fW=new Array();var cE="";if(jG[0].getElementsByTagName("nm").length>0&&jG[0].getElementsByTagName("nm")[0].firstChild!=null){cE=jG[0].getElementsByTagName("nm")[0].firstChild.data;}var stopDisplayName=cE;if(stopDisplayName.length>40){var i=stopDisplayName.indexOf(" ",39);if(i>39&&i<stopDisplayName.length-1){stopDisplayName=stopDisplayName.substring(0,i)+"<br/>"+stopDisplayName.substring(i+1);}}var stopId="";if(jG[0].getElementsByTagName("id").length>0&&jG[0].getElementsByTagName("id")[0].firstChild!=null){stopId=jG[0].getElementsByTagName("id")[0].firstChild.data;}var allRoutesForStopChecked="";if(allRoutesForStop){allRoutesForStopChecked="checked";}var colorInfo=null;if(jG[0].getElementsByTagName("cr").length>0&&jG[0].getElementsByTagName("cr")[0].firstChild!=null){var colorRoute=jG[0].getElementsByTagName("cr")[0].firstChild.data;colorInfo=Q(colorRoute).color;}var saveRouteInfo="";var saveDirectionInfo="";var saveDirectionDisplayInfo="";var saveStopInfo="";var saveStopId="";var iV=jG[0].getElementsByTagName("sri");if(iV.length>0&&iV[0].firstChild!=null){var holdRouteInfo=fl.marker.hE;//@1
for(var i=0;i<iV.length;i++){var hZ=iV[i].getElementsByTagName("rt")[0].firstChild.data;if(hZ==holdRouteInfo)holdRouteInfo=null;//@1
if(colorInfo==null){colorInfo=Q(hZ).color;}var fp=iV[i].getElementsByTagName("d")[0].firstChild.data;var directionDisplayInfo=iV[i].getElementsByTagName("dd")[0].firstChild.data;var descriptionInfo=Q(hZ).name;fW.push(hZ);if(i==0){hF="<table width='100%'>";hF+="	<tr align='center'>";hF+="		<td>";hF+="			<div style='background-color:white;'>";hF+="				<div class='tooltip'>";hF+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";hF+="		<td bgcolor='"+colorInfo+"'>";hF+="		&nbsp;&nbsp;&nbsp;&nbsp;";hF+="		</td><td>";hF+="					<table width='100%' class='infoBoxBus'>";hF+="						<tr>";hF+="							<td align='left' valign='bottom'><div class='largerText'><nobr><b>Stop:</b>"+stopDisplayName+"</nobr></div></td>";hF+="							<td align='right' valign='top'><span onclick='closeThatBox();' style='cursor:pointer;'><img src='images/close_icon.gif'></span></td>";hF+="						</tr>";hF+="					</table>";hF+="					<table width='100%'  class='infoBoxBus2'>";hF+="						<tr>";hF+="							<td>";hF+="								<table width='100%' class='infoBoxBus3'>";hF+="									<tr>";hF+="										<td align='left'><b>Route:</b></td>";hF+="										<td align='left'> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td>";hF+="									</tr>";saveRouteInfo=hZ;saveDirectionInfo=fp;saveDirectionDisplayInfo=directionDisplayInfo;saveStopInfo=cE;saveStopId=stopId;}else{hF+="									<tr>";hF+="										<td align='left'>&nbsp;</td>";hF+="										<td align='left'> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td>";hF+="									</tr>";}}hF+="											<tr>";hF+="												<td colspan='2' align='left'><input type='checkbox' name='showAllRoutes' "+(allRoutesForStop?"checked":"")+" onclick='allRoutesForStop=!allRoutesForStop;P("+fl.marker.jb+", false)'><span class='smallestText'>Show all scheduled routes for this stop</span></td>";//@1
hF+="											</tr>";}else{var hZ=fl.marker.hE;fW.push(hZ);var fp=fl.marker.direction;var directionDisplayInfo=fl.marker.directionDisplay;var descriptionInfo=Q(fl.marker.hE).name;var colorInfo=Q(fl.marker.hE).color;hF="<table width='100%'>";hF+="	<tr align='center'>";hF+="		<td>";hF+="			<div style='background-color:white;'>";hF+="				<div class='tooltip'>";hF+="		<table width='100%' cellpadding='0' cellspacing='0'><tr>";hF+="		<td bgcolor='"+colorInfo+"'>";hF+="		&nbsp;&nbsp;&nbsp;&nbsp;";hF+="		</td><td>";hF+="					<table width='100%' class='infoBoxBus'>";hF+="						<tr>";hF+="							<td align='left' valign='bottom'><div class='largerText'><nobr><b>Stop:</b>"+stopDisplayName+"</nobr></div></td>";hF+="							<td align='right' valign='top'><span onclick='closeThatBox();' style='cursor:pointer;'><img src='/bustime/map/images/close_icon.gif'></span></td>";hF+="						</tr>";hF+="					</table>";hF+="					<table width='100%'  class='infoBoxBus2'>";hF+="						<tr>";hF+="							<td>";hF+="								<table width='100%' class='infoBoxBus3'>";hF+="									<tr>";hF+="										<td align='left'><b>Route:</b></td>";hF+="										<td align='left'> <nobr>"+hZ+" "+descriptionInfo+" ("+directionDisplayInfo+")</nobr></td>";hF+="									</tr>";hF+="									<tr>";hF+="										<td colspan='2' align='left'><input type='checkbox' name='showAllRoutes' "+(allRoutesForStop?"checked":"")+" onclick='allRoutesForStop=!allRoutesForStop;P("+fl.marker.jb+", false)'><span class='smallestText'>Show all scheduled routes for this stop</span></td>";//@1
hF+="									</tr>";saveRouteInfo=hZ;saveDirectionInfo=fp;saveDirectionDisplayInfo=directionDisplayInfo;saveStopInfo=cE;saveStopId=stopId;}var cI=new Array();var ih=jG[0].getElementsByTagName("sbs");aB(ih,cI);var hy="";if(fe){var hw=jG[0].getElementsByTagName("pre");if(hw!=null&&hw.length>0){hy="<tr><td colspan='2'><table width='100%' cellspacing='0' cellpadding='0' style='border-style:solid; border-width:1px; border-color:gray;'><tr><td><table width='100%' cellspacing='0' cellpadding='0' border='0'><tr><td align='left' style='padding-left:5px;'><span class='textBold'>Bus&nbsp;&nbsp;</span></td><td align='left'><span class='textBold'>Route</span></td><td align='right' style='padding-right:5px;'><span class='textBold'>ETA</span></td></tr>";hy+="<tr bgcolor='white'><td style='padding-top:5px;' align='left' colspan='3'></td></tr>";for(var x=0;x<hw.length;x++){var hE=hw[x].getElementsByTagName("rn")[0].firstChild.data;var cJ=hw[x].getElementsByTagName("fd")[0].firstChild.data;var cW=hw[x].getElementsByTagName("v")[0].firstChild.data;var cH=hw[x].getElementsByTagName("pt")[0].firstChild.data;hy+="<tr bgcolor='white'><td style='padding-left:5px;' align='left'>"+cW+"&nbsp;&nbsp;&nbsp;&nbsp;</td><td align='left'><nobr>"+hE+" To "+cJ+"&nbsp;&nbsp;&nbsp;&nbsp;</nobr></td><td align='right' style='padding-right:5px;'><nobr>"+cH+"&nbsp;</nobr></td></tr>";}hy+="<tr bgcolor='white'><td style='padding-bottom:5px;' align='left' colspan='3'></td></tr>";hy+="</table></td></tr></table></td></tr>";}else{var noPredictionText="No arrival times";var noPredictionTags=jG[0].getElementsByTagName("noPredictionMessage");if(noPredictionTags!=null){noPredictionText=noPredictionTags[0].firstChild.data;}hy+="<tr><td colspan='2'><table width='100%' border='1' cellspacing='0' cellpadding='0' bgcolor='white'><tr><td style='padding:5px;' align='center'>"+noPredictionText+"</td></tr></td></tr>";hy+="</table></td></tr>";}}var serviceBulletinText="";if(cI.length>0){is=cI;iw=cE;iv=null;serviceBulletinText+="<tr><td colspan='2'>&nbsp;</td></tr><tr><td colspan='2' align='left'><span onclick='ap();' class='linkAppearance'>View Service Bulletin(s)</span></td></tr>"}var scheduleText="";var prevRoute="";for(var i=0;i<fW.length;i++){if(prevRoute!=fW[i]){if(schedulesAvailable){scheduleText+="<tr><td align='left' colspan='2'><span><a href='"+jspGetSchedulePDF+"&route="+fW[i]+"' target='_blank'>"+"<span style='text-decoration:underline; color:blue;'>Route Schedule for "+fW[i]+"</span>"+"</a></span></td></tr>";}prevRoute=fW[i];}}var alertText="";if(loggedIn){alertText="<tr><td align='left' colspan='2'><span style='text-decoration:underline; color:blue; cursor:pointer; cursor:hand;' onclick='openAlertWindow(\""+saveRouteInfo+"\", \""+saveDirectionInfo+"\", \""+saveStopInfo+"\")'>Add Alert for This Stop</span></td></tr>";}var jW="";if(hi){jW="<tr><td colspan='2'><table width='100%' style='border-style:solid; border-width:0px; border-color:black;' cellspacing='0' cellpadding='0' bgcolor='white'><tr><td><nobr>Text \""+jV+" "+saveStopId+"\" to "+jO+" for arrival times</nobr></td></tr></table></td></tr>";}var finalText="</table></td></tr></table>";finalText+="</td></tr></table>";finalText+="</div></div></td></tr></table>";iQ(hF+hy+serviceBulletinText+scheduleText+alertText+jW+finalText);etaParameters="?route="+saveRouteInfo+"&direction="+saveDirectionInfo+"&stop="+saveStopInfo.replace("&","%26")+"&id="+saveStopId;};function openAlertWindow(saveRouteInfo,saveDirectionInfo,saveStopInfo){window.open(jspUpdateAlerts+"?addAlert=true&route="+saveRouteInfo+"&direction="+saveDirectionInfo+"&stop="+(saveStopInfo.replace("&","%26").replace(" ","")),'alerts','location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes');}