$(document).ready(function() {

	    if (GBrowserIsCompatible()) { 
		    // Create a DIV
		    $(".vcard").before("<div id=\"map\">Mit gedrückter Maustaste können Sie den Ausschnitt der Karte verändern.</div>");
					// Create a Map
	      var map = new GMap($("#map")[0]);
	      map.addControl(new GLargeMapControl());
	      map.addControl(new GMapTypeControl());
	      map.setCenter(new GLatLng(51.096623,10.283203),5);

	      // Create a Client Geocoder 
	      var geo = new GClientGeocoder(); 

	      // ====== Array for decoding the failure codes ======
	      var reasons=[];
	      reasons[G_GEO_SUCCESS]            = "Success";
	      reasons[G_GEO_MISSING_ADDRESS]    = "Missing Address: The address was either missing or had no value.";
	      reasons[G_GEO_UNKNOWN_ADDRESS]    = "Unknown Address:  No corresponding geographic location could be found for the specified address.";
	      reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address:  The geocode for the given address cannot be returned due to legal or contractual reasons.";
	      reasons[G_GEO_BAD_KEY]            = "Bad Key: The API key is either invalid or does not match the domain for which it was given";
	      reasons[G_GEO_TOO_MANY_QUERIES]   = "Too Many Queries: The daily geocoding quota for this site has been exceeded.";
	      reasons[G_GEO_SERVER_ERROR]       = "Server error: The geocoding request could not be successfully processed.";

	      // ====== Geocoding ======
	      function load() {
		 			var search = $(".adr").text();
	        // ====== Perform the Geocoding ======        
	        geo.getLocations(search, function (result)
	          { 
	            // If that was successful
	            if (result.Status.code == G_GEO_SUCCESS) {
	              // Loop through the results, placing markers
	              for (var i=0; i<result.Placemark.length; i++) {
	                var p = result.Placemark[i].Point.coordinates;
	                var marker = new GMarker(new GLatLng(p[1],p[0]));
	                map.addOverlay(marker);
	              }
	              // centre the map on the first result
	              var p = result.Placemark[0].Point.coordinates;
	              map.setCenter(new GLatLng(p[1],p[0]),14);
	            }
	            // ====== Decode the error status ======
	            else {
	              var reason="Code "+result.Status.code;
	              if (reasons[result.Status.code]) {
	                reason = reasons[result.Status.code]
	              } 
	              alert('Could not find "'+search+ '" ' + reason);
	            }
	          }
	        );
	      }
	    }

	    // display a warning if the browser was not compatible
	    else {
	      alert("Sorry, the Google Maps API is not compatible with this browser");
	    }
$(load);
});

// This Javascript is based on code provided by the
// Blackpool Community Church Javascript Team
// http://www.commchurch.freeserve.co.uk/   
// http://econym.googlepages.com/index.htm