﻿var map;
var gdir;
var geocoder = null;
var addressMarker;

function initialize() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl()); //Type de carte (satellite / plan / mixte)
		var coord_p = new GLatLng(48.283518,7.302454);
		map.setCenter(coord_p, 8);     
		var icon = new GIcon();
		icon.image = "./img/icone-gmaps.jpg";
		icon.iconSize=new GSize(53,32);
		icon.iconAnchor=new GPoint(26,16);
		var marker_p = new GMarker(coord_p, {icon:icon, title:"Cliquez pour voir les coordonnées"});
		map.addOverlay(marker_p);
		GEvent.addListener(marker_p, "click", function() {
			map.openInfoWindowHtml(coord_p,'<div align="center" style="height: 90px; color: #000;"><br /><strong>Hôtel Restaurant Frankenbourg</strong><br />13, rue du Gal de Gaulle<br />67730 LA VANCELLE<br />Tél : 03 88 57 93 90<br /><a href="mailto:info@frankenbourg.com">info@frankenbourg.com</a></div>');
		});
		GEvent.addListener(map, "infowindowclose", function(){
			map.panTo(coord_p, 8);
		}); 
		
		gdir = new GDirections(map, document.getElementById("directions"));
    GEvent.addListener(gdir, "error", handleErrors);
	}
}
	
function setDirections(fromAddress, toAddress, locale) {
	var retour;
	switch(locale) {
		case 'fr': retour = 'Retour'; break;
		case 'de': retour = 'Zurück'; break;
		case 'en': retour = 'Back'; break;
	}
	document.getElementById('directions').innerHTML = '<a href="./'+locale+'/acces/">'+retour+'</a>';
	gdir.load("from: " + fromAddress + " to: " + toAddress,
						{ "locale": locale });
}

function handleErrors(){
 if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert('Aucun lieu n\'a pu être trouvé, veuillez reformuler votre demande. Vous pouvez préciser le pays si vous ne l\'avez pas déjà fait.');
 else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	 alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);
 
 else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	 alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
	 
 else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	 alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);

 else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	 alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
	
 else alert("Une erreur s'est produite.");
	 
}