// Adresse sur laquelle le carte sera centrer et ou sera placer le marqueur
var cfg_adress         = '';
var cfg_adress1         = '';
var cfg_adress2        = '';

// Largeur de la carte
var cfg_largeur     = '350px';

// Hauteur de la carte
var cfg_hauteur     = '250px';

// Niveau de zoom, entre 1 (niveau globe) et 17 (niveau rue)
var cfg_zoomLevel    = 14;

// Texte pour le popup
// Si vous ne souahitez pas de poupup laisser mettre simplement "" comme valeur

// Variable globale pour l'objet GMAP2
var map;

// Variable global pour l'objet GClientGeocoder qui traduit une adresse en longitude,latitude
var geocoder;

// Function appellée au chargement de la page web
// Créee et configure la carte
function loadMyMap(adr,adr1,adr2) {	
	cfg_adress = adr;
	cfg_adress1 = adr1;
	cfg_adress2 = adr2;
	
	// Teste si le navigateur est compatible avec l'API Gmaps
	if(GBrowserIsCompatible()){
		// Affecte la carte à la div  "map"
		var divMap    = document.getElementById("map");
		// Redimensionne la carte
		divMap.style.width    = cfg_largeur;
		divMap.style.height    = cfg_hauteur;
		// Création des objets princiapux
		map =new GMap2(divMap); 
		geocoder = new GClientGeocoder();
		// Pour zoomer avec la molette de la souris
		//map.enableScrollWheelZoom();
		map.disableScrollWheelZoom();
		// Grande barre de zoom
		map.addControl(new GSmallMapControl());
		//Pour switcher entre les différentes vues (sattelite, plan, hybride)
		//map.addControl(new GMapTypeControl());                       
		// On centre la carte sur votre adresse
		centerMapOnAdress(cfg_adress);
	}else{
		alert('Votre navigateur ne permet pas l\'affichage de carte Google Maps');
	}
}
	
// Centre une carte sur une adresse
// Geocode l'adresse
// Message d'erreur si adresse non trouvé
function centerMapOnAdress(adresse) {
	if(!adresse.length)alert('Remplir la variable adresse');
	
	// Décodage de l'adresse        
	geocoder.getLatLng(adresse,
	function(point) {
		// Adresse introuvable
		if (!point) {
		alert('Adresse : ' + adresse + " introuvable");
		} else {
		// Centre la carte sur l'adresse
		map.setCenter(point, cfg_zoomLevel);
		// On créer un marqueur à l'adresse spécifiée
		var marker =new GMarker(point);
		var textePopUp = cfg_description;
		// Si il y a une description
		if (textePopUp.length) {               
		// Affiche un popup lors du clic sur le marqueur
		GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(textePopUp);
		});
	// Affiche le marqueur
	map.addOverlay(marker);
	}
else  map.addOverlay(marker); // Affiche le marqueur
}
}
);
	// Décodage de l'adresse     
	if(cfg_adress1 != null){
		geocoder.getLatLng(cfg_adress1,
		function(point1) {
			// Adresse introuvable
			if (!point1) {
			alert('Adresse : ' + cfg_adress1 + " introuvable");
			} else {
			// On créer un marqueur à l'adresse spécifiée
			var marker1 =new GMarker(point1);
			var textePopUp1 = cfg_description1;
			// Si il y a une description
			if (textePopUp1.length) {               
			// Affiche un popup lors du clic sur le marqueur
			GEvent.addListener(marker1, "click", function() {
			marker1.openInfoWindowHtml(textePopUp1);
			});
		// Affiche le marqueur
		map.addOverlay(marker1);
			}else  map.addOverlay(marker1); // Affiche le marqueur
		}
		}
	);
	}
	
	// Décodage de l'adresse     
	if(cfg_adress2 != null){
		geocoder.getLatLng(cfg_adress2,
		function(point2) {
			// Adresse introuvable
			if (!point2) {
			alert('Adresse : ' + cfg_adress2 + " introuvable");
			} else {
			// On créer un marqueur à l'adresse spécifiée
			var marker2 = new GMarker(point2);
			var textePopUp2 = cfg_description2;
			// Si il y a une description
			if (textePopUp2.length) {               
			// Affiche un popup lors du clic sur le marqueur
			GEvent.addListener(marker2, "click", function() {
			marker2.openInfoWindowHtml(textePopUp2);
			});
		// Affiche le marqueur
		map.addOverlay(marker2);
			}else  map.addOverlay(marker2); // Affiche le marqueur
		}
		}
	);
	}
}
