
/* 
* 
* Permet d'afficher un plan avec une adresse et de proposer
* à l'utilisateur de calculer son itinéraire en renseignant 
* son adresse de départ
*
*/

var map 		= null;
var geocoder 	= null;
var start 		= null;
var startMarker = null;
var end 		= null;
var endMarker 	= null;
var dirn 		= null;
var zoom 		= 13;

function geoloc_setDestination(address) {
	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				end = point;
				map.setCenter(point, zoom);
				endMarker = new GMarker(point);
				map.addOverlay(endMarker);
				endMarker.openInfoWindowHtml(address);
				GEvent.addListener(endMarker, "click", function() {
					endMarker.openInfoWindowHtml(address);
				});
				map.checkResize();
			}
		}
		);
	}
}

function geoloc_showItineraire(address) {
	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				start = point;
				map.setCenter(point, zoom);
				startMarker = new GMarker(point);
				map.addOverlay(startMarker);
				startMarker.openInfoWindowHtml(address);
				dirn.loadFromWaypoints([start, end]);
				GEvent.addListener(startMarker, "click", function() {
					startMarker.openInfoWindowHtml(address);
				});
			}
		}
		);
	}
}


function geoloc_load() {
	if (GBrowserIsCompatible()) {
		geocoder = new GClientGeocoder();
		map = new GMap2(document.getElementById("map"));
		dirn = new GDirections(map, document.getElementById("directions"))
		
		GEvent.addListener(dirn,"error", function() {
			alert("GDirections Failed: "+dirn.getStatus().code);
		});
		
		map.addControl(new GMenuMapTypeControl());
		/*map.addControl(new GOverviewMapControl());*/
		map.addControl(new GSmallMapControl());
		map.enableScrollWheelZoom();
		GEvent.addListener(window,"onunload", function() {
			GUnload();
		});
	}
}

function createMarker(point,html) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}
