var pageTracker;
//<![CDATA[
	addedGer = false;
	map = new Object();;
	pointsLat = new Array();
	pointsLong = new Array()
	rect = new Object();
	//Variable, um über highlightnav die Funtion showMapButtonShow() onLoad aufzurufen aber nur auf einer Detailseite mit Karte
	hasMaps = true;
	

    function load() {
      if (GBrowserIsCompatible() && route != "") {
        map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
		rect = new GLatLngBounds();
        //Startpunkt setzen
		map.setCenter(new GLatLng(50.77120783188783, 8.4375), 5);
		//event Handler init
		var eventHandler = new EventHandler(map);	
		//geocoder init
		geocoder = new GClientGeocoder();
		map.enableGoogleBar();
		map.enableScrollWheelZoom();
		setRoute();
      }
    }
	function showAddress(address) {
      if (geocoder) {
		var staedte = address.split("\n");
		for (var i=0; i<staedte.length; i++) {
			geocoder.getLatLng(
	          staedte[i],
	          function(point) {
					if (point != null) {
					   var blueIcon = new GIcon(G_DEFAULT_ICON);
					   blueIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png";
					  var markerOptions = { icon:blueIcon };
		              var marker = new GMarker(point, markerOptions);
		              map.addOverlay(new GMarker(point, markerOptions));
					  //Rechteck bilden, um die Ansicht und Zoomlevel anzupassen
					  rect.extend(point);
					  //Bei weniger nah beieinander liegenden Städten ist das Zoom Level zu hoch
					  var newZoom = map.getBoundsZoomLevel( rect );
					  if (newZoom > 10 ) newZoom = 10;
					  //Karte neu ausrichten
					  map.setCenter(rect.getCenter(), newZoom );
					}
	          }
	        );			
		}
      }
    }
	
	function setRoute() {
		showAddress( route );
		map.addOverlay(new GLayer('com.panoramio.popular'));
	}
	
	function repositionMap () {
		map.setCenter(rect.getCenter(), map.getBoundsZoomLevel( rect ) );
	}

	function addCustomOverlay(what, checked) {
		if (checked == true) {
			map.addOverlay(new GLayer(what));
		}else{
			map.removeOverlay(new GLayer(what));
		}
	}
	function EventHandler(objMap) {
		this.map = objMap;
		GEvent.bind(this.map, "changed", this, this.onChange);
		GEvent.bind(this.map, "addoverlay", this, this.onAddoverlay);
	}
	EventHandler.prototype.onAddoverlay = function (overlay) {
		//alert(overlay);
	}
	EventHandler.prototype.onChange = function (overlay) {
		//alert(overlay);
	}

	function output (msg) {
		document.getElementById("message").innerHTML = msg + "<br /><br />" + document.getElementById("message").innerHTML;
	}
	
	function showMap() {
		if (is_object(pageTracker)) {
			pageTracker._trackEvent("Klick" , "Karte" , window.location.pathname );
		}
		document.getElementById("colCenter").style.display = "block";
		document.getElementById("showMapButton").style.display = 'none'
		load(); 
	}
	function hideMap() {
		document.getElementById("showMapButton").style.display = 'block'	
		document.getElementById("colCenter").style.display = "none";
	}
	function showMapButtonShow() {
		if (route != "") {
			obj = MM_findObj("showMapButton");
			obj.style.display = "block";
		}
	}
	function is_object (mixed_var){
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Legaev Andrey
    // +   improved by: Michael White (http://getsprink.com)
    // *     example 1: is_object('23');
    // *     returns 1: false
    // *     example 2: is_object({foo: 'bar'});
    // *     returns 2: true
    // *     example 3: is_object(null);
    // *     returns 3: false
 
    if (mixed_var instanceof Array) {
        return false;
    } else {
        return (mixed_var !== null) && (typeof( mixed_var ) == 'object');
    }
}
 //]]>