$(document).ready( function() {
	$("#einstellenmap").each(registerEintragenMap);
	$(".maptrigger").each(registerMapTrigger);
	$("#aktioneintragen").bind("submit", warnOnSubmit);	
	})

function registerMapTrigger() {
	$(this).bind("blur", updateMap);
}

function warnOnSubmit()
{
	if (! $("#einstellenmap").data('lastAddressFound'))
	{
		return confirm("Die angegebene Adresse konnte nicht gefunden und Ihre Aktion daher nicht auf der Karte visualisiert werden. Möchten Sie weiter machen?")
	}
}

function updateMap()
{
	if ($("#street").attr("value") == "" && $("#city").attr("value") == "")
		return;
	search = $("#street").attr("value") + " " + $("#streetnumber").attr("value") + "," + $("#zip").attr("value") + " " + $("#city").attr("value") + " Deutschland";
	showAddress(search);
}

function registerEintragenMap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("einstellenmap"));
		map.addControl(new GScaleControl());
		map.addControl(new GSmallZoomControl());

		geocoder = new GClientGeocoder();
//		var address = $(this).attr('class');
		if (globalAddress == "")
			globalAddress = "Unter den Linden, Berlin, Deutschland";
		showAddress(globalAddress);
	}
}



function showAddress(address) {
	if (geocoder) {
		geocoder.getLatLng(address, function(point) {
			if (!point) {
				$("#einstellenmap").data('lastAddressFound', false);
//				alert("Die angegebene Adresse konnte nicht gefunden werden.");
				//var address = "Alexanderplatz Berlin, Deutschland";
				//showAddress(address)
			} else {

				$("#einstellenmap").data('lastAddressFound', true);
				map.setCenter(point, 13);
//				icon = new GIcon();
//				icon.image = "../../public/images/google_icon_schatten.png";

		        // Create our "tiny" marker icon
		        var blueIcon = new GIcon(G_DEFAULT_ICON);
		        blueIcon.image = "/public/images/google_icon_ohne.png";
		        blueIcon.iconSize = new GSize(26, 34);
				// Set up our GMarkerOptions object
				markerOptions = { icon:blueIcon };

		        // Add 10 markers to the map at random locations
//				var bounds = map.getBounds();
//		        var southWest = bounds.getSouthWest();
//		        var northEast = bounds.getNorthEast();
//		        var lngSpan = northEast.lng() - southWest.lng();
//		        var latSpan = northEast.lat() - southWest.lat();
//		        for (var i = 0; i < 10; i++) {
//		          var latlng = new GLatLng(southWest.lat() + latSpan * Math.random(),
//		                                  southWest.lng() + lngSpan * Math.random());
//		          map.addOverlay(new GMarker(latlng, markerOptions));
//		        }
		        
				var marker = new GMarker(point, markerOptions);
				map.clearOverlays();
				map.addOverlay(marker);
				// marker.openInfoWindowHtml(address);
			}
		});
	}
}
