var map;
var route;

// Funktion die beim Aufruf der Seite ausgeführt wird
function initialize() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"), { size:new GSize(document.documentElement.clientWidth*0.7, document.documentElement.clientHeight-342)} );
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addMapType(G_PHYSICAL_MAP);
		map.setCenter(new GLatLng(52.7125, 8.5072), 14);
		route = new GDirections(map, document.getElementById("route"));
		GEvent.addListener(route, "load", onGDirectionsLoad);
		GEvent.addListener(route, "error", handleErrors);

		// Hinzufügen von EventListenern für den Mausradzoom von Firefox und Internet Explorer
		GEvent.addDomListener(document.getElementById("map"), "DOMMouseScroll", wheelZoom); // Firefox
		GEvent.addDomListener(document.getElementById("map"), "mousewheel", wheelZoom); // Internet Explorer

		// Hinzufügen eines Marker für das Büro
		var buero = new GLatLng(52.7125, 8.5072);
		var bueroMarker = new GMarker(buero);
		var html = "<h4 align='left'>Vermessungsb&uuml;ro<br />Lambers &amp; Ostendorf</h4>";
		html += "<img src='/img/wirUeberUns/zeitleiste/2001.gif' alt='2001' width='185' height='123' />";
		html += "<h5 align='left'>Aldorfer Stra&szlig;e 1 - 49406 Barnstorf</h5>";
		// Hinzufügen eines onclick-Eventlisteners (Öffnet ein Infofenster)
		GEvent.addListener(bueroMarker, "click", function() {
			bueroMarker.openInfoWindowHtml(html);
		});
		map.addOverlay(bueroMarker);
	}
}

// Funktion um per Mausrad die Zoomstufe zu ändern
function wheelZoom(event) {
	// Mausrad runter
	if ((event.detail || -event.wheelDelta) < 0) {
		map.zoomIn();
	}
	// Mausrad hoch
	else {
		map.zoomOut();
	}
}

// Funktion um die Route abzufragen
function setRoute(from, to, lang) {
	route.load("from: " + from + " to: " + to, {"locale": lang});
}

function onGDirectionsLoad(){
	var button = document.createElement("input");
	button.setAttribute("type", "submit");
	button.setAttribute("name", "print");
	button.setAttribute("value", "Route ausdrucken");
	button.onclick = function(){window.print()};
	document.getElementById("printButton").appendChild(button);
	if (!(navigator.appName.indexOf("Explorer") != -1)) {
		var hinweis = document.createElement("div");
		hinweis.setAttribute("style", "font-size: -1; color: red;");
		hinweis.innerHTML = "(Wird leider nur vom Internet Explorer korrekt unterst&uuml;tzt)";
		document.getElementById("printButton").appendChild(hinweis);
	}
}

function handleErrors(){
	if (route.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
		alert("Die von Ihnen eingegebene Addresse ist leider nicht bekannt.\nError code: " + gdir.getStatus().code);
	else if (route.getStatus().code == G_GEO_SERVER_ERROR)
		alert("Der Server ist momentan nicht zu erreichen. Versuchen sie es in einigen Minuten erneut.\n Error code: " + gdir.getStatus().code);
	else if (route.getStatus().code == G_GEO_MISSING_QUERY)
		alert("Bitte Ihre Addresse eingeben.\n Error code: " + gdir.getStatus().code);
	else alert("Addresse kann nicht zugeordnet werden.");
 }
