String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

var chkerr = new Array();

chkerr[0] = lang["js_hotel_emptydepdate"];
chkerr[1] = lang["js_hotel_baddepdate"];
chkerr[2] = lang["js_hotel_emptyretdate"];
chkerr[3] = lang["js_hotel_badretdate"];
chkerr[4] = lang["js_hotel_retdateantdepdate"];
chkerr[5] = lang["js_hotel_depdateistoday"];
chkerr[6] = lang["js_hotel_depdatebeforetoday"];
chkerr[7] = lang["js_hotel_emptycity"];

function displayAges(roomnb,nbchilds) {
	if (nbchilds==0)
		document.getElementById("room"+roomnb+"ages").style.display = "none";
	else {
		document.getElementById("room"+roomnb+"ages").style.display = "inline";
		for (var i=4; i>nbchilds; i--) {
			document.getElementById("room"+roomnb+"age"+i).style.display = "none";
		}
		for (var i=nbchilds; i>0; i--) {
			document.getElementById("room"+roomnb+"age"+i).style.display = "inline";
		}
	}
}

function displayRoomFields(nbrooms) {
	for(var i=3; i>nbrooms; i--) {
		document.getElementById("room"+i+"fields").style.display = "none";
	}
	for(var i=nbrooms; i>0; i--) {
		document.getElementById("room"+i+"fields").style.display = "block";
	}
}

function showHideOptions() {
	var moreoptions = document.getElementById("moreoptions");
	var optImg = document.getElementById("optImg");
	if (moreoptions.style.display=='none') {
		optImg.src = optImg.src.replace('plus.gif','moins.gif');
		moreoptions.style.display='block';
	}
	else {
		optImg.src = optImg.src.replace('moins.gif','plus.gif');
		moreoptions.style.display='none';
	}
}

function checkfields() {
	var valid = true;
	var err = "";
	var city = document.hotelSearch.city.value;
	city = city.trim();
	var date1 = document.hotelSearch.dateStart.value;
	date1 = date1.trim();
	var date2 = document.hotelSearch.dateEnd.value;
	date2 = date2.trim();
	var now = new Date();
	/*now.setHours(0);
	now.setMinutes(0);
	now.setSeconds(0);*/
	now = new Date(now.getFullYear(),now.getMonth(),now.getDate());
	
	if (city.length == 0) {
		err += chkerr[7];
		valid = false;
	}
	if (date1.length == 0) {
		err += chkerr[0];
		valid = false;
	}
	else {
		var date1Obj = checkDate(date1);
		if (!date1Obj) {
			err += chkerr[1];
			valid = false;
		}
		/*else if (date1Obj.getTime() == now.getTime()) {
			if (!confirm(chkerr[5])) valid = false;
		}*/
		else if (date1Obj.getTime() < now.getTime()) {
			err += chkerr[6];
			valid = false;
		}
	}
	/*else if (date1.length == 10) {
		day1 = date1.substring(0,2);
		month1 = date1.substring(3,5);
		year1 = date1.substring(6);
		firstS = date1.substring(2,3);
		lastS = date1.substring(5,6);
		if (firstS != "/" || lastS != "/" || isNaN(day1) || isNaN(month1) || isNaN(year1)) {
			err += chkerr[1];
			valid = false;
		}
		else if (new Date(year1, month1-1, day1) < now) {
			if (now.getDate() == day1 && now.getMonth() == month1-1 && now.getFullYear() == year1) {
				if (!confirm(chkerr[5]))
					valid = false;
			}
			else {
				err += chkerr[6];
				valid = false;
			}
		}
	}
	else {
		err += chkerr[1];
		valid = false;
	}*/
	if (date2.length == 0) {
		err += chkerr[2];
		valid = false;
	}
	/*else if (date2.length == 10) {
		day2 = date2.substring(0,2);
		month2 = date2.substring(3,5);
		year2 = date2.substring(6);
		firstS = date2.substring(2,3);
		lastS = date2.substring(5,6);
		if (firstS != "/" || lastS != "/" || isNaN(day2) || isNaN(month2) || isNaN(year2)) {
			err += chkerr[3];
			valid = false;
		}
		if (new Date(year1, month1-1, day1)>new Date(year2, month2-1, day2)) {
			err += chkerr[4];
			valid = false;
		}
	}
	else {
		err += chkerr[3];
		valid = false;
	}*/
	else {
		var date2Obj = checkDate(date2);
		if (!date2Obj) {
			err += chkerr[3];
			valid = false;
		}
		if (date1Obj.getTime()>date2Obj.getTime()) {
			err += chkerr[4];
			valid = false;
		}
	}
	if (valid) {
		var send = document.getElementById("send");
   	document.hotelSearch.submit();
	}
	else
		document.getElementById("status").innerHTML = err;
}

//existe deja dans les lib JS ...
/*function isNaN(totest) {
	compare = "0123456789";
	for (var i=0; i < totest.length; i++) {
		var zob = totest.substring(i,i+1);
		if (compare.indexOf(zob)==-1)
			return true;
	}
	return false;
}*/

function doUp(keyUp) {
	//enter
	if (keyUp == 13) {
		if (!autocompl || (autocompl && airport.length == 0))
			checkfields();
	}
}

//rewrite

//INIT DU CALENDAR
/*var CL = new GnooCalendar("CL", 0, 1 );
var CL2 = new GnooCalendar("CL2", 0, 1 );

function initCalendarWithMonth(month1,month2) {
	initCalendar();
	CL.setHiddenMonth(Number(month1)-1);
	CL2.setHiddenMonth(Number(month2)-1);
}

function initCalendarMonths(year1,month1,year2,month2)
{
	initCalendar();
	CL.setHiddenMonth(Number(month1)-1);
	CL2.setHiddenMonth(Number(month2)-1);
	CL.setHiddenYear(Number(year1));
	CL2.setHiddenYear(Number(year2));
}

function initCalendar() {
	CL.init("calend", document.forms["hotelSearch"].elements["dateStart"]);
	//CL.isDragable(true);
	CL.setTitle(lang["js_depcalendar"]);
	CL2.init("calend2", document.forms["hotelSearch"].elements["dateEnd"]);
	//CL2.isDragable(true);
	CL2.setTitle(lang["js_retcalendar"]);
}*/

function checkDate(date) {
	//var dateArr = date.split("/");
	//if (dateArr.length==3 && dateArr[2].length==4 && dateArr[1].length==2 && dateArr[0].length==2 && !isNaN(dateArr[2]) && !isNaN(dateArr[1]) && !isNaN(dateArr[0])) 
	if (date.length == 10) {
		var day = date.substring(0,2);
		var firstS = date.substring(2,3);
		var month = date.substring(3,5);
		var lastS = date.substring(5,6);
		var year = date.substring(6);
		if (firstS == "/" && lastS == "/" && !isNaN(day) && !isNaN(month) && !isNaN(year)) // return new Array(dateArr[0],dateArr[1],dateArr[2]);
		return new Date(Number(year),Number(month)-1,Number(day));
	}
	return false;
}

function compareDates(date1,date2) {
	//date2 doit etre superieur à date1 sinan return false;
	if (date1>date2) return false;
	return true;
}
