var geo;
var zipcode;

function showLocation(pos) {
  if (zipcode) return;
  var c = pos.coords;
  var lat = c.latitude;
  var lng = c.longitude;
  $('status').innerHTML = 'Looking for zipcode...';
  new Ajax.Request('/raining/zipcode.php', {
      method: 'get',
        parameters: {'lat':lat, 'lng':lng},
        onSuccess: function(transport) {
        if (zipcode) return;
        zipcode = transport.responseText;
        $('status').innerHTML = 'Checking for rain...';
        $('question').innerHTML = 'Is it raining in <em>' + zipcode + '</em>?';
        new Ajax.Request('/raining/raining.php', {
            method: 'get',
              parameters: {'zipcode':zipcode},
              onSuccess: function(transport) {
              $('status').innerHTML = '';
              $('answer').innerHTML = transport.responseText;
            }
        });
      }
  });
  
}

function errorLocation(error) {
  alert(error.code + ":" + error.message);
}

function onLoad() {
  $('status').innerHTML = 'Looking for location...';
  geo = navigator.geolocation;
  if (geo) {
    geo.getCurrentPosition(showLocation,errorLocation,
                           {enableHighAccuracy:true, maximumAge:600000});
  } else {
    alert("Couldn't create geolocation");
  }
}
