(function(f){transloc.map.BingMap.prototype.apiKey="AgrRQp85D9svCKlcH9K8TE9rGLvVOmZibLx5SdTB3n7LJ61NLNzqy4BmV878ObTj";var h=null;var g;function b(){var p=/#([a-zA-Z]+)(\/([a-zA-Z]+))?/;var n=p.exec(window.location.hash);var q="msvc";var o="bing".toUpperCase();f.getJSON("http://feeds.transloc.com/1/agencies.jsonp?callback=?",function(u){var s;for(var t=0,r=u.agencies.length;t<r;t++){if(u.agencies[t].name==q){s=u.agencies[t].ll}}if(s===undefined&&q=="msvc"){s=[37.404596,-122.077095]}h=new transloc.tvs.Map(document.getElementById("map"),{mapType:transloc.tvs.Map[o+"_MAP"],mapSettings:{center:s}});f.getJSON("http://feeds.transloc.com/1/setup.jsonp?agencies=msvc&callback=?",function(v){f.publish("transloc/feeds/setup",[v]);f.getJSON("http://feeds.transloc.com/1/stops.jsonp?agencies=msvc&callback=?",function(w){f.publish("transloc/feeds/stops",[w])})});g=setInterval(function(){f.getJSON("http://feeds.transloc.com/1/update.jsonp?agencies=msvc&callback=?",function(y){var z={active_routes:y.active_routes,agencies:y.agencies,ms:y.ms,success:y.success,time:y.time,vehicles:[]};var w=[];for(var x=0,v=y.vehicles.length;x<v;x++){if(y.vehicles[x].ll!=null){z.vehicles.push(y.vehicles[x])}else{w.push(y.vehicles[x])}}if(w.length>0){f.publish("transloc/feeds/avldown",[w])}else{f.publish("transloc/feeds/avlup",[])}f.publish("transloc/feeds/update",[z])})},2000)})}var e=f("body");var d=f("#mapcontainer");var k=f("#sidebar");var c=f("#routelist");function a(){d.height(e.height()-105);k.height(e.height()-105)}function j(n){return("__routeID__"+n).replace(/-/g,"_")}function m(n){return n.replace(/__routeID__/g,"").replace(/_/g,"-")}function i(o){var p=o.className;var n=(/(__routeID__[a-zA-Z0-9_]+)/).exec(p);if(n){return m(n[1])}else{return null}}function l(){var o={};var n={};f.subscribe("transloc/feeds/setup",function(u){var y=u.agencies;for(var v=0,w=y.length;v<w;v++){var z=y[v].routes;for(var s=0,r=z.length;s<r;s++){o[z[s].id]=z[s];n[z[s].id]=false}}var q=[];for(var v in o){if(o.hasOwnProperty(v)){var x=j(v);var t='<li class="'+x+'" style="display: none"><input type="checkbox" class="routetoggle '+x+'" name="'+x+'" name="'+x+'"/><label for="'+x+'" class="'+x+'"><span class="marker" style="border: 1px solid #'+o[v].color+"; background-color: #"+o[v].color+'"></span><span class="name">'+o[v].long_name+"</span></label></li>";q.push({routeName:o[v].long_name,node:t})}}q=q.sort(function(B,A){return B.routeName>A.routeName});for(var v=0,w=q.length;v<w;v++){c.append(q[v].node)}});f.subscribe("transloc/feeds/update",function(w){var s=w.active_routes;n={};for(var u=0,r=s.length;u<r;u++){n[s[u]]=true}var q=[];var t=[];for(var u in n){if(n.hasOwnProperty(u)){var v=j(u);if(n[u]===false){t.push("li."+v)}else{q.push("li."+v)}}}f(q.join(",")).show();f(t.join(",")).hide()});function p(){var s=i(this);var q=f(this);var r=f("li."+j(s));if(r.hasClass("fadeOut")){f.publish("transloc/route/show",[s]);r.removeClass("fadeOut")}else{f.publish("transloc/route/hide",[s]);r.addClass("fadeOut")}}f("input.routetoggle").live("change",p);f("#routelist li label").live("click",p)}f(document).ready(function(){a();f(window).resize(a);b();var n={};f.subscribe("transloc/feeds/setup",function(t){n={};for(var s=0,r=t.agencies[0].routes.length;s<r;s++){n[t.agencies[0].routes[s].id]=t.agencies[0].routes[s]}});var o=false;var p=f('<div><span style="background-color: #ffffaa; font-weight: bold; padding: 5px;" class="message"></span></div>').css({position:"absolute",top:"35px",left:"0px",width:"100%",textAlign:"center",zIndex:10000});function q(r){var s=["zero","one","two","three","four","five","six","seven","eight","nine"];return s[r]||r}f.subscribe("transloc/feeds/avldown",function(x){var w={};for(var t=0,r=x.length;t<r;t++){if(!w[x[t].r]){w[x[t].r]={count:0,name:n[x[t].r].long_name}}w[x[t].r].count++}var v=[],u=0;for(var s in w){if(w.hasOwnProperty(s)){u+=w[s].count;v.push(q(w[s].count)+" bus"+(w[s].count>1?"es":"")+" from "+w[s].name)}}v[v.length-1]=v.length>1?"and "+v[v.length-1]:v[v.length-1];v="Currently "+v.join(", ")+(u>1?" are ":" is ")+"not being shown.";p.find(".message").text(v);if(!o){p.appendTo("#mapcontainer")}o=true});f.subscribe("transloc/feeds/avlup",function(){p.remove();o=false});l()})})(jQuery);
