$(document).ready(function(){
	
	/* Menu qui reste en haut */
	ajusterTop();
	$(window).scroll(function() {
    	ajusterTop();
	});
	
	/* Colonne gauche */
	var areaHeight = $('#area').height();
	var minHeight = $('#left').css('min-height').substr(0,3);
	
	if(areaHeight > minHeight) {
		$('#left').css({'height':areaHeight,'min-height':areaHeight});
	}
	
	
	/* Calendriers */
	$(".datepicker").datepicker({
		showOn: 'button',
		buttonImage: 'fileadmin/templates/images/calendar.gif',
		buttonImageOnly: true,
		
		onSelect: function(dateText, inst) {
			var which = $(this).attr('id').substr(0,1);
			var jour = dateText.substr(0,2);
			var mois = dateText.substr(3,2);
			var annee = dateText.substr(6,4);

			var moisSelect = mois+'-'+annee;
			$("#"+which+"_jour option:contains("+jour+")").attr("selected", true);
			$("#"+which+"_mois option[value='"+moisSelect+"']").attr("selected", true);

			updateLink();
			
			/* Date d'arrivée automatique +1 */
			if(which == 'a') {
				setArrival(jour,mois,annee);
				$('#a').datepicker("setDate", jour+"/"+mois+"/"+annee);
			}
			else {
				$('#b').datepicker("setDate", jour+"/"+mois+"/"+annee);	
			}
		}
	});
	
	$(".setdate").change(function() {
		var which = $(this).attr('id').substr(0,1);
		var jour = $("#"+which+"_jour").val();
		var mois = $("#"+which+"_mois").val().substr(0,2);
		var annee = $("#"+which+"_mois").val().substr(3,4);
		
		// Sélectionne une mauvaise date?
		if(!checkdate(mois, jour, annee)) {
			if(checkdate(mois, 30, annee)) {
				jour = '30';	
			}
			else {
				jour = '28';	
			}
			
			$("#"+which+"_jour option:contains("+jour+")").attr("selected", true);	
		}
		
		/* Date d'arrivée automatique +1 */
		if(which == 'a') {
			setArrival(jour,mois,annee);
			$('#a').datepicker("setDate", jour+"/"+mois+"/"+annee);
		}
		else {
			$('#b').datepicker("setDate", jour+"/"+mois+"/"+annee);	
		}
		
		
		updateLink();	
	});

	
	/* Pngfix */
	$(document).pngFix();
	
	
	if($('.slider ul').attr('class')=='nb_1') {
		$(".scrollButtons").hide();
	}
	
	
	$(".slides ul").diaporama({
		animationSpeed: "slow",
		delay:8
	});
	$(".scrollButtons").pngFix();
});

function ajusterTop() {
	$('#nav').css('top', $(this).scrollTop() + "px");	
}



function updateLink() {
	var fday = $("#a_jour").val();
	var fmonth = $("#a_mois").val().substr(0,2);
	var fyear = $("#a_mois").val().substr(3,4);
	
	var newlink = $('#resurl').val()+"&fday="+fday+"&fmonth="+fmonth+"&fyear="+fyear+"&tday="+$("#b_jour").val()+"&tmonth="+$("#b_mois").val().substr(0,2)+"&tyear="+$("#b_mois").val().substr(3,4); 

	$('#reserver').attr('href', newlink);
}

function setArrival(jour,mois,annee) {
	var setJour = 0; var setMois = 0; var setAnnee = 0;
	/* Bisextil */
	
	if(!checkdate(mois, addJour(jour), annee)) {
		if(parseInt(jour) == 28 || parseInt(jour) == 30 || parseInt(jour) == 31) {
			if(mois == 12) {
				setMois = '01';	
				setAnnee = addJour(annee);
			}
			else {
				setMois = addJour(mois);
				setAnnee = annee;
			}
			setJour = '01';
			if(parseInt(jour) == 28) {
				setJour = '29';
				setAnnee = annee;
				setMois = mois;
			}
		}
	}
	else {
		setJour = addJour(jour);
		setMois = mois;
		setAnnee = annee;	
	}
	
	var setMoisSelect = setMois+'-'+setAnnee;
	$("#b_jour option[value="+setJour+"]").attr("selected", true);
	$("#b_mois option[value='"+setMoisSelect+"']").attr("selected", true);
	$('#b').datepicker("setDate", setJour+"/"+setMois+"/"+setAnnee);
}

function addJour(jour) {
	if(jour.substr(0,1) == '0') {
		jour = jour.substr(1,1);
	}
	jour = eval(parseInt(jour)+1);
	if(jour < 10) {
		jour = '0'+jour;	
	}
	else {
		jour = ''+jour;	
	}
	return jour;
}

function checkdate ( m, d, y ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Pyerre
    // +   improved by: Theriault
    // *     example 1: checkdate(12, 31, 2000);
    // *     returns 1: true
    // *     example 2: checkdate(2, 29, 2001);
    // *     returns 2: false
    // *     example 3: checkdate(03, 31, 2008);
    // *     returns 3: true
    // *     example 4: checkdate(1, 390, 2000);
    // *     returns 4: false

    return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();

}