var gicons = [];var defaultImage = new GIcon();defaultImage.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_blue.png";defaultImage.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";defaultImage.shadowSize = new GSize(22, 20);defaultImage.iconSize = new GSize(12, 20);defaultImage.iconAnchor = new GPoint(6, 20);defaultImage.infoWindowAnchor = new GPoint(5, 1);defaultImage.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];defaultImage.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat1 = new GIcon();cat1.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_blue.png";cat1.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat1.shadowSize = new GSize(22, 20);cat1.iconSize = new GSize(12, 20);cat1.iconAnchor = new GPoint(6, 20);cat1.infoWindowAnchor = new GPoint(5, 1);cat1.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat1.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat11 = new GIcon();cat11.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_blue.png";cat11.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat11.shadowSize = new GSize(22, 20);cat11.iconSize = new GSize(12, 20);cat11.iconAnchor = new GPoint(6, 20);cat11.infoWindowAnchor = new GPoint(5, 1);cat11.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat11.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat2 = new GIcon();cat2.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_purple.png";cat2.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat2.shadowSize = new GSize(22, 20);cat2.iconSize = new GSize(12, 20);cat2.iconAnchor = new GPoint(6, 20);cat2.infoWindowAnchor = new GPoint(5, 1);cat2.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat2.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat3 = new GIcon();cat3.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_red.png";cat3.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat3.shadowSize = new GSize(22, 20);cat3.iconSize = new GSize(12, 20);cat3.iconAnchor = new GPoint(6, 20);cat3.infoWindowAnchor = new GPoint(5, 1);cat3.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat3.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat4 = new GIcon();cat4.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_green.png";cat4.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat4.shadowSize = new GSize(22, 20);cat4.iconSize = new GSize(12, 20);cat4.iconAnchor = new GPoint(6, 20);cat4.infoWindowAnchor = new GPoint(5, 1);cat4.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat4.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";var cat5 = new GIcon();cat5.image = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_orange.png";cat5.shadow = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/mm_20_shadow.png";cat5.shadowSize = new GSize(22, 20);cat5.iconSize = new GSize(12, 20);cat5.iconAnchor = new GPoint(6, 20);cat5.infoWindowAnchor = new GPoint(5, 1);cat5.imageMap = [4,0,0,4,0,7,3,11,4,19,7,19,8,11,11,7,11,4,7,0];cat5.transparent = "http://www.kronberg.de/typo3conf/ext/rggooglemap/res/markerTransparent.png";gicons["1"] = new GIcon(cat1);gicons["11"] = new GIcon(cat11);gicons["2"] = new GIcon(cat2);gicons["3"] = new GIcon(cat3);gicons["4"] = new GIcon(cat4);gicons["5"] = new GIcon(cat5);

	function Markers(cat){
		map.closeInfoWindow();
		test = "cat-map-"+cat;
		list = "tx-rggooglemap-poi-"+cat;
		obj = document.getElementById(list);

		if (document.getElementById(test).checked==false) { // hide the marker
			// if (obj && obj.style ) { obj.style.display = "none"; }
			for (var i=0;i<gmarkers.length;i++) {
				if (gmarkers[i].type==cat) {
					map.removeOverlay(gmarkers[i]);
				}
			}
		} else { // show the marker again
			// if (obj && obj.style ) { obj.style.display = ""; }
			for (var i=0;i<gmarkers.length;i++) {
				if (gmarkers[i].type==cat) {
					map.removeOverlay(gmarkers[i]);
					map.addOverlay(gmarkers[i]);
				}
			}
		}
	}
	
	var htmls = [];
	var i = 0;

	function addMarker(lng, lat, html, title, cat) {
		var point = new GPoint(lng, lat);
		// bounds.extend(point);
		// var marker = new GxMarker(point, gicons[cat], title);
		var label = ["Main","Images","More","plus"];
		// var marker = new GxMarker(point, icon, title);
		var marker = createTabbedMarker (point, gicons[cat], title, html, label);
		gmarkers.push(marker);
		marker.type = cat;
	/*
		GEvent.addListener(marker, "click", function () {
			// FF 1.5 fix
			//var text = "<div style=\"white-space:nowrap;\"><div align=\"center\" class=\"smalltext\">"+html +"</div></div>";
			marker.openInfoWindowHtml(html);
		});
	*/
		gmarkers[i] = marker;
		htmls[i] = html;
		i++;
		// map.addOverlay(marker);
	}

	// ==================================================
	// A function to create a tabbed marker and set up the event window
	// This version accepts a variable number of tabs, passed in the arrays htmls[] and labels[]
	function createTabbedMarker(point,icon, hover, htmls,labels) {
		var marker = new GxMarker(point,icon, hover);
		GEvent.addListener(marker, "click", function() {
			// adjust the width so that the info window is large enough for this many tabs
			if (htmls.length > 2) {
				htmls[0] = '<div style="width:'+htmls.length*88+'px">' + htmls[0] + '</div>';
			}
			var tabs = [];
			for (var i=0; i<htmls.length; i++) {
				tabs.push(new GInfoWindowTab(labels[i],htmls[i]));
			}
			marker.openInfoWindowTabsHtml(tabs);
		});
		return marker;
	}
	// ==================================================

	function processXML() { 
		if (request.readyState == 4) {
			if (request.status != 200) {
				alert("file not found:"+request.status);
				return;
			}
			var xmlDoc = request.responseXML;
			if (!xmlDoc) {
				alert("invalid xml file");
				return;
			}
		/* 
			var query = location.search.substring(1);
			var pairs = query.split("&");
			var x = 0;
			var d=999;
			for (var c=0; c<pairs.length; c++) {
				var pos = pairs[c].indexOf("=");
				var argname = pairs[c].substring(0,pos);
				var value = pairs[c].substring(pos+1);
				if (argname == "lat") {var lat2 = parseFloat(value);x++;} 
				if (argname == "lng") {var lng2 = parseFloat(value);x++;}
			}
		*/
			var query = location.search.substring(1);
			var pairs = query.split("&");
			var d=999;
			var tablecheck = 0;
			for (var c=0; c<pairs.length; c++) {
				var pos = pairs[c].indexOf("=");
				var argname = pairs[c].substring(0,pos);
				var value = pairs[c].substring(pos+1);
				if (argname == "tx_rggooglemap_pi1[poi]" || argname == "tx_rggooglemap_pi1%5Bpoi%5D") {var poi = parseFloat(value);} 
				if (argname == "tx_rggooglemap_pi1[tbl]" || argname == "tx_rggooglemap_pi1%5Btbl%5D") {var tbl = value; tablecheck=1;}
			}
			markers = xmlDoc.documentElement.getElementsByTagName("marker");
			for (var i=0; i < markers.length; i++) {
				var content2 = GXml.value(markers[i].getElementsByTagName("html2")[0]);
				var content3 = GXml.value(markers[i].getElementsByTagName("html3")[0]);
				var content4 = GXml.value(markers[i].getElementsByTagName("html4")[0]); 

				var content = [GXml.value(markers[i].getElementsByTagName("html")[0]) ];

				if (content2) var content = [GXml.value(markers[i].getElementsByTagName("html")[0]), content2 ]; 
				if (content3) var content = [GXml.value(markers[i].getElementsByTagName("html")[0]), content2, content3 ];
				if (content4) var content = [GXml.value(markers[i].getElementsByTagName("html")[0]), content2, content3, content4 ];

				addMarker(parseFloat(markers[i].getAttribute("lng")),
					parseFloat(markers[i].getAttribute("lat")),
					content,
					markers[i].getAttribute("title"),
					markers[i].getAttribute("cat")
				);

				// if (x==2 && markers[i].getAttribute("lng")==lng2 && markers[i].getAttribute("lat") == lat2) {
				// alert (parseFloat(markers[i].getAttribute("uid"));

				if (tablecheck == 1) {
					if (parseFloat(markers[i].getAttribute("uid")) == poi &&  markers[i].getAttribute("table")== tbl) {
						d = i;
					}
				} else {
					if (parseFloat(markers[i].getAttribute("uid")) == poi ) {
						d = i;
					}
				}
			}
			// map.centerAndZoomOnBounds(bounds);
			if (d != 999) {
				map.removeOverlay(gmarkers[d]);
				map.addOverlay(gmarkers[d]);
				// gmarkers[d].openInfoWindowHtml(htmls[d]);
				GEvent.trigger(gmarkers[d], "click");
			}
			Markers2("3,4,5", "");
		}
	}
			  
	function makeMap() {
		map = new GMap(document.getElementById("map"));
		// map.addControl(new GLargeMapControl());
		// map.addControl(new GMapTypeControl());	
		map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());
		map.centerAndZoom(new GPoint(8.524017333984375, 50.18239456978997), 3);    

		request = GXmlHttp.create();  
		request.open("GET", "http://www.kronberg.de/de/stadtplan.html?type=500", true);
		request.onreadystatechange = processXML;
		request.send(null);
	}

	// This function picks up the click and opens the corresponding info window
	function myclick(i) {
		// GEvent.trigger(gmarkers[i], "click");
		// map.addOverlay(gmarkers[i]);

		GEvent.trigger(gmarkers[i], "click");
		// map.removeOverlay(gmarkers[i]);
		// gmarkers[i].openInfoWindowHtml(htmls[i]);
		map.removeOverlay(gmarkers[i]);
		map.addOverlay(gmarkers[i]);
	}

	window.onload = makeMap;
		