	//<![CDATA[
	var CarteItineraire;
	var gdir;
	var geocoder = new GClientGeocoder();
	var addressMarker;
	var LatitudeDestination;
	var LongitudeDestination;
	
/*TC*	Définition des variables caractérisant la société ... **/

	function traduireAdresse (response) {
		  if (!response || response.Status.code != 200) {
			  var rien = document.getElementById("centre");
			  rien.innerHTML='';
			  rien.style.display = 'none';
			  rien.style.visibility='hidden';
		  } 
		  else {
			place = response.Placemark[0];
			LatitudeDestination = place.Point.coordinates[1];
			LongitudeDestination = place.Point.coordinates[0];
			point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
			MaCarte.setCenter(point, 13);
			marker = CreationDuMarqueur(point);
			MaCarte.addOverlay(marker);
			var formulaire_itineraire ='<div style="text-align:center; 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 width="300" cellspacing="5">' + 
			'  <tr>' + 
		    '   <td rowspan="10" align="center" valign="middle"><img alt="'+NomSociete+'" src="'+Logo+'"/></td> <td colspan="2" align="center" valign="middle"><strong>'+NomSociete+'</strong></td>  </tr>  <tr> <td colspan="2" width="435" align="left" valign="middle">'+Adresse+'</td>  </tr><tr><td colspan="2" align="center" valign="middle">Itin&eacute;raire &agrave; partir de cette adresse :	</td>  </tr>  <tr>    <td colspan="2" align="center" valign="middle">	<input type="hidden" id="toAddress" name="to" value="'+LatitudeDestination+', '+LongitudeDestination+'" />     <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" valign="middle">avec cette Langue :       <select id="locale" name="locale">           <option value="fr" selected>Fran&ccedil;ais</option>           <option value="en">Anglais</option>           <option value="de">Allemand</option>           <option value="ja">Japonais</option>           <option value="es">Espagnol</option>        </select>    </td>  </tr>  <tr>    <td colspan="2" align="center" valign="middle">    	<input name="submit" type="submit" value="Afficher l\'itin&eacute;raire" />    </td>  </tr></table></form>' +'</div>';
			
			marker.openInfoWindowHtml(formulaire_itineraire);
		  }
		}
	
/**	Fonction load() **/
	function load() {

/*TC*		Si le navigateur est compatible avec l'API de Google Maps ... **/
		if (GBrowserIsCompatible()) {

/**			 ... Cr&eacute;ation d'une nouvelle carte ayant pour nom "MaCarte" et qui se situera en lieu et place de la <div> ayant pour identifiant (id) "EmplacementDeMacarte" ...  **/
			MaCarte = new GMap2(document.getElementById("EmplacementDeMacarte"));
			MaCarte.addControl(new GLargeMapControl());
        	MaCarte.addControl(new GOverviewMapControl());
       		MaCarte.addControl(new GMapTypeControl());
			geocoder.getLocations(Adresse, traduireAdresse);

/*TC*			Si le navigateur n'est pas compatible avec l'API de Google Maps ... **/
		}else{

/**				... affichage du message "D&eacute;sol&eacute;, mais votre navigateur n'est pas compatible avec Google Maps". **/
			var rien = document.getElementById("centre");
			  rien.innerHTML='';
			  rien.style.display = 'none';
			  rien.style.visibility='hidden';
		}
	}

/*TC*	Fonction permettant la création d'un marqueur **/
	function CreationDuMarqueur(point) {

/**		Création d'un nouveau marqueur nommé "marker"  **/
		var marker = new GMarker(point);

/**		... Un observateur d'&eacute;v&eacute;nement est ajout&eacute; au marqueur appel&eacute; "marker". L'&eacute;venement d&eacute;tect&eacute; est "click" (D&eacute;tecte si un click est effectu&eacute; sur le marqueur appel&eacute; "marker"). Si un click a &eacute;t&eacute; effectu&eacute; sur le marqueur appel&eacute; "marker", la fonction situ&eacute;e entre les {} sera alors execut&eacute;e ... **/
		GEvent.addListener(marker, 'click', function() {

/**			Création du formulaire au format HTML contenu dans l'info-bulle  **/
			var formulaire_itineraire ='<div style="text-align:center; 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 width="300" cellspacing="5">' + 
			'  <tr>' + 
		    '   <td rowspan="10" align="center" valign="middle"><img alt="'+NomSociete+'" src="'+Logo+'"/></td> <td colspan="2" align="center" valign="middle"><strong>'+NomSociete+'</strong></td>  </tr>  <tr> <td colspan="2" width="435" align="left" valign="middle">'+Adresse+'</td>  </tr><tr><td colspan="2" align="center" valign="middle">Itin&eacute;raire &agrave; partir de cette adresse :	</td>  </tr>  <tr>    <td colspan="2" align="center" valign="middle">	<input type="hidden" id="toAddress" name="to" value="'+LatitudeDestination+', '+LongitudeDestination+'" />     <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" valign="middle">avec cette Langue :       <select id="locale" name="locale">           <option value="fr" selected>Fran&ccedil;ais</option>           <option value="en">Anglais</option>           <option value="de">Allemand</option>           <option value="ja">Japonais</option>           <option value="es">Espagnol</option>        </select>    </td>  </tr>  <tr>    <td colspan="2" align="center" valign="middle">    	<input name="submit" type="submit" value="Afficher l\'itin&eacute;raire" />    </td>  </tr></table></form>' +'</div>';
			
			marker.openInfoWindowHtml(formulaire_itineraire);
		});
		return marker;

	}

/*TC*	Fonction permettant le calcul de l'itinéraire (Carte + description de l'itinéraire) **/
	function setDirections(fromAddress, toAddress, locale) {

/**		Déclenche l'affichage du détail de l'itinéraire (texte)  **/
		var resultat = document.getElementById("ReponseItineraire").style;
		resultat.display = '';

/**		Si gdir existe déjà, gdir est effac&eacute;  **/
		if(gdir){gdir.clear();}

/**		 ... Cr&eacute;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&eacute;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'&eacute;v&eacute;nement est ajout&eacute; à la direction ayant pour nom "gdir". L'&eacute;venement d&eacute;tect&eacute; est "error" (D&eacute;tecte si une erreur est intervenue lors du calcul de l'itin&eacute;raire). Si une erreur a &eacute;t&eacute; d&eacute;tect&eacute;e lors du calcul de l'itin&eacute;raire "gdir", "EnCasdErreur" sera alors execut&eacute;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 });
	}

/*TC*	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 geographique ne correspond a cette adresse. \nVeuillez renseigner une adresse valide.');
			var rien = document.getElementById("ReponseItineraire");
			rien.style.display = 'none';

/**		... Sinon ...   **/
		}else{
/**			Affichage du message d'alerte " Une erreur inconnue s\'est produite." **/
			alert('Aucun endroit geographique ne correspond a cette adresse. \nVeuillez renseigner une adresse valide.');
			var rien = document.getElementById("ReponseItineraire");
			rien.style.display = 'none';
		}
	}
    //]]>
