/**
 * Covoiturage Roulezmalin
 *
 * Dependencies: MooTools 1.2 trunk (04/2008)
 *
 * @version(objet)	1.0
 *
 * @license		roulezmalin
 * @author		Fabien CANU <fabien.canu [at] laposte.net>
 * @copyright		roulezmalin
 */


var oEcoov = new Class({

    Implements: Options,

    options: {
        libMonCompte: 'Mon compte',
		classChampReset	: 'clean',
		option3	: ''
    },

    initialize: function(options){
        this.setOptions(options);
		this.resetChamp();
		this.inscription();
		this.login();
		this.adminUtilisateur();
		this.recupLogin();
		if($('btToutesoffres')) {
			$('btToutesoffres').addEvent('click', function() {
				this.voirToutesoffres();
				
				/* Reinitialisation des champs de recherche */
				if ($('depart_ville') && $('depart_ville').value != '') {
					$('depart_ville').value = '';
				}
				if ($('destination_ville') && $('destination_ville').value != '') {
					$('destination_ville').value = '';
				}
				if ($('typeTrajet1') && $('typeTrajet1').checked) {
					$('typeTrajet0').checked = true;
					$('typeTrajet1').checked = '';
					if ($('listeChoixDate')) {
						$('inputChoixDateRegulier').setStyle('display', 'none');
						
						//Reinitialisation des cases à cocher
						var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
						for(var index=1; index <= 7; index++){
							var c = index-1;
							$(tabJour[c]).setProperty('checked', '');
						}
					}
				}
				if ($('typeTrajet2') && $('typeTrajet2').value != '') {
					$('typeTrajet0').checked = true;
					$('typeTrajet2').checked = false;
					if ($('listeChoixDate')){
						$('inputChoixDateUnique').setStyle('display', 'none');
						
						//Reinitialisation de date unique
						$('date').value	= "";
					}
				}
				if ($('date') && $('date').value != '') {
					$('date').value = '';
				}
				if ($('evenement') && $('evenement').value != '') {
					$('evenement').value = '';
				}
				if ($('typeCovoitureur') && $('typeCovoitureur').value != '') {
					$('typeCovoitureur').value = 0;
				}
				if ($('listeIdVilleDestination') && $('listeIdVilleDestination').value != '') {
					$('listeIdVilleDestination').value = '';
				}
				if ($('listeIdVilleDepart') && $('listeIdVilleDepart').value != '') {
					$('listeIdVilleDepart').value = '';
				}
			}.bind(this));
		};
		//listener pour le bouton météo de covoiturage-plages
		if($('meteo')) {
			$('meteo').addEvent('click', function() {
				if ($('destination_ville_cp') && $('destination_ville_cp').value != '' && $('destination_ville_cp').value != '0') {
				this.voirMeteo($('destination_ville_cp').value);
				}
			}.bind(this));
		}
		
		this.etat = 0;

    },
	voirMeteo: function(codePostal){
		popupWindow(path+'/include/meteo.php?cp='+codePostal, "Météo", 338, 400, 0);
	},

	findCp:function(ville,popup){
		var cpRequest = new Request({method: 'get', url: path+'/include/cp.php', 
									onSuccess: function(responseText, responseXML) {
										if ($('destination_ville_cp')){
											$('destination_ville_cp').value = responseText;
										}
										if(responseText!="0"){
											if ($('actu')){ 
												$('actu').setStyle("display","none");
											}
											if ($('meteo')){
												$('meteo').setStyle("display","");
												$('meteo').set('html','<h1>M&eacute;t&eacute;o</h1><p style="margin:0pt 10px 10px 15px;" class="accrocheMeteo">Consulter les pr&eacute;visions m&eacute;t&eacute;orologiques marines et coti&egrave;res des 2 prochains jours pour la ville de <span class="ville">'+ville+'</span></p>'); 
												if(popup==1){
												ecoov.voirMeteo($('destination_ville_cp').value);
												}
											}
										} else {
											if ($('meteo')){
												$('meteo').setStyle("display","none");$('actu').setStyle("display","");
											}
										} 
									}
							});
							cpRequest.send('nom_ville='+encodeURIComponent(ville));
	},
	
	
	resetChamp: function(){

		if($$('.'+this.options.classChampReset)) {
			$$('.'+this.options.classChampReset).each(function(el){
				el.addEvent('click', function() {
					el.value = "";
				});
			});
		}

		if($$('.cleanFocus')) {
			$$('.cleanFocus').each(function(el){
				el.addEvent('focus', function() {
					el.value = "";
				});
			});
		}

	},

	// Voir toutes les offres
	voirToutesoffres: function() {
		var rAjax = new Request({
			method: 'post',
			url: path+'/include/recherche/recherche_form-trait.php?xhr=1&limit=0',
			evalScripts: true,
			onSuccess: function(rep){
				$('listingOffres').set('html', rep);

				this.voirDetailsOffre();

			}.bind(this)
		}).send();
	},

	//  loginPerdu
	recupLogin : function() {

		SqueezeBox.assign($('loginInfoPerdu'), {
			size: {x: 400, y: 150},
			url	: path+'/include/covoitureur/covoitureur_login-info-perdu.php?xhr=1',
			title: 'Récuperation de vos informations',
			menuTitle: false,
			ajaxOptions : {
				onSuccess: function(rep){
					this.submitInfoPerdu();	
				}.bind(this)
			}
		});
	},

	//
	login : function() {

		SqueezeBox.assign($('login'), {
			size: {x: 400, y: 150},
			url	: path+'/include/covoitureur/covoitureur_box-login.php?xhr=1',
			title: 'Identifiez-vous',
			menuTitle: false
		});
	},

//  Alerte Critères
	alerteCriteres : function() {
		$('texteBtAlerteMail').removeEvents('click');
		SqueezeBox.assign($('texteBtAlerteMail'), {
			size: {x: 350, y: 150},
			url	: path+'/include/recherche/recherche_alerte-mail.php?xhr=1&depart_insee_alerte='+$('depart_insee_alerte').value+'&destination_insee_alerte='+$('destination_insee_alerte').value+'&depart_ville_alerte='+$('depart_ville_alerte').value+'&destination_ville_alerte='+$('destination_ville_alerte').value,
			title: 'Alerte e-mail sur votre recherche',
			menuTitle: false,
			ajaxOptions : {
				method: 'post'
			}
		});
		if($('texteBtAlerteSms')) {
			$('texteBtAlerteSms').removeEvents('click');
			SqueezeBox.assign($('texteBtAlerteSms'), {
				size: {x: 350, y: 150},
				url	: path+'/include/recherche/recherche_alerte-sms.php?xhr=1&depart_insee_alerte='+$('depart_insee_alerte').value+'&destination_insee_alerte='+$('destination_insee_alerte').value+'&depart_ville_alerte='+$('depart_ville_alerte').value+'&destination_ville_alerte='+$('destination_ville_alerte').value,
				title: 'Alerte SMS sur votre recherche',
				menuTitle: false,
				ajaxOptions : {
					method: 'post'
				}
			});
			}
	},

	//  Rss critères
	rssCriteres : function() {
		SqueezeBox.assign($('loginInfoPerdu'), {
			size: {x: 350, y: 150},
			url	: path+'/include/covoitureur/covoitureur_login-info-perdu.php?xhr=1',
			title: 'Récuperation de vos informations de connexion',
			menuTitle: false
		});
	},

	resizeAccordeon : function(el, etat){

		// el pour l'élément dont on calcul la hauteur afin de l'affecter au div parent de l'accordeon
		// etat pour resizer soit en agrandissant, soit en  remettant à la hauteur initial

		var t = el.getSize();
		var r = el.getParent('div.element');

		r.setStyle('height', t.y);
	},

	envoiAmi: function (cible, id_trajet){
		if($('envoiAmi')) {
			$('envoiAmi').addEvent('click', function(e){

				//e.stop();
				new Event(e).stop();

				if($('divMessageSqueez')) $('divMessageSqueez').destroy();

				var envoiAmi = new Request({
					url: path+'/include/covoitureur/covoitureur_envoi-ami-form.php?xhr=1&id_trajet='+id_trajet,
					evalScripts: function(scripts, text){
						script = scripts;
					}.bind(this),
					onComplete: function(response) {
						$('envoiAmi').destroy();
						var form_ami  = new Element('div', {id: 'divFormAmi'});
						form_ami.inject(cible, 'after');

						$('divFormAmi').set('html', response);
					}.bind(this),
					onSuccess : function(c) {
						$exec(script);
					}
				}).send();

			});
		}
	}
});


