<!-- Cache for Old Browser

function L9m_Roll(nmNum,nmSrc) { document.getElementById(nmNum).src = nmSrc; }

// Fin du cache -->

/**
* Fonctions onyme
*/
function openMap(adr){
	var url = "http://maps.google.fr/maps?q="+escape(adr);
	window.open(url,'map','toolbar=yes, location=yes, menubar=yes, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=1024, height=768, left=0, top=0');
}

// Fonction pour la gestion des GoogleMap
//d?claration des variables
var TYPE_LISTE_ALL = 1;
var TYPE_LISTE_ILE_DE_FRANCE = 2;
var map = null;
var map2 = null;

//var geocoder = null;
var magasin_infos = [];
var magasin_ile_de_france_infos = [];
var magasin_index = 0;
var magasin_ile_de_france_index = 0;
var request = null; //objet qui va effectuer des requ?te Ajax
var request2 = null; //objet qui va effectuer des requ?te Ajax

var default_lat = 47.5; //latitude par d?faut pour le "centrage" de la google-map-1
var default_lng = 1.5; //longitude par d?faut pour le "centrage" de la google-map-1

function load() {
	if (GBrowserIsCompatible()) {//Si le navigateur est compatible  
	  //infos_html = new Array();
	  map = new GMap2(document.getElementById("google-map-1"));//cr?ation de l'objet map		
  	  document.getElementById("google-map-1").appendChild(document.getElementById("tooltip-google-map-1"));
	  
	  map.addControl(new GSmallMapControl());//ajout des controles de zoom et d?placement au format mini
	  map.setCenter(new GLatLng(default_lat,default_lng),5); //on centre la carte une fois au  chargement la carte au niveau d'orleans + ou - 
	 
	  map2 = new GMap2(document.getElementById("google-map-2"));//cr?ation de l'objet map		
	  document.getElementById("google-map-2").appendChild(document.getElementById("tooltip-google-map-2"));
	  map2.addControl(new GSmallMapControl());//ajout des controles de zoom et d?placement au format mini
	  map2.setCenter(new GLatLng(48.86,2.29),8); //on centre la carte une fois au  chargement la carte au niveau de paris + ou -

 	    //on r?cup?re la liste des magasins compl?tes
        request = GXmlHttp.create();
      	request.open("GET", "liste_boutiques.xml?map=" + TYPE_LISTE_ALL, true);
      	request.onreadystatechange = XmlGoogleMap_callback;      	
	    request.send(null);
	}else{
		alert('Navigateur non compatible avec l\'API GoogleMap');
	}

}	

//fonction appel?e par la requ?te ajax de r?cup?ration des infos sur les boutiques
function XmlGoogleMap_callback(){
	if (request!=null && request.readyState == 4) {
        var xmlDoc = GXml.parse(request.responseText);
        // obtain the array of markers and loop through it
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");      
        for (var i = 0; i < markers.length; i++) {
	        // obtain the attribues of each marker
	        var type = markers[i].getAttribute("type");
	        var id = markers[i].getAttribute("id");
	        var map_id = markers[i].getAttribute("map");
	        var lat = markers[i].getAttribute("lat");
	        var lng = markers[i].getAttribute("lng");
   	        var nom = GXml.value(markers[i].getElementsByTagName("nom")[0]);            			
	        var adress = GXml.value(markers[i].getElementsByTagName("adress")[0]);            			
	        var cp = GXml.value(markers[i].getElementsByTagName("cp")[0]);
	        var ville = GXml.value(markers[i].getElementsByTagName("ville")[0]);
	        var tel = GXml.value(markers[i].getElementsByTagName("tel")[0]);
	        var visuel = GXml.value(markers[i].getElementsByTagName("visuel")[0]);
	        magasin_infos[i] = new Object();
	        magasin_infos[i].type = type;
	        magasin_infos[i].id = id;
	        magasin_infos[i].map_id = map_id;
	        magasin_infos[i].lat = lat;
	        magasin_infos[i].lng = lng;
   	        magasin_infos[i].nom = nom;            			
	        magasin_infos[i].adress = adress;            			
	        magasin_infos[i].cp = cp;
	        magasin_infos[i].ville = ville;
	        magasin_infos[i].tel = tel;
	        magasin_infos[i].visuel = visuel;
    	}          
		setAllPoints(TYPE_LISTE_ALL);
		request = null;
		
		//on r?cup?re la liste des magasins d'ile de france
        request2 = GXmlHttp.create();
      	request2.open("GET", "liste_boutiques.xml?map=" + TYPE_LISTE_ILE_DE_FRANCE, true);
      	request2.onreadystatechange = XmlGoogleMap_callback;      	
      	request2.send(null);
    }
    if (request2 !=null && request2.readyState == 4) {
        var xmlDoc = GXml.parse(request2.responseText);
        // obtain the array of markers and loop through it
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");          
        for (var i = 0; i < markers.length; i++) {
	        // obtain the attribues of each marker     			
	        var type = markers[i].getAttribute("type");
	        var id = markers[i].getAttribute("id");
	        var map_id = markers[i].getAttribute("map");
	        var lat = markers[i].getAttribute("lat");
	        var lng = markers[i].getAttribute("lng");
			var nom = GXml.value(markers[i].getElementsByTagName("nom")[0]);            				        
	        var adress = GXml.value(markers[i].getElementsByTagName("adress")[0]);            			
	        var cp = GXml.value(markers[i].getElementsByTagName("cp")[0]);
	        var ville = GXml.value(markers[i].getElementsByTagName("ville")[0]);
	        var tel = GXml.value(markers[i].getElementsByTagName("tel")[0]);	        
	        var visuel = GXml.value(markers[i].getElementsByTagName("visuel")[0]);	        
	       	magasin_ile_de_france_infos[i] = new Object();
	        magasin_ile_de_france_infos[i].type = type;
	        magasin_ile_de_france_infos[i].id = id;
	        magasin_ile_de_france_infos[i].map_id = map_id;
	        magasin_ile_de_france_infos[i].lat = lat;
	        magasin_ile_de_france_infos[i].lng = lng;
   	        magasin_ile_de_france_infos[i].nom = nom;            			
	        magasin_ile_de_france_infos[i].adress = adress;            			
	        magasin_ile_de_france_infos[i].cp = cp;
	        magasin_ile_de_france_infos[i].ville = ville;
	        magasin_ile_de_france_infos[i].tel = tel;
	        magasin_ile_de_france_infos[i].visuel = visuel;
    	}              	
		setAllPoints(TYPE_LISTE_ILE_DE_FRANCE);
		request2 = null;
    }
   
}


