var map;
var latlng = [];
var latlngs = [];
var caz = [];

function createMarker() {
	for(i in points) {
				
		latlngs.push(new GLatLng(points[i].latitude,points[i].longitude));	
		
		function createMarker(point, i) {  
			var marker = new GMarker(point);   
			GEvent.addListener(marker, "click", function() {    
			 	courseLink = 'Medlem: <a href="./view_user.php?lang=swe&user_name=' + points[i].user_name + '">' + points[i].user_name + '</a>';
				marker.openInfoWindowHtml(courseLink);
			});  
			return marker;
		}
		
		var point = new GLatLng(points[i].latitude,points[i].longitude);
		map.addOverlay(createMarker(point, i));		
	}
		
}

function getCenterAndZoom() {
	
	var viewSize = GSize(500,400);
	var bounds = new GLatLngBounds();
	
	for (id in points) {
		var latlng = new GLatLng(points[id].latitude, points[id].longitude);
		bounds.extend(latlng);
	}
	
	var newZoom = map.getBoundsZoomLevel(bounds,viewSize);
	
	var centLat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2;
	var centLng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2;
	
	if (newZoom > 13) {
		var newZoom = 13;
	} else {
		var newZoom = newZoom - 1;
	}
	
	return [centLat, centLng, newZoom];
}

function init() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		var caz = getCenterAndZoom();
		map.setCenter(new GLatLng(caz[0], caz[1]), caz[2],G_HYBRID_MAP);
		map.enableDoubleClickZoom();
		map.enableContinuousZoom();

		createMarker();
	}
}
 
window.onload = init;
window.onunload = GUnload;
