--- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -36,9 +36,17 @@ if ($datepicker) echo '<link rel="stylesheet" href="css/jquery.ui.datepicker.mobile.css" />'; if (isDebugServer()) echo '<link rel="stylesheet" href="css/jquery-mobile-1.0a3.css" /> <script type="text/javascript" src="js/jquery-1.5.js"></script> + <script>$(document).bind("mobileinit", function(){ + $.mobile.ajaxEnabled = false; +}); +</script> <script type="text/javascript" src="js/jquery-mobile-1.0a3.js"></script>'; else echo '<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> + <script>$(document).bind("mobileinit", function(){ + $.mobile.ajaxEnabled = false; +}); +</script> <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>'; if ($datepicker) echo '<script> //reset type=date inputs to text @@ -79,7 +87,11 @@ text-size: 0.2em; } .min-width-480px .viaPoints { - display: block; + display: inline; + } + #extrainfo { + visibility: hidden; + display: none; } // source http://webaim.org/techniques/skipnav/ #skip a, #skip a:hover, #skip a:visited @@ -109,25 +121,32 @@ echo "<script> function success(position) { +$('#error').val('Location now detected. Please wait for data to load.'); $('#geolocate').val(position.coords.latitude+','+position.coords.longitude); -$.ajax({ url: \"common.inc.php?geolocate=yes&lat=\"+position.coords.latitude+\"&lon=\"+position.coords.longitude }); -$('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); -$('#here').show(); +$.ajax({ url: \"include/common.inc.php?geolocate=yes&lat=\"+position.coords.latitude+\"&lon=\"+position.coords.longitude }); +location.reload(true); } function error(msg) { - console.log(msg); -} - +$('#error').val('Error: '+msg); +} + +function geolocate() { if (navigator.geolocation) { var options = { - enableHighAccuracy: false, + enableHighAccuracy: true, timeout: 60000, maximumAge: 10000 } navigator.geolocation.getCurrentPosition(success, error, options); } - -</script> "; +} +$(document).ready(function() { + $('#here').click(function(event) { $('#geolocate').val(geolocate()); return false;}); +$('#here').show(); +}); +"; +if (!isset($_SESSION['lat']) || $_SESSION['lat'] == "") echo "geolocate();"; +echo "</script> "; } if (isAnalyticsOn()) echo ' <script type="text/javascript">'." @@ -150,7 +169,8 @@ document.title = "' . $pageTitle . '"; }); </script> - <div data-role="header"> + <div data-role="header" data-position="inline"> + <a href="'.$_SERVER["HTTP_REFERER"].'" data-icon="arrow-l" data-rel="back">Back</a> <h1>' . $pageTitle . '</h1> </div><!-- /header --> <a name="maincontent" id="maincontent"></a> @@ -159,12 +179,6 @@ } function include_footer() { - if ($geolocate && isset($_SESSION['lat'])) { - echo "<script> - $('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); -$('#here').show(); -</script>"; - } echo '<div id="footer"><a href="about.php">About/Contact Us</a> <a href="feedback.php">Feedback/Bug Report</a></a>'; echo '</div>'; if (isAnalyticsOn()) { @@ -175,9 +189,9 @@ 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })();"; + })();</script>"; $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl(); - echo '<img src="' . $googleAnalyticsImageUrl . '" />'; + echo '<noscript><img src="' . $googleAnalyticsImageUrl . '" /></noscript>'; } } function timePlaceSettings($geolocate = false) @@ -188,13 +202,13 @@ $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == ""; } if ($geoerror) { - echo '<div class="error">Sorry, but your location could not currently be detected. + echo '<div id="error">Sorry, but your location could not currently be detected. Please allow location permission, wait for your location to be detected, or enter an address/co-ordinates in the box below.</div>'; } echo '<div data-role="collapsible" data-collapsed="' . !$geoerror . '"> <h3>Change Time/Place (' . (isset($_SESSION['time']) ? $_SESSION['time'] : "Current Time,") . ' ' . ucwords(service_period()) . ')...</h3> - <form action="'.basename($_SERVER['PHP_SELF']).'" method="post"> + <form action="'.basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING'].'" method="post"> <div class="ui-body"> <div data-role="fieldcontain"> <label for="geolocate"> Current Location: </label> @@ -202,7 +216,8 @@ </div> <div data-role="fieldcontain"> <label for="time"> Time: </label> - <input type="time" name="time" id="time" value="' . (isset($_SESSION['time']) ? $_SESSION['time'] : date("H:i")) . '"/> <a href="#" name="currentTime" id="currentTime">Current Time?</a> + <input type="time" name="time" id="time" value="' . (isset($_SESSION['time']) ? $_SESSION['time'] : date("H:i")) . '"/> + <a href="#" name="currentTime" id="currentTime" onClick="var d = new Date();'. "$('#time').val(d.getHours() +':'+ (d.getMinutes().toString().length = 1 ? '0'+ d.getMinutes(): d.getMinutes()));".'">Current Time?</a> </div> <div data-role="fieldcontain"> <label for="service_period"> Service Period: </label> @@ -220,7 +235,7 @@ } function trackEvent($category, $action, $label = "", $value = -1) { if (isAnalyticsOn()) { - echo "<script> _gaq.push(['_trackEvent', $category, $action".($label != "" ? ", $label" : "").($value != -1 ? ", $value" : "")."]);"; + echo "<script> _gaq.push(['_trackEvent', $category, $action".($label != "" ? ", $label" : "").($value != -1 ? ", $value" : "")."]);</script>"; } } ?>