
var latLngUrl = new Array();

// Funktion für Map mit allen Einträgen zu einem Bereich
function load_overview(google_startpoint_lat,google_startpoint_lng,bereichsauswahl,zoomfaktor) {
	if (GBrowserIsCompatible()) {
		var map = new GMap(document.getElementById("google_map"));
		var point = new GLatLng(google_startpoint_lat,google_startpoint_lng);
		
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.centerAndZoom(point, zoomfaktor);
	    map.removeMapType(G_HYBRID_MAP);
	    map.addMapType(G_PHYSICAL_MAP);
	    map.setMapType(G_PHYSICAL_MAP);
		
		var baseIcon = new GIcon();
		baseIcon.iconSize = new GSize(81, 93);
		baseIcon.iconAnchor = new GPoint(38, 84);		
	
		var request = GXmlHttp.create();
		request.open("GET", "maps/locations.xml", true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				var locations = xmlDoc.documentElement.getElementsByTagName("point");
				var icons = xmlDoc.documentElement.getElementsByTagName("icon");
				var links = xmlDoc.documentElement.getElementsByTagName("link");
				var art = xmlDoc.documentElement.getElementsByTagName("area");
				var eintragsnummer = xmlDoc.documentElement.getElementsByTagName("eintrag");
		
	    		for (var i = 0; i < locations.length; i++) {
					
					if (art[i].getAttribute("wb") == bereichsauswahl) {					
		 				var lat = parseFloat(locations[i].getAttribute("lat"));
		            	var lng = parseFloat(locations[i].getAttribute("lng"));
		            	var location = new GLatLng(lat,lng);
		 				var url = links[i].getAttribute("url");
		 				latLngUrl[lat] = new Array();
		 				latLngUrl[lat][lng] = url;
		 	
						var marker = createMarker(location, icons[i], baseIcon);
						marker.Url = url;
						map.addOverlay(marker);
						GEvent.addListener(marker, "click", markerClick);
					}
	    		}
	  		}
		}
	
		request.send(null);
	}

	else {
      alert("Sorry, die Google Maps API ist mit diesem Browser nicht kompatibel");
    }
}

// Funktion für Map mit bestimmtem Eintrag
function load_eintrag(google_startpoint_lat,google_startpoint_lng,eintrag_id) {
	if (GBrowserIsCompatible()) {
		var map = new GMap(document.getElementById("google_map"));
		var point = new GLatLng(google_startpoint_lat,google_startpoint_lng);
		
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.enableScrollWheelZoom();
		map.centerAndZoom(point, 5);
	    map.removeMapType(G_HYBRID_MAP);
	    map.addMapType(G_PHYSICAL_MAP);
	    map.setMapType(G_PHYSICAL_MAP);
		
		var baseIcon = new GIcon();
		baseIcon.iconSize = new GSize(81, 93);
		baseIcon.iconAnchor = new GPoint(38, 84);
	
		var request = GXmlHttp.create();
		request.open("GET", "maps/locations.xml", true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				var locations = xmlDoc.documentElement.getElementsByTagName("point");
				var icons = xmlDoc.documentElement.getElementsByTagName("icon");
				var links = xmlDoc.documentElement.getElementsByTagName("link");
				var art = xmlDoc.documentElement.getElementsByTagName("area");
				var eintragsnummer = xmlDoc.documentElement.getElementsByTagName("eintrag");
		
	    		for (var i = 0; i < locations.length; i++) {
					
					if (eintragsnummer[i].getAttribute("id") == eintrag_id) {				
		 				var lat = parseFloat(locations[i].getAttribute("lat"));
		            	var lng = parseFloat(locations[i].getAttribute("lng"));
		            	var location = new GLatLng(lat,lng);
		 				var url = links[i].getAttribute("url");
		 				latLngUrl[lat] = new Array();
		 				latLngUrl[lat][lng] = url;
		 	
						var marker = createMarker(location, icons[i], baseIcon);
						marker.Url = url;
						map.addOverlay(marker);
						GEvent.addListener(marker, "click", markerClick);
					}
	    		}
	  		}
		}
	
		request.send(null);
	}

	else {
      alert("Sorry, die Google Maps API ist mit diesem Browser nicht kompatibel");
    }
}

function markerClick(latlng) {
	window.location.href = latLngUrl[latlng.lat()][latlng.lng()];
}

function createMarker(location, iconname, baseIcon) {
	var icon = new GIcon(baseIcon);
	icon.image = iconname.getAttribute("image");
	var marker = new GMarker(location, icon);
	
	return marker;
}