$stopInfo['id'] = $stop_id;
	   $routeInfo['stops'][] = $stopInfo;
	 }
       }
     }

     $data[] = $routeInfo;
   }
   break;
 case 'routeInfo': // live info for individual routes
   $route = $_REQUEST['id'];
   $time = time();
   if ($route) {

     $gpsActive = NextBusReader::gps_active($route);
     $stopTimes = list_stop_times($route, $time, $gpsActive);

     if ($_REQUEST['full'] == 'true') {
       $data = get_route_metadata($route);

       $stops = Array();
       if ($stops = NextBusReader::get_route_info($route)) {
	 foreach ($stopTimes as $index => $stopTimeInfo) {
	   $stopInfo = $stops[$stopTimeInfo['id']];
	   foreach ($stopInfo as $property => $value) {
	     if ($property == 'title')
	       continue;
	     $stopTimes[$index][$property] = $value;
	   }
	 }
       }
if (!in_array($route, ShuttleSchedule::get_active_routes())) {
    $routeName = ucwords(str_replace('_', ' ', $_REQUEST['route']));
    $not_found_text = '<p>The route ' . $routeName . ' is not currently in service.  Please update your bookmarks accordingly.  For more information see the <a href="help.php">help page</a>.</p>';
    $page->prepare_error_page('Shuttle Schedule', 'shuttle', $not_found_text);
} else {
    $now = time();
    $routeName = ShuttleSchedule::get_title($route);
    $interval = ShuttleSchedule::get_interval($route);
    $loop_time = $interval / 60;
    $summary = ShuttleSchedule::get_summary($route);
    if ($page->branch != 'Basic') {
        // format: 9:05AM -> 9:05<span class="ampm">AM</span>
        $summary = preg_replace('/(\\d)(AM|PM)/', '$1<span class="ampm">$2</span>', $summary);
    }
    $gps_active = ShuttleSchedule::is_running($route) && NextBusReader::gps_active($route);
    $stops = list_stop_times($route, $now, $gps_active);
    $upcoming_stops = array();
    foreach ($stops as $index => $stop) {
        if ($stop['upcoming']) {
            $upcoming_stops[] = $index;
        }
    }
    // determine size of route map to display on each device
    switch ($page->branch) {
        case 'Webkit':
            $size = 270;
            break;
        case 'Touch':
            $size = 200;
            break;
        case 'Basic':