﻿//<![CDATA[

	var map;
	var gdir;
	
	// define positions on the map
	var sommetLatLng = new GLatLng(46.434219083099904, 7.083950042724609);
	var cabaneLatLng = new GLatLng(46.43745763484809, 7.086063623428345);
	var parkingMoulinsVillageLatLng = new GLatLng(46.45948650778786, 7.107435464859009);
	var parkingMoulinsCoullayesLatLng = new GLatLng(46.453802728677395, 7.106426954269409);
	var parkingLecheretteLatLng = new GLatLng(46.420464185007155, 7.107070684432983);
	var chaudanneLatLng = new GLatLng(46.466093432429695, 7.09691047668457);
	var lecheretteLatLng = new GLatLng(46.42007219350263, 7.106609344482422);

	var parkingIcon = createIcon("parking");
	var sommetIcon = createIcon("sommet");
	var trainIcon = createIcon("train");
	var busIcon = createIcon("bus");
	var cabaneIcon = createIcon("cabane");
	
	var sommetMarker;
	var cabaneMarker;
	var parkingMoulinsVillageMarker;
	var parkingMoulinsCoullayesMarker;
	var parkingLecheretteMarker;
	var chaudanneMarker;
	var lecheretteMarker;

    function load() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			var center = new GLatLng(46.44519093183812, 7.107982635498047);

			gdir = new GDirections(map, document.getElementById("directions"));
			GEvent.addListener(gdir, "load", onGDirectionsLoad);

			map.setCenter(center, 12);
			map.setMapType(G_SATELLITE_MAP);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			map.addControl(new GScaleControl());
		}
		// sommet
		sommetMarker = createMarker(map, sommetLatLng, sommetIcon, 'Les Monts-Chevreuils', '<strong>Monts-Chevreuils (sommet)</strong><br />Altitude: 1749 m.');

		// restaurant
		cabaneMarker = createMarker(map, cabaneLatLng, cabaneIcon, 'Cabane', '<strong>Cabane des Monts-Chevreuils</strong><br />Altitude: environ 1700 m.');
		
		// parking
		parkingMoulinsVillageMarker = createMarker(map, parkingMoulinsVillageLatLng, parkingIcon, 'Parking', '<img src="images/parking.png" width="33" height="34" align="top" style="float:left; padding-right: 5px" /><strong>Les Moulins (Village)</strong><br />Nombre de places: >30 places');
		parkingMoulinsCoullayesMarker = createMarker(map, parkingMoulinsCoullayesLatLng, parkingIcon, 'Parking', '<img src="images/parking.png" width="33" height="34" align="top" style="float:left; padding-right: 5px" /><strong>Les Moulins (Les Coullayes)</strong><br />Nombre de places: 2-3 places');  
		parkingLecheretteMarker = createMarker(map, parkingLecheretteLatLng, parkingIcon, 'Parking', '<img src="images/parking.png" width="33" height="34" align="top" style="float:left; padding-right: 5px" /><strong>La Lécherette</strong><br />Nombre de places: >30 places');  
		
		// train
		chaudanneMarker = createMarker(map, chaudanneLatLng, trainIcon, 'Arrêt de train', '<img src="images/mob.png" width="154" height="32" align="top" /><br /><strong>Arrêt de train (<a href="http://www.goldenpass.ch">MOB</a>) de la Chaudanne</strong>');
		
		// bus
		lecheretteMarker = createMarker(map, lecheretteLatLng, busIcon, 'Arrêt de bus', '<img src="images/carpostal.png" width="97" height="37" align="top" /><br /><strong>Arrêt de bus (<a href="http://www.carpostal.ch">CarPostal</a>) de la Lécherette</strong>');
	}
	
	function moveToMarkerAndShow(marker) {
		map.panTo(marker.getLatLng());
		marker.openInfoWindowHtml(marker.infoHtml);
	}
	
	function createIcon(name) {
		var icon = new GIcon(G_DEFAULT_ICON);
		icon.image = "../images/marker/" + name + ".png";
		icon.shadow = null;
		//icon.shadow = "../images/marker/" + name + ".png";
		icon.iconSize = new GSize(32, 32);
		icon.shadowSize = new GSize(32, 32);
		icon.iconAnchor = new GPoint(16, 32);
		icon.infoWindowAnchor = new GPoint(16, 2);
		icon.imageMap = null;
		return icon;
	}
	
	function createMarker(map, position, icon, theTitle, infoHtml) {
		markerOptions = { icon:icon, draggable:false, title:theTitle};
		var marker = new GMarker(position, markerOptions);
		marker.infoHtml = infoHtml;
		
		GEvent.addListener(marker, "mousedown", function() {
			map.closeInfoWindow();
		});
		
		GEvent.addListener(marker, "mouseup", function() {
			marker.openInfoWindowHtml(infoHtml);
		});
		
		map.addOverlay(marker);
		
		return marker;
	}
	
	function clearDirections() {
		gdir.clear();
		var itin = document.getElementById("itineraire");
		itin.style.display = 'none';
	}
	
	function setDirections(fromAddress, toAddress) {
		gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": "fr" });
    }
	
	function onGDirectionsLoad() {
		var itin = document.getElementById("itineraire");
		itin.style.display = 'block';
	}

//]]>