function moveEditMarkerFromAddress(address,aForm){	
	var geocoder = new GClientGeocoder();

	geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				map.setCenter(point, 15);       
				marker_edit.setLatLng(point);
				if (aForm.lat && aForm.lng) {
					aForm.lat.value = marker_edit.getLatLng().lat();
					aForm.lng.value = marker_edit.getLatLng().lng();
				}
			}
		}
	);	
}


function showEditMarker(lat,lng,html,formId,editable){
	if (GBrowserIsCompatible()) {
        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);
			map.setCenter(point, 15);  
		}
		else {
			point = new GLatLng(46, -5); 
			map.setCenter(new GLatLng(47, 0), 5);
		}

		var options = (editable)?{ draggable:true}:{ draggable:false};
		marker_edit = new GMarker(point,options);
		
		GEvent.addListener(marker_edit, "dragstart", function() {
			marker_edit.closeInfoWindow(); 
			if ($('responseForm')) {
				$('responseForm').update('');
			}
		}); 
	
		GEvent.addListener(marker_edit, "dragend", function() { 
			var aForm = document.getElementById(formId);
			if (aForm) {
				if (aForm.lat && aForm.lng) {
					aForm.lat.value = marker_edit.getLatLng().lat();
					aForm.lng.value = marker_edit.getLatLng().lng();
				}
			}			
		}); 

		GEvent.addListener(marker_edit, "click", function() {
			marker_edit.openInfoWindowHtml(html);
		});
		
		map.addOverlay(marker_edit);
	}
}

var markers = [];
var marker_edit;
var map;

function showMarkers(url,lat,lng){
	if (GBrowserIsCompatible()) {
		
        //map = new GMap2(document.getElementById("map"));   
        map = new GMap2(document.getElementById("publicmap"),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});     
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setMapType(G_NORMAL_MAP); 
		
		if (lat != '' && lng != '') {			
			point = new GLatLng(lat, lng);
			map.setCenter(point, 15);  
			
			var options = { draggable:false};
			marker_central = new GMarker(point,options);
			
			markers[0] = marker_central;
			
			//mam.addMarker(marker);
			
			map.addOverlay(marker_central);
			GDownloadUrl(url, loadMarkers);
		}

		
		
		//chargement des collabos
		//GDownloadUrl(url, loadMarkers);	
		
		//branchement des liens pour d�placer la carte
		//if(!onlyMetropole) initializeFocus();
	}
}

function loadMarkers(doc){
	var jsonData = eval('(' + doc + ')');
	
	//var mam = new GMarkerManager(map);
	var bounds = new GLatLngBounds();
	var marker = markers[0];
	bounds.extend(marker.getLatLng());
	
	for (var i=0; i<jsonData.length; i++) {
		// on cr�e le marqueur
		var jmarker = jsonData[i];

		if (jmarker.lat && jmarker.lng) {
			point = new GLatLng(jmarker.lat, jmarker.lng);
			
			var icon = new GIcon(G_DEFAULT_ICON); 
			icon.image = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
			icon.iconSize = new GSize(32, 32);


			var marker = createMarker(point,icon,jmarker.login,jmarker.url);
			
			
			markers[i+1] = marker;
			map.addOverlay(marker);	
			
			bounds.extend(marker.getLatLng());
			
		}
	}
	
	map.setZoom(map.getBoundsZoomLevel(bounds)-1);
	map.setCenter(bounds.getCenter());
	//mam.addMarkers(markers);
	//mam.refresh();
}

function createMarker(point,icon,fullname,url) {
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker, "click", function() {
		html = '<a href="'+url+'">'+fullname+'</a>';
		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();
		}
	}
}