    //<![CDATA[
	function addLoadEvent(laFonction) { 
        var oldonload = window.onload; 
        if (typeof window.onload != 'function'){ 
                window.onload = laFonction ;
        } else { 
                window.onload = function() { 
                        oldonload(); 
                        laFonction(); 
                } 
        } 
	} 			   
	
	addLoadEvent(loadMap);  //chargement de la carte sur le onload de la page
			   
	function decodeStr(chaine) {
		chaine = chaine.replace(/&#128;/g, '€');		
		chaine = chaine.replace(/&#139;/g, '<');
		chaine = chaine.replace(/&#155;/g, '>');
		return chaine;
	}

    var icone = new GIcon();
    icone.image = "http://maps.google.com/mapfiles/kml/pal4/icon38.png";
    icone.shadow = "http://maps.google.com/mapfiles/kml/pal4/icon38s.png";
	icone.iconSize = new GSize(24, 24);
	icone.shadowSize = new GSize(24, 24);
	icone.iconAnchor = new GPoint(6, 24);
	icone.infoWindowAnchor = new GPoint(5, 1);	
	
	// arrays to hold copies of the markers and html used by the side_bar
	// because the function closure trick doesnt work there
	var gmarkers = [];
	var k = 0;	
		
    function loadMap() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
		
	    // Read the data from location.xml 
        var request = GXmlHttp.create(); 
        request.open("GET", "genMarkersClub.php", true); 
        request.onreadystatechange = function() { 
        if (request.readyState == 4) { 
			document.getElementById('waitImage').innerHTML = "";  //on cache l'image d'attente
			document.getElementById('map').style.visibility="visible";	//et on affiche la carte
			
			map.addControl(new GSmallMapControl());
			//carte centrée de la Bretagne
			map.setCenter(new GLatLng(48.09275716032735, -3.087158203125), 8);
			// Autorise le double click permettant de zoomer
			map.enableDoubleClickZoom() ;
			//Zoom progressif 
			map.enableContinuousZoom(); 
	
            var xmlDoc = request.responseXML; 
            // obtain the array of markers and loop through it 
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
				var club = markers[i].getAttribute("club");
				var lieu = markers[i].getAttribute("lieu");
				var logo = markers[i].getAttribute("logo");
				var description = decodeStr(markers[i].getAttribute("description"));
				var activites = decodeStr(markers[i].getAttribute("activites"));
				var url = markers[i].getAttribute("url");
				var adresse = decodeStr(markers[i].getAttribute("adresse"));
				var responsable = decodeStr(markers[i].getAttribute("responsable"));
				var horaires = decodeStr(markers[i].getAttribute("horaires"));
				var tarif = markers[i].getAttribute("tarif");
				var fede = markers[i].getAttribute("fede");
				if(fede == "1") {
					fede = "oui";
				}else{
					fede = "non";
				}
				var evenements = decodeStr(markers[i].getAttribute("evenements"));
			
				var auteur = markers[i].getAttribute("auteur");
				var auteur_email = markers[i].getAttribute("auteur_email");	
				/*
				var photos = markers[i].getAttribute("photos");	
				*/
				var point = new GLatLng(parseFloat(markers[i].getAttribute("latitude")),
										parseFloat(markers[i].getAttribute("longitude")));
				var nomMarker =  markers[i].getAttribute("club"); 
				var marker = createMarker(point, club, lieu, logo, description, activites, url, adresse, responsable, horaires, tarif, fede, evenements, auteur, auteur_email, nomMarker);
				map.addOverlay(marker);
            }
         //});
	   
	   	  //décodage des paramètres passés en url pour afficher une info-bulle particulière
		  var query = window.location.search.substring(1); 
		  var pairs = query.split(","); 
		  for (var i=0; i<pairs.length; i++) { 
			  var pos = pairs[i].indexOf("="); 
			  var argname = pairs[i].substring(0,pos); 
			  var value = pairs[i].substring(pos+1); 
			  if (argname == "club_id") { 
				var mymarker = parseInt(unescape(value)); 
				myclick(mymarker); 
			  } 
		  } 
		  
		} else{
			document.getElementById('waitImage').innerHTML = "<span class='titreBleu'><b>Veuillez patienter pendant le chargement de la carte...</b><br/><br/><img src='images/ajax-loader.gif'>";
			document.getElementById('map').style.visibility="hidden";
		}
      } 
      request.send(null); 
      }
    }

    function createMarker(point, club, lieu, logo, description, activites, url, adresse, responsable, horaires, tarif, fede, evenements, auteur, auteur_email, nomMarker) {

        var marker = new GMarker(point, icone);

		var strClub1 = "<table width='350' border=0 cellspacing=0 cellpadding=0>";
		strClub1 += "<tr><td colspan=3 align='left'><span class='linkretour'>"+club+"</span></td></tr>";
		if(logo == '') {
			strClub1 += "<tr><td width='1' valign='top'><img align='left' src='documents/clubs/espace.gif' border=0 class=imgInfoWindow></td>";
		}else{
			strClub1 += "<tr><td width='100' valign='top'><img align='left' src='documents/clubs/"+logo+"' border=0 class=imgInfoWindow></td>";
		}
		strClub1 += "<td width='5'><img src='images/blank.gif' width='5'></td>";
		strClub1 += "<td width='250' align='left' class='description'><b>"+lieu+"</b><br><br>";
		strClub1 += description;
		if(url != '') {
			strClub1 += "<br><br><a href='"+url+"' target='_blank'>"+url+"</a>";
		}
		if(auteur != '' && auteur != 'vero') {
			strClub1 += "<br><br>(<i>proposé par <b><a href='mailto:" + auteur_email + "'>" + auteur + "</a></b></i>)";
		}
		strClub1 += "</td></tr>";
		strClub1 += "</table>";	  
	  
		var strClub2 = "<table width=350 border=0 cellspacing=0 cellpadding=0><td colspan='3' class='linkretour' align='left'>" + club + "</td></tr>";
		strClub2 += "<tr><td colspan='3'><hr size=1 width=350 align=left></td></tr>";
		strClub2 += "<tr><td colspan='3'><img src='images/blank.gif' height='5'></td></tr>";
		strClub2 += "<tr><td align='left' class='descriptionBulle'>" + activites + "</td></tr>";
		strClub2 += "</table>";	
	
		var strClub3 = "<table width=350 border=0 cellspacing=0 cellpadding=0><td class='linkretour' align='left'>" + club + "</td></tr>";
		strClub3 += "<tr><td><hr size=1 width=350 align=left></td></tr>";
		strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Adresse</a> : " + adresse + "</td></tr>";
		strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Contact</a> : " + responsable + "</td></tr>";
		strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Horaires</a> : " + horaires + "</td></tr>";
		strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Tarifs</a> : " + tarif + "</td></tr>";
		strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Affilié à la Fédération</a> : " + fede + "</td></tr>";
		strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		if(evenements != '') {
			strClub3 += "<tr><td align='left' class='descriptionBulle'><a class='liensrubrique'>Evènement(s)</a> : " + evenements + "</td></tr>";
		}
		//strClub3 += "<tr><td><img src='images/blank.gif' height=5></td></tr>";
		strClub3 += "</table>";	
		
	  
      GEvent.addListener(marker, 'click', function() {
        //marker.openInfoWindowHtml(strExpo1);
		if(activites != '') {
			var infoTabs = [new GInfoWindowTab("Club",strClub1),new GInfoWindowTab("Activités", strClub2),new GInfoWindowTab("Infos", strClub3)];
		}else{
			var infoTabs = [new GInfoWindowTab("Club",strClub1),new GInfoWindowTab("Infos", strClub3)];
		}	
		marker.openInfoWindowTabsHtml(infoTabs);
		
      });
	  
	  // save the info we need to use later for the side_bar
      gmarkers[k] = marker;

      k++;
		
      return marker;
    }
	
    // This function picks up the click and opens the corresponding info window
    function myclick(k) {
		if(gmarkers[k]) {
	  		GEvent.trigger(gmarkers[k], 'click');
		}
    }		
    //]]>

