$(function() {

	$('.reserve-form .selectValue').click(function(){
		hideSelects();
		var nmWidth=parseInt($(this).width()-2);
		var offset=$(this).offset();
		$(this).parent('div').children('div.selectMenu').css('left',''+offset.left+'px');
		$(this).parent('div').children('div.selectMenu').css('width',nmWidth);

		$(this).parent('div').children('div.selectMenu').show();
		return false;
	});

	$('.reserve-form .selectMenu a').live('click',majChamps);
	$('.reserve-form input[type="text"]').change(majChamps);

	function majChamps(){
		var idSelect = $(this).attr('rel');
		var textSelect = $(this).text();
		var divSelectValue = $(this).parent('li').parent('ul').parent('div').parent('div').children('.selectValue');
		$(divSelectValue).children('input').val(idSelect);
		$(divSelectValue).children('.center').text(textSelect);
		$(this).parent('li').parent('ul').parent('div').hide();
		$(divSelectValue).parent('div').children('label').removeClass('erreur');

		//Mise à jour de tous les champs
		var compagnie = $('.reserve-form input[name="compagnie"]').val();
		var numero = $('.reserve-form input[name="numero"]').val();
		var depart = $('.reserve-form input[name="depart"]').val();
		var arrivee = $('.reserve-form input[name="arrivee"]').val();
		var date = $('.reserve-form input[name="date"]').val();
		var heure = $('.reserve-form input[name="heure"]').val();
		var bagages = $('.reserve-form input[name="bagages"]').val();
		var mode = $('.reserve-form input[name="mode"]').val();
		var allReplace = true;

		$.post('ajax/actions.php', {
			ajaxAction: 'majFormReservation',
			compagnie: compagnie,
			numero: numero,
			depart: depart,
			arrivee: arrivee,
			date: date,
			heure: heure,
			bagages: bagages,
			mode: mode
		},
		function(data){
			if(data != null){
				if(data.compagnies != null){
					$('.reserve-form .selectCompagnie ul').empty();
					$('.reserve-form .selectCompagnie ul').append('<li><a href="#">&nbsp;<\/a><\/li>');
					for(indexCompagnie in data.compagnies){
						$('.selectCompagnie ul').append('<li><a href="#" rel="'+indexCompagnie+'">'+data.compagnies[indexCompagnie]+'<\/a><\/li>');
					}
				}
				if(data.departs != null){
					$('.reserve-form .selectDepart ul').empty();
					$('.reserve-form .selectDepart ul').append('<li><a href="#">&nbsp;<\/a><\/li>');
					for(indexDepart in data.departs){
						$('.selectDepart ul').append('<li><a href="#" rel="'+indexDepart+'">'+data.departs[indexDepart]+'<\/a><\/li>');
					}
				}
				if(data.arrivees != null){
					$('.reserve-form .selectArrivee ul').empty();
					$('.reserve-form .selectArrivee ul').append('<li><a href="#">&nbsp;<\/a><\/li>');
					for(indexArrivee in data.arrivees){
						$('.reserve-form .selectArrivee ul').append('<li><a href="#" rel="'+indexArrivee+'">'+data.arrivees[indexArrivee]+'<\/a><\/li>');
					}
				}
				if(data.numero == 'supprimer'){
					$('#ipt-numero').val('');
				}
			}
		},
		'json');

		return false;
	}

	$('body').click(function(){
		hideSelects();
	});

	function hideSelects(e){
		$('.reserve-form .selectMenu').hide();
	}

	$('input.datepicker').change(function(){
		$(this).parent('div').children('label').removeClass('erreur');
	});

	$('.reserve-form form').submit(function(){
		var erreurs = 0;
		var champsTexte = new Array('date');
		var champsNumerique = new Array('compagnie','depart','arrivee','bagages','mode');

		if (champsNumerique.length >= 0) {
			for (var i in champsNumerique) {
				var element = parseInt($('.reserve-form input[name="'+champsNumerique[i]+'"]').val());
				var idElement = $('.reserve-form input[name="'+champsNumerique[i]+'"]').attr('id');
				if (isNaN(element)){
					$('.reserve-form label[for="'+idElement+'"]').addClass('erreur');
					erreurs++;
				}
			}
		}

		if (champsTexte.length >= 0) {
			for (var i in champsTexte) {
				var element = $('.reserve-form input[name="'+champsTexte[i]+'"]').val();
				var idElement = $('.reserve-form input[name="'+champsTexte[i]+'"]').attr('id');
				if (element == null || element == undefined || element == '') {
					$('.reserve-form label[for="'+idElement+'"]').addClass('erreur');
					erreurs++;
				}
			}
		}

		if(erreurs == 0){
			return true;
		}
		return false;
	});
});