/**
 * Extends methode 'interne'
 *
 */


 oEcoov.implement({

	// Pour la bascule inscription/mon compte
	basculeBtInscription: function (){

		if($('inscription')) { $('inscription').removeEvents('click');
			// On desactive le bouton inscription et on le remplace par votre compte
			var url_bt = $('inscription').href;
			var new_url_bt = url_bt.replace('inscription', 'monCompte');
			$('inscription').setProperty('id', 'monCompte');
			$('monCompte').setProperty('href', new_url_bt);

			$('monCompte').set('html', this.options.libMonCompte);
			
			
			$('pformEnteteLogin-1').setStyle('display', 'none');
			if ($('lienMonCompte2')) {
				$('lienMonCompte2').setStyle('display', '');
			}
		}

		//this.menuUtilisateur();
	},

	// Covoitureur dans rayon
	covDansRayon: function(latA, lngA, latB, lngB, radiusA, radiusB) {

		var params = 'latitudeA='+latA+'&longitudeA='+lngA+'&latitudeB='+latB+'&longitudeB='+lngB+'&radiusA='+radiusA+'&radiusB='+radiusB;

		var rAjax = new Request({
			method: 'post',
			url: path+'/include/recherche/recherche_covoitureur-dans-rayon.php',
			onSuccess: function(rep) {
				$exec(rep);
			}
		}).send(params);
	},

	// Affichage du détail d'une offre en ajax
	voirDetailsOffre: function() {

		if(this.etat == 0)	{
			SqueezeBox.assign($(document.body).getElements('#divListingOffres .d') , {
				size: {x: 700, y: 500},
				url	: path+'/include/offre/offre_details.php?xhr=1',
				title: 'Détails du trajet',
				menuTitle: false
			});
			
			//Pour page accueil v2 de plateforme de cov RoulezMalin
			if ('#divListingOffresIndex') {
				SqueezeBox.assign($(document.body).getElements('#divListingOffresIndex .d') , {
					size: {x: 700, y: 500},
					url	: path+'/include/offre/offre_details.php?xhr=1',
					title: 'Détails du trajet',
					menuTitle: false
				});	
			}
			
		}

		this.etat = (this.etat == 0) ? 1 : 0;
	},

	// inscription
	inscription: function() {
		SqueezeBox.assign($('inscription'), {
			size: {x: 700, y: 500},
			url	: path+'/include/covoitureur/covoitureur_insertion-modification.php?xhr=1',
			title: 'Création d\'un compte',
			menuTitle: false
		});
	},

	// Depot minute
	depotMinute: function() {
		SqueezeBox.assign($('depotMinute'), {
			size: {x: 700, y: 500},
			url	: path+'/include/trajet/trajet_depot-minute.php?xhr=1',
			title: 'Votre trajet en 1 minute!',
			menuTitle: false
		});
	},
	// inscription minute
	inscriptionMinute: function() {
		SqueezeBox.assign($('inscriptionMinute'), {
			size: {x: 700, y: 500},
			url	: path+'/include/covoitureur/covoitureur_insertion-modification.php?xhr=1',
			title: 'Création d\'un compte',
			menuTitle: false
		});
	},

	// Menu utilisateur
	adminUtilisateur: function(mode) {

		var op = {
			size: {x: 700, y: 500},
			url	: path+'/include/covoitureur/covoitureur_menu-compte.php?xhr=1',
			title: 'Mon espace personnel'
		}

		// Si mode direct, on lance la box au chargement
		if(mode != 1) SqueezeBox.assign($('monCompte'), op);
		else {
			SqueezeBox.initialize();

			SqueezeBox.fromElement($('monCompteEntete'), op);
		}
	},

	menuUtilisateur: function (){

		$('menuTitre').removeEvents('click');

		// Observateur menu
		$('menuTitre').addEvent('click', function(e) {
			if($('menuBox').getStyle('display') == 'none') {
				$('menuBox').setStyle('display', 'block');
			} else {
				$('menuBox').setStyle('display', 'none');
			}
		});
	},

	// Ajax bidouille
	eventRAjax: function (rAjax, divUpdate) {
		rAjax.addEvent('onComplete', function(responseTree, responseElements, responseHTML, responseJavaScript){
			if(divUpdate != '') {
				$(divUpdate).set('html', responseHTML);
				//alert("test");
			}
			if(responseJavaScript) $exec(responseJavaScript);
		});
	},

	// Pour la recherche via les infos du form
	trouver: function() {

		if($('latLngDepart')) $('latLngDepart').destroy();
		if($('latLngDestination')) $('latLngDestination').destroy();

		var rAjax = new Request.HTML({
			url:path+'/include/recherche/recherche_form-trait.php?xhr=1',
			evalScripts: false
		}).post($('form_choix_ville'));

		rAjax.addEvent('onComplete', function(esponseTree, responseElements, responseHTML, responseJavaScript){
			ecoov.voirDetailsOffre();
			//console.log("test");
			
			if ($('ville-select') && $('ville-select').value != '') {
				ecoov.findCp($('ville-select').value,0);
			}
			$('listingOffres').set('html', responseHTML);
			if(responseJavaScript) $exec(responseJavaScript);

			if($('menuRss')) {
				$('menuRss').setStyle('display', 'block');
				
				if($('menuSms')) {
					$('menuSms').setStyle('display', 'block');
				}
				
				//Gestion des valeurs du flux rss pour le cas où le menu rss est tjs affiché sur le site (ex : leclerc landerneau)
				if($('depart_ville_alerte') && $('depart_ville_alerte_second') && $('depart_ville_alerte_second').value != '') {
					$('depart_ville_alerte').value = $('depart_ville_alerte_second').value;
				}
				if($('destination_ville_alerte') && $('destination_ville_alerte_second') && $('destination_ville_alerte_second').value != '') {
					$('destination_ville_alerte').value = $('destination_ville_alerte_second').value;
				}
				if($('depart_insee_alerte') && $('depart_insee_alerte_second') && $('depart_insee_alerte_second').value != '') {
					$('depart_insee_alerte').value = $('depart_insee_alerte_second').value;
				}
				if($('destination_insee_alerte') && $('destination_insee_alerte_second') && $('destination_insee_alerte_second').value != '') {
					$('destination_insee_alerte').value = $('destination_insee_alerte_second').value;
				}
				
				if($('lienBtRss')) {
					if ($('lienBtRss') && $('depart_ville_alerte_second').value != '' && $('destination_ville_alerte_second').value != '' && $('depart_insee_alerte_second').value != '' && $('destination_insee_alerte_second').value != '' && $('id_site').value != '') {
						$('lienBtRss').setProperty('href', 'http://www.roulezmalin.com/rss/rss.php?depart_pays_select='+$('depart_pays_second').value+'&trajetDepart='+$('depart_ville_alerte_second').value+'&depart_insee='+$('depart_insee_alerte_second').value+'&destination_pays_select='+$('destination_pays_second').value+'&trajetDestination='+$('destination_ville_alerte_second').value+'&destination_insee='+$('destination_insee_alerte_second').value+'&id_site='+$('id_site').value)
					}
					}
				ecoov.alerteCriteres();
			}
			ecoov.voirDetailsOffre();

		});
	},

	// Pour la recherche via les infos via la carte
	trouverParCarte: function(latA, lngA, latB, lngB) {

		if(!$('latLngDepart')) {
			var inputLatlngDepart = new Element('input', {
				id: 'latLngDepart',
				name: 'latLngDepart',
				value: latA+'/'+lngA,
				type: 'hidden'
			});

			var inputLatlngDestination = new Element('input', {
				id: 'latLngDestination',
				name: 'latLngDestination',
				value: latB+'/'+lngB,
				type: 'hidden'
			});
		} else {
			$('latLngDepart').value = latA+'/'+lngA;
			$('latLngDestination').value = latB+'/'+lngB;
		}

		$('form_choix_ville').adopt(inputLatlngDepart, inputLatlngDestination);

		var rAjax = new Request.HTML({
			url:path+'/include/recherche/recherche_form-trait.php?xhr=1',
			evalScripts: false
		}).post($('form_choix_ville'));

		rAjax.addEvent('onComplete', function(responseTree, responseElements, responseHTML, responseJavaScript){
			$('listingOffres').set('html', responseHTML);
			if(responseJavaScript) $exec(responseJavaScript);

			if($('menuRss')) {
				$('menuRss').setStyle('display', 'block');
				
				//Gestion des valeurs du flux rss pour le cas où le menu rss est tjs affiché sur le site (ex : leclerc landerneau)
				if($('depart_ville_alerte') && $('depart_ville_alerte_second') && $('depart_ville_alerte_second').value != '') {
					$('depart_ville_alerte').value = $('depart_ville_alerte_second').value;
				}
				if($('destination_ville_alerte') && $('depart_ville_alerte_second') &&  $('destination_ville_alerte_second').value != '') {
					$('destination_ville_alerte').value = $('destination_ville_alerte_second').value;
				}
				if($('depart_insee_alerte') && $('depart_ville_alerte_second') &&  $('depart_insee_alerte_second').value != '') {
					$('depart_insee_alerte').value = $('depart_insee_alerte_second').value;
				}
				if($('destination_insee_alerte') && $('depart_ville_alerte_second') &&  $('destination_insee_alerte_second').value != '') {
					$('destination_insee_alerte').value = $('destination_insee_alerte_second').value;
				}

				if ($('lienBtRss') && $('depart_ville_alerte_second') &&  $('depart_ville_alerte_second').value != '' && $('destination_ville_alerte_second').value != '' && $('depart_insee_alerte_second').value != '' && $('destination_insee_alerte_second').value != '' && $('id_site').value != '') {
					$('lienBtRss').setProperty('href', 'http://www.roulezmalin.com/rss/rss.php?depart_pays_select='+$('depart_pays_second').value+'&trajetDepart='+$('depart_ville_alerte_second').value+'&depart_insee='+$('depart_insee_alerte_second').value+'&destination_pays_select='+$('destination_pays_second').value+'&trajetDestination='+$('destination_ville_alerte_second').value+'&destination_insee='+$('destination_insee_alerte_second').value+'&id_site='+$('id_site').value)
				}
				if($('menuSms')) {
					$('menuSms').setStyle('display', 'block');
				}
				
				ecoov.alerteCriteres();
			}

			ecoov.voirDetailsOffre();

		});
	}


});

