$(document).ready(function() {
						   
	//////////////////////////////////
	//////  AJOUT D'UN TRAJET  ///////
	//////////////////////////////////
	
	////// INITIALISATION //////
	// On affiche les bouton d'étapes si javascipt est activé
	$('.etapeSuivanteLink').css('display','block');
	$('#gc_ajoutTrajet_navigation').addClass('gc_ajoutTrajet_navigation_js');

	// On cache l'étape 3 et 4
	$('#gc_form_ajoutTrajet_tab2').hide();
	$('#gc_form_ajoutTrajet_tab3').hide();

	// On ajoute un 5ème onglet à la navigation de l'ajout de trajet quand javascript est activé
	$('#trajets_Add #gc_ajoutTrajet_navigation').append('<li id="gc_ajoutTrajet_navigation_5">Etape 5</li>');
	$('#trajets_AddTrajet #gc_ajoutTrajet_navigation').append('<li id="gc_ajoutTrajet_navigation_5">Etape 5</li>');
	$('#trajets_Recapitulatif #gc_ajoutTrajet_navigation').append('<li id="gc_ajoutTrajet_navigation_5">Etape 5</li>');

	////// ETAPE 2 /////////////////////////////////////
	// Variable permettant de mémoriser à quelle étape se trouve l'utilisateur
	var etat_ajoutTrajet = 2;

	// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
	$('#trajets_AddTrajet #gc_ajoutTrajet_navigation li').removeClass('active');
	// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 2
	$('#trajets_AddTrajet #gc_ajoutTrajet_navigation #gc_ajoutTrajet_navigation_2').addClass('active');

	////// ETAPE 3 ////////////////////////////////////
	// Au click du bouton "Etape suivante" de la deuxième étape
	$('#gc_ajoutTrajet_versEtape2').click( function () {
		// On cache le contenu de l'étape 2
		$('#gc_form_ajoutTrajet_tab1').hide();
		// On affiche le contenu de l'étape 3
		$('#gc_form_ajoutTrajet_tab2').show();
		// Image de fond de la navigation avec focus sur l'étape 3
		$('#trajets_AddTrajet .gc_ajoutTrajet_navigation_js').css('background-position', '0 -44px');
		// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
		$('#gc_ajoutTrajet_navigation li').removeClass('active');
		// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 3
		$('#gc_ajoutTrajet_navigation_3').addClass('active');
		// On applique le style etape terminee au bouton de l'etape 2
		$('#gc_ajoutTrajet_navigation_2').addClass('etape_terminee');
		// On change la variable de mémorisation
		etat_ajoutTrajet = 3;
	});

	////// ETAPE 4 //////////////////////////////////////
	// Au click du bouton "Etape suivante" de la troisième étape
	$('#gc_ajoutTrajet_versEtape3').click( function () {
		// Si la date de départ est bien renseignée
		if (verifFormEtape3()) {
			// On cache le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab2').hide();
			// On affiche le contenu de l'étape 4
			$('#gc_form_ajoutTrajet_tab3').show();
			// Image de fond de la navigation avec focus sur l'étape 4
			$('#trajets_AddTrajet .gc_ajoutTrajet_navigation_js').css('background-position', '0 -66px');
			// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
			$('#gc_ajoutTrajet_navigation li').removeClass('active');
			// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 4
			$('#gc_ajoutTrajet_navigation_4').addClass('active');
			// On applique le style etape terminee au bouton de l'etape 3
			$('#gc_ajoutTrajet_navigation_3').addClass('etape_terminee');
			// On change la variable de mémorisation
			etat_ajoutTrajet = 4;
		}
	});

	////// ETAPE 5 ///////////////////////////////////////////
	// Image de fond de la navigation avec focus sur l'étape 5
	$('#trajets_Recapitulatif #gc_ajoutTrajet_navigation').addClass('gc_ajoutTrajet_navigation_js_etape5');
	// On applique le style etape terminee aux boutons des étapes 1, 2, 3 et 4 
	$('#trajets_Recapitulatif #gc_ajoutTrajet_navigation li').removeClass('etape_terminee').addClass('etape_recap');
	// On applique le style active au bouton de la 5eme etape
	$('#trajets_Recapitulatif #gc_ajoutTrajet_navigation #gc_ajoutTrajet_navigation_5').removeClass('etape_recap').addClass('active');


	////// GESTION DES LIENS DE LA NAVIGATION ////////////////
	// Au click sur le bouton 'étape 1'
	$('#gc_ajoutTrajet_navigation_1').click( function () {
			// On renvoi sur l'étape 1 avec les villes de départ et d'arrivée saisies au préalable
			document.location.href="/trajets/Add/ajout-trajet/idVilleDepart=" + $('#idVilleDepart').val() + '_' + $('#idVilleDepart_postal').val() + "&idVilleArrivee=" + $('#idVilleArrivee').val() + '_' + $('#idVilleArrivee_postal').val() + "&idLieuDepart=" + $('#idLieuPublicDepart').val() + "&idLieuArrivee=" + $('#idLieuPublicArrivee').val();
	});

	// Au click sur le bouton 'étape 2'
	$('#gc_ajoutTrajet_navigation_2').click( function () {
		// Si l'utilisateur est à l'étape 3
		if (etat_ajoutTrajet == 3) {
			// On affiche le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab1').show();
			// On affiche le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab2').hide();
			// On cache le contenu de l'étape 4
			$('#gc_form_ajoutTrajet_tab3').hide();
			// Image de fond de la navigation avec focus sur l'étape 2
			$('#gc_ajoutTrajet_navigation').css('background-position', '0 -22px');
			// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
			$('#gc_ajoutTrajet_navigation li').removeClass('active').removeClass('etape_terminee');
			// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 4
			$('#gc_ajoutTrajet_navigation_2').addClass('active');
			// On applique le style etape terminee au bouton de l'etape 3
			$('#gc_ajoutTrajet_navigation_1').addClass('etape_terminee');
			// On change la variable de mémorisation
			etat_ajoutTrajet = 2;
		// Sinon
		} else
		// Si l'utilisateur est à l'étape 4
		if (etat_ajoutTrajet == 4) {
			// On affiche le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab1').show();
			// On affiche le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab2').hide();
			// On cache le contenu de l'étape 4
			$('#gc_form_ajoutTrajet_tab3').hide();
			// Image de fond de la navigation avec focus sur l'étape 2
			$('#gc_ajoutTrajet_navigation').css('background-position', '0 -22px');
			// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
			$('#gc_ajoutTrajet_navigation li').removeClass('active').removeClass('etape_terminee');
			// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 4
			$('#gc_ajoutTrajet_navigation_2').addClass('active');
			// On applique le style etape terminee au bouton de l'etape 3
			$('#gc_ajoutTrajet_navigation_1').addClass('etape_terminee');
			// On change la variable de mémorisation
			etat_ajoutTrajet = 2;
		}
	});

	// Au click sur le bouton 'étape 3'
	$('#gc_ajoutTrajet_navigation_3').click( function () {
		<!--window.location.href="/trajets/Add/"; -->
		// Si l'utilisateur est à l'étape 4
		if (etat_ajoutTrajet == 4) {
			// On affiche le contenu de l'étape 3
			$('#gc_form_ajoutTrajet_tab2').show();
			// On cache le contenu de l'étape 4
			$('#gc_form_ajoutTrajet_tab3').hide();
			// Image de fond de la navigation avec focus sur l'étape 3
			$('#gc_ajoutTrajet_navigation').css('background-position', '0 -44px');
			// On enlève la classe active de la navigation de l'ajout de trajet de l'étape 3
			$('#gc_ajoutTrajet_navigation li').removeClass('active').removeClass('etape_terminee');
			// On affiche la classe active de la navigation de l'ajout de trajet de l'étape 4
			$('#gc_ajoutTrajet_navigation_3').addClass('active');
			// On applique le style etape terminee au bouton de l'etape 1
			$('#gc_ajoutTrajet_navigation_1').addClass('etape_terminee');
			// On applique le style etape terminee au bouton de l'etape 2
			$('#gc_ajoutTrajet_navigation_2').addClass('etape_terminee');
			// On change la variable de mémorisation
			etat_ajoutTrajet = 3;
		}
	});

	// Si l'on est sur la 5ème étape, on empèche de retourner à la 1ère étape
	$('#trajets_Recapitulatif #gc_ajoutTrajet_navigation_1').click( function () {return false;});
});


	//////////////////////////////////
	//////  FONCTIONS  ///////////////
	//////////////////////////////////

