

    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;

    function load() {
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("map"));
        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());

      }
    }
    
    function setDirections(fromAddress, toAddress, locale) {
      gdir.load("from: " + fromAddress + " to: " + toAddress,
                { "locale": locale });
    }

    function handleErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("De locatie van het opgegeven vertrekadres kon niet worden bepaald.\nError code: " + gdir.getStatus().code);
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("Er is iets misgegaan. Maar het is onduidelijk wat, probeert u het nogmaals.\n Error code: " + gdir.getStatus().code);
	   
	   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Een parameter ontbreekt. Misschien was er geen vertrekpunt ingevoerd.\n Error code: " + gdir.getStatus().code);

	//   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
	//     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
	     
	   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	     alert("De Google Maps sleutel is ongeldig of de gebruikte sleutel is niet geldig voor dit domein.\n Error code: " + gdir.getStatus().code);

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("De aanvraag voor het plannen van een route is mislukt..\n Error code: " + gdir.getStatus().code);
	    
	   else alert("Er is iets misgegaan. Misschien heeft u een verkeerde vertrekpunt ingevoerd.");
	   
	}

	function onGDirectionsLoad(){ 
          // Use this function to access information about the latest load()
          // results.

          // Key bovag.nl ABQIAAAArpsF6BmrIwXjQBMcL-GxzBSKIHNwXw2gOCEihtL4mdXWkPDEVxQRrH5efs2gVyxZ5zi235O4UoO86g
          // Key Intranet  ABQIAAAAtVw-3pxqJtvQgsHENPcAkhTjlGRJ-JcA4ENdYSxSTUELqnaldxT687crK6o-cMkkjFaQOclHwQl_Mg

          // e.g.
	  // document.getElementById("getStatus").innerHTML = gdir.getStatus().code;
	  // and yada yada yada...
	}



