function showEditMarker(lat,lng,html,formId,editable){
	if (GBrowserIsCompatible()) {
		
        var map = new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});  
	//map = new GMap(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});
    
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(47, 0), 5);
		map.setMapType(G_NORMAL_MAP); 
      
		if (lat & lng) point = new GLatLng(lat, lng);
		else point = new GLatLng(46.5, 0); 

		var options = (editable)?{ draggable:true}:{ draggable:false};
		var marker = new GMarker(point,options);
		
		GEvent.addListener(marker, "dragstart", function() {
			map.closeInfoWindow(); 
		}); 
	
		GEvent.addListener(marker, "dragend", function() { 
			var aForm = document.getElementById(formId);
			if (aForm) {
				if (aForm.lat && aForm.lng) {
					aForm.lat.value = marker.getLatLng().lat();
					aForm.lng.value = marker.getLatLng().lng();
				}
				else if ($('institution_lat') && $('institution_lng')) {
					$('institution_lat').value = marker.getLatLng().lat();
					$('institution_lng').value = marker.getLatLng().lng();
				}
			}			
		}); 

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

var markers = [];
var map;

function showMarkers(url,onlyMetropole){
	if (GBrowserIsCompatible()) {
		
        //map = new GMap2(document.getElementById("map"));   
        map = new GMap2(document.getElementById("map"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});     
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(47, 0), 5);
		map.setMapType(G_NORMAL_MAP); 
		
		//chargement des collabos
		GDownloadUrl(url, loadMarkers);	
		
		//branchement des liens pour déplacer la carte
		if(!onlyMetropole) initializeFocus();
	}
}

function loadMarkers(doc){
	var jsonData = eval('(' + doc + ')');
	
	for (var i=0; i<jsonData.markers.length; i++) {
		// on crée le marqueur
		var jmarker = jsonData.markers[i];

		if (jmarker.lat && jmarker.lng) {
			point = new GLatLng(jmarker.lat, jmarker.lng);
			
			var icon = new GIcon(G_DEFAULT_ICON); 
			if (jmarker.icon) {				
				icon.image = jmarker.icon; 
			}
			var marker = createMarker(point,icon,jmarker.category_id,jmarker.html);
			markers[i] = marker;
			map.addOverlay(marker);	
		}
	}
}

function createMarker(point,icon,cat_id,html) {
	var marker = new GMarker(point,icon);
	marker.category_id 	= cat_id;
	marker.html 		= html;	
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});	
	
	return marker;
}

function showCategoryMarkers(cat_id){
	if (cat_id > 0) {
		for (var i=0; i< markers.length; i++) {
			var marker = markers[i];
			if (marker) {
				if (marker.category_id != null && marker.category_id == cat_id) marker.show();
				else marker.hide();
			}
		}
	}
	else {
		for (var i=0; i< markers.length; i++) {
			var marker = markers[i];
			if (marker) marker.show();
		}
	}
}

function initializeFocus(){
	var ul		= $('focusMap');
	var focus = $A(ul.getElementsByTagName('img')); // Recheche des images
	if (focus) {
		for(var i=0; i < focus.length; i++){
			Event.observe(focus[i], "click", moveMap.bindAsEventListener(Event,focus[i].id));
		}
	}
	
	hideFocus('metropole');
}

function moveMap(event,id){
	switch (id){
		case 'metropole':
			map.setCenter(new GLatLng(47, 0), 5);
			break;
		case 'martinique':
			map.setCenter(new GLatLng(14.67, -61), 10);
			break;
		case 'guadeloupe':
			map.setCenter(new GLatLng(16.25, -61.5), 10);
			break;
	}
	
	hideFocus(id);
}

function hideFocus(id){
	var ul		= $('focusMap');
	var focus = $A(ul.getElementsByTagName('img')); // Recheche des images
	if (focus) {
		for(var i=0; i < focus.length; i++){
			if (focus[i].id == id )focus[i].hide();
			else focus[i].show();
		}
	}
}
