  //<![CDATA[

  var map = null;      // Variable pour la première map
  var icon = null;     // Variable pour l'icon personnalisé
  var Options = null;
  var geocoder = null; // Variable du geocoder pour la recher par adresse au lieux de par lng/lat
  var txtData = null;

  //Paramètre de l'icon personnalisé
  // Icon Personnalisé
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  icon = new GIcon();
  icon.image = "./MapGoogle/images/Icon.png";
  icon.shadow = "./MapGoogle/images/IconShadow.png";
  icon.iconSize = new GSize(41, 35);
  icon.shadowSize = new GSize(41, 35);
  icon.iconAnchor = new GPoint(20, 35);
  icon.infoWindowAnchor = new GPoint(6, 1);
  icon.infoShadowAnchor = new GPoint(20, 1);

  function load() {

    if (GBrowserIsCompatible()) {

      // Déclaration de la première map
      //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
      map = new GMap2(document.getElementById("map"));
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());

      geocoder = new GClientGeocoder(); // Pour la recherche par adresse
      map.setCenter(new GLatLng(45.3882, -71.8943), 12); // Positionne la map au centre des coordonnées données

      //txtData = ShowXMLMembreInfo();
      //var marker = createMarkerTab(new GLatLng(45.3882, -71.8943),GetCoorData(txtData),GetDescData(txtData), GetHeureData(txtData), GetImageData(txtData));
      //var marker = createMarkerTabInfo();
      AddMembres();
      //map.addOverlay(marker);

    }
  }

  //____________________________
  //Crée un markeurs avec 2 tab
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function createMarkerTab(point, coor, desc, heure, photo) {
    var marker = new GMarker(point);

    coor = '<div style="width:358px;height:150px;">'+coor+'</div>';
    GEvent.addListener(marker, "click", function() {
      var infoTabs = [
        new GInfoWindowTab('Coordonnées', coor),
        new GInfoWindowTab("Description", desc),
        new GInfoWindowTab("Heures", heure),
        new GInfoWindowTab("Photo", photo)
      ];

      marker.openInfoWindowTabsHtml(infoTabs);
    });
    return marker;
  }


  //___________________________________________________
  // Ajoute une fenêtre avec plusieurs tab pour un membre
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function createMarkerTabInfo(point){
    var marker = new GMarker(point);
    //var oGmapCoords = document.getElementById("gmapCoords");
    var coor = document.getElementById("mapAdresse").value;
    var desc = document.getElementById("mapDesc").value;
    var ent = document.getElementById("mapEntreprise").value;
    var heure = document.getElementById("mapHeure").value;

    GEvent.addListener(marker, "click", function() {
      var infoTabs = [
        new GInfoWindowTab('Info', ent),
        new GInfoWindowTab("Resumé", desc),
        new GInfoWindowTab("Heures", heure)
      ];

      marker.openInfoWindowTabsHtml(infoTabs);
    });
    return marker;
  }

  //__________________________________________________
  // Ajoute un points du membre dans le idmembre
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    function AddMembres(){
        if(document.getElementById("gmapCoords")) {
            geocoder.getLatLng(
                document.getElementById("gmapCoords").value,
                function(point) {
                    if (!point) {
                        geocoder.getLatLng(
                            document.getElementById("mapAdresse").value,
                            function(point) {
                              if (!point) {
                                
                                geocoder.getLatLng(
                                    document.getElementById("mapCodePostal").value,
                                    function(point) {
                                      if (!point) {
                                      }else{
                                        map.setCenter(point, 13);
                                        map.addOverlay(createMarkerTabInfo(point));
                                      }
                                    }
                                );
                              }else{
                                map.setCenter(point, 13);
                                map.addOverlay(createMarkerTabInfo(point));
                              //  alert(document.getElementById("mapAdresse").value);
                              }
                            }
                        );
                    } else {
                        map.setCenter(point, 13);
                        map.addOverlay(createMarkerTabInfo(point));
                    }
                }
            );
        }
        else {
            geocoder.getLatLng(
                document.getElementById("mapAdresse").value,
                function(point) {
                  if (!point) {
                    
                    geocoder.getLatLng(
                        document.getElementById("mapCodePostal").value,
                        function(point) {
                          if (!point) {
                          }else{
                            map.setCenter(point, 13);
                            map.addOverlay(createMarkerTabInfo(point));
                          }
                        }
                    );
                  }else{
                    map.setCenter(point, 13);
                    map.addOverlay(createMarkerTabInfo(point));
                  //  alert(document.getElementById("mapAdresse").value);
                  }
                }
            );
        }
    }


  //________________________________________________
  // Construie un markeur
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function createMarker(point, str) {
    var marker = new GMarker(point);
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(str);
    });
    return marker;
  }

  //__________________________________________________
  // Ajoute des point selon les coordonée de data.XML
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function AddPoint(){
    GDownloadUrl("./data.xml", function(data, responseCode) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        map.addOverlay(new GMarker(point,icon));
      }
    });
  }

  //_____________________________________________________
  // Recherche les coordonnée selon l'adresse donnée
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function showAddress(address) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          alert(address + " not found");
        } else {
          map.setCenter(point, 15);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
        }
      }
    );
  }

  //__________________________________________________
  // Efface les coordonnées de la map 1
  //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  function ResetMap1(){
    map.clearOverlays();
  }


  function GetCoorData(txtData){
    var str = "";
    txtData = GetXmlAdresseMembre(document.getElementById("idmembre").value);
    var xml = GXml.parse(txtData);

    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var txtAdresse = markers[i].getAttribute("Adresse");
      var txtCodePostal = markers[i].getAttribute("codepostal");
      geocoder.getLatLng(
        txtCodePostal,
        function(point) {
          if (!point) {
            alert(txtCodePostal + " not found");
          }else{
            map.setCenter(point, 13);
            map.addOverlay(createMarker(point,txtAdresse));
          }
        }
      );
    }
    return strl;
  }

  function GetDescData(txtData){
    var str = "";

    return strl;
  }

  function GetHeureData(txtData){
    var str = "";

    return strl;
  }

  function GetImageData(txtData){
    var str = "";

    return strl;
  }
//]]>

