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

    function initialize() {
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("map_canvas"));
        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);
			
        map.setCenter(new GLatLng(47.095721,13.640728), 13);
			
        var point = new GLatLng(47.095721,13.640728);
        map.addOverlay(new GMarker(point));


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

    function handleErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");
	   
	   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");

	//   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("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");
	    
	   else alert("Ihre Route konnte leider nicht berechnet werden. Bitte überprüfen Sie Ihre Eingabe.");
	   
	}

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

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