// Google maps

  var map__MODULE_ID__ = "";
  var gmarkers = [];
  var mrkrCount = 0;
  
  function loadMap(div_ID){
    if (GBrowserIsCompatible()) {
      map__MODULE_ID__ = new GMap2(document.getElementById(div_ID));
      map__MODULE_ID__.addMapType(G_PHYSICAL_MAP);
      map__MODULE_ID__.addControl(new GSmallMapControl());
      map__MODULE_ID__.addControl(new GMapTypeControl());
      map__MODULE_ID__.addControl(new GOverviewMapControl());
      map__MODULE_ID__.setCenter(new GLatLng(46.0, 6.0), 5);
      map__MODULE_ID__.setMapType(G_PHYSICAL_MAP); // APRES le setCenter

      //affiche les plots
      loadPlots();
    }
  }

  function loadPlots(){
  	clearMarkers();
  	GDownloadUrl("../mapplet_data.php",
                      function(data) {
                          var xml = GXml.parse(data);
                          //var markers = xml.documentElement.getElementsByTagName("marker");
                          var data = xml.documentElement;
                          //alert(data.substr(0,400)); // marche que avec _IG_FetchContent et pas _IG_FetchXmlContent
                       		var ident = data.getElementsByTagName("ID");
                      		var lat = data.getElementsByTagName("Lat");
                					var lon = data.getElementsByTagName("Lon");
                					var pays = data.getElementsByTagName("Pays");
                					var pays_id = data.getElementsByTagName("Pays_ID");
                	     		var dpt = data.getElementsByTagName("Departement");
                	     		var dpt_id = data.getElementsByTagName("Departement_ID");
                      		var info = data.getElementsByTagName("Info");
                      		var urls = data.getElementsByTagName("URL");
                       		for(var i=0; i<ident.length; i++){
                            //alert(lat[i].childNodes[0].nodeValue+'|'+ lon[i].childNodes[0].nodeValue);
                      			var point = new GLatLng(parseFloat(lat[i].childNodes[0].nodeValue), parseFloat(lon[i].childNodes[0].nodeValue));
                      			//var point = new GLatLng(37.71859, 6.679688);
                						mrk = createMarker(point,pays[i].childNodes[0].nodeValue,
                                                     pays_id[i].childNodes[0].nodeValue,
                                                     dpt[i].childNodes[0].nodeValue,
                                                     dpt_id[i].childNodes[0].nodeValue,
                                                     info[i].childNodes[0].nodeValue,
                                                     urls[i].childNodes[0].nodeValue);
                						if(mrk != null){
          						        map__MODULE_ID__.addOverlay(mrk);
          										mrk=null;
                						}else{
                              alert("error: mrk null");
                            }
                						delete point;
                      		}
                		  	});
      ident = lat = lon = pays = pays_id = dpt = dpt_id = info = urls = null;
  }

  function createMarker(point,pays,pays_id,dpt,dpt_id,info,url){
    //alert(pays+' | '+pays_id+' | '+dpt+' | '+dpt_id+' | '+info+' | '+url);
    var tooltip = pays;
    var windowtxt = '<div style="font-size: 11px;font-family: verdana,arial;"><div style="font-size: 13px"><b>'+ pays;
  	if(pays_id==71 && dpt!=null){ // cas particulier de la France
  	   tooltip += ', '+ dpt;
  	   windowtxt += ', '+ dpt;
    }
    tooltip += ', '+ info;
    windowtxt += '</b></div><hr>Voir les <a href="'+ url +'">'+ info +' artistes</a> vivant l&agrave;.';

    //alert(tooltip);
    //alert(windowtxt);

    var marker = new GMarker(point,{title:tooltip});
    var handle = GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(windowtxt);});
  	gmarkers[mrkrCount] = new Object();
    gmarkers[mrkrCount].marker = marker;
    gmarkers[mrkrCount].handle = handle;
    mrkrCount++;

  	handle = tttxt = null;
  	return marker;
  }

  function clearMarkers() {
    // hide the info window, otherwise it still stays open where the removed marker used to be
    // googleMap.getInfoWindow().hide();

    // clear all existing markers
    // (currently theres a bug in clearOverlays that criples the info window
    // but removing them one-by-one is OK)
    if (!gmarkers & mrkrCount > 0) {
      mrkrCount = 0;
      return;
    }
    for (i=0; i<gmarkers.length; i++) {
      if(gmarkers[i].handle != null) {
        GEvent.removeListener (gmarkers[i].handle);
        gmarkers[i].handle = null;
      }
      if(gmarkers[i].marker != null) {
        map__MODULE_ID__.removeOverlay (gmarkers[i].marker);
        delete gmarkers[i].marker;
        gmarkers[i].marker = null;
      }
    }
    for (i=0; i<gmarkers.length; i++) {
      delete gmarkers[0];
    }
    // empty the array and reset the counter
    mrkrCount = 0;
    gmarkers = [];
  }
  
