
// Déclaration des variables globales
	// geocodage
	var geoCodage;
	// Infobulle
	var infoBulle;
	// La carte
	var carteGmap;
	// tableauMarqueurs : est un tableau destiné à contenir tous les marqueurs 
	var tableauMarqueurs = [];
	// tableauIcones : est un tableau destiné à contenir toutes les catégorie d'icônes
	var tableauIcones = [];
	// Latitude et longitude par defaut
    var centreCarte = new google.maps.LatLng(44.550077, 2.268831);
	// Zoom par defaut
	var zoomCarte = 13;
	// Variable contenant le nom des ville
	var ville = [];
	ville[0] = 'Aubin';
	ville[1] = 'Cransac';
	ville[2] = 'Decazeville';
	ville[3] = 'Firmi';
	ville[4] = 'Viviez';

	// Type de cartepar defaut : plan
	var typeCarte = 'osm';
	
// Fonction de création des marqueurs pour la carte za
// l'icone de la categorie, la position dans le XML, le nom dans le fichier XML comme titre et non visible	
function createMarker_za(html, latlng, titre, zoom) {
	//alert('fonction createMarker');

	// création du marqueur
	var marqueur = new google.maps.Marker({
		position: latlng, 
		map: carteGmap,
		icon:  "http://www.ccda.fr/IMG/icones/Icon_ZA.png",
		title: titre
	});
	
	// Création de l'info bulle qui s'ouvrira sur l'évènement click sur le marqueur
	google.maps.event.addListener(marqueur, "click", function() {
		if (infoBulle) infoBulle.close();
		infoBulle = new google.maps.InfoWindow({content: html});
		infoBulle.open(carteGmap, marqueur);
	});
	// Un dble click sur un marquer entraine un zoom et un recentrage de la carte sur celui-ci
	google.maps.event.addListener(marqueur, "dblclick", function() {
		carteGmap.setCenter(latlng);
		carteGmap.setZoom(zoom);
	});
	// Insertion du "marqueur" dans le tableau nommé "tableauMarqueurs" 
	tableauMarqueurs.push(marqueur);
	return marqueur;
}

function chargementXML (carte) {
	//alert(carte);

	// Définition de la variable contenant l'url du fichier xml
	switch (carte) {
		// Si ZA
		case 1:
		var Fichier_XML = "../../xml/za.xml";
		break;
	}
	// Créé une nouvelle instance de Geocoder chargée d'envoyer les demandes de géocodage aux serveurs de Google.
	geoCodage = new google.maps.Geocoder();
	// Récupération des données dans le fichiers XML et création des marqueurs pour chaque entrée du XML
    downloadUrl(Fichier_XML, function(data) {
		//if (tableauMarqueurs) {
		//	for (i in tableauMarqueurs) { tableauMarqueurs[i].setMap(null); }
		//	tableauMarqueurs.length = 0;
		//}
		var markers = data.documentElement.getElementsByTagName("marker");
			
		for (var i = 0; i < markers.length; i++) {
			// Récupération dans des variables de tous les attributs du XML
			// Si la carte demandée est les ZA
			switch (carte) {
				case 1:
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var latlng = new google.maps.LatLng(lat,lng);
				var zoom = markers[i].getAttribute("zoom");
				var nom = markers[i].getAttribute("nom");
				var ville = markers[i].getAttribute("ville");
				// Création du contenu des info bulles
				var html = "<b>" + nom + "</b>";
				// Création du marqueur correspondant à la ligne du fichier XML
				var marqueur = createMarker_za(html, latlng, nom, zoom);
				// Association du "nom" au "marqueur"
				//tableauMarqueurs[i].marqueurNom = nom;
				// Récupération des informations pour recentrer la carte sur chaque ZA
				tableauMarqueurs[i].lat = lat;
				tableauMarqueurs[i].lng = lng;
				tableauMarqueurs[i].zoom = zoom;
				tableauMarqueurs[i].nom = nom;
				break;
			}
		}
	});
}

