//<![CDATA[
	var CarteItineraire;
	var gdir;
	var geocoder = null;
	var addressMarker;




/*TC*	Définition des variables caractérisant la société ... **/


	var NomSociete = 'KARAS Michel';
	var NomSocieteSuite='Piscinier &amp; Paysagiste - Concepteur &amp; R&eacute;alisateur';
	var Adresse = 'Villa Grand Large - Quartier Le Canebas';
	var CodePostal = '83320';
	var Ville = "Carqueiranne";
	var LatitudeDestination = 43.08676;
	var LongitudeDestination = 6.06121;
	var echelle =12;



	function load() {

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

/**			 ... Cré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"));

/**			 ... La carte "MaCarte" est centr&eacute;e sur la Latitude 47.394921, la Longitude 0.680401, avec un niveau de zoom &eacute;gal &agrave;� 13 ...  **/
			MaCarte.setCenter(new GLatLng(LatitudeDestination, LongitudeDestination), echelle);
			/* controle du zoom*/ 
			MaCarte.addControl(new GSmallMapControl()); 
			/* type de zoom carte ou sat */ 
			MaCarte.addControl(new GMapTypeControl());

/**			... Cr&eacute;ation d'un nouveau point ayant pour Latitude : 47.394921 et Longitude : 0.680401 ... **/
			var point = new GLatLng(LatitudeDestination, LongitudeDestination);
			

/**			... Cr&eacute;ation d'un nouveau marker par appel de la fonction CreationDuMarqueur ... **/
			var marker = CreationDuMarqueur(point);

/**			... Ajout du marqueur "marker" sur la carte nomm&eacute;e "MaCarte" ... **/
			MaCarte.addOverlay(marker);
			
			
			
/*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". **/
			alert("D&eacute;sol&eacute;, mais votre navigateur n'est pas compatible avec Google Maps");
		}
	}

/*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 class="div_gmaps_window">' +
			'<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&eacute;part ci-dessous</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><input type="text" size="25" id="fromAddress" name="from" value=" " /><br/><hr class="hr_gmaps"/></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><b>Adresse d\'arriv&eacute;e</b></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center"><h4>'+NomSociete+'</h4><p class="texte1">'+NomSocieteSuite+'<br />'+Adresse+'<br />'+CodePostal+' '+Ville+'</p></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td align="right" colspan="2" align="center"><input type="hidden" id="toAddress" name="to" value="'+LatitudeDestination+', '+LongitudeDestination+'" /></td>' +
			'		</tr>' +
			'		<tr>' +
			'			<td colspan="2" align="center">' +
			'           <input type="hidden" name="locale" value="fr"/>'+
			'				<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)  **/
		document.getElementById('ReponseItineraire').style.display='block';
		document.getElementById('ReponseItineraire2').style.display='block';

/**		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 g\351ographique 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.');
		}
	}
	










/*/////////////////////  Chargement onload et onunload sans écraser les autres    /////////////////////////////////*/

if (window.addEventListener) {
      window.addEventListener("load", load, false);
   } else if (document.addEventListener) {
      document.addEventListener("load", load, false);
   } else if (window.attachEvent) {
      window.attachEvent("onload", load);
   }


if(document.addEventListener)
{ 
	document.addEventListener('onunload',  GUnload, false);
}
else 
{
	document.attachEvent('onUnLoad', GUnload);
}