/* v: */
var markers = new Array();
var map = new Object();

function showItem(i) {
	if (map.getZoom() < 15) {
		map.setZoom(15);
	}
    GEvent.trigger(markers[i], "click");
}


jQuery(document).ready(function() {
	if (jQuery('#mapvc').length) {  
		if (GBrowserIsCompatible()) {
			
			function createMarker(point,html,icon) {
		        var marker = new GMarker(point, icon);
		        GEvent.addListener(marker, "click", function() {
		        	marker.openInfoWindowHtml('<div class="mapblub">'+html+'</div>');
		        });
		        return marker;
		    }
			
		    map = new GMap2(document.getElementById("mapvc"));
		    
		    map.addControl(new GLargeMapControl());
		    map.addControl(new GOverviewMapControl());
		    map.addControl(new GMapTypeControl());
		    map.setCenter(new GLatLng(54.02835,11.72906),8);
			
			var redflagIcon = new GIcon();
			redflagIcon.image = "/wp-includes/images/layout/flag_red.gif";
			redflagIcon.iconSize = new GSize(16, 16);
			redflagIcon.iconAnchor = new GPoint(8, 16);
			redflagIcon.infoWindowAnchor = new GPoint(8, 8);
			redflagIcon.printImage = "/wp-includes/images/layout/flag_red.gif";
			redflagIcon.mozPrintImage = "/wp-includes/images/layout/flag_red.gif";

		    
		    var sumI = 0; 
		    var sumLat = 0;
		    var sumLng = 0;
		    	    
	        jQuery(".dbrow > .vcard").each(function(i){
	        	var lat = parseFloat(jQuery('#' + this.id + " > .geo > .latitude").text());
	        	var lng = parseFloat(jQuery('#' + this.id + " > .geo > .longitude").text());
				var iconpath = jQuery('#' + this.id + " > .geo").attr('rel');
	        	
				if (iconpath) {
					var markerIcon = new GIcon();
					markerIcon.image = iconpath;
					markerIcon.iconSize = new GSize(16, 16);
					markerIcon.iconAnchor = new GPoint(8, 16);
					markerIcon.infoWindowAnchor = new GPoint(8, 8);
					markerIcon.printImage = iconpath;
					markerIcon.mozPrintImage = iconpath;
				}
				else {
					var markerIcon = redflagIcon;
				}
				
				
	        	if (!isNaN(lat) && !isNaN(lng)) {
	        		var point = new GLatLng(lat, lng);
	    		    markers[sumI] = createMarker(point,jQuery(this).html(), markerIcon);
	    		    map.addOverlay(markers[sumI]);
	    		    jQuery('#' + this.id + ' .fn').prepend('<a class="mapThis" href="#karte" onClick="javascript:showItem('+ sumI +')" title="auf der Karte zeigen">auf der Karte zeigen</a>');
					if (this.id == 'tippderwoche') {
						jQuery('#tippderwoche > a').bind("click", function(e){
								GEvent.trigger(markers[0], "click");
								return false;
						});
					}
	        			        		
	        		sumI = sumI + 1;
	        		sumLat = sumLat + lat;
	        		sumLng = sumLng + lng;
	        	}
	        });
	        
	        if (typeof mapData != "undefined") { 
	        	jQuery.each(mapData, function(i,item){
	        		var lat = parseFloat(item.lat);
	        		var lng = parseFloat(item.lon);
	        		        	
	        		if (!isNaN(lat) && !isNaN(lng)) {
	        			var point = new GLatLng(lat, lng);
	        			markers[sumI] = createMarker(point,item.html, redflagIcon);
	        			map.addOverlay(markers[sumI]);
	    		    	        		
	        			sumI = sumI + 1;
	        			sumLat = sumLat + lat;
	        			sumLng = sumLng + lng;
	        		}
	        	});
	        }
	        if (sumI > 0) {
	        	map.setCenter(new GLatLng(sumLat/sumI,sumLng/sumI),8);
	        }
	    }
	}
	
});

/*
jQuery(document).unload(function() {
	GUnload();
});
*/