function formatItem(row) {
			return row[0] + " (<strong>id: " + row[1] + "</strong>)";
}

function formatResult(row) {
			return row[0].replace(/(<.+?>)/gi, '');
}

/**
* Formulaire des favoris dans la page d'ajout de trajet
*/
function TrajetFavoris(champ) {
	var idFavoris = $('#'+champ).val();
	window.location.replace('/trajets/Add/ajout-trajet/idFavoris=' + idFavoris);
}

/**
* Trajet aller-retour : affichage des informations adéquates dans l'ajout de trajet
*/
function allerRetourRadio(champ) {

	var valueChamp = $('input[type=radio][name=trajetAllerRetour]:checked').attr('value');

	if (valueChamp == 'aller') {
		$('.gc_form_ajoutTrajetDateDepartRetour').hide();
		$('.gc_form_ajoutTrajetHeureRetour').hide();
		$('#gc_ajoutTrajet_horaires_retour').hide();

	} else {
		$('.gc_form_ajoutTrajetDateDepartRetour').show();
		$('.gc_form_ajoutTrajetHeureRetour').show();
		$('#gc_ajoutTrajet_horaires_retour').show();
	}
}

/**
* Calcul du coût du trajet dans l'ajout de trajet
*/

function CalculCoutTrajet() {
	//display_lieu
	var idVilleDepart = $('#idVilleDepart').val();
	var idVilleArrivee = $('#idVilleArrivee').val();

	parametres = 'action=CalculCoutTrajet' + '&idVilleDepart=' + idVilleDepart + '&idVilleArrivee=' + idVilleArrivee;

	$.ajax({
			type: 'GET',
			url: '/ajax/trajets.php',
			data: parametres,
			//error: rapporteErreur,
			success: function(data) {
			  $('#ResultCoutTrajet').html(data);
				  nbPersonnes = eval($('#placesDispo').val()) + 1;
				  tarifPersonne = $('#cout_membre_montant_' + nbPersonnes).html();
				  
				  if (tarifPersonne != '' && tarifPersonne != null) {
				  tarifPersonne = tarifPersonne.replace(' WinO<sub>2</sub>', '');
				  tarifPersonne = tarifPersonne.replace(' WinO<SUB>2</SUB>', '');
				  $('#tarifParPersonne').val(tarifPersonne);
			}
				}
		});
}

	$("#placesDispo").click(function() {
		nbPersonnes = eval($('#placesDispo').val()) + 1;
		tarifPersonne = $('#cout_membre_montant_' + nbPersonnes).html();
		tarifPersonne = tarifPersonne.replace(' WinO<sub>2</sub>', '');
		tarifPersonne = tarifPersonne.replace(' WinO<SUB>2</SUB>', '');
		$('#tarifParPersonne').val(tarifPersonne);
	});

