//check for browser and correct variables and call the map
function twGmapLoad(elementId, lat, lon, zoom, hse_name) {
	if (GBrowserIsCompatible()) {
		if (!document.getElementById(elementId)) {
			alert("Fehler: das Element mit der id "+ elementId+ " konnte nicht auf dieser Webseite gefunden werden!");
			return false;
		} else {
			if (lat=="" || isNaN(lat)) {
				lat = 51.041;
				alert("Fehler: Der Breitengrad(lat) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (lon=="" || isNaN(lon)) {
				lon = "13.748";
				alert("Fehler: Der L�ngengrad(lon) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (typeof zoom == "undefined") {
				zoom = 3;
				alert("Fehler: Die Zoomstufe wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			machTwGmap(elementId, lat, lon, zoom, hse_name);
		}
	}
}

function machTwGmap(id, lat, lon, zoom, hse_name, hse_address) {
	// the map
	var map = new GMap2(document.getElementById(id));
	// with zoom (others: GLargeMapControl3D, GSmallZoomControl3D, GSmallMapControl, GLargeMapControl, GSmallZoomControl, GScaleControl)
	map.addControl(new GLargeMapControl3D());
	// Typ (also: GMapTypeControl, GHierarchicalMapTypeControl, GOverviewMapControl)
	map.addControl(new GMapTypeControl());
	// ((lat, lon), Zoom, G_NORMAL_MAP/G_SATELLITE_MAP/G_HYBRID_MAP)
	map.setCenter(new GLatLng(lat, lon), zoom, G_NORMAL_MAP);
	
	// Set Marker with Marker function
	map = setTwMarkers(map, lat, lon, hse_name, hse_address);
}


function setTwMarkers(map, lat, lon, hse_name) {
	var point  = new GPoint(lon, lat);  //Attention: (lon, lat) interchanged
	var marker = new GMarker(point);
	var html   = "";
	
	html += "<div class='gmaps-info'>";
	html += "  <p><strong>" + hse_name +"</strong></p>";
	html += "</div>";
	
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});	
	map.addOverlay(marker);
	GEvent.trigger( marker, "click" ); 
	
	return map;
}

