function initGMaps()
	{
	if(!carAddress)
		{
		if(window.addEventListener)
			{
			window.addEventListener('unload', GUnload, false);
			}
		else if(window.attachEvent)
			{
			window.attachEvent('onunload', GUnload, false);
			}
		mapDiv = document.getElementById('map');
		carAddress=mapDiv.getAttribute('title');
		mapDiv.setAttribute('title','');
		}
	if(GBrowserIsCompatible())
		{
		document.getElementById('googlemaps').style.display='block';
		mapDiv.innerHTML='<p style="text-align:center; padding-top:10px;"><img src="images/widgets/widgets-loader.gif" alt="chargement..." /></p>';
		try
			{
			mapDiv.style.display='block';
			map = new GMap2(mapDiv);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			geoCoder = new GClientGeocoder();
			geoCoder.getLatLng(carAddress+' france', setPlace);
			}
		catch(e)
			{
			mapDiv.style.display='none';
			document.getElementById('googlemaps').style.display='none';
			}
		}
	
	}

function unInitGMaps()
	{
	mapDiv=null;
	map=null;
	geoCoder=null;
	carAddress=null;
	gdir=null;
	try
		{
		GUnload();
		}
	catch(e)
		{ }
	}

function setPlace(point, gps)
	{
	if(point)
		{
		try
			{
			map.setCenter(point, 7);
			var marker=new GMarker(point);
			map.addOverlay(marker);
			}
		catch(e)
			{
			mapDiv.style.display='none';
			document.getElementById('googlemaps').style.display='none';
			}
		if(!newDiv)
			{
			newDiv = document.createElement('div');
			newDiv.innerHTML='<fieldset style="background-color:#E3DBE2;"><legend>Itin&#233;raire</legend>'
				+'<form name="Itineraire" onsubmit="javascript:setDirections(document.Itineraire.adressedepart.value, document.Itineraire.adressearrivee.value, document.Itineraire.locale.value);return false;">'
					+'<p><label>D&eacute;part : <input type="text" name="adressedepart" value="Taper votre adresse ici" onfocus="this.value=\'\'" onclick="this.value=\'\'" onselect="this.value=\'\'" />'
				+' Arriv&eacute;e : <input type="text" name="adressearrivee" value="'+carAddress+'" />'
					+'<input type="hidden" id="locale" name="locale" value="fr" />'
				+' <input type="submit" name="rechercheitineraire" value="Afficher l\'itin&#233;raire" /></p>'
				+'</form></fieldset>'
				+'<div id="EmplacementTexteItineraire" style="max-height:300px; overflow:auto;color:#000000; "></div>';
			mapDiv.parentNode.appendChild(newDiv);
			}
		}
	else
		{
		mapDiv.style.display='none';
		document.getElementById('googlemaps').style.display='none';
		}
	}

var mapDiv;
var map;
var geoCoder;
var carAddress;
var gdir;
var newDiv;

	var MaCarte ;
	var CarteItineraire;
	var gdir;
	var addressMarker;
	var geocoder ;
	var point ;



	function setDirections(fromAddress, toAddress, locale)
		{

		if(gdir){gdir.clear();}
		CarteItineraire = new GMap2(document.getElementById("map"));
		
		CarteItineraire.addControl(new GLargeMapControl());
		gdir = new GDirections(CarteItineraire, document.getElementById("EmplacementTexteItineraire"));
		GEvent.addListener(gdir, "error", EnCasdErreur);
		gdir.load("from: " + fromAddress + " france to: " + toAddress+' france' ,	{ "locale": locale });
		}

	function EnCasdErreur()
		{
		if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
			{
			alert('Aucun endroit geographique ne correspond.');
			initGMaps() ;
			}
		else
			{
			alert('Une erreur inconnue s\'est produite.');
			initGMaps() ;		
			}
		}
		
	function cacherGoogleItineraire(){
		var googlemaps = document.getElementById("googlemaps").style;
		googlemaps.display = 'none';			
	}