var MAPCENTER = (typeof param_center != "object")?(new GLatLng(52.695, 12.021)):(param_center);
var OVERVIEWZOOM = 10;
var map = new GMap2(document.getElementById("karte"));
var mmgr;
var Legende = new Legende();
var Toernplaner = new Toernplaner();
var Kartenliste = new Kartenliste();
var Suche = new Suche();
var Dealerlocator = new Dealerlocator();
var stdIcon = new GIcon();
var AUTOCLOSED = '';


function InitMap(){
	
	//Kartenzustand festlegen
	map.addControl(new mapMenue());
	map.setCenter(MAPCENTER, DEFZOOM);
	map.enableContinuousZoom();
	map.removeMapType(G_SATELLITE_MAP);
	map.removeMapType(G_NORMAL_MAP);
	map.removeMapType(G_HYBRID_MAP);
	
	
	//Kontrollelemente hinzufügen
	
	map.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0, 0)));
	map.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(0, 0)));
	map.addControl(new GOverviewMapControl);
	
	
	mmgr = new MarkerManager(map);
	
	//Diverse Initialisierungen
	stdIcon.iconSize = new GSize(20, 20);
	stdIcon.shadowSize = null;
	stdIcon.iconAnchor = new GPoint(10,34);
	stdIcon.infoWindowAnchor = new GPoint(10,10);
	

	if(typeof param_wg != "string"){
		Legende.show();
		Legende.loadMarkers("overview");
	}else{
		if(typeof param_defzoom == "number"){
			Legende.displayGroup(param_wg, param_center, param_defzoom);
		}else
			Legende.displayGroup(param_wg, param_center);
	}
	
	//Customized GoogleMap
	map.menueSelected = "LEGENDE";
	
}



//Blendet das aktiv geöffnete Menü aus und merkt sich dieses
function autohide(){
	if(!Legende.hidden){
		AUTOCLOSED = 'Legende';
		Legende.hide();
	}else if(!Toernplaner.hidden){
		AUTOCLOSED = 'Toernplaner';
		Toernplaner.hide();
	}else if(!Suche.hidden){
		AUTOCLOSED = 'Suche';
		Suche.hide();
	}else if(!Kartenliste.hidden){
		AUTOCLOSED = 'Kartenliste';
		Kartenliste.hide();
	}else if(!Dealerlocator.hidden){
		AUTOCLOSED = 'Dealerlocator';
		Dealerlocator.hide();
	}
}


//Blendet ein gemerktes Menü wieder ein.
function autoshow(){
	var str = AUTOCLOSED+'.show();';
	eval(str);
}

//containerID: in welchem Container soll das loading-gif angezeigt werden?
//size: entweder 20, 100, oder 300
function ajaxLoading(containerId, size){
	document.getElementById(containerId).style.display="block";
	document.getElementById(containerId).innerHTML = 'Inhalte werden geladen...<br/><img src="'+BASEURL+'img/loading'+size+'.gif" alt="Loading..." />';
}


function refreshMapMarkers(){
	mmgr.clearMarkers();
	mmgr.addMarkers(Legende.markers, MINZOOM, MAXZOOM+2);
	mmgr.addMarkers(Toernplaner.markers, MINZOOM, MAXZOOM+2);
	mmgr.refresh();
}

function addMapMarker(m){
	mmgr.addMarker(m, MINZOOM, MAXZOOM+2);
}

function ajaxError(r){
	alert("Fehler: Konnte Inhalt nicht laden. Bitte erneut klicken oder Fehler melden.");
}


/*  Autor 2003 Kristof Lipfert, Duesseldorf */
function toFix(wert,ds){
	var wert=(wert.toFixed)?wert.toFixed(ds):Math.floor(wert)+"."+(Math.pow(10,ds)+Math.round((wert-Math.floor(wert))*Math.pow(10,ds))+"").substr(1,ds);
	return wert;
}
