var filename
var lat;
var lng;
var map;
var request;

function makeMapWuelfrath() {
	lat = "51.287868";
	lng = "7.050091";
	filename = "/js/wuelfrath.xml";
	makeMap("wuelfrath");
}

// Marker Icons
var icons = new Array();
icons[""] = new GIcon(); 
icons[""].image = "http://www.google.com/mapfiles/marker.png"; 
icons[""].shadow= "http://www.google.com/mapfiles/shadow50.png"; 
icons[""].iconSize=new GSize(20, 34); 
icons[""].shadowSize=new GSize(37, 34); 
icons[""].iconAnchor=new GPoint(9,34); 
icons[""].infoWindowAnchor=new GPoint(9,2); 
icons[""].infoShadowAnchor=new GPoint(18,25); 
icons[""].printImage="http://www.google.com/mapfiles/markerie.gif"; 
icons[""].mozPrintImage="http://www.google.com/mapfiles/markerff.gif"; 
icons[""].printShadow="http://www.google.com/mapfiles/dithshadow.gif"; 
icons[""].transparent="http://www.google.com/mapfiles/markerTransparent.png";
icons[""].imageMap=[9,0,6,1,4,2,2,4,0,8,0,12,1,14,2,16,5,19,7,23,8,26,9,30,9,34,11,34,11,30,12,26,13,24,14,21,16,18,18,16,20,12,20,8,18,4,16,2,15,1,13,0]; 

function numberedIcon(iconNumber) {

   var number;
   if (isNaN(parseInt(iconNumber))) {

      number = "";
   } else if (!isNaN(parseInt(iconNumber)) && ((iconNumber < 0) || (iconNumber > 99))) {
      number = "";
   } else if ((typeof(iconNumber)=="undefined") || (iconNumber==null)) { 
      number = "" 
   } else { 
      number = iconNumber; 
   }

   if (!icons[iconNumber]) {
      var icon = new GIcon(icons[""]);
      icon.image = "images/mapIcons/marker"+ number +".png";
      icons[iconNumber]=icon;
   } 
   return icons[iconNumber];
}

// Marker erstellen
function createMarker(point,name,html,iconStr) {

	// FF 1.5 fix
	html = '<div style="white-space:nowrap;">' + html + '</div>';
	var marker = new GMarker(point);
	if (iconStr) {
		marker = new GMarker(point, numberedIcon(iconStr));
	}
	
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

// auf Klick die Infobox öffnen
function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
}

function makeMap(stadt) {
	if (GBrowserIsCompatible()) {
		// Map erstellen
		map = new GMap(document.getElementById(stadt));
		map.setMapType(G_HYBRID_TYPE);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.centerAndZoom(new GPoint(lng,lat), 2);
    } else {
		alert("Browser unterstützt kein Google Maps!");
    }
	getXMLfile();
}

function getXMLfile() {
   request = GXmlHttp.create();
   //filename = "fileadmin/templates/js/mettmann.xml";
   request.open("GET", filename, true);
   request.onreadystatechange = processXMLfile;
   request.send(null);
   return false;
}

function processXMLfile() {
	if (request.readyState == 4) {
		if (request.status == 200) {
			var xmlDoc = request.responseXML;
			if (xmlDoc.documentElement) {
				// Array beziehen und durchlaufen
				var markers = xmlDoc.documentElement.getElementsByTagName("marker");
				
				map.clearOverlays();
				for (var i = 0; i < markers.length; i++) {
					// Attribute der marker beziehen
					var lat = parseFloat(markers[i].getAttribute("lat"));
					var lng = parseFloat(markers[i].getAttribute("lng"));
					var point = new GPoint(lng,lat);
					var html = markers[i].getAttribute("html");
					var label = markers[i].getAttribute("label");
					var icon = markers[i].getAttribute("icon");
					// Marker erstellen
					var marker = createMarker(point,label,html,icon);
					map.addOverlay(marker);
				}
			} else {
				alert("Unzulässige XML-Datei:"+filename);
			}
		} else {
			alert("Datei nicht gefunden:"+filename);
		}
	}
}
