More work on mobile UI, changed to network 10 start date
[bus.git] / busui / routeList.php
blob:a/busui/routeList.php -> blob:b/busui/routeList.php
--- a/busui/routeList.php
+++ b/busui/routeList.php
@@ -1,55 +1,91 @@
 <?php
 include('common.inc.php');
-include_header("Routes");
-/* data-filter="true">';
-echo "<script> $('#routeList').listnav({prefixes: ['to'] }); </script>";*/
-echo '  <ul data-role="listview">';
+include_header("Routes","routeList");
+echo'
+		<div data-role="navbar"> 
+			<ul> 
+				<li><a href="routeList.php">By Final Destination...</a></li> 
+				<li><a href="routeList.php?bynumber=yes">By Number... </a></li>
+				<li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li>
+				<li><a href="routeList.php?nearby=yes">Nearby... </a></li>
+			</ul>
+                </div>
+	';
+echo '  <ul data-role="listview"  data-inset="true">';
 $url = $APIurl."/json/routes";
+$contents = json_decode(getPage($url));
+debug(print_r($contents,true));
 
-$contents = json_decode(getPage($url));
+function printRoutes($routes){
+	foreach($routes as $row) {
+				echo  '<li>'.$row[1].' <a href="trip.php?routeid='.$row[0].'">'.$row[2]." (".ucwords($row[3]).")</a></li>\n";
+			}
+}
+
 if ($_REQUEST['bynumber']) {
 	$routeSeries = Array();
+	$seriesRange = Array();
 	foreach ($contents as $key => $row) {
 		foreach (explode(" ",$row[1]) as $routeNumber ) {
 			$seriesNum = substr($routeNumber, 0, -1)."0";
 			if ($seriesNum == "0") $seriesNum = $routeNumber;
+			$finalDigit = substr($routeNumber, sizeof($routeNumber)-1, 1);
+			if (isset($seriesRange[$seriesNum])) {
+				if ($finalDigit < $seriesRange[$seriesNum]['max'])
+					$seriesRange[$seriesNum]['max'] = $routeNumber;
+				if ($finalDigit > $seriesRange[$seriesNum]['min'])
+					$seriesRange[$seriesNum]['min'] = $routeNumber;
+			} else {
+				$seriesRange[$seriesNum]['max'] = $routeNumber;
+				$seriesRange[$seriesNum]['min'] = $routeNumber;
+			}
 			$routeSeries[$seriesNum][$seriesNum."-".$row[1]."-".$row[0]]  = $row;
-
-			
 		}
 	}
 	ksort($routeSeries);
+	ksort($seriesRange);
+		echo '<div class="noscriptnav"> Go to route numbers: ';
+		foreach ($seriesRange as $series => $range) 
+		{
+		  if ($range['min'] == $range['max']) echo "<a href=\"#$series\">$series</a>&nbsp;"; 
+		  else  echo "<a href=\"#$series\">{$range['min']}-{$range['max']}</a>&nbsp;"; 
+		}
+		echo "</div>
+			<script>
+		$('.noscriptnav').hide();
+			</script>";
 	foreach ($routeSeries as $series => $routes)
 	{
-		echo '<li>'.$series."... <ul>\n";
-			foreach($routes as $row) {
-				echo  '<li>'.$row[1].' <a href="route.php?routeid='.$row[0].'">'.$row[2]."</a></li>\n";
-			}
+		echo '<a name="'.$series.'"></a>';
+		if ($series <= 9) echo '<li>'.$series."<ul>\n";
+		else echo "<li>{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}<ul>\n";
+			printRoutes($routes);
 		echo "</ul></li>\n";
 	}
 } else {
 	foreach ($contents as $key => $row) {
 	    $routeDestinations[$row[2]][]  = $row;
 	}
+	echo '<div class="noscriptnav"> Go to Destination: ';
+		foreach(ksort($routeDestinations) as $destination => $routes) 
+		{ 
+		   echo "<a href=\"#$destination\">$destination</a>&nbsp;"; 
+		}
+		echo "</div>
+			<script>
+		$('.noscriptnav').hide();
+			</script>";
 	foreach ($routeDestinations as $destination => $routes)
 	{
+		echo '<a name="'.$destination.'"></a>';
 		echo '<li>'.$destination."... <ul>\n";
-			foreach($routes as $row) {
-				echo  '<li>'.$row[1].' <a href="trip.php?routeid='.$row[0].'">'.$row[2]."</a></li>\n";
-			}
+		printRoutes($routes);
 		echo "</ul></li>\n";
 	}
 }
 echo "</ul>\n";
-echo'
- <div data-role="footer" data-id="foo1" data-position="fixed"> 
-		<div data-role="navbar"> 
-			<ul> 
-				<li><a href="routeList.php" class="ui-btn-active">By Final Destination...</a></li> 
-				<li><a href="routeList.php?bynumber=yes">By Number... </a></li>
-				<li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li> 
-			</ul> 
-	';
+
+
 include_footer();
 ?>