window.onload = function() {
	formResa_dateToForm();
	formResa_updateNbNuit();
	/*formResa_iniNbField(nbAdulteMax, 'formResa_nbAdulte', false);
	formResa_iniNbField(nbEnfantMax, 'formResa_nbEnfant', true);*/
	document.getElementById(jourArriveFieldName).onchange = formResa_dateArriveOnClick;
	document.getElementById(moisArriveFieldName).onchange = formResa_dateArriveOnClick;
	document.getElementById(anneeArriveFieldName).onchange = formResa_dateArriveOnClick;

	document.getElementById(jourDepartFieldName).onchange = formResa_dateDepartOnClick;
	document.getElementById(moisDepartFieldName).onchange = formResa_dateDepartOnClick;
	document.getElementById(anneeDepartFieldName).onchange = formResa_dateDepartOnClick;

	document.getElementById(nbNuitFielName).onchange = formResa_changeNbNuit;
	document.getElementById(nbNuitUpFieldName).onclick = formResa_nbNuitUp;
	document.getElementById(nbNuitDownFieldName).onclick = formResa_nbNuitDown;

	document.getElementById('formResa_calDateArrive').onclick = function() {
		var jour = document.getElementById(jourArriveFieldName).value;
		var mois = document.getElementById(moisArriveFieldName).value;
		var annee = document.getElementById(anneeArriveFieldName).value;
		ds_sh(this, jour, mois, annee, formResa_calDateArrive);
	}

	document.getElementById('formResa_calDateDepart').onclick = function() {
		var jour = document.getElementById(jourDepartFieldName).value;
		var mois = document.getElementById(moisDepartFieldName).value;
		var annee = document.getElementById(anneeDepartFieldName).value;
		ds_sh(this, jour, mois, annee, formResa_calDateDepart);
	}

	document.getElementById('formResa_submit').onclick = function() {
		var jourArrive = document.getElementById(jourArriveFieldName).value;
		var moisArrive = document.getElementById(moisArriveFieldName).value;
		var anneeArrive = document.getElementById(anneeArriveFieldName).value;
		var jourDepart = document.getElementById(jourDepartFieldName).value;
		var moisDepart = document.getElementById(moisDepartFieldName).value;
		var anneeDepart = document.getElementById(anneeDepartFieldName).value;
		var nights = document.getElementById('formResa_nbNuit').value;
		/*var nbAdulte = document.getElementById(nbAdulteFieldName).value;
		var nbEnfant = document.getElementById(nbEnfantFieldName).value;*/
		//window.open("http://www.kyriad-montpellier.com/fr/reservations/etape1.php5?da="+jourArrive+"&ma="+moisArrive+"&aa="+anneeArrive+"&dd="+jourDepart+"&md="+moisDepart+"&ad="+anneeDepart+"&nba="+nbAdulte+"&nbe="+nbEnfant,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=yes, resizable=1, copyhistory=0, menuBar=0, width=800, height=750');
		//window.open("https://secure.diadao-services.com/fr/booking/kyriad-montpellier/step1/new/"+anneeArrive+"-"+moisArrive+"-"+jourArrive+"/"+anneeDepart+"-"+moisDepart+"-"+jourDepart+"/"+nbAdulte+"/"+nbEnfant,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=yes, resizable=1, copyhistory=0, menuBar=0, width=800, height=750');
		/*var nights = 5;*/
		window.open("http://www.secure-hotel-booking.com/auberge-cavaliere/2M8P/search?trackingId=&rate=&url=&arrivalDate="+anneeArrive+"-"+moisArrive+"-"+jourArrive+"&nights="+nights,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=yes, resizable=1, copyhistory=0, menuBar=0, width=800, height=750');
	}
}

var nbNuitMax = 15;
var nbAdulteMax = 2;
var nbEnfantMax = 3;

var formResa_dateToday = new Date();
var formResa_dateArrive = new Date();
var formResa_dateDepart = new Date();
formResa_dateDepart.setTime(formResa_dateDepart.getTime() + (24*3600*1000));
var jourArriveFieldName = 'formResa_jourArrive';
var moisArriveFieldName = 'formResa_moisArrive';
var anneeArriveFieldName = 'formResa_anneeArrive';
var jourDepartFieldName = 'formResa_jourDepart';
var moisDepartFieldName = 'formResa_moisDepart';
var anneeDepartFieldName = 'formResa_anneeDepart';
var nbNuitFielName = 'formResa_nbNuit';
var nbNuitUpFieldName = 'formResa_nbNuitUp';
var nbNuitDownFieldName = 'formResa_nbNuitDown';
var nbAdulteFieldName = 'formResa_nbAdulte';
var nbEnfantFieldName = 'formResa_nbEnfant';

function formResa_dateArriveOnClick()
{
	formResa_formToDate();
	formResa_dateToForm();
	formResa_updateNbNuit();
}

function formResa_dateDepartOnClick()
{
	formResa_formToDate();
	formResa_dateToForm();
	formResa_updateNbNuit();
}

function formResa_formToDate()
{
	var jour = document.getElementById(jourArriveFieldName).value;
	var mois = document.getElementById(moisArriveFieldName).value;
	var annee = document.getElementById(anneeArriveFieldName).value;
	formResa_dateArrive.setDate(jour);
	formResa_dateArrive.setMonth((mois - 1));
	formResa_dateArrive.setFullYear(annee);

	var jour = document.getElementById(jourDepartFieldName).value;
	var mois = document.getElementById(moisDepartFieldName).value;
	var annee = document.getElementById(anneeDepartFieldName).value;
	formResa_dateDepart.setDate(jour);
	formResa_dateDepart.setMonth((mois - 1));
	formResa_dateDepart.setFullYear(annee);
}

function formResa_dateToForm()
{
	var jour = formResa_dateArrive.getDate();
	var mois = formResa_dateArrive.getMonth();
	var annee = formResa_dateArrive.getFullYear();
	formResa_iniJourDateField(jour, mois, annee, jourArriveFieldName);
	formResa_iniMoisDateField(mois, moisArriveFieldName);
	formResa_iniAnneeDateField(annee, anneeArriveFieldName);

	var jour = formResa_dateDepart.getDate();
	var mois = formResa_dateDepart.getMonth();
	var annee = formResa_dateDepart.getFullYear();
	formResa_iniJourDateField(jour, mois, annee, jourDepartFieldName);
	formResa_iniMoisDateField(mois, moisDepartFieldName);
	formResa_iniAnneeDateField(annee, anneeDepartFieldName);
}

function formResa_updateNbNuit()
{
	if (formResa_dateDepart > formResa_dateArrive) {
		if (formResa_dateArrive < formResa_dateToday) {
			formResa_dateArrive.setTime(formResa_dateToday.getTime());
			formResa_dateToForm();
		}
		var nbNuit = (formResa_dateDepart.getTime() - formResa_dateArrive.getTime())/ 1000 / 3600 / 24;
		
		if (nbNuit > nbNuitMax) {
			formResa_dateDepart.setTime(formResa_dateArrive.getTime() + (nbNuitMax * 1000 * 3600 * 24));
			formResa_dateToForm();
			document.getElementById(nbNuitFielName).value = nbNuitMax;
		}
		else { document.getElementById(nbNuitFielName).value = nbNuit; }
	}
	else {
		document.getElementById(nbNuitFielName).value = 1;
		formResa_dateDepart.setTime(formResa_dateArrive.getTime() + (24*3600*1000));
		formResa_dateToForm();
	}
}

function formResa_changeNbNuit()
{
	var nbNuit = document.getElementById(nbNuitFielName).value;
	formResa_dateDepart.setTime(formResa_dateArrive.getTime() + (nbNuit *24 * 3600 *1000));
	formResa_dateToForm();
	formResa_updateNbNuit();
}

function formResa_nbNuitUp()
{
	if (document.getElementById(nbNuitFielName).value < nbNuitMax) {
		formResa_dateDepart.setTime(formResa_dateDepart.getTime() + (24*3600*1000));
		formResa_dateToForm();
		formResa_updateNbNuit();
	}
}

function formResa_nbNuitDown()
{
	if (document.getElementById(nbNuitFielName).value > 0) {
		formResa_dateDepart.setTime(formResa_dateDepart.getTime() - (24*3600*1000));
		formResa_dateToForm();
		formResa_updateNbNuit();
	}
}

function formResa_calDateArrive(d, m, y)
{
	formResa_dateArrive.setDate(d);
	formResa_dateArrive.setMonth((m - 1));
	formResa_dateArrive.setFullYear(y);
	formResa_dateToForm();
	formResa_updateNbNuit();
}

function formResa_calDateDepart(d, m, y)
{
	formResa_dateDepart.setDate(d);
	formResa_dateDepart.setMonth((m - 1));
	formResa_dateDepart.setFullYear(y);
	formResa_dateToForm();
	formResa_updateNbNuit();
}

function formResa_iniJourDateField(day, month, year, fieldName)
{
	if (year < 1000) {
		if (year < 89)	{ year+=2000; }
		else { year+=1900; }
	}
	if (year%4 == 0 && year%100 !=0 || year%400 == 0) fev = 29;
	else fev = 28;

	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	document.getElementById(fieldName).options.length = 0;
	for (var i=0; i<nbJours[month]; i++) {
		var stringDay = formResa_convert2Char(i+1);
		var newDay = new Option(stringDay, stringDay);
		document.getElementById(fieldName).options[i] = newDay;
		if ((i+1) == day) {
			document.getElementById(fieldName).options[i].selected=true;
		}
	}
}

function formResa_iniMoisDateField(month, fieldName)
{
	document.getElementById(fieldName).options.length = 0;
	for (var i=0; i<12; i++) {
		var stringMonth = formResa_convert2Char(i+1);
		var newMonth = new Option(stringMonth, stringMonth);
		document.getElementById(fieldName).options[i] = newMonth;
		if (i == month) {
			document.getElementById(fieldName).options[i].selected=true;
		}
	}
}

function formResa_iniAnneeDateField(year, fieldName)
{
	yearCpt = formResa_dateToday.getFullYear();
	document.getElementById(fieldName).options.length = 0;
	for (var i=0; i<2; i++) {
		var newYear = new Option(yearCpt, yearCpt);
		document.getElementById(fieldName).options[i] = newYear;
		if (yearCpt == year) {
			document.getElementById(fieldName).options[i].selected=true;
		}
		yearCpt++;
	}
}

function formResa_iniNbField(nbMax, fieldName, firstEmpty)
{
	document.getElementById(fieldName).options.length = 0;
	if (firstEmpty) { nbMax++;}
	for (var i=0; i<nbMax; i++) {
		if (firstEmpty) {
			if (i == 0) { stringNb = ''; }
			else { var stringNb = formResa_convert2Char(i); }
		}
		else { var stringNb = formResa_convert2Char(i+1); }
		var newNb = new Option(stringNb, stringNb);
		document.getElementById(fieldName).options[i] = newNb;
	}
}

function formResa_convert2Char(strTconv)
{
	if (strTconv < 10) { var strConv = '0'+strTconv; }
	else { var strConv = strTconv; }
	return(strConv);
}
