var map;
var gdir;
var geocoder = null;
var addressMarker;

function setupDetailMap () {
	
	if (GBrowserIsCompatible()) {
		hotel_detail_map = new GMap2(document.getElementById("hotel_google_map"));
		hotel_detail_map.setUIToDefault();
		hotel_detail_map.setMapType(G_HYBRID_MAP);
		
		hotel_detail_map.setCenter(new GLatLng(geoLat, geoLng), 16);
		
		gdir = new GDirections(hotel_detail_map, document.getElementById("mapdirections"));
		GEvent.addListener(gdir, "load", onGDirectionsLoad);
		GEvent.addListener(gdir, "error", handleErrors);
		
		var hotel_icon = new GIcon();
		hotel_icon.image = "/static/source/img/g_map_center.png";
		hotel_icon.iconSize = new GSize(30, 42);
		hotel_icon.shadowSize = new GSize(30, 42);
		hotel_icon.iconAnchor = new GPoint(15, 42);

		var hotel_marker = new GMarker(new GLatLng(geoLat, geoLng),{icon: hotel_icon});
		hotel_detail_map.addOverlay(hotel_marker);
		
		$('panoramio_handler').onclick = function () {		
			if(this.checked == true) {
				hotel_detail_map.addOverlay(new GLayer("com.panoramio.all"));
			}
			else {
				hotel_detail_map.removeOverlay(new GLayer("com.panoramio.all"));
			}
		}
		
		$('wikipedia_handler').onclick = function () {		
			if(this.checked == true) {
				hotel_detail_map.addOverlay(new GLayer("org.wikipedia." + language));
			}
			else {
				hotel_detail_map.removeOverlay(new GLayer("org.wikipedia." + language));
			}
		}
		
		clearInterval(initGMap);
	}
}

function setDirections(fromStreet, fromZip, fromCity, fromCountry, toAddress, locale) {
	if (fromStreet == 'Straße' || fromStreet == '') {
		fromStreet = '';
	} else {
		fromStreet += ','; 	
	}
	if (fromZip == 'Plz' || fromZip == '') {
		fromZip = '';
	} else {
		fromZip += ','; 	
	}
	if (fromCity == 'Ort' || fromCity == '') {
		fromCity = '';
	} else {
		fromCity += ','; 	
	}
	fromAddress = fromStreet +" "+ fromZip +" "+ fromCity +" "+ fromCountry;
	console.log("from: " + fromAddress + " to: " + address);
	gdir.load("from: " + fromAddress + " to: " + address);
}

function handleErrors() {
	if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) {
		alert("Die Zieladresse konnte nicht gefunden werden!\n Fehler: " + gdir.getStatus().code);
	}
	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) {
		alert("Adresse vollständig angeben!\n Fehler: " + gdir.getStatus().code);
	}
	else {
		alert("Unbekannter Fehler!\n Fehler: " + gdir.getStatus().code);
	}	
}

function onGDirectionsLoad() {
}
