var map, manager;
var centerLatitude = 48.59659, centerLongitude = 17.18261, startZoom = 7;

var markers=[];
var Kloester=[];
var KloesterText=[];

function createMarkerClickHandler(marker, text) {
	return function() {
		marker.openInfoWindowHtml(text);
		return false;
	};
}


function infoBallon(i){
	Kloester[i].openInfoWindow(KloesterText[i]);
}




function createMarker(pointData) {
	var latlng = new GLatLng(pointData.latitude, pointData.longitude);
	var icon = new GIcon();
	icon.image = 'img/' + pointData.nummer + '.gif';
	
	icon.iconSize = new GSize(24, 24);
	icon.iconAnchor = new GPoint(12, 12);
	icon.infoWindowAnchor = new GPoint(17, 7);
	opts = {"icon": icon,"clickable": true,"draggable":true};
	var marker = new GMarker(latlng, opts);
	marker.nummer = parseInt(pointData.nummer)
	marker.disableDragging()
	var bbild = ''
	if(pointData.teaserbild!=''){
		bbild = '<img src="/magazin/00/artikel/' + pointData.mcfid + '/img/' + pointData.teaserbild + '" alt="' + pointData.name + '" border="0" width="90" height="90" align="left" style="margin:0; padding:0;padding-right:8px; " />'
	}
	var xText = '<div class="mblase">'+ bbild +'<h1>' + pointData.name + '</h1>' + pointData.beschreibung + '<br><a href="default.asp?medium=' + pointData.mcfmedium +  '&id=' + pointData.mcfid + '&hl=1" ><br>Detailinformationen&nbsp;<img src="img/weiter2.gif" alt="weiter" border="0" align="absmiddle" /></a></div>';
	var handler = createMarkerClickHandler(marker, xText);
	GEvent.addListener(marker, "click", handler);
	Kloester[marker.nummer] = marker
	KloesterText[marker.nummer] = xText
	return marker;
}

function GrenzeLaden(){
	var aj = new Ajax();
	aj.url = "karteajax.asp";
	aj.params = "grenze=ja";
	aj.onSuccess = function(txt){eval(txt);};
	aj.onError = function(msg){alert(msg);};
	aj.doRequest();
}

function KarteInit() {
	map = new GMap(document.getElementById("mkarte"));
	
	GEvent.addListener(map, "load", function(){
		document.getElementById("mliste").style.display = "block";
		var BlaseRE = /krnum=(\d{1,2})/g;
		BlaseTest = BlaseRE.exec(window.location.search);
		if(BlaseTest) var krib = window.setTimeout("infoBallon(" + BlaseTest[1]+ ")", 5000)
		window.setTimeout("GrenzeLaden()", 1000)
	});
	
	map.addControl(new GLargeMapControl());
	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
	map.addControl(new GMapTypeControl());
	map.enableContinuousZoom()
	map.enableDoubleClickZoom();
	manager = new GMarkerManager(map);
	var batch = [];
	for(id in markers) { batch.push(createMarker(markers[id]));	}
	manager.addMarkers(batch, 1);
	manager.refresh();
	
}


function KarteLaden(){
	var aj = new Ajax();
	aj.url = "karteajax.asp";
	
	aj.params = "data=ja";
	
	var sprachetest = /sprache=(\w{1,2})/g;
	sprachetest = sprachetest.exec(window.location.search);
	if(sprachetest) aj.params += "&" + sprachetest[0];
	
	
	aj.onSuccess = function(txt){eval(txt);KarteInit();};
	aj.onError = function(msg){alert(this.url + this.params + msg);};
	aj.doRequest();
}



window.onunload = GUnload;
window.onload = KarteLaden;