/**
* Vérification des champs de l'étape 3
*/
/**
 *
 * @access public
 * @return void
 **/
function verifFormEtape3() {
	var verifDate;
	var varReturn = true;

	var valueChamp = $('input[type=radio][name=trajetAllerRetour]:checked').attr('value');

	if ($('#frequence').val() == 4) {
		if ($('#dateDepart').val() == '') {
			document.getElementById("gc_verifForm").innerHTML = '<p>Vous devez saisir une date pour un trajet unique.</p>';
			$('#gc_verifForm').slideDown(300);

			varReturn = false;
		} else {
			verifDate = isDate('dateDepart');

			if (verifDate) {
				//Date OK
				document.getElementById("gc_verifForm").innerHTML = '';
			} else {
				//Date KO
				document.getElementById("gc_verifForm").innerHTML = '<p>La date de départ saisie est incorrecte.</p>';
				$('#gc_verifForm').slideDown(300);

				varReturn = false;
			}
		}
	}

	if (valueChamp == 'retour') {
		if ($('#frequence').val() == 4) {
			if ($('#dateDepartRetour').val() == '') {
				document.getElementById("gc_verifForm").innerHTML = '<p>Vous devez saisir une date pour un trajet unique.</p>';
				$('#gc_verifForm').slideDown(300);

				varReturn = false;
			} else {
				verifDate = isDate('dateDepartRetour');

				if (verifDate) {
					//Date OK
					document.getElementById("gc_verifForm").innerHTML = '';
				} else {
					//Date KO
					document.getElementById("gc_verifForm").innerHTML = '<p>La date de départ saisie est incorrecte.</p>';
					$('#gc_verifForm').slideDown(300);

					varReturn = false;
				}
			}
		}
	}
	return varReturn;
}

	// Select Frequence
function selectFrequence() {

	var valueChamp = $('input[type=radio][name=trajetAllerRetour]:checked').attr('value');

	if ($('#frequence').val() == 1 || $('#frequence').val() == 2 || $('#frequence').val() == 3){
		$('.gc_form_ajoutTrajetDateDepart').hide();
		$('.gc_form_ajoutTrajetHeureAller').hide();
		$('.gc_form_ajoutTrajetDateDepartRetour').hide();
		$('.gc_form_ajoutTrajetHeureRetour').hide();

		if (valueChamp == 'retour') {
			$('#gc_ajoutTrajet_horaires_aller').show();
			$('#gc_ajoutTrajet_horaires_retour').show();
		} else {
			$('#gc_ajoutTrajet_horaires_aller').show();
		}

	} else if ($('#frequence').val() == 4){
		$('#gc_ajoutTrajet_horaires_aller').hide();
		$('#gc_ajoutTrajet_horaires_retour').hide();

		if (valueChamp == 'retour') {
			$('.gc_form_ajoutTrajetDateDepart').show();
			$('.gc_form_ajoutTrajetHeureAller').show();
			$('.gc_form_ajoutTrajetDateDepartRetour').show();
			$('.gc_form_ajoutTrajetHeureRetour').show();
		} else {
			$('.gc_form_ajoutTrajetDateDepart').show();
			$('.gc_form_ajoutTrajetHeureAller').show();
		}

	}

}

	// Dupliquer Horaires
function dupliquerHoraires(trajet) {
	if (trajet == 'aller') {
		$('#jour_2').attr('checked', true);
		$('#jour_3').attr('checked', true);
		$('#jour_4').attr('checked', true);
		$('#jour_5').attr('checked', true);
		$('#jour_6').attr('checked', true);
		$('#jour_7').attr('checked', true);
		
		// Heure mini de l'aller
		$('#heureMini_2 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");
		$('#heureMini_3 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");
		$('#heureMini_4 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");
		$('#heureMini_5 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");
		$('#heureMini_6 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");
		$('#heureMini_7 option[value=' + $('#heureMini_1').val() + ']').attr("selected", "selected");

		// Heure maxi de l'aller
		$('#heureMaxi_2 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#heureMaxi_3 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#heureMaxi_4 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#heureMaxi_5 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#heureMaxi_6 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#heureMaxi_7 option[value=' + $('#heureMaxi_1').val() + ']').attr("selected", "selected");

	} else if (trajet == 'retour') {
		$('#retour_jour_2').attr('checked', true);
		$('#retour_jour_3').attr('checked', true);
		$('#retour_jour_4').attr('checked', true);
		$('#retour_jour_5').attr('checked', true);
		$('#retour_jour_6').attr('checked', true);
		$('#retour_jour_7').attr('checked', true);
		
		// Heure mini de l'aller
		$('#retour_heureMini_2 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMini_3 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMini_4 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMini_5 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMini_6 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMini_7 option[value=' + $('#retour_heureMini_1').val() + ']').attr("selected", "selected");

		// Heure maxi de l'aller
		$('#retour_heureMaxi_2 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMaxi_3 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMaxi_4 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMaxi_5 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMaxi_6 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
		$('#retour_heureMaxi_7 option[value=' + $('#retour_heureMaxi_1').val() + ']').attr("selected", "selected");
	}
}

function majHoraire(champSelect, champMaj) {

	tmp = $('#' + champSelect).val();
	tab = tmp.split(':');
	heure = parseInt(tab[0]) + 1;

	$('#' + champMaj + ' option[value=' + heure + ':' + tab[1] + ':' + tab[2] + ']').attr("selected", "selected");
}

/**
* Ajout d'une recherche ou d'un trajet en favori
*/
function AddFavoris(champ, idTrajet, idMembre, idVilleDepart, idVilleArrivee) {
	if ($('#'+champ).is(':checked')) {
		var action = 'AddTrajetFavoris';
	} else {
		var action = 'DeleteTrajetFavoris';
	}

	parametres = 'action=' + action + '&idVilleDepart=' + idVilleDepart + '&idVilleArrivee=' + idVilleArrivee + '&idMembre=' + idMembre + '&idTrajet=' + idTrajet;

	$.ajax({
			type: 'GET',
			url: '/ajax/trajets.php',
			data: parametres,
			//error: rapporteErreur,
			success: function(data) {
			  $('#ResultAddTrajetFavoris').html(data);
			}
		});
}

/**
* Ajout d'un membre en favoris
*/

function AddMembreFavoris(champ, idMembreTrajet, idMembreSession) {
	if ($('#'+champ).is(':checked')) {
		action = 'AddMembreFavoris';
	} else {
		action = 'DeleteMembreFavoris';
	}

	parametres = 'action=' + action + '&idMembreTrajet=' + idMembreTrajet + '&idMembreSession=' + idMembreSession;

	$.ajax({
			type: 'GET',
			url: '/ajax/membres.php',
			data: parametres,
			//error: rapporteErreur,
			success: function(data) {
			  $('#ResultAddMembreFavoris').html(data);
			}
		});
}

function confirmDeleteTrajetFavoris(idvd, idva) {
	var res;
	res = confirm('Voulez-vous vraiment supprimer le favoris ?');

	if (res == true) {
		window.location.href = '/trajets.php?action=DeleteTrajetFavoris&idvd=' + idvd + '&idva=' + idva;
	}
}
