function ProcessRequest() {
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    if (document.getElementById('query').value == '') {
      document.getElementById('query').value = xmlHttp.responseText;
    }
    document.getElementById('loading').style.display = 'none';
  }
}
function success_callback(position) {
  var url = "http://www.cabchap.com/reverse_geocode?lat=" + position.coords.latitude + "&lon=" + position.coords.longitude;
  xmlHttp = new XMLHttpRequest();
  xmlHttp.onreadystatechange = ProcessRequest;
  xmlHttp.open("GET", url, true);
  xmlHttp.send(null);
}
function error_callback(position) {
  document.getElementById('loading').style.display = 'none';
  document.getElementById('status').innerHTML = "Could not get your location.";
}
if (navigator.geolocation) {
  if (document.getElementById('query').value == '') {
    document.getElementById('loading').style.display = '';
    navigator.geolocation.getCurrentPosition(success_callback, error_callback, {maximumAge: 6000})
  }
}
else {
  document.getElementById('status').innerHTML = "Location not available";
}
