var map;
var gdir;
var geocoder = null;
var addressMarker;
function load() {
  if (GBrowserIsCompatible()) {      
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.setCenter(new GLatLng(52.368826, 4.648190), 14);   
    gdir = new GDirections(map, document.getElementById("directions"));
    GEvent.addListener(gdir, "load", onGDirectionsLoad);
    GEvent.addListener(gdir, "error", handleErrors);  
    setDirections(document.routeform.to.value, document.routeform.to.value, "nl");
    
  }
}
function setDirections(fromAddress, toAddress, locale) {
  gdir.load("from: " + fromAddress + " to: " + toAddress,{ "locale": locale ,"preserveViewpoint": true});
}
function handleErrors(){
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
    alert("Er kon geen adres gevonden worden met deze gegevens.\nError code: " + gdir.getStatus().code);
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
    alert("Het opzoeken van het adres is om onbekende reden mislukt.\nError code: " + gdir.getStatus().code);	   
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
    alert("Het adres ontbreekt of is niet correct aangegeven.\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("Een onbekende error is opgetreden.");
}
function onGDirectionsLoad(){ 
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

