/******************************************************************************************************************
**
**							FONCTIONS JAVASCRIPT POUR ITINERAIRE GOOGLE MAP
**
*******************************************************************************************************************/




var GestionMapItineraire = function()
{
	//================================
	// 		variables priv?es
	//================================
		var language
		var mode
		var dessineChemin;
		var ecritEtapes;
		var garderCentre;
	//================================
	// 		m?thodes priv?es
	//================================
	var init= function (){
		language='fr';
		mode=G_TRAVEL_MODE_DRIVING;
		dessineChemin=true;
		ecritEtapes=true;
		garderCentre=true;

	};

	var gestionErreur= function (){
			var statut = directions.getStatus();
			var retour={code:200,name:'G_GEO_SUCCESS',message:''};
			switch (statut.code){
				case G_GEO_SUCCESS : // (200)
					retour={code:200,
							name: 'G_GEO_SUCCESS',
							message:''};
				break;
				case G_GEO_BAD_REQUEST : // (400)
					retour={code:400,
							name: 'G_GEO_BAD_REQUEST',
							message:'Une erreur est survenue. Merci de vérifier les données que vous avez saisies.'};
				break;
				case G_GEO_SERVER_ERROR : // (500)
					retour={code:500,
							name: 'G_GEO_SERVER_ERROR',
							message:'une erreur inconue est survenue.'};
				break;
				case G_GEO_MISSING_ADDRESS : // (601)
					retour={code:601,
							name: 'G_GEO_MISSING_ADDRESS',
							message:'Vous devez saisir une adresse.'};
				break;
				case G_GEO_UNKNOWN_ADDRESS : // (602)
					retour={code:602,
							name: 'G_GEO_UNKNOWN_ADDRESS',
							message:'Cette adresse n\'est pas reconnue.'};
				break;
				case G_GEO_UNAVAILABLE_ADDRESS : // (603)
					retour={code:603,
							name: 'G_GEO_UNAVAILABLE_ADDRESS',
							message:'Cette adresse n\'est pas autorisée.'};
				break;
				case G_GEO_UNKNOWN_DIRECTIONS : // (604)
					retour={code:604,
							name: 'G_GEO_UNKNOWN_DIRECTIONS',
							message:'Impossible de déterminer l\'itineraire demandé.'};
				break;
				case G_GEO_BAD_KEY : // (610)
					retour={code:610,
							name: 'G_GEO_BAD_KEY',
							message:'Clé google map incorecte.'};
				break;
				case G_GEO_TOO_MANY_QUERIES : // (620)
					retour={code:620,
							name: 'G_GEO_TOO_MANY_QUERIES',
							message:'merci d\'effectuer moins de demandes à la fois.'};
				break;
				default:
				retour={code:statut.code,
							name: 'ICONNUE',
							message:'erreur inconue : '+ statut.request};

			}

			eval(fonctionAfficheErreurItineraire+'(retour);');

		};

		var gestionAffichage= function (){
			eval(fonctionAfficheItineraireLoaded+'()');
		};

		var gestionStyle= function (){
			eval(fonctionStyleItineraireLoaded+'()');
		};

	return {
		//================================
		// 		variables publiques
		//================================
		carteUtilise:null,
		//================================
		// 		m?thodes publiques
		//================================

		loadItineraireOnMap: function ()
		{
			init();
			directions = new GDirections();
			var options={getPolyline:true,getSteps:true};
			var query="from: "+from+" to: "+to;
			GEvent.addListener(directions, "error", gestionErreur);
			GEvent.addListener(directions, "load", gestionStyle);
			GEvent.addListener(directions, "addoverlay", gestionAffichage);
			directions.load(query,options);

		},



		reinit: function (){
			if(directions!=undefined){
				directions.clear();
			}
		}

	}; // public



}();


