/*****
 * Copyright © FASTBOOKING  2000-2006
 * 26/07/2006
*/

var FBRESA = "http://www.fastbookings.biz/DIRECTORY/";


// Form: show arrival date
// this function to replace the traditional start function
// in this case no update is required every year.
function start() {
var nbm = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
jour = 7;
	
build_year_select();

MD = new Date();
	
nday = MD.getDate();
aday = MD.getDay();
amois = MD.getMonth();
ayear = takeYear(MD);
cur_year = ayear;
		
nday += jour;

if(nday > nbm[amois])
{   		
	nday -= nbm[amois];
	amois++;
	if(amois > 11) { 
		ayear++;
		amois = 0;
	} 
}
	
indexDay = nday - 1;
indexMois = amois;
indexYear = ayear - cur_year;
	
if(indexDay < 0 || indexDay > 30)
	indexDay = 0;
if(indexMois < 0 || indexMois > 11)
	indexMois = 0;
if(indexYear < 0 || indexYear > 1)
	indexDay = 0;

document.idForm.fromday.selectedIndex = indexDay;
document.idForm.frommonth.selectedIndex = indexMois;
document.idForm.fromyear.selectedIndex = indexYear;

update_departure();
}

// search availabilities for selected promotions
function hhotelSearchPromo(cluster, lg, theme)
{
	hhotelSearch(cluster, lg, "", "", "", theme, "");
}

// Main Search function
function hhotelSearch(cluster, lg, price, nights, title, theme, args)
{
	var waction = FBRESA + "crs.phtml?clusterName="+cluster;
	if (lg != "") waction += "&langue="+lg;
	if (price != "") waction += "&FSTBKNGCode="+price;
	if (nights != "") waction += "&nights="+nights;
	if (title != "") waction += "&title="+escape(title);
	if (theme != "") waction += "&theme="+theme;
	if (args != "" && (args.indexOf("=")!= -1) ) waction += "&"+args;
	window.open(waction,"search","toolbar=no,width=800,height=550,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}


///////////////////////////////////////////////////////////////////////////////////////
// Form functions
// Simple form validation (used for compatibility issues)
function hhotelDispoprice(myForm)
{
	hhotelFormValidation(myForm, 0);
}

// Form validation with control
function hhotelFormValidation(myForm, mandatoryCode){
	if (mandatoryCode == 1 && myForm.AccessCode.value == "") {
		alert("You must type in your code ID");
		return (false);
	}
	var languetype = typeof myForm.action;
	myForm.action = FBRESA + "dispoprice.phtml";
	window.open('','dispoprice', 'toolbar=no,width=800,height=550,menubar=no,scrollbars=yes,resizable=yes');
	myForm.submit();
	return (true);
}

// Form: update the selected hotel name
function hhotelFormUpdateHotelnames(myForm)
{
	menuNum = myForm.HotelList.selectedIndex;
	if (menuNum == null)
		return;
	myForm.Hotelnames.value = myForm.HotelList.options[menuNum].value;
}

// Form: show the cancel page
function hhotelFormCancel(myForm){
	var CName = myForm.Hotelnames.value;
	var languetype = typeof myForm.langue;
	var langue;
	if (languetype == "undefined")
		langue = "";
	else
		langue = myForm.langue.value;
	if (CName == null || CName == 'All' || CName == ''){ alert('Please select a hotel first'); return (false); }
	return hhotelcancel(CName, langue);
}



//
// build year select
function build_year_select() {
		
var cur_date = new Date();
var cur_year = takeYear(cur_date);
	
cur_y = new Option(cur_year, cur_year, true, true);
document.idForm.fromyear.options[0] = cur_y;
if(document.idForm.toyear != null) {
	cur_yb = new Option(cur_year, cur_year, true, true);
	document.idForm.toyear.options[0] = cur_yb;
}
	
next_y = new Option(cur_year + 1, cur_year + 1, false, false);
document.idForm.fromyear.options[1] = next_y;
next_yb = new Option(cur_year + 1, cur_year + 1, false, false);
if(document.idForm.toyear != null) {
	document.idForm.toyear.options[1] = next_yb;
	}
}
	
// check departure date to arrival date + 1 day (every time the arrival date is changed)
function check_departure() {
	
	if(document.idForm.today != null) {
		var nbm = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
		
		var ar_day = parseInt(document.idForm.fromday.value) + 1;
		var ar_month = parseInt(document.idForm.frommonth.value);
		var ar_year = parseInt(document.idForm.fromyear.value);
				
		if(ar_day > nbm[ar_month - 1]) {
			ar_day = 1;
			ar_month += 1;
			if(ar_month > 12) {
				ar_month = 1;
				ar_year += 1;
			}
		}
				
		var cur_date = new Date();
		var cur_year = takeYear(cur_date);
		
		document.idForm.today.selectedIndex = ar_day - 1;
		document.idForm.tomonth.selectedIndex = ar_month - 1;
		document.idForm.toyear.selectedIndex = ar_year - cur_year;
	}
}

// update departure : check 
function update_departure() {
	
	if(document.idForm.today != null) {
		
		var ar_day = parseInt(document.idForm.fromday.value) + 1;
		var ar_month = parseInt(document.idForm.frommonth.value);
		var ar_year = parseInt(document.idForm.fromyear.value);
				
		var de_day = parseInt(document.idForm.today.value) + 1;
		var de_month = parseInt(document.idForm.tomonth.value);
		var de_year = parseInt(document.idForm.toyear.value);
		
		if(de_year < ar_year) {
			check_departure();
		} else {
			if(de_year == ar_year) {
				if(de_month < ar_month) {
					check_departure();
				} else {
					if(de_month == ar_month) {
						if(de_day <= ar_day) {
							check_departure();
						}
					}
				}
			}
		}
				
	}
}


function takeYear(theDate)
{
        x = theDate.getYear();
        var y = x % 100;
        y += (y < 38) ? 2000 : 1900;
        return y;
}

