var infowindow;
var map;
var image;
var shadow;

function initialize(departement, tabDepartement, col) {
	// valeurs de zoom et de latitude + longitude du centre de la france
	var zoomCentre = 6;
	var latlngCentre = new google.maps.LatLng(46.603611, 1.888056);
	
	// on centre la carte sur le centre de la France
	var myOptions = {
		zoom: zoomCentre,
		center: latlngCentre,
		mapTypeId: google.maps.MapTypeId.HYBRID
	}
	
	// on affiche la carte, centrée sur le centre de la France
	map = new google.maps.Map(document.getElementById("carte"), myOptions);
	
	// on charge les infos sur l'icone
	createIcon();
	
	// on construit l'url du fichier
	var urlFichierXML = "http://www.carte-cols-france.com/infos.php";
	if (col != '') {
		urlFichierXML += '?col='+col;
	}
	if (departement != '') {
		urlFichierXML += '?departement='+departement;
	}
	
	if ((departement == '') && (col == '')) {
		var imageCentre = new google.maps.MarkerImage('/charte/centre.png',
			new google.maps.Size(32, 32),
			new google.maps.Point(0, 0),
			new google.maps.Point(0, 32)
		);
		var markerCentre = new google.maps.Marker({position: latlngCentre, map: map, icon: imageCentre, title:"centre"});
		var infowindowCentre = new google.maps.InfoWindow({content: 'Cette carte affiche les 150 cols les plus hauts de France<br /><br />Pour avoir une liste par d&eacute;partements, utilisez le lien<br /><a href="javascript:Modalbox.show(document.getElementById(\'liste_departements\').innerHTML,{title: \'Liste des departements\', width: 750});">Les cols par d&eacute;partement</a> en haut de page'});
		infowindowCentre.open(map, markerCentre);
		google.maps.event.addListener(markerCentre, "click", function() {
			infowindowCentre.open(map, markerCentre);
		});
	}
	
	// on charge les infos sur chaque point depuis un fichier XML
	downloadUrl(urlFichierXML, function(data) {
		var listeCols = data.documentElement.getElementsByTagName("marker");
		for (var i = 0; i < listeCols.length; i++) {
			var latlngCol = new google.maps.LatLng(parseFloat(listeCols[i].getAttribute("lat")), parseFloat(listeCols[i].getAttribute("lng")));
			var col = createMarker(latlngCol, listeCols[i].getAttribute("nom"), listeCols[i].getAttribute("nom2"), listeCols[i].getAttribute("altitude"), listeCols[i].getAttribute("departement"), listeCols[i].getAttribute("lien"));
		}
	});
	if (departement != '') {
		downloadUrl("http://www.carte-cols-france.com/dept.php?departement="+departement, function(data2) {
			var detailsDept = data2.documentElement.getElementsByTagName("dept");
			var latlngCentreDept = new google.maps.LatLng(parseFloat(detailsDept[0].getAttribute("lat")), parseFloat(detailsDept[0].getAttribute("lng")));
			map.setCenter(latlngCentreDept);
			map.setZoom(9)
		});
	}
}

function createMarker(latlng, nom, nom2, altitude, departement, lien) {
	var marker = new google.maps.Marker({position: latlng, map: map, shadow: shadow, icon: image, title: nom});
	google.maps.event.addListener(marker, "click", function() {
		if (infowindow) infowindow.close();
		if (nom2 != '') {
			var nomSuite = '<br />Autres noms : ' + nom2;
		} else {
			var nomSuite = '';
		}
		var contenu = '<b>' + nom  + '</b>' + nomSuite + '<br /><br />Altitude : ' + altitude + 'm<br /><a href="http://www.carte-cols-france.com/' + lien + '">D&eacute;partement ' + departement + '</a>';
		infowindow = new google.maps.InfoWindow({content: contenu});
		infowindow.open(map, marker);
	});
	return marker;
}

function createIcon() {
	image = new google.maps.MarkerImage('/charte/col.png',
		new google.maps.Size(32, 32),
		new google.maps.Point(0, 0),
		new google.maps.Point(0, 32)
	);
	shadow = new google.maps.MarkerImage('/charte/col-ombre.png',
		new google.maps.Size(59, 32),
		new google.maps.Point(0, 0),
		new google.maps.Point(0, 32)
	);
}