/**
 * Extends Module
 *
 */

var eModule = new Class({

    Extends: oEcoov,

	// Critères gestion des dates pour les trajets
	critereDate: function (){

		myCal2 = new Calendar({ date: 'd/m/Y' }, { classes: ['dashboard'], direction: .5 });


		if ($('typeTrajet0')) {
			$('typeTrajet0').addEvent('click', function(e) {
				$('inputChoixDateUnique').setStyle('display', 'none');
				$('inputChoixDateRegulier').setStyle('display', 'none');
				
				//Reinitialisation des cases à cocher
				var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
				for(var index=1; index <= 7; index++){
					var c = index-1;
					$(tabJour[c]).setProperty('checked', '');
				}
				
				//Reinitialisation de date unique
				$('date').value	= "";
			});
		}

		if ($('typeTrajet1')) {
			$('typeTrajet1').addEvent('click', function(e) {
				$('inputChoixDateUnique').setStyle('display', 'none');
				$('inputChoixDateRegulier').setStyle('display', 'block');
				
				//Reinitialisation de date unique
				$('date').value	= "";
	
			});
		}


		if ($('typeTrajet2')) {
			$('typeTrajet2').addEvent('click', function(e) {
				$('inputChoixDateRegulier').setStyle('display', 'none');
				$('inputChoixDateUnique').setStyle('display', 'block');
				
				//Reinitialisation des cases à cocher
				var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
				for(var index=1; index <= 7; index++){
					var c = index-1;
					$(tabJour[c]).setProperty('checked', '');
				}
	
			});
		}
	}
});


