   /******************************************************************
    GOOGLE MAPS IMPLEMENTIERUNG
    *****************************************************************/

   var map;
   var addressMarker;

   var adminmode = null;
   var standalone = null;

   var baseIcon = new GIcon();
   var geocoder = new GClientGeocoder();

   //baseIcon.image = "http://local.google.com/mapfiles/ms/icons/blue-dot.png";
   //baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
   baseIcon.image = "http://www.baugebiete-weser-ems.de/gfx/logo_gmap.gif";
   //baseIcon.shadow = "http://debbie/idb-oldenburg.de/gfx/gmap_shadow.png";
   baseIcon.iconSize = new GSize(35, 36); //20;34
   //baseIcon.shadowSize = new GSize(37, 34);
   baseIcon.iconAnchor = new GPoint(18, 32);
   baseIcon.infoWindowAnchor = new GPoint(18, 38);
   //baseIcon.infoShadowAnchor = new GPoint(18, 25);


   function load_google_maps() {

      if (GBrowserIsCompatible()) {

         map = new GMap2(document.getElementById("gmaps"));

         map.setCenter(new GLatLng(53.137091, 8.2164), 8);  // Oldenburg

         map.addControl(new GLargeMapControl());
         map.addControl(new GMapTypeControl());

         map.disableDoubleClickZoom();

         new GKeyboardHandler(map);

         if(adminmode) {

            map.enableScrollWheelZoom();

            GEvent.addListener(map, "click", function (overlay, point) {

               if(point) {

                  userLat = point.lat();
                  userLng = point.lng();
                  document.getElementById("add_lat").value = userLat;
                  document.getElementById("add_lng").value = userLng;

                  var icon1 = new GIcon(baseIcon);
                  var marker = new GMarker(point, icon1);

                  map.clearOverlays();
                  map.addOverlay(marker);

               }

            });

            return;

         }

         if(standalone) {

            map.setCenter(new GLatLng(baugebiete_lat, baugebiete_lng), 14);
            map.setMapType(G_HYBRID_MAP);

            var point = new GLatLng(baugebiete_lat, baugebiete_lng);
            var marker = createMarker(point, baugebiete_bezeichnung, baugebiete_strasse, baugebiete_plz_ort, baugebiete_parz, baugebiete_frei, baugebiete_uri);

            if(marker != null) map.addOverlay(marker);

            return;
         }

         GDownloadUrl("./xml/data.php?parent_id=" + parent_id, function(data, responseCode) {

            var xml = GXml.parse(data);
            var markers = xml.documentElement.getElementsByTagName("marker");

            for (var i = 0; i < markers.length; i++) {

               var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));

               var bez = markers[i].getAttribute("bez");
               var strasse = markers[i].getAttribute("strasse");
               var plz_ort = markers[i].getAttribute("plz_ort");
               var parz = markers[i].getAttribute("parz");
               var frei = markers[i].getAttribute("frei");
               var uri = markers[i].getAttribute("uri");

               var marker = createMarker(point, bez, strasse, plz_ort, parz, frei, uri);

               if(marker != null){
                  map.addOverlay(marker);
               }

            }

         });

      }

   }



   function createMarker(point, bez, strasse, plz_ort, parz, frei, uri) {

      var icon1 = new GIcon(baseIcon);
      var marker = new GMarker(point, icon1);

      var html = "<div class=\"info\"><b>" + bez + "</b> <br /><br \/>" + strasse + "<br />" + plz_ort + "<br /><br />";

      if(parz) html += "<b>Bauplätze:</b> " + parz + "<br />";
      if(frei) html += "<b>Freie Bauplätze:</b> " + frei + "<br \/><br />";

      html += "<a href=\"" + uri + "\" class=\"arrow\">Weitere Informationen</a></div>";

      GEvent.addListener(marker, "click", function() {
         marker.openInfoWindowHtml(html);
      });

      return marker;

   }


   function showLocation(address, countryCode) {

 		if (geocoder && address) {

         geocoder.setBaseCountryCode(countryCode);
         geocoder.getLatLng(address, function(point) {

				if (!point) {

               alert("Die angegebene Adresse '" + address + "' konnte nicht gefunden werden.");

            } else {

               if (addressMarker) {
                  map.removeOverlay(addressMarker);
               }

               addressMarker = new GMarker(point);
               map.setCenter(point);
               map.addOverlay(addressMarker);

               document.getElementById("add_lat").value = point.lat();
               document.getElementById("add_lng").value = point.lng();
            }

         });

      }

   }


   function showCoords(lat, lng) {

 		if (lat && lng) {

         var point = new GLatLng(lat, lng);

			if (addressMarker) {
				map.removeOverlay(addressMarker);
			}

	      var icon1 = new GIcon(baseIcon);

			addressMarker = new GMarker(point, icon1);
			map.setCenter(point);
			map.addOverlay(addressMarker);

			document.getElementById("add_lat").value = point.lat();
			document.getElementById("add_lng").value = point.lng();

		}

   }
