var openMapEvent = false;
var map;

function fadeInMap(id, mapClass, pointMethod, baseurl) {
	if (openMapEvent == true) return;
	//
	if ($("map_popup") == null) {
		createMapPopup(id, mapClass, pointMethod, baseurl);
    }
  	
	$("map_popup").setStyle("visibility", "visible");
	
	openMapEvent = true;
}

function fadeOutMap() {
	if (!openMapEvent) return;
	//
	$("map_popup").setStyle("visibility", "hidden");
	openMapEvent = false;
}


function createMapPopup(id, mapClass, pointMethod, baseurl) {
	var popupEl = new Element("div", { "id" : "map_popup", "class" : "map-popup" });
    var closetext = new Element("div", { "id" : "popup_closetext", "class" : "tip-closetext" });
	var text = new Element("div", { "id" : "popup_text", "class" : "tip-text" });
    //var overlay = new Element('div').setProperty('id', 'mb_overlay').injectInside(document.body);
  
	popupEl.inject($("body"), "after");
	
	popupEl.setStyle("visibility", "hidden");
	
	text.inject(popupEl);
    closetext.innerHTML = "Schliessen";
    closetext.addEvent("click", function() {
        fadeOutMap();
    });
    closetext.inject(popupEl);

    text.set('load', {onSuccess: function() {
        if ($("gmap") == null) return;
        if (!GBrowserIsCompatible()) return;

        map = new GMap2($("gmap"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(46.9, 8.2), 7);
        loadMultipleMarkers(mapClass, pointMethod, id, '/index.php');
    }});
        
    if (baseurl) {
    	text.load(baseurl+"?class="+mapClass+"&method=getContentById&params="+id);
    } else {
    	text.load(document.URL.split("?")[0]+"?class="+mapClass+"&method=getContentById&params="+id);
    }

    document.addEvent('mousedown', function(e) {
        if(outsideClick(e, popupEl)) fadeOutMap();
    });
}