// FUNCTION
function eventRAjax(rAjax, divUpdate) {
	rAjax.addEvent('onComplete', function(responseTree, responseElements, responseHTML, responseJavaScript){
		if(divUpdate != '') {
			$(divUpdate).set('html', responseHTML);
		}
		if(responseJavaScript) $exec(responseJavaScript);
	});
}

/**
 * An alpha transparent png support library for Internet Explore (other browsers
 * support this functionality natively) now compatible with Mootools.
 *
 * @author Toby Miller <tmiller@tobymiller.com>
 * @copyright Copyright (C) 2005, Toby Miller
 * @license MIT
 */
var AlphaPng = new Class({
	/**
	 * defaultOptions
	 * Options used in typical implementations
	 *
	 * debug:			0 = production, 1 = development
	 * clearImage:		url location of a transparent image
	 * backgroundTags:	allowable html tags for alpha transparent backgrounds
	 */
	defaultOptions: {
		'debug':			0,
		'clearImage':		'/images/spacer.gif',
		'backgroundTags':	['div', 'table', 'td', 'a']
	},

	/**
	 * initialize
	 * Initialize an instance of the AlphaPng object
	 *
	 * @param mixed array or object representation of options
	 * @return void
	 */
	initialize: function(options) {
		if (window.ie6)
		{
			// Merges the default options with the ones given as parameters
			this.setOptions($merge(this.defaultOptions, options));

			// Execute
			this.fixImages();
			this.fixBackgrounds();
		}
	},

	/**
	 * fixImages
	 * Fixes foreground images that are using alpha transparent pngs
	 *
	 * @param void
	 * @return void
	 */
	fixImages: function()
	{
		if (window.ie6)
		{
			$ES('img[src$=png]').each(function(img){
				img.setStyles({
					'filter':	'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=\'true\', src=\'' + img.getProperty('src') + '\', sizingMethod=\'scale\')',
					'width':	img.getProperty('width'),
					'height':	img.getProperty('height')
				});
				img.setProperty('src', this.options.clearImage);
			}.bind(this));
		}
	},

	/**
	 * fixBackgrounds
	 * Fixes background images that are using alpha transparent pngs
	 *
	 * @param void
	 * @return void
	 */
	fixBackgrounds: function()
	{
		if (window.ie6)
		{
			var reBackground = new RegExp('[^\(\)"\']+\.png', 'i');
			for (var i = 0; i < document.styleSheets.length; i++){
				for (var j = 0; j < document.styleSheets[i].rules.length; j++){
					var background = reBackground.exec(document.styleSheets[i].rules[j].style.backgroundImage);
					if (background){
						document.styleSheets[i].rules[j].style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=\'true\', sizingMethod=\'scale\', src=\'' + document.styleSheets[i].rules[j].style.backgroundImage + '\')';
						document.styleSheets[i].rules[j].style.backgroundImage = 'none';
					}
				}
			}

			$ES(this.options.backgroundTags.join(',')).each(function(tag){
				if (new RegExp('\\.png["\']\\)', 'i').exec(tag.getStyle('background-image'))){
					tag.setStyle('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=\'true\', sizingMethod=\'scale\', src=\'' + tag.getStyle('background-image') + '\')');
					tag.setStyle('background-image', 'none');
				}
			}.bind(this));
		}
	}
});

