//	Enth?lt Javascript f?r die GoogleMaps-Integration auf den Fanclub-Seiten
/*		 var script = 
		      '<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=' +
		      {
		         'localhost': 'ABQIAAAA7Z3IQvJEWA9UJVfvGMnhfxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQ3ZM7JTI_7AmRK_U6Cs6vYEGTmKQ',
		         'www.bella-und-edward.de': 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxR3Chx75hd3NL763pGc2fwQeyfAJxR-zxFuNJm5P77VcYMm5unNTkaSgA',
		         'bella-und-edward.de/': 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxS5lbj_ED1mRWtswmN39314Bn2GMhRVV0K_R8nhBHfvxEGSDymp3L0WuA',
		         'neu.bella-und-edward.de/': 'ABQIAAAAG8w9WaS39tVqmIfZZ53PoBRmIUKXbgcXzi-ODmicg4IyHvBLNhQCdnojrbaeXI6ANuuxxyZVV4BQAg',
		         'www.carlsen.de': 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxRjWQUXmbKbA6IHFnT9Pxge3fur0RQ0hOCZYlJcCPhEJcG-CiaY3lGZKw',
		         'carlsen.de': 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxQ8cGANCW4rxdwKc5NN4rrNYGshURSHLavfPTAYrA-44_6pQfAXfpaCKg',
		         'fluse:8084' : 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxQ5GHIm_FTsw4wyN4HBC2hvCAB1sxTMP7xgNkGM4Y-6-TU8VvLwmP4FtQ',
				 'fluse' : 'ABQIAAAA0QmryYufSE3XEmYTTnCVBxRGYSZv-Ivykup5urbGN5UtK0yY9BTeO_7reFgnEpWgF2T7E10yBUhKaA',
				 'nicoender.folge:8080': 'ABQIAAAA1fL_OZENEELlMEPY0AwL8RTKZPpS5C2zy643afpmnFmtB6ZyFhTokOWR_Aq8tj3eAi41ni_gCp8D1Q',
				 'janusdruz.folge:8080': 'ABQIAAAAG8w9WaS39tVqmIfZZ53PoBQtPHAe7T_Ecff60LmK5JLq2sn_4hQPLteyHrGD2oPYL70SU02ErLD_Ww',
				 'extrafolge.de:8083': 'ABQIAAAAG8w9WaS39tVqmIfZZ53PoBQILXnosou915oQsgq8jYCL55Qt7RRYoqQFPTNJZ6ldP-qW6wdWS96xaQ'
			         
		      }[location.host] +
		      '" type="text/javascript"><\/script>';
		 
		 document.write(script);     
 */
		 var markerOptions ={};// { icon:markerIcon };
	var editMarker;
	var map;	
	var geocoder;
	
	
	function initMapForProfileEditPage(coordString){
	
		if (GBrowserIsCompatible()) {
			
			// Map erzeugen und best?cken
			map = new GMap2(document.getElementById("map"));
			map.addControl(new GSmallMapControl());
			map.enableContinuousZoom();
			map.enableScrollWheelZoom();
			map.setCenter(new GLatLng("51","10"), 5);
			
			
			// Click-Listener hinzuf?gen
			GEvent.addListener(map, "click", function(overlay, point) {
				setCoords(point);
			});

			// initiale Koordinaten setzen
			var coords = coordString.split(",");
			if(coords.length == 2){
				setCoords(new GLatLng(coords[0], coords[1]));
			}
		}
	}

    /**
    Stellt die Map dar, falls Koordinaten ?bergeben worden sind
    **/
	function initMapForProfileViewPage(coordString){
//		alert("coordString: "+coordString);
		var coords = coordString.split(",");
		if (GBrowserIsCompatible() && coords.length == 2) {

			var point = new GLatLng(coords[0],coords[1]);
			setMarkerOnMap(point);
		
		}
	}
	
	function initMapForProfileViewPageFromAdress(adress){
//		alert("setCoordsFromAddress: "+adress);
		
		if(geocoder == null) geocoder = new GClientGeocoder();
	
		geocoder.getLatLng(
			adress,
			function(point) {
				if(point != null){
					setMarkerOnMap(point);
				}
				else {
//					alert("Fanclub nicht gefunden");
				}
			}
		);
	}

	function setMarkerOnMap(point) {
//		alert(point);
		mapjs = $('#map');
//		alert(mapjs.height()+'/'+mapjs.width());
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
//		map.setCenter(new GLatLng("51","10"), 6);
		map.setCenter(point, 5);

		// Marker anzeigen
		var marker = new GMarker(point, markerOptions);
		map.addOverlay(marker);
	}
    /**
    Auf der Karte sollen alle Fanclubs, die Koordinaten
    angegeben haben, dargestellt werden
    */
	function initMapForFanclubsPage(coordString){
		if (GBrowserIsCompatible()) {
			
			// Map erzeugen und best?cken
			map = new GMap2(document.getElementById("mapContainer"));
			map.addControl(new GSmallMapControl());
			map.enableContinuousZoom();
			map.enableScrollWheelZoom();
			map.setCenter(new GLatLng("51","10"), 6);
			
		}
	}

    /**
    F?gt der Karte aller Fanclubs einen Marker hinzu
    */
	function addMarker(coordString, name, place, url){
		var coords = coordString.split(",");
		var point;
		if (coords.length == 2) {
			point = new GLatLng(coords[0],coords[1]);
			addPointToMap(point, name, place, url);
		} else { 
			address = place + " Deutschland";
			if(geocoder == null) geocoder = new GClientGeocoder();

			geocoder.getLatLng(
				address,
				function(newPoint) {
					if(newPoint != null){
						addPointToMap(newPoint, name, place, url);
					}
					else {
					}
				}
			);
		}
	}
	
	function addPointToMap(point, name, place, url) {
		// Marker anzeigen
		var marker = new GMarker(point, markerOptions);

		GEvent.addListener(marker, "mouseover", function() {
			marker.openInfoWindowHtml("<a href='"+url+"'><strong>"+name+"</strong></a><br/>"+place);
		  });
		GEvent.addListener(marker, "mouseout", function() {
			marker.closeInfoWindowHtml();
		  });
		GEvent.addListener(marker, "click", function() {
			document.location.href=url;
		  });

		map.addOverlay(marker);
	}
	
	/**
	Setzt den Marker auf die ?bergebenen Koordinaten und
	speichert die Koordinaten im Form-Feld
	*/
	function setCoords(point){
		if(editMarker == null){
		
			editMarker = new GMarker(point, markerOptions);
		}
		else{
			editMarker.setLatLng(point);	
		}
		
		map.addOverlay(editMarker);
		
		// Koordinaten in der Form merken
		setCoordsFormFieldValue(point.lat()+","+point.lng());

	}

	/**
	Entfernt den Marker aus der Karte und
	l?scht die Koordinaten im Form-Feld
	*/
	function removeCoords(){
	
		// Marker entfernen
		if(editMarker != null){
			map.removeOverlay(editMarker);
			editMarker = null;
		}

		// Koordinaten aus der Form l?schen
		setCoordsFormFieldValue("");
		
	}
	         
	function setCoordsFromAddress(form){
		
		address =$(form).find("#postcode").attr("value");
		address +=" "+$(form).find("#place").attr("value");
		address +=", Deutschland";
		//alert("setCoordsFromAddress: "+address);
		
		if(geocoder == null) geocoder = new GClientGeocoder();

		geocoder.getLatLng(
			address,
			function(point) {
				if(point != null){
					setCoordsFormFieldValue(form, point);
		//			 $("#unknown_place").css("display", "none");
				}
				else {
		//			$("#unknown_place").css("display", "block");
				}
			}
		);
	}

	/**
	Wird von dem Adress-Feld ?ber der grossen Karte aufgerufen
	um die Karte in eine bestimmte Region zu zoomen
	**/
	function goToAddress(inputfield){

		if(inputfield == null || inputfield.value == "") return;
		
		if(geocoder == null) geocoder = new GClientGeocoder();

		geocoder.getLatLng(
			inputfield.value,
			function(point) {
				
				if(point != null) {
					$("#unknown_place").css("display", "none");
					map.setCenter(point, 10);
				}
				else{
					$("#unknown_place").css("display", "block");
				}
			}
		);
	
	}
	
	/**
	Value-Attribut des Form-Feldes setzen
	*/
	function setCoordsFormFieldValue(form, value){
		//alert("setting coords "+value);
		$(form).find("#coords").attr("value",value);
	}		

