var map;
var mgr;
var icons = {};
var allmarkers = [];


function init(lat, long, zoom, min_lat, max_lat, min_long, max_long) 
{
	if (GBrowserIsCompatible())
	{
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl()); 

		map.setCenter(new GLatLng(lat, long), zoom);
		map.enableDoubleClickZoom();
		mgr = new MarkerManager(map, {trackMarkers:true});
		window.setTimeout(setupOfficeMarkers, 0);
		//var point = new GLatLng(lat, long);
		// Affichage du marker
		//marker = new GMarker(point);
		//map.addOverlay(marker);
		var bds = new GLatLngBounds(new GLatLng(min_lat, min_long), new GLatLng(max_lat, max_long));
		/*GEvent.addListener(marker, "click", function() 
		{ 
			marker.openInfoWindowHtml("Domicile");
		});*/

	}
}

function getIcon(images)
{
	var icon = new GIcon();
	icon.image = "/images/google/"+images[0]+".png";
	
	var data = iconData[images[0]];
	icon.iconSize = new GSize(data.width, data.height);
	icon.iconAnchor = new GPoint(data.x_anchor, data.y_anchor);			
	icon.infoWindowAnchor = new GPoint(data.width, 0);
	
	/*var data = iconData[images[1]];
	icon.shadow = "/images/google/"+images[1]+".png";
	icon.shadowSize = new GSize(data.width, data.height);*/
	
	/*
	icon.image = "images/google/logo.png";
	icon.iconSize = new GSize(45, 48);
	icon.iconAnchor = new GPoint(22.5, 48);
	icon.infoWindowAnchor = new GPoint(45, 0);
	icon.shadow = "images/google/ombre.png";
	icon.shadowSize = new GSize(60, 50);
	*/
	
	return icon;
}

function setupOfficeMarkers()
{
	allmarkers.length = 0;
	for (var i in officeLayer) 
	{
		var map_layer = officeLayer[i];
		var markers = [];
		for (var j in map_layer["places"])
		{
			var place_icon = map_layer["places"][j];
			var icon = getIcon(place_icon["icon"]);
			var title = place_icon["name"];
			var pos_icon = new GLatLng(place_icon["pos_icon"][0], place_icon["pos_icon"][1]);
			var marker = createMarker(pos_icon,title,icon,place_icon["txt"]); 
			markers.push(marker);
			allmarkers.push(marker);
		}
		mgr.addMarkers(markers, map_layer["zoom"][0], map_layer["zoom"][1]);
	}
	mgr.refresh();
}

function createMarker(pos_icon, title, icon, txt)
{
	var marker = new GMarker(pos_icon, {title: title, icon: icon, draggable:false });
	var html = '<span style="font-family:Arial, Helvetica, sans-serif; color:#333333; font-size:11px;"><strong>'+title+'</strong><br />'+txt+'</span>';
	//GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	GEvent.addListener(marker, "click", function() 
	{ 
		marker.openInfoWindowHtml(html); 
		//setTimeout("getInfoWindow().maximize()",0);
	});
	return marker;
}

function deleteMarker()
{
	var markerNum = parseInt(document.getElementById("markerNum").value);
	mgr.removeMarker(allmarkers[markerNum]);
}

function clearMarkers()
{
	mgr.clearMarkers();
}

function reloadMarkers()
{
	setupOfficeMarkers();
}
