 //<![CDATA[

	if (GBrowserIsCompatible()) { 
		
		var xmlHttp = null;
		var gmarkers = new Array();
		var loaded = false;
		var mylocation = null;
		var myxml = null;
		var html = "";
		
		// === Create an associative array of GIcons() ===
		var small_icon = new GIcon();
		small_icon.iconSize = new GSize(16,28);
		small_icon.iconAnchor=new GPoint(6,28);
		
		var gicons = [];
		gicons["nolink"] = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_00a.png");
		gicons["marker_01"] = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_01a.png");
      	gicons["marker_02"] = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_02a.png");
      	gicons["marker_03"]  = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_03a.png");
		gicons["marker_04"]  = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_04a.png");
		gicons["marker_05"]  = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_05a.png");
		gicons["marker_06"]  = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_06a.png");
		gicons["marker_07"] = new GIcon(small_icon, "http://www.touchtown.ch/img/gm/marker_07a.png");
		
		function createMarker(poi_id,point,title,address,pano,kk,category,icontype,logo,html) {
        	var marker = new GMarker(point,gicons[icontype]);
			marker.myIcontype = icontype;
			marker.mycategory = category;
			marker.mytitle = title;
			marker.myaddress = address;
			marker.mypano = pano;
			marker.mylogo = logo;
			marker.clicked = false;
			marker.mypoint = point;
			html += "A";
			
			
			GEvent.addListener(marker, "click", function() {
				deselectOthers(kk);
     			marker.setImage("http://www.touchtown.ch/img/gm/"+icontype+"b.png");
				marker.clicked = true;
				document.getElementById("side"+kk).style.color = "red";
				/*showLogo(logo,pano);*/
				gotoPano(marker.mypano);
				set_map_center(point);
        	});
        
        	GEvent.addListener(marker, "mouseover", function() {
				
 				marker.setImage("http://www.touchtown.ch/img/gm/"+icontype+"b.png");
				document.getElementById("side"+kk).style.color = "red";
				
				/*marker.openInfoWindowHtml(html);*/


 				
				/*document.getElementById("showBox").style.display = "block";*/
				/*carousel.scrollTo(kk+1);*/
        	});
			

			GEvent.addListener(marker, "mouseout", function() {
				if(!marker.clicked) {
					marker.setImage("http://www.touchtown.ch/img/gm/"+icontype+"a.png");
					map.closeInfoWindow();
					deselectOthers(kk);
					document.getElementById("side"+kk).style.color = "#000";
				}
        		
				/*document.getElementById("showBox").style.display = "none";*/
        	});
			gmarkers.push(marker); 
        	return marker;
		}
		
		function createMarker_noLink(point,title,address,kk) {
			var marker = new GMarker(point,gicons["nolink"]);
			marker.mytitle = title;
			marker.myaddress = address;
			marker.myIcontype = "marker_00";
			
			GEvent.addListener(marker, "mouseover", function() {
				marker.setImage("http://www.touchtown.ch/img/gm/marker_00b.png");
 				document.getElementById("side"+kk).style.color = "red";
				/*document.getElementById("showBox").style.display = "block";*/
				/*carousel.scrollTo(kk+1);*/
        	});

			GEvent.addListener(marker, "mouseout", function() {
				marker.setImage("http://www.touchtown.ch/img/gm/marker_00a.png");
        		document.getElementById("side"+kk).style.color = "#000";
				/*document.getElementById("showBox").style.display = "none";*/
        	});
			
			gmarkers.push(marker); 
        	return marker;
		}
		
		function deselectOthers(k) {
			for(var i=0; i<gmarkers.length; i++) {
				if(i != k) {
					gmarkers[i].setImage("http://www.touchtown.ch/img/gm/"+gmarkers[i].myIcontype+"a.png");
					gmarkers[i].clicked = false;
				}
			}
		}
	
		function showhide(category_re) {
			/*carousel.clear();*/
			init_markers(category_re);
			/*carousel.reload();*/
			
		}
		
		function setNewCarouselSize(newCarouselSize) {
			newSize = newCarouselSize + 3;
			if(typeof(carousel) != "undefined")
				carousel.setProperty("size", newSize,true);
		}
		
	
		function makeAddressbar() {
			sidebar_html = "";
	   		for (var i=0; i<gmarkers.length; i++) {
	     		sidebar_html += '<li id="mycarousel-item-' + i + '"><div class="address1"><p><a href="javascript:myclick(' + i + ')" id="side' + i + '" onmouseover="javascript:myMouseOver(' + i + ')" onmouseout="javascript:myMouseOut(' + i + ')"><b>' + gmarkers[i].mytitle + '</b><br />'+gmarkers[i].myaddress+'</a><div class="routenplaner"><a href="http://maps.google.de/maps?daddr='+gmarkers[i].myaddress+'&amp;ll='+gmarkers[i].mypoint+'" target="_blank"><img alt="Routenplaner" title="Routenplaner" src="http://www.touchtown.ch/panos/images/routenplaner.jpg" /></a></div></p></div></li>';
	 		}	
			document.getElementById("address_border").innerHTML = sidebar_html;
			newCarouselSize = gmarkers.length;
			setNewCarouselSize(newCarouselSize);
			if(!loaded) {
				loaded = true;
			}
	 	}

		function myclick(i) {
        	GEvent.trigger(gmarkers[i], "click");
      	}

		function myclick_thumb(title,category) {
			showhide(category);
	        for (var i=0; i<gmarkers.length; i++) {
				if(gmarkers[i].mytitle == title) {
        			GEvent.trigger(gmarkers[i], "click");				
				}
			}			
      	}

		function myMouseOver(i) {
        	gmarkers[i].setImage("http://www.touchtown.ch/img/gm/"+gmarkers[i].myIcontype+"b.png");
      	}

		function myMouseOut(i) {
        	GEvent.trigger(gmarkers[i], "mouseout");
      	}
		
		
		function init_xml() {
			if (typeof XMLHttpRequest != 'undefined') {
			    xmlHttp = new XMLHttpRequest();
			}
			
			if (!xmlHttp) {
			    // Internet Explorer 6 und älter
			    try {
			        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
			    } catch(e) {
			        try {
			            xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
			        } catch(e) {
			            xmlHttp  = null;
			        }
			    }
			}
		
		}
		
		function init_markers(category_re) {
			map.clearOverlays();
			var url = "http://www.touchtown.ch/markers.php";
			var bounds = new GLatLngBounds();
			gmarkers.length = 0;
			j = 0;
				
			if (xmlHttp) {
			    xmlHttp.open('POST', url, true);
			    xmlHttp.onreadystatechange = function () {
			        if (xmlHttp.readyState == 4) {
			            var xmlDoc = GXml.parse(xmlHttp.responseText);
	          			// obtain the array of markers and loop through it
	          			var markers = xmlDoc.documentElement.getElementsByTagName("marker");

	          			for (var i = 0; i < markers.length; i++) {
	            			// obtain the attribues of each marker
	            			var lat = parseFloat(markers[i].getAttribute("lat"));
	            			var lng = parseFloat(markers[i].getAttribute("lng"));
	            			var point = new GLatLng(lat,lng);
							var icontype = markers[i].getAttribute("icontype");
							var title = markers[i].getAttribute("title");
	            			var address = markers[i].getAttribute("address");
	            			var pano = markers[i].getAttribute("pano");
							var category = markers[i].getAttribute("category");
							var logo = markers[i].getAttribute("logo");
							var poi_id = markers[i].getAttribute("poi_id");
	            			// create the marker
							if(category == category_re || (category_re == "all" && category!= "Immobilien")) {
								if(pano == "") {
									var marker = createMarker_noLink(point,title,address,j);
								}
								else {
	            					var marker = createMarker(poi_id,point,title,address,pano,j,category,icontype,logo);
								}
								
	            				map.addOverlay(marker);
								bounds.extend(point);
								j++;
			    			}
						}
						
						map.setZoom(map.getBoundsZoomLevel(bounds));
						
						
						
						map.setCenter(bounds.getCenter());
						makeAddressbar();
			        }
			    };
			    xmlHttp.send(null);
			}
      	}
		
		
	
 		
		function init_map() {
			map.setCenter(new GLatLng(47.208046,7.53704), 4);
		}
		
		function set_map_center(point) {
			map.setCenter(point, 16);			
		}
		
		function set_map_center2(point) {
	        for (var i=0; i<gmarkers.length; i++) {
				if(gmarkers[i].mypoint == point) {
					map.setCenter(gmarkers[i].mypoint, 16);					
				}
			}			
		}
		
		
		function gotoPano(name) {
			var splitter = name.split("/poi/");
			var swfname = splitter[1];
			document.getElementById("panorama").innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="100%" height="100%" id="pano1" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://www.touchtown.ch/'+name+'/' +swfname+'.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"><param name="flashvars" value="panoName=http://www.touchtown.ch/'+name+'/' +swfname+'&zoom=0.8" /><embed wmode="transparent" src="http://www.touchtown.ch/'+name+'/' +swfname+'.swf" quality="high" bgcolor="#ffffff" flashvars="panoName=http://www.touchtown.ch/'+name+'/' +swfname+'&zoom=0.8" width="100%" height="100%" name="mymovie" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /></object>';
		}
		

		
		function set_my_location(location) {
			mylocation = location;
			myxml = location.toLowerCase();
		}
		
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(47.208046,7.53704), 7);
		map.addControl(new GSmallMapControl());
		
		
		map.addControl(new GMapTypeControl());
		map.enableDoubleClickZoom();		
		map.setMapType(G_HYBRID_MAP);
		
	
        
	}
	
	else {
		alert("Your Browser is not compatible with GoogleMaps");
	}
	
//]]>