var isMapView = false;

function showMap()
{
	if(!GBrowserIsCompatible())
		return;
	isMapView = true;
	if($(".program_map").length != 0){
		$(".program_map").show();
		$(".program_list").hide();
		return;
	}   
	$(".program_list").after('<div class="program_map"><div id="map_canvas" style="display: block; float: left; width: 940px; height: 440px"></div></div>').hide();
	var map = new GMap2(document.getElementById("map_canvas"));
	//Mittelpunkt und Controls
	var point = new GLatLng(50.94, 6.9599115);
	map.addControl(new GSmallMapControl());
	map.enableScrollWheelZoom();
	map.setCenter(point, 13);
	//Icons
	var baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new GSize(20, 34);
	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
	$.post(location.href, { locations: "1" }, function(locations){
		for(var i=0;i<locations.length;i++){
			var loc = locations[i];
			var point = new GLatLng(loc.lat, loc.long);
			var letter = String.fromCharCode("A".charCodeAt(0) + i);
			var letteredIcon = new GIcon(baseIcon);
			letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";
			var marker = new GMarker(point, { icon: letteredIcon });
			map.addOverlay(marker);
			var infoHTML = '<h2>' + '<a href="/spielstaette/' + loc.id + '/">' + loc.title + '</a></h2><p>' + loc.adress + '</p><div class="list" style="height:210px;display:block;overflow:auto">';
			for(var j=0;j<loc.events.length;j++){
				var event = loc.events[j];
				infoHTML += '<p class="mapitem"><strong>' + event.date + '</strong><br /><a href="/programm/' + event.id + '/">' + event.title + '</a></p>';
			}
			infoHTML += '</div><br/>';
			addClickMarker(marker, infoHTML);
		}
	}, "json");
}

function addClickMarker(marker, html)
{
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
}

$(document).ready(function() {
	if(GBrowserIsCompatible()){
		$(".program_list").before('<div class="module_m1_l listfunctions"><div class="left"><ul><li id="btn_show_as_map"><a href="javascript:;">Map-Ansicht</a></li><li id="btn_show_as_list" class="active"><a href="javascript:;">Listenansicht</a></li></ul></div><div class="right"><span id="paginator-target"/></div></div>');
		$('.paginator').prependTo('#paginator-target').css('background-image', 'none').css('padding-top', '0px').css('padding-bottom', '0px');
		$("#btn_show_as_map").click(function(){
			if(isMapView) return;
			showMap();
			$("#btn_show_as_list").toggleClass('active');
			$("#btn_show_as_map").toggleClass('active');
			$('.paginator').hide();
		});
		$("#btn_show_as_list").click(function(){
			if(!isMapView) return;
			$(".program_map").hide();
			$(".program_list").show();
			$("#btn_show_as_list").toggleClass('active');
			$("#btn_show_as_map").toggleClass('active');
			$('.paginator').show();
			isMapView = false;
		});
		if(window.location.href.indexOf('map=1') > 0){
			$("#btn_show_as_map").click();
		}
	}
});
