/*	Fonction permettant la cration d'un marqueur */
	function CreationDuMarqueur(point) {
/*		Création d'un nouveau marqueur nommé "marker"  */
		var marker = new GMarker(point);
			var formulaire_itineraire ='<div style="width:350px; height:200px; border: 1px solid #ccc; background:#efffef; font: 1em \'trebuchet ms\',verdana, helvetica, sans-serif;">' +
			'<form action="#" onsubmit="setDirections(this.from.value, this.to.value, this.locale.value); return false">' +
			'	<table align="center">' +
			'		<tr>' +
			'			<td colspan="2" align="center"><b>Indiquez votre adresse de départ ci-dessous</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><input type="text" size="25" id="fromAddress" name="from" value=" " style="width:300px; height:20px; border:1px solid grey;" /></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><b>Adresse d\'arrivée</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center">'+NomSociete+'<br />'+Adresse+'<br />'+CodePostal+' '+Ville+'</td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td align="right" colspan="2" align="center"><input type="hidden" id="toAddress" name="to" value="'+LatitudeDestination+', '+LongitudeDestination+'" /></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td>Réponse en : </td>' +
			'			<td>' +
			'				<select id="locale" name="locale">' +
			'					<option value="fr" selected>Français</option>' +
			'					<option value="en">Anglais</option>' +
			'					<option value="de">Allemand</option>' +
			'					<option value="ja">Japonais</option>' +
			'					<option value="es">Espagnol</option>' +
			'				</select>' +
			'				<input name="submit" type="submit" value="Afficher l\'itinéraire" />' +
			'			</td>' +
			'		</tr>' +
			'	</table>' +
			'</form>' +
			'</div>';
			marker.openInfoWindowHtml(formulaire_itineraire);
/*		... Un observateur d'événement est ajouté au marqueur appelé "marker". L'évenement détecté est "click" (Détecte si un click est effectué sur le marqueur appelé "marker"). Si un click a été effectué sur le marqueur appelé "marker", la fonction située entre les {} sera alors executée ... */
		GEvent.addListener(marker, 'click', function() {
/*			Création du formulaire au format HTML contenu dans l'info-bulle  */
			var formulaire_itineraire ='<div style="width:350px; height:200px; border: 1px solid #ccc; background:#efffef; font: 1em \'trebuchet ms\',verdana, helvetica, sans-serif;">' +
			'<form action="#" onsubmit="setDirections(this.from.value, this.to.value, this.locale.value); return false">' +
			'	<table align="center">' +
			'		<tr>' +
			'			<td colspan="2" align="center"><b>Indiquez votre adresse de départ ci-dessous</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><input type="text" size="25" id="fromAddress" name="from" value=" " style="width:300px; height:20px; border:1px solid grey;" /></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><b>Adresse d\'arrivée</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center">'+NomSociete+'<br />'+Adresse+'<br />'+CodePostal+' '+Ville+'</td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td align="right" colspan="2" align="center"><input type="hidden" id="toAddress" name="to" value="'+LatitudeDestination+', '+LongitudeDestination+'" /></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td>Réponse en : </td>' +
			'			<td>' +
			'				<select id="locale" name="locale">' +
			'					<option value="fr" selected>Français</option>' +
			'					<option value="en">Anglais</option>' +
			'					<option value="de">Allemand</option>' +
			'					<option value="ja">Japonais</option>' +
			'					<option value="es">Espagnol</option>' +
			'				</select>' +
			'				<input name="submit" type="submit" value="Afficher l\'itinéraire" />' +
			'			</td>' +
			'		</tr>' +
			'	</table>' +
			'</form>' +
			'</div>';
			marker.openInfoWindowHtml(formulaire_itineraire);
		});
		return marker;
	}
/*	Fonction permettant le calcul de l'itinéraire (Carte + description de l'itinéraire) */
	function setDirections(fromAddress, toAddress, locale) {
/*		Dclenche l'affichage du dtail de l'itinéraire (texte)  */
		var resultat = document.getElementById("ReponseItineraire").style;
		resultat.display = '';
/*		Si gdir existe dj, gdir est effacé  */
		if(gdir){gdir.clear();}
/*		 ... Création d'une nouvelle carte ayant pour nom "CarteItineraire" et qui se situera en lieu et place de la <div> ayant pour identifiant (id) "EmplacementCarteItineraire" ...  */
		CarteItineraire = new GMap2(document.getElementById("EmplacementCarteItineraire"));
/*		 ... Création d'une nouvelle direction ayant pour nom "gdir", dont le texte de l'itinéraire se situera en lieu et place de la <div> ayant pour identifiant (id) "EmplacementTexteItineraire" et la carte de l'itinéraire se situera en lieu et place de la <div> ayant pour identifiant (id) "EmplacementCarteItineraire"...  */
		gdir = new GDirections(CarteItineraire, document.getElementById("EmplacementTexteItineraire"));
/*		... Un observateur d'événement est ajouté à la direction ayant pour nom "gdir". L'évenement détecté est "error" (Détecte si une erreur est intervenue lors du calcul de l'itinéraire). Si une erreur a été détectée lors du calcul de l'itinéraire "gdir", "EnCasdErreur" sera alors executée ... */
		GEvent.addListener(gdir, "error", EnCasdErreur);
/*		Chargement de l'itinéraire "gdir" - fromAddress : Adresse de Départ -  toAddress : Adresse d'arrivée - locale : Langue dans laquelle la réponse doit apparaître */
		gdir.load("from: " + fromAddress + " to: " + toAddress,	{ "locale": locale });
	}
/*	Fonction détectant les erreurs lors du calcul de l'itinéraire */
	function EnCasdErreur(){
/*		Si l'adresse transmise à la direction "gdir" est inconnue ...   */
		if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS){
/*			Affichage du message d'alerte " Aucun endroit géographique ne correspond. Code d erreur : " suivi du code erreur  */
			alert('Aucun endroit géographique ne correspond. Code d erreur : ' + gdir.getStatus().code);
/*		... Sinon ...   */
		}else{
/*			Affichage du message d'alerte " Une erreur inconnue s\'est produite." */
			alert('Une erreur inconnue s\'est produite.');
		}
	}
