// JavaScript Document
	/******************************************************************
					Fonctions utiles	
	******************************************************************/
function test_date_(value){	if(!(value.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)))return false; }
function 	dateFr2Us(date){
			
			d=date.substr(0,2);
			m=date.substr(3,2);
			y=date.substr(6,4);
			
			return y+'-'+m+'-'+d;
		
}

$(function(){
		   
	/******************************************************************
					gestion date de début	
	******************************************************************/
	$('#datedeb').DatePicker({
		format:'d/m/Y',
		date: $('#datedeb').val(),
		current: $('#datedeb').val(),
		starts: 1,
		position:'bottom',
		onRender: function(date) {
			now= new Date()
			
			return {
				disabled: (date.valueOf() < now.valueOf())
				
			}
		},


		onChange: function(formated, dates){
			
			$('#datedeb').val(formated);
			$('.datepicker').fadeOut(100);
			/******************************************************************
					Ajustement des dates	
			******************************************************************/
			// on vérirife que dat_in est bien inféreure à date fin
			date_in=dateFr2Us($("#datedeb").val());
			date_out=dateFr2Us($("#datefin").val());			
			
			if(test_date_($("#datedeb").val())!=false && test_date_($("#datefin").val())!=false && (date_in>=date_out)){
				// sinon on calcule un nouvelle date de fin sur la base de Jour de début + 1J 
				$.get('../ajax/getDateOut.ajax.php',{date_in:dates,ope:+1},function(response){
					$('#datefin').val(response);
					$('#datefin').DatePickerSetDate(response, true);
					loadRooms(date_in,dateFr2Us(response));
					
				})
			}
			else{
				loadRooms(date_in,date_out);	
			}
		}

	})
	
	/******************************************************************
	// gestion date de fin
	******************************************************************/
	$('#datefin').DatePicker({
		format:'d/m/Y',
		date: $('#datefin').val(),
		current: $('#datefin').val(),
		starts: 1,
		position:'bottom',
			onRender: function(date) {
			now= new Date()
			now.addDays(+1);
			return {
				disabled: (date.valueOf() < now.valueOf())
				
			}
		},
		onChange: function(formated, dates){
			
			$('#datefin').val(formated);
			$('.datepicker').fadeOut(100);
			
			/******************************************************************
					Ajustement des dates
			******************************************************************/
			// on vérirife que dat_in est bien inféreure à date fin
			date_in=dateFr2Us($("#datedeb").val());
			date_out=dateFr2Us($("#datefin").val());
			
	
			if(test_date_($("#datedeb").val())!=false && test_date_($("#datefin").val())!=false && (date_in>=date_out)){
				// sinon on calcule un nouvelle date de début sur la base de Jour de fin - 1J 
				$.get('../ajax/getDateOut.ajax.php',{date_in:dates,ope:-1},function(response){
					$('#datedeb').val(response);
					$('#datedeb').DatePickerSetDate(response, true);
					loadRooms(dateFr2Us(response),date_out);
				})
			}
			else{
				loadRooms(date_in,date_out);	
			}
			
		}

	})
	
	/******************************************************************
					PAssage à l'étape 2
	******************************************************************/
	function etape_2(){
			test=0;
			$('.nb_chambre').each(function(){
				if($(this).val()>0) test++;		
			})
			
			if(test>0) $('#etape_2').attr('disabled',false)
			else $('#etape_2').attr('disabled',true)
	}
		
	/******************************************************************
					Charegement des chambes dispo
	******************************************************************/
	function loadRooms(date_in,date_out){
	
		$('.boite').html('<strong>Nous recherchons les disponibilités correpondant à votre demande...<br>Merci de patienter.</strong>').addClass('loading');
		$.ajax({
			url:'../ajax/getAvailability.ajax.php',
			type: "POST",
			data: "date_in="+date_in+"&date_out="+date_out,
  			success: function(response){
				
				$('.boite').removeClass('loading');
				$(".boite").html(response);
		
				$('.detail_tarif').bind('mouseover',function(e){
					$('#detail_tarif').remove();
					boite=['<div id="detail_tarif">',
								'<div class="datepickerBorderT"></div>',
								'<div class="datepickerBorderR"></div>',
								'<div class="datepickerBorderB"></div>',
								'<div class="datepickerBorderL"></div>',
								'<div class="datepickerBorderTR"></div>',
								'<div class="datepickerBorderTL"></div>',
								'<div class="datepickerBorderBR"></div>',
								'<div class="datepickerBorderBL"></div>',
								'<div id="detail_tarif_content"></div>',
						   '</div>']
					$(document.body).append(boite.join(''))
					
					pos=$(this).offset();
					$('#detail_tarif').css({top:pos.top+15,left:pos.left-10})
			
					$('#detail_tarif_content').html($('#'+$(this).attr('rel')).html())				 
				})
				$('.detail_tarif').bind('mouseout',function(){
						$('#detail_tarif').remove();													  
				})
				etape_2()
			}
		})
	}
			
		
	/******************************************************************
					Affichage du nb de personnes par chambre
	******************************************************************/	
		
	
	
	
	// AFFICHAGE DU NOMBRE DE PERSONNES POUR LA CHAMBRE 1
	$(".nb_chambre").live('click',function(){
				
			html="";
			id=$(this).attr('rel');
			nb=$(this).val()
			if(nb>0){

				$.ajax({
						url:'../ajax/displayPersonsPerRoom.ajax.php',
						type: "POST",
						data: "nb="+nb+"&id_chambre="+id,
  						success: function(response){
							
							$('#details_'+id).children('TD:first').html(response);
							$('#details_'+id).show();
							etape_2()
						}
				})
			}
			else{
				$('#details_'+id).hide();	
				$('#details_'+id).children('TD:first').html('');		
				etape_2()
			}
			
			
				
			
	})
	
	/******************************************************************
					Au chargement de la page
	******************************************************************/	
	
		loadRooms(dateFr2Us($('#datedeb').val()),dateFr2Us($('#datefin').val()))
})


