    var map;
    var gdir;
	var ort;
	var zielAdresse;

	window.onload = initialize;
	//window.onunload = GUnload;

    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("maps_karte"));
        gdir = new GDirections(map, document.getElementById("maps_ergebnis"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);
        //GEvent.addListener(map, 'click', onMapClick);
        map.addControl(new GSmallMapControl());
		geocoder = new GClientGeocoder();
		// Debug

        /*GEvent.addListener(map, "click", function(overlay, latlng) {
          var myHtml = "The GLatLng value is: " + latlng.lat() + ":" + latlng.lng() + " at zoom level " + map.getZoom();
          map.openInfoWindow(latlng, myHtml);
        });*/

		//zielAdresse = "33165 Lichtenau Hübelstrasse 19";
		zielAdresse = adresse[0];
		geocoder.getLatLng(adresse[0], findAddress);

		//map.setCenter(new GLatLng(adresse[1], adresse[2]), 11); // Zentriere die Map auf den entsprechenden Ort

		//marker = new GMarker(new GLatLng(adresse[1], adresse[2]));
		//map.addOverlay(marker);

      }
    }

    function findAddress(point) {
	  if (!point) {
	    if (address.lastIndexOf(" ") != -1) {
		  address = address.substring(0,address.lastIndexOf(" "));
		  geocoder.getLatLng(address, findAddress);
		} else {
		  alert ("Adresse nicht gefunden");
		}
	  } else {
		map.setCenter(point, 14);
		var marker = new GMarker(point);
		map.addOverlay(marker);
		//marker.openInfoWindowHtml(adresse[3]);

		GEvent.addListener(marker, "mouseover", function() {
          marker.openInfoWindowHtml(adresse[3]);
        });

        GEvent.addListener(marker, "mouseout", function() {
          marker.closeInfoWindow();
        });
	  }
	}

    function setDirections(fromAddress2, fromStreet2) {
		var str = "from: " + fromAddress2 + " " + fromStreet2 + " to: " + zielAdresse;
		//alert(str);
		gdir.load(str,
                { "locale": "de_DE" });
		//$('ergebnis').hide();
    }

    function handleErrors(){
	   if ( gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Fehlerhafte Anfrage.");
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS || gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Die gesuchte Adresse wurde nicht gefunden.");
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR || gdir.getStatus().code == G_GEO_BAD_KEY || gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("Der Geo-Server wurde nicht erreicht.");
	   else alert("Es ist ein fehler aufgetreten.");
	}

	function onGDirectionsLoad(){
		//$('maps_suche').hide();
		//$('maps_ergebnis').show();
		//$('maps_ergebnis_button').show();
		//$('maps_suche_button').removeClassName("aktiv");
		//$('maps_ergebnis_button').addClassName("aktiv");
	}

	function suchmaske() {
		$('maps_suche').show();
		$('maps_ergebnis').hide();
		$('maps_suche_button').addClassName("aktiv");
		$('maps_ergebnis_button').removeClassName("aktiv");
		return false;
	}

	function ergebnis() {
		$('maps_suche').hide();
		$('maps_ergebnis').show();
		$('maps_suche_button').removeClassName("aktiv");
		$('maps_ergebnis_button').addClassName("aktiv");
		return false;
	}