var map;
var gdir;
var geocoder = null;
var addressMarker;
var address = "4750 Mexico Road 63376";

// On page load, call this function
function load() {
// Create new map object
  map = new GMap2(document.getElementById("map"));
// Create new geocoding object
  geocoder = new GClientGeocoder();
// Retrieve location information, pass it to addToMap()
  geocoder.getLocations(address, addToMap);
  }

// This function adds the point to the map
function addToMap(response) {
// Retrieve the object
  place = response.Placemark[0];
// Retrieve the latitude and longitude
  point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
// Center the map on this point
  map.setCenter(point, 14);  
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
// Create a marker
  marker = new GMarker(point);
// Add the marker to map
  map.addOverlay(marker);
// Add address information to marker
// marker.openInfoWindowHtml(place.address);
  gdir = new GDirections(map, document.getElementById("directions"));
  GEvent.addListener(gdir, "load", onGDirectionsLoad);
  GEvent.addListener(gdir, "error", handleErrors);
  }
    
function setDirections(fromAddress, toAddress) {
  gdir.load("from: " + fromAddress + " to: " + toAddress);
  setTimeout ( "drop()", 1000 );
}
	  
function drop() {
  location.hash = 'drivingdirections';
}  

function handleErrors(){
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
    alert("No corresponding geographic location could be found for the address entered. Please try again.");
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
    alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
    alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
  else if (gdir.getStatus().code == G_GEO_BAD_KEY)
    alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
    alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
  else alert("Please enter a valid address.");
}

function onGDirectionsLoad(){ 
}