	var map = 0;
	var fn_animate;
	var latlng_animate;
	
	function animate(punkt) {    
		map.setCenter(punkt, 12);
	}
	
	function initialize() {
	if(GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById('map'));
			map.setCenter(new GLatLng(46.900000,8.300000), 7);
			var customUI = map.getDefaultUI();
			customUI.maptypes = false;	
			customUI.controls.scalecontrol = false;				
			map.setUI(customUI);
			map.setMapType(G_NORMAL_MAP);
			geocoder = new GClientGeocoder();
			var icon = new GIcon(G_DEFAULT_ICON);
			icon.image = "http://www.sens.ch/wDeutsch/karte_sammelstellen/images/chart.png";
			var markers = [];
			for (var i = 0; i < data.count; ++i) {
					var latlng = new GLatLng(data.photos[i].latitude, data.photos[i].longitude);
					var marker = new GMarker(latlng, {icon: icon});
					var fn = markerClickFn(data.photos[i], latlng);
										//if(i == 300){fn_animate = fn; latlng_animate = latlng};
					GEvent.addListener(marker, "click", fn);
					markers.push(marker);
			}
			var mcStyles = [
							{url: 'http://www.sens.ch/wDeutsch/karte_sammelstellen/images/blatt.png',height: 52,width: 53,opt_textColor: '#FFFFFF'}
						];
			var mcOptions = {gridSize: 60, maxZoom: 12, styles: mcStyles};
			var markerCluster = new MarkerClusterer(map, markers, mcOptions);
		}
	}

	function markerClickFn(punkt, latlng) {
		return function() {
			var infoHtml = '<div style="width:210px;font-size:11px">';
				//Firma und Firmenzusatz
				infoHtml += '<b>' + punkt.Firma + '</b><br />';
				if(punkt.Firmenzusatz) infoHtml += punkt.Firmenzusatz + '<br />';
				infoHtml += '<br />';
				//Abteilung und Adresse
				if(punkt.Abteilung) infoHtml += punkt.Abteilung + '<br />';
				if(punkt.Strasse) infoHtml += punkt.Strasse + '<br />';
				if(punkt.Postfach) infoHtml += punkt.Postfach + '<br />';
				if(punkt.PLZ || punkt.Ort) infoHtml += punkt.PLZ + ' ' + punkt.Ort + '<br /><br>';
				//Tel und Website
				if(punkt.Telefon) infoHtml += 'Tel. ' + punkt.Telefon + '<br />';
				if(punkt.Website) infoHtml +='<a target="_blank" href="';
				if(punkt.Website) {
					if (punkt.Website.indexOf("http") == -1) infoHtml += 'http://'; //Falls Link nicht mit http(s) beginnt
				}
				if(punkt.Website) infoHtml += punkt.Website + '">' + punkt.Website + '</a><br />';
				if(punkt.Mo_Vm_von != '0  00' || punkt.Mo_Nm_von != '0  00' || punkt.Do_Vm_von != '0  00' || punkt.Di_Nm_von != '0  00' || punkt.Mi_Vm_von != '0  00' || punkt.Mi_Nm_von != '0  00' || punkt.Do_Vm_von != '0  00' || punkt.Do_Nm_von != '0  00' || punkt.Fr_Vm_von != '0  00' || punkt.Fr_Nm_von != '0  00' || punkt.Sa_Vm_von != '0  00' || punkt.Sa_Nm_von != '0  00' ) {
					infoHtml += '<br /><b>Ore d’apertura:</b><table class="mapOz"><tbody>';
					infoHtml += '<tr><td>&nbsp;</td><td>Lu</td><td>Ma</td><td>Me</td><td>Gio</td><td>Ve</td><td>Sa</td></tr>';
					infoHtml += '<tr><td>AM:</td><td class="mapOzTime">' + punkt.Mo_Vm_von + '<br>' + punkt.Mo_Vm_bis + '</td><td class="mapOzTime">' + punkt.Di_Vm_von + '<br>' + punkt.Di_Vm_bis + '</td><td class="mapOzTime">' + punkt.Mi_Vm_von + '<br>' + punkt.Mi_Vm_bis + '</td><td class="mapOzTime">' + punkt.Do_Vm_von + '<br>' + punkt.Do_Vm_bis + '</td><td class="mapOzTime">' + punkt.Fr_Vm_von + '<br>' + punkt.Fr_Vm_bis + '</td><td class="mapOzTime">' + punkt.Sa_Vm_von + '<br>' + punkt.Sa_Vm_bis + '</td></tr>';
					infoHtml += '<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
					infoHtml += '<tr><td>PM: </td><td class="mapOzTime">' + punkt.Mo_Nm_von + '<br>' + punkt.Mo_Nm_bis + '</td><td class="mapOzTime">' + punkt.Di_Nm_von + '<br>' + punkt.Di_Nm_bis + '</td><td class="mapOzTime">' + punkt.Mi_Nm_von + '<br>' + punkt.Mi_Nm_bis + '</td><td class="mapOzTime">' + punkt.Do_Nm_von + '<br>' + punkt.Do_Nm_bis + '</td><td class="mapOzTime">' + punkt.Fr_Nm_von + '<br>' + punkt.Fr_Nm_bis + '</td><td class="mapOzTime">' + punkt.Sa_Nm_von + '<br>' + punkt.Sa_Nm_bis + '</td></tr>';
					infoHtml += '</tbody></table>';
				}
			infoHtml += '<br /></div>';
			map.openInfoWindowHtml(latlng, infoHtml);
		};
	}
	
function showAddress(address) {
  if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  alert('La ricerca di "' + address + '" non ha prodotto nessun risultato.');
		} else {
		  var marker2 = new GMarker(point);
		  map.setCenter(point, 12);
		}
	  }
	);
  }
}

