
/**
 * Calcule le nombre de nuit entre les champs 'checkindate' et 'checkoutdate'.
 */
function compute_nights_count() {
	tmpYear = eval("document.Select_Date.checkindateyear").value;
	tmpMonth = eval("document.Select_Date.checkindatemonth").value;
	tmpDay = eval("document.Select_Date.checkindateday").value;
	tmpCheckindate = new Date(tmpYear, tmpMonth-1, tmpDay);

	tmpYear = eval("document.Select_Date.checkoutdateyear").value;
	tmpMonth = eval("document.Select_Date.checkoutdatemonth").value;
	tmpDay = eval("document.Select_Date.checkoutdateday").value;
	tmpCheckoutdate = new Date(tmpYear, tmpMonth-1, tmpDay);	

	var diffDay = Math.round((tmpCheckoutdate.getTime() - tmpCheckindate.getTime())/(24*60*60*1000));
	if (diffDay > 0) return diffDay;
	return 0;
}

/**
 * Affiche le nombre de nuit entre les champs 'checkindate' et 'checkoutdate'.
 * Si la date de depart est supérieure à celle d'arrivée alors on affiche 0.
 */
function display_nights_count() {
	var diffDay = compute_nights_count();
	document.getElementById('nbnights').innerHTML = diffDay;
}

/**
 * Check si le formulaire de recherche est correctement rempli.
 * @return bool
 */
function checkform() {
	InvalidDate = "Invalid range of dates";
	var txt = "";
	var valid = true;
	// checker si les dates sont valides
	if (compute_nights_count() == 0)
		txt = txt + "<p class=\"error\" >"+InvalidDate+"</p>";
	// afficher le résultat
	if (txt.length > 0) {
		document.getElementById('javascript_error').innerHTML = txt;
		return false;
	} else return true;
}

// on initialise le formulaire de recherche d'hôtels
var form = document.getElementById("Select_Date");
if  (form) {
	//form.onsubmit = checkform;
	document.getElementById("checkindateday").onchange = display_nights_count;
	document.getElementById("checkindatemonth").onchange = checkmonth;
	document.getElementById("checkindateyear").onchange = display_nights_count;
	document.getElementById("checkoutdateday").onchange = display_nights_count;
	document.getElementById("checkoutdatemonth").onchange = display_nights_count;
	document.getElementById("checkoutdateyear").onchange = display_nights_count;
	Calendar.setup({name:'checkindate'});
	Calendar.setup({name:'checkoutdate'});
	display_nights_count();
}
/**
 * Change le mois suivant le  'checkindate' et 'checkoutdate'.
 */
function checkmonth() {
	
	tmpcheckinYear = eval("document.Select_Date.checkindateyear").value;
	tmpcheckinMonth = eval("document.Select_Date.checkindatemonth").value;
	tmecheckinDay = eval("document.Select_Date.checkindateday").value;
	tmpCheckindate = new Date(tmpYear, tmpMonth-1, tmpDay);

	tmpcheckoutYear = eval("document.Select_Date.checkoutdateyear").value;
	tmpcheckoutMonth = eval("document.Select_Date.checkoutdatemonth").value;
	tmpcheckoutDay = eval("document.Select_Date.checkoutdateday").value;
	tmpCheckoutdate = new Date(tmpYear, tmpMonth-1, tmpDay);	
	if ((tmpcheckinMonth*1 >  tmpcheckoutMonth*1) && (tmpcheckinYear*1 == tmpcheckoutYear*1)){
		eval("document.Select_Date.checkoutdatemonth").value = tmpcheckinMonth;
	}
	display_nights_count();
}

