/*******************************************************************************
 * Javascript für Humanlabor
 ******************************************************************************/

var elementId = "twGmap";  // muss im html an ein <div> als id vergeben werden
var lat       = "48.259657";  // Breitengrad (Latitude) 
var lon       = "16.354206";  // Längengrad (Longitude) 
var zoom      = 16;        // einen Wert von 1 bis ca 17 (nicht in "" setzen)


/**
 * Prüft auf kompatiblen Browser und vorhandene Variablen und ruft die
 * Funktion auf, die die GoogleMap erstellt.
 */
function twGmapLoad() {
	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 = "48.108820";
				alert("Fehler: Der Breitengrad(lat) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (lon=="" || isNaN(lon)) {
				lon = "16.314786";
				alert("Fehler: Der Längengrad(lon) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (typeof zoom == "undefined") {
				zoom = 16;
				alert("Fehler: Die Zoomstufe wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			machTwGmap(elementId, lat, lon, zoom);
		}
	}
}


/**
 * Erstellt die GoogleMap in dem <div>-Bereich mit der übergebenen id
 * @param {Object} id   -im div-Bereich mit dieser id wird die Map dargestellt
 * @param {Object} lat  -Breitengrad 
 * @param {Object} lon  -Längengrad
 * @param {Object} zoom -Zoomstufe 1 bis 17 (ganze Welt bis kleiner Ausschnitt)
 */
function machTwGmap(id, lat, lon, zoom) {
	// die Map (für das div mit der id="...")
	var map = new GMap2(document.getElementById(id));
	// mit Zoom (auch noch: GSmallMapControl, GLargeMapControl, GSmallZoomControl, GScaleControl)
	map.addControl(new GLargeMapControl());
	_mPreferMetric = true;
	map.addControl(new GScaleControl()); 
	// mit Typ-Auswahl (auch noch: GMapTypeControl, GHierarchicalMapTypeControl, GOverviewMapControl)
	map.addControl(new GOverviewMapControl());
	// ((Breitengrad, Längengrad), Zoomstufe, G_NORMAL_MAP/G_SATELLITE_MAP/G_HYBRID_MAP)
	map.setCenter(new GLatLng(lat, lon), zoom, G_HYBRID_MAP);
	// Marker setzen mit eigener Marker-Funktion
	map = setTwMarkers(map);

}

function setTwMarkers(map) {
	var point  = new GPoint(16.354206, 48.259657);  //ACHTUNG: (lon, lat) also vertauscht
	var marker = new GMarker(point);
	var html   = "";
	
	html += "<div class='twGmapInfo'>";
	html += "  <p class='headline'>Humanlabor.at</p>";
	html += "  <p class='text'>Peter Gr&#246;ssenbrunner</p>";
	html += "  <p class='text'>A-1190 Wien, Frimmelgasse 32</p>";
	html += "  <p class='text'>Tel.   +43 (0)1 370 76 16</p>";
	html += "  <p class='text'>Mobil: +43 664 7352 7774</p>";
	html += "</br>"
	html += "  <a class='intern' target='_blank' href='http://maps.google.at/maps?daddr=Frimmelgasse+32,+1190+Wien'>ROUTE BERECHNEN</a>"
	html += "  <p class='twClear'>&nbsp;</p>";
	html += "</div>";
	
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});	
	marker.openInfoWindowHtml(html);	
	map.addOverlay(marker);
	
	return map;
}