function setAllPoints(type_liste){
	if (GBrowserIsCompatible()) {
		var geocoder = new GClientGeocoder();//cr?ation de l'objet geocoder (n?cessaire pour la localisation des adresse)
		// geocoder.getLatLng(address,function(point));
		if (geocoder) {
			if(type_liste==TYPE_LISTE_ALL) {
				for(i=0;i<magasin_infos.length;i++){
					var marker = null;
					if(magasin_infos[i].lat!=0 && magasin_infos[i].lng!=0){
			            var point = new GLatLng(magasin_infos[i].lat,magasin_infos[i].lng);             
	            		marker = createMarker(point,magasin_infos[i]);
	            		map.addOverlay(marker);					
            		}
            		if(magasin_infos[i].lat==default_lat && magasin_infos[i].lng == default_lng && marker!=null)
            			showTooltip(marker,magasin_infos[i].map_id,magasin_infos[i].id,magasin_infos[i].type,magasin_infos[i].nom,magasin_infos[i].adress,magasin_infos[i].cp,magasin_infos[i].ville,magasin_infos[i].tel,magasin_infos[i].visuel);
				}		
			}
			if(type_liste==TYPE_LISTE_ILE_DE_FRANCE){
				for(i=0;i<magasin_ile_de_france_infos.length;i++){
					if(magasin_ile_de_france_infos[i].lat!=0 && magasin_ile_de_france_infos[i].lng!=0){
			            var point = new GLatLng(magasin_ile_de_france_infos[i].lat,magasin_ile_de_france_infos[i].lng);             
	            		var marker = createMarker(point,magasin_ile_de_france_infos[i]);
	            		if(map2==null)
	            			alert('erreur!')
	            		else
	            			map2.addOverlay(marker);					
            		}
				}
			}	
		}
	}
}

function createMarker(point,boutique){//map_id,boutique_id,status,nom,adress,cp,ville,tel,visuel) {
	if (GBrowserIsCompatible()) {
		var gicons = [];
		gicons[1] = new GIcon(G_DEFAULT_ICON, "imgs/marqueur_gdmagvb.png");
		gicons[2] = new GIcon(G_DEFAULT_ICON, "imgs/marqueur_magvb.png");
		
	    var marker = new GMarker(point, gicons[boutique.type]);
	        //marker.tooltip = html;
	    GEvent.addListener(marker, "mouseover", function() {
	          showTooltip(marker,boutique.map_id,boutique.id,boutique.type,boutique.nom,boutique.adress,boutique.cp,boutique.ville,boutique.tel,boutique.visuel);	          
	    });
	    GEvent.addListener(marker,"mouseout", function() {
				document.getElementById("tooltip-google-map-" + boutique.map_id).style.visibility="hidden"
        });
	    GEvent.addListener(marker, "click", function() {
	    	    document.location.href='fiche_boutique.do?id=' + boutique.id;	          	                	          
	    });
	    return marker;
	}
}

      // ====== This function displays the tooltip ======
      // it can be called from an icon mousover or a side_bar mouseover
function showTooltip(marker,map_id,boutique_id,status,nom,adress,cp,ville,tel,visuel_path) {
	var tooltip = document.getElementById("tooltip-content-map-" + map_id);
	var div = document.getElementById("tooltip-google-map-" + map_id);
	var html = '<div class="info-magasin">'+nom+'<br/>'+adress+'<br/>' +cp+ ' ' +ville+'<br/>T&eacute;l. : '+tel+'<br/></div>';
	/*html+= '<div class=\"visuel\">';
	if(visuel_path!='') 
		html+= '<img src="'+visuel_path.substring(1)+'" />';
	
	html+='</div>';*/
	
    tooltip.innerHTML = html;
    var mymap = (map_id == 1?map:map2);

	var point=mymap.getCurrentMapType().getProjection().fromLatLngToPixel(mymap.getBounds().getSouthWest(),mymap.getZoom());
	var offset=mymap.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),mymap.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x + (width/2),- offset.y + point.y +anchor.y)); 
	pos.apply(div);
	div.style.visibility="visible";
}

/**
* Cette fonction centre la googlemap "map" sur le point indiqu?.
* Evidemment il faut appeler cette fonction apr?s avoir charg? la google map... 
* @param lat
* 	Latitude du point
* @param lng
* 	Longitude du point
*/
function centrer_map(lat,lng){
	map.setCenter(new GLatLng(lat,lng),5);	
}

/**
* Cette fonction modifie le centre de la carte googlemap "map".
* Evidemment il faut appeler cette fonction avant d'avoir charg? la google map...
* @param lat
* 	Latitude du point
* @param lng
* 	Longitude du point
*/
function setDefault_centre(lat,lng){
	default_lat = lat;
	default_lng = lng;	
}