// Adds options management support
AlphaPng.implement(new Events, new Options);


/**
 * Extends optimisation
 *
 */

oEcoov.implement({

	submitInfoPerdu: function (){
		
		// Validation du form
		$('formLoginInfoPerdu').addEvent('submit', function(e) {
		
			e.stop();
			
			var rAjax = new Request.HTML({
				url:$('formLoginInfoPerdu').action, 
				evalScripts: false
			}).post($('formLoginInfoPerdu'));
	
			rAjax.addEvent('onComplete', function(responseTree, responseElements, responseHTML, responseJavaScript){
				$('sbox-content').set('html', '');  
				$('sbox-content').set('html', responseHTML);  
				ecoov.submitInfoPerdu();
			}.bind(this));
			
		});	
		
	},
	
	
// ---------------------------------------------------------------------------------------------------
// GESTION DU FOCUS POUR LES TRAJETS REGULIERS ET OCCASIONNELS
// ---------------------------------------------------------------------------------------------------

	// Réinitialisation et Désactivation des champs pour le TRAJET OCCASIONNEL ALLER
	disabledTrajetRegulierAller: function() {
			$('jour_unique_date').value 	= "";
			$('jour_unique_heure').value 	= "--:--";
			$('jour_unique_type_cov').value = "0";

			$('jour_unique_date').disabled 		= "true";
			$('jour_unique_heure').disabled 	= "true";
			$('jour_unique_type_cov').disabled 	= "true";
	},

	// Ré-activation des champs pour le TRAJET OCCASIONNEL ALLER
	enabledTrajetRegulierAller: function() {
			$('jour_unique_date').disabled 		= "";
			$('jour_unique_heure').disabled 	= "";
			$('jour_unique_type_cov').disabled 	= "";
	},

	// Réinitialisation et Désactivation des champs pour le TRAJET OCCASIONNEL RETOUR
	disabledTrajetRegulierRetour: function() {
			$('jour_unique_date_retour').value 		= "";
			$('jour_unique_heure_retour').value 	= "--:--";
			$('jour_unique_type_cov_retour').value 	= "0";

			$('jour_unique_date_retour').disabled 		= "true";
			$('jour_unique_heure_retour').disabled 		= "true";
			$('jour_unique_type_cov_retour').disabled 	= "true";
	},
	
	// Ré-activation des champs pour le TRAJET OCCASIONNEL RETOUR
	enabledTrajetRegulierRetour: function() {
			$('jour_unique_date_retour').disabled 		= "";
			$('jour_unique_heure_retour').disabled 		= "";
			$('jour_unique_type_cov_retour').disabled 	= "";
	},

	// Réinitialisation et Désactivation des champs pour le TRAJET REGULIER
	disabledTrajetOccasionnel: function() {
		
			var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
			for(var index=1; index <= 7; index++){
	
				var c = index-1;
				
				$('date_etat['+tabJour[c]+']').setProperty('checked', '');
				$('date_heure_depart['+tabJour[c]+']').setProperty('value', '--:--');
				$('date_heure_retour['+tabJour[c]+']').setProperty('value', '--:--');
				$('date_type_cov['+tabJour[c]+']').setProperty('value', '0');
	
				$('date_etat['+tabJour[c]+']').disabled 		= "true";
				$('date_heure_depart['+tabJour[c]+']').disabled = "true";
				$('date_heure_retour['+tabJour[c]+']').disabled = "true";
				$('date_type_cov['+tabJour[c]+']').disabled 	= "true";
				
			}
	},
	
	// Ré-activation des champs pour le TRAJET REGULIER
	enabledTrajetOccasionnel: function() {
		
			var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
			for(var index=1; index <= 7; index++){
	
				var c = index-1;
				
				$('date_etat['+tabJour[c]+']').disabled 		= "";
				$('date_heure_depart['+tabJour[c]+']').disabled = "";
				$('date_heure_retour['+tabJour[c]+']').disabled = "";
				$('date_type_cov['+tabJour[c]+']').disabled 	= "";
				
			}
	},
	
	getFocusTypeTrajet: function (){

		// Gestion du focus au chargement de la fiche dépot de trajet
		if($('jour_unique_date').value == "" && $('jour_unique_date_retour').value == "") {
			
			// Sélection du bt radio trajet occasionnel	
			$('radioTypeTrajet-0').setProperty('checked', 'checked');
			$('radioTypeTrajet-1').setProperty('checked', '');

			// Réinitialisation et désactivation des champs des TRAJETS OCCASIONNELS ALLER ET RETOUR
			ecoov.disabledTrajetRegulierAller();
			ecoov.disabledTrajetRegulierRetour();
			
			$$('#formTrajet .dashboard').each(function(el) {
					el.disabled = "true";
			});
			
			// Réactivation des champs des TRAJETS REGULIERS
			ecoov.enabledTrajetOccasionnel();
			
		} else if($('jour_unique_date').value == "" && $('jour_unique_date_retour').value != "") {

			// Sélection du bt radio trajet regulier	
			$('radioTypeTrajet-0').setProperty('checked', '');
			$('radioTypeTrajet-1').setProperty('checked', 'checked');


			// Réinitialisation et désactivation des champs des TRAJETS REGULIERS
			ecoov.disabledTrajetOccasionnel();
			
			// Réactivation des champs des TRAJETS OCCASIONNELS ALLER 
			ecoov.enabledTrajetRegulierAller();
			
			// Réinitialisation et désactivation des champs des TRAJETS OCCASIONNELS RETOUR
			ecoov.disabledTrajetRegulierRetour();
			
			$$('#formTrajet .dashboard').each(function(el) {
					el.disabled = "";
			});

			
		} else {

			// Sélection du bt radio trajet regulier	
			$('radioTypeTrajet-0').setProperty('checked', '');
			$('radioTypeTrajet-1').setProperty('checked', 'checked');

			// Réinitialisation et désactivation des champs des TRAJETS REGULIERS
			ecoov.disabledTrajetOccasionnel();
			
			// Réactivation des champs des TRAJETS OCCASIONNELS ALLER ET RETOUR
			ecoov.enabledTrajetRegulierAller();
			ecoov.enabledTrajetRegulierRetour();
			
			$$('#formTrajet .dashboard').each(function(el) {
					el.disabled = "";
			});


		}
		
		
		// Gestion du focus pour un trajet régulier au clic sur le bt 
		$('radioTypeTrajet-0').addEvent('click', function(e){

			// Sélection du bt radio trajet regulier	
			$('radioTypeTrajet-0').setProperty('checked', 'checked');
			$('radioTypeTrajet-1').setProperty('checked', '');

			// Réinitialisation et désactivation des champs des TRAJETS OCCASIONNELS ALLER ET RETOUR
			ecoov.disabledTrajetRegulierAller();
			ecoov.disabledTrajetRegulierRetour();
			
			$$('#formTrajet .dashboard').each(function(el) {
					el.disabled = "true";
			});

			
			// Réactivation des champs des TRAJETS REGULIERS
			ecoov.enabledTrajetOccasionnel();
	
		})
		
		
		// Gestion du focus pour un trajet occasionnel au clic sur le bt 
		$('radioTypeTrajet-1').addEvent('click', function(e){

			// Sélection du bt radio trajet regulier	
			$('radioTypeTrajet-0').setProperty('checked', '');
			$('radioTypeTrajet-1').setProperty('checked', 'checked');

			// Réinitialisation et désactivation des champs des TRAJETS REGULIERS
			ecoov.disabledTrajetOccasionnel();
			
			// Réactivation des champs des TRAJETS OCCASIONNELS ALLER ET RETOUR
			ecoov.enabledTrajetRegulierAller();
			ecoov.enabledTrajetRegulierRetour();
			
			$$('#formTrajet .dashboard').each(function(el) {
					el.disabled = "";
			});

		})
		
	},
// ---------------------------- FIN GESTION FOCUS TRAJETS REGULIERS ET OCCASIONNELS ------------------------------


// ---------------------------------------------------------------------------------------------------
// GESTION DES EVENEMENTS CLICK ET CHANGE POUR LES ELEMENTS DU FORMULAIRE DE DEPOT DE TRAJET
// ---------------------------------------------------------------------------------------------------
	
	manageEvent: function (){


		//=================
		// Gestion de l'affichage ou non du type de vehicule au chargement du formulaire pour le TRAJET REGULIER
		//=================
		if ($('radioTypeTrajet-0').checked == true) {
			var statutTrajetActif1 			   = 0;
			var statutTrajetDifferentPassager1 = 0;
			var tabJour1 = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
	
			for(var index1=0; index1 <= 6; index1++){
	
				if($('date_etat['+tabJour1[index1]+']').checked == true) {
					statutTrajetActif1++;
					
					if( $('date_type_cov['+tabJour1[index1]+']').value != 2) {
						statutTrajetDifferentPassager1++;
					}
				} 
			}
			
			if (statutTrajetActif1 >= 1 && statutTrajetDifferentPassager1 < 1) {
				$('mod_vehicule_mobile').setStyle('display','none');
			}  else {
				$('mod_vehicule_mobile').setStyle('display','block');
			}
		}
		//================

		//=================
		// Gestion de l'affichage ou non du type de vehicule au chargement du fomrualire pour le TRAJET OCCASIONNEL RETOUR
		//=================
		if ($('radioTypeTrajet-1').checked == true) {
			if ($('jour_unique_date').value != '' && $('jour_unique_date_retour').value != '') {
					if($('jour_unique_type_cov').value == '2' && $('jour_unique_type_cov_retour').value == '2') {
						$('mod_vehicule_mobile').setStyle('display','none');
					} else {
						$('mod_vehicule_mobile').setStyle('display','block');
					}
			} else if ($('jour_unique_date').value != '' && $('jour_unique_date_retour').value == '') {
					if($('jour_unique_type_cov').value == '2') {
						$('mod_vehicule_mobile').setStyle('display','none');
					} else {
						$('mod_vehicule_mobile').setStyle('display','block');
					}
			} else if ($('jour_unique_date').value == '' && $('jour_unique_date_retour').value != '') {
					if($('jour_unique_type_cov_retour').value == '2') {
						$('mod_vehicule_mobile').setStyle('display','none');
					} else {
						$('mod_vehicule_mobile').setStyle('display','block');
					}
			} 
		}
		//=================

		
		//=================
		// Gestion de l'affichage ou non du type de vehicule lors du changement du statut pour le TRAJET REGULIER
		//=================
		$$('#formTrajet .selectStatutTrajetRegulier').each(function(el) {
			el.addEvent('change', function(e) {
	
				var statutTrajetActif  			  = 0;
				var statutTrajetDifferentPassager = 0;
				var tabJour = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];


				for(var index=0; index <= 6; index++){
	
					if($('date_etat['+tabJour[index]+']').checked == true) {
						statutTrajetActif++;
						
						if( $('date_type_cov['+tabJour[index]+']').value != 2) {
							statutTrajetDifferentPassager++;
						}
					} 
				}
			
				if (statutTrajetActif >= 1 && statutTrajetDifferentPassager < 1) {
					$('mod_vehicule_mobile').setStyle('display','none');
				}  else {
					$('mod_vehicule_mobile').setStyle('display','block');
				}

			});
		}.bind(this))
		//=================

		
		//=================
		// Gestion de l'affichage ou non du type de vehicule lors du changement du statut pour le TRAJET OCCASIONNEL ALLER
		//=================
		$('jour_unique_type_cov').addEvent('change', function(e) {
			$('jour_unique_type_cov_retour').value=$('jour_unique_type_cov').value;										  
			
			if ($('jour_unique_type_cov').value == '2' && $('jour_unique_type_cov_retour').value != '1') {
				$('mod_vehicule_mobile').setStyle('display','none');
			} else {
				$('mod_vehicule_mobile').setStyle('display','block');
				
			}
	
		})
		//=================


		//=================
		// Gestion de l'affichage ou non du type de vehicule lors du changement du statut pour le TRAJET OCCASIONNEL RETOUR
		//=================
		$('jour_unique_type_cov_retour').addEvent('change', function(e){
			$('jour_unique_type_cov').value=$('jour_unique_type_cov_retour').value;		
			if ($('jour_unique_type_cov').value != '1' && $('jour_unique_type_cov_retour').value == '2') {
				$('mod_vehicule_mobile').setStyle('display','none');
			}  else {
				$('mod_vehicule_mobile').setStyle('display','block');
			}
	
		})
		//================
		
		
		
		//=================
		// Gestion de l'affichage du volume si bagages acceptés 
		//=================
		if ($('bagage').checked == true) {
			$('volume_bagage').setStyle('display','block');
		}
		
		if ($('bagage').checked == false) {
			$('volume_bagage').setStyle('display','none');
		}

		
		$('bagage').addEvent('click', function(e){
			
			if ($('bagage').checked == true) {
				$('volume_bagage').setStyle('display','block');
			}
			
			if ($('bagage').checked == false) {
				$('volume_bagage').setStyle('display','none');
			}
		})
		//================
		
		//=================
		// Gestion de l'affichage de l'autoroute si il y a une participation + gestion du prix
		//=================
		
		
		
		if ($('autoroute')) {
				$('cout-2').addEvent('click', function(e){
					if($('mod_vehicule_mobile').getStyle('display')=='block'){								   
					$('autoroute').setStyle('display','');
					$('calcul-prix').setStyle('display','');
					$('simulation-cout').setStyle('display','');
					ecoov.resizeAccordeon($('etape3'));
					}
				});

				$('cout-1').addEvent('click', function(e){
					$('autoroute').setStyle('display','none');
					
					$('calcul-prix').setStyle('display','none');
					
					$('simulation-cout').setStyle('display','none');
					
					$('cout_passager').value = "";
					$('autoroute_cout').value = "";
					
					ecoov.resizeAccordeon($('etape3'));
				});
				
				$('autoroute-2').addEvent('click', function(e){
					$('autoroute_cout').setStyle('display','');
					ecoov.resizeAccordeon($('etape3'));
				});
				$('autoroute-1').addEvent('click', function(e){
					$('autoroute_cout').setStyle('display','none');
					$('autoroute_cout').value = "";
					ecoov.resizeAccordeon($('etape3'));
				});
				
				$('autoroute_cout').addEvent('click', function(e){
					if($('autoroute_cout').value == "Coût"){
						$('autoroute_cout').value = "";
					}
				});

				$('cout_passager').addEvent('click', function(e){
					if($('cout_passager').value == "Prix"){
						$('cout_passager').value = "";
					}
				});

				var mesure;
				$('calcul-prix').addEvent('click', function(e) {
					var directions;				
					directions = new GDirections(); 
					if(($('depart_cp_').value == "13000") ||($('depart_cp_').value == "69000") || ($('depart_cp_').value == "75000")){
						$('depart_cp_').value = "";
					}
					if(($('destination_cp_').value == "13000") ||($('destination_cp_').value == "69000") || ($('destination_cp_').value == "75000")){
						$('destination_cp_').value = "";
					}
					directions.load("from:"+$('depart_ville_').value+" "+$('depart_cp_').value+" to:"+$('destination_ville_').value+" "+$('destination_cp_').value);
					
					GEvent.addListener(directions,"load", function() {
					mesure = directions.getDistance().meters;
					
						var nb_km = mesure/1000;

						var nb_pers = 3;
						var prix_essence = 1.40;
						if(nb_km < 5000) {
							var indice1 = 0.498;
							var indice2 = 0;
						} else if(nb_km > 5001 && nb_km < 20000) {
							var indice1 = 0.278;
							var indice2 = 1100/220;
						} else if(nb_km > 20000) {
							var indice1 = 0.333;
							var indice2 = 0;
						}
						/**/
						var perso_cout1 = (nb_km/100*7)*prix_essence;
						var perso_cout = perso_cout1 + (nb_km*indice1)+indice2;
						//(nb_km) * 0.275 + (1083/220);
						var perso_effet_serre = (nb_km * 0,154); 
						var perso_energie = (nb_km * (30.32/220));
						var coov_cout = (perso_cout / nb_pers);
						var coov_effet_serre = (perso_effet_serre / nb_pers);
						var coov_energie = (perso_energie / nb_pers);
						var peage = 0;
						if($('autoroute_cout') && $('autoroute_cout').value!="Coût" && ($('autoroute_cout').value!="")){
							peage = $('autoroute_cout').value;
						}
						peage = peage / 4;
						$('cout_passager').value = Math.round(((perso_cout/nb_pers)/4)+peage);
					});
				});
		}//fin de if ($('autoroute'))
		//================
	
	}
// ---------------------------- FIN GESTION DES EVENEMENTS DU DEPOT DE TRAJETS  ------------------------------
	
});




