var oldInDate;
var oldOutDate;
function updateInDateOrOutDate(dateType) {
	 //alert("=>updateInDateOrOutDate");
	var currentBeginDate = document.getElementById("byDayBeginDate").value;
	var currentEndDate = document.getElementById("byDayEndDate").value;
	// alert("currentBeginDate:" + currentBeginDate);
	// alert("dateType:" + dateType);
	if (dateType == 'inDate' && !isValidDDSlashMMSlashYYYYDate(currentBeginDate)) {
		alert("merci de préciser une date de début valide");
		document.getElementById('byDayBeginDate').value = oldInDate;
		return;
		// updateInDateOrOutDate('outDate');
	} else {

		if (!isValidDDSlashMMSlashYYYYDate(currentEndDate)) {
			alert("merci de préciser une date de fin valide");
			document.getElementById('byDayEndDate').value = oldOutDate;
			// updateInDateOrOutDate('inDate');
			return;
		} else {
			var inDate = new Date();
			try {
				inDate = buildDDSlashMMSlashYYYYDate(currentBeginDate);
			} catch (excInParseBeginDate) {
			}
			var outDate = new Date();
			try {
				outDate = buildDDSlashMMSlashYYYYDate(currentEndDate);
			} catch (excInParseEndDate) {
			}
			var nbDay = nbDays(inDate, outDate);
			var nightsNumber = document.getElementById("nightsNumber");
			if (nightsNumber != null) {
				var currentNightsCount = parseInt(nightsNumber.value);
			}

			try {
				var nbDayInt = parseInt(nbDay);
				if (dateType == 'inDate') {

					// on a changé la date d'arrivée on change la date de départ
					var currentBeginDateInDate = buildDDSlashMMSlashYYYYDate(currentBeginDate);
					var outDateValue = addDays(currentBeginDateInDate,currentNightsCount);
					var formattedOutDateValue = getDDSlashMMSlashYYYYFromDate(outDateValue);
					document.getElementById("byDayEndDate").value = formattedOutDateValue;
					oldInDate = document.getElementById("byDayBeginDate").value;
					oldOutDate = document.getElementById("byDayEndDate").value;
				} else {
					if (true || dateType == 'outDate') {
						// on a changé la date de départ on change le nombre de
						// nuits
						if (nbDayInt > 0 && inDate < outDate) {
							while (setSelectValueById("nightsNumber", nbDayInt) == false) {
								addNights();
							}
						} else {
							alert('ATTENTION ! La date de fin doit être postérieure à la date de début !');
							var outDateValue = addDays(buildDDSlashMMSlashYYYYDate(document.getElementById("byDayBeginDate").value),parseInt(document.getElementById("nightsNumber").value));
							var formattedOutDateValue = getDDSlashMMSlashYYYYFromDate(outDateValue);
							document.getElementById("byDayEndDate").value = formattedOutDateValue;
							oldInDate = document.getElementById("byDayBeginDate").value;
							oldOutDate = document.getElementById("byDayEndDate").value;
						}
					}
				}

				//setWeekDayName(); //reactiver si on souhaite afficher les libelles des jours

			} catch (exception) {

			}
		}
	}
}

function setWeekDayName() {
	var inDate = buildDDSlashMMSlashYYYYDate(document.getElementById("byDayBeginDate").value);
	var outDate = buildDDSlashMMSlashYYYYDate(document.getElementById("byDayEndDate").value);
	document.getElementById("inDateWeekDayNameDiv").innerHTML = getDayName(inDate);
	document.getElementById("outDateWeekDayNameDiv").innerHTML = getDayName(outDate);
}

function addNights() {
	var nightsNumberSelect = document.getElementById("nightsNumber");
	var nightsNumberSelectSize = nightsNumberSelect.options.length;
	var optionMoreNight = nightsNumberSelect.options[nightsNumberSelectSize - 1];
	for (i = nightsNumberSelectSize - 1; i < nightsNumberSelectSize + 4; i++) {
		nightsNumberSelect.options[i] = new Option((i + 1) + " nuits", i + 1);
	}
	nightsNumberSelect.options[nightsNumberSelect.options.length] = optionMoreNight;
	nightsNumberSelect.options.selectedIndex = nightsNumberSelectSize - 1;
}

function changeNbNight() {
	var nightsNumberSelect = document.getElementById("nightsNumber");
	var numberOfNight = nightsNumberSelect.value;
	if (parseInt(numberOfNight) > 0) {
		var outDateValue = addDays(buildDDSlashMMSlashYYYYDate(document
				.getElementById("byDayBeginDate").value), numberOfNight);
		var formattedOutDateValue = getDDSlashMMSlashYYYYFromDate(outDateValue);
		document.getElementById("byDayEndDate").value = formattedOutDateValue;
		//setWeekDayName();// update days label
		//reactiver ligne ci-dessus si on souhaite afficher les libelles des jours
	} else {
		addNights();
		changeNbNight();
	}

}
