$(document).ready(function(){
	$('form.resForm, a.resFormSubmit').bind('submit', function(e){
		var hotel        = $('form.resForm select[name=HotelList] option:selected').attr('value').length;
		var actionTarget = $('form.resForm').attr('action');

		if(hotel == 0) {
			alert('Bitte wählen Sie ein Hotel!');
			return false;
		}
	});
	

	$('a.resFormSubmit').bind('click', function(e){
		e.preventDefault();

		var hotel        = $('form.resForm select[name=HotelList] option:selected').attr('value').length;
		var actionTarget = $('form.resForm').attr('action');

		if(hotel == 0) {
			alert('Bitte wählen Sie ein Hotel!');
			return false;
		} else {
			timestamp       = Number(new Date()); // current time as number
			personen        = $('form.resForm select[name=adulteresa]').val();
			uebernachtungen = $('form.resForm select[name=nbdays]').val();
			checkDatum      =  $('form.resForm select[name=fromday]').val(); + '.' +  $('form.resForm select[name=frommonth]').val(); + '.' +  $('form.resForm select[name=fromyear]').val();;
			
			trackingPixel = '<iframe src="http://gmads.net/pct?gmtevt=8a8386852fe4ed5d012fe8bfdfa300f5&qt=' + personen + '&udp2=' + uebernachtungen + '&udp3=' + hotel + '&udp4=' + checkDatum + '&gmtcl=1&gmtr=' + timestamp + '" style="overflow:hidden" frameborder="0" width="0" height="0"></iframe>';
			
			$('body').append(trackingPixel);
			$('body').animate({opacity: 1}, 500, function() {
				$('form.resForm').submit();
			});
		}
	});
	
	
	$('a.resFormTrackedSubmit').bind('click', function(e){
		e.preventDefault();

		var hotel        = $('form.resForm select[name=HotelList] option:selected').attr('value').length;
		var actionTarget = $('form.resForm').attr('action');

		if(hotel == 0) {
			alert('Bitte wählen Sie ein Hotel!');
			return false;
		} else {
		
			timestamp       = Number(new Date()); // current time as number
			personen        = $('#checkCount').val();
			uebernachtungen = $('#checkDays').val();
			checkDatum      = $('#checkDay').val() + '.' + $('#checkMonth').val() + '.' + $('#checkYear').val();
			
			trackingPixel = '<iframe src="http://gmads.net/pct?gmtevt=8a8386852fe4ed5d012fe8bfdfa300f5&qt=' + personen + '&udp2=' + uebernachtungen + '&udp3=' + hotel + '&udp4=' + checkDatum + '&gmtcl=1&gmtr=' + timestamp + '" style="overflow:hidden" frameborder="0" width="0" height="0"></iframe>';
			
			$('body').append(trackingPixel);
			$('body').animate({opacity: 1}, 500, function() {
				$('form.resForm').submit();
			});
		}
	});
	

	$('form.resForm input, form.resForm select').bind('change', function(){
		var selectedHotel   = $('select[name=HotelList] option:selected').attr('value');
		var hotelAttributes = selectedHotel.split(' ');
		var fastbookUrl     = 'http://www.fastbookings.biz/DIRECTORY/dispoprice.phtml';
		var fidelioUrl      = 'https://www.myfidelio.net/webui/AvailabilitySearch.aspx';
		var trustUrl        = 'http://97.74.7.100/hotel/index.aspx';
		var resForm         = $('form.resForm');

		if(selectedHotel == null) {
			return;
		}

		// Daten auslesen und ggf. für die Kompatiblität zu beiden Anbietern übertragen
		var fromDay    = $('select[name=fromday] option:selected').attr('value');
		var fromMonth  = $('select[name=frommonth] option:selected').attr('value').toString();
		var fromYear   = $('select[name=fromyear] option:selected').attr('value');
		var numberDays = $('select[name=nbdays] option:selected').attr('value').toString();

		if(fromDay.length < 2) var fromDay = '0' + fromDay;

		if(fromMonth.length < 2) {
			var fromMonth        = '0' + fromMonth;
		}
		var arrivalYearMonth = fromYear + fromMonth;

		var arrivalDate     = new Date(fromYear, fromMonth, fromDay);
		var departureString = arrivalDate.getTime() + (numberDays * 24 * 60 * 60 * 1000);
		var departureDate   = new Date(departureString);
		var departureDay    = departureDate.getDay();
		var departureMonth  = departureDate.getMonth().toString();
		var departureYear   = departureDate.getFullYear().toString();

		if(departureMonth.length < 2) {
			var departureMonth = '0' + departureMonth;
		}
		var departureYearMonth = departureYear + departureMonth;

		// Neue Variabeln definieren
		var arrival  = fromYear + '-' + fromMonth + '-' + fromDay;
		var nights   = numberDays;
		var adults   = $('select[name=adulteresa] option:selected').attr('value');
		var children = $('select[name=enfantresa] option:selected').attr('value');

		// Neue Werte setzen
		if($.browser.msie && ($.browser.version <= '7.0')) {
			// Fix für IE6, da Fideleo einen Fehler ausspuckt, wenn wir arrival setzen
			$('input[name=arrival]').attr('value', '');
		} else {
			$('input[name=arrival]').attr('value', arrival);
		}
		$('input[name=nights]').attr('value', nights);
		$('input[name=adults]').attr('value', adults);
		$('input[name=children]').attr('value', children);

	    //$('input[name=ctlSearchRates$ddlbAdults]').attr('value', adults);
	    //$('input[name=ctlSearchRates$ddlbNumberOfRoom]').attr('value', 1);
	    //$('input[name=ctlSearchRates$ddlbChildren]').attr('value', children);

	    $('input[name=Arrival_day]').attr('value', fromDay);
		$('input[name=Arrival_yearmonth]').attr('value', arrivalYearMonth);
		$('input[name=Departure_day]').attr('value', departureDay);
		$('input[name=Departure_yearmonth]').attr('value', departureYearMonth);

		$('input[name=Hotelnames]').attr('value', hotelAttributes[1]);
		$('input[name=property]').attr('value', hotelAttributes[1]);

		if(hotelAttributes[0] == 'fastbook_url') {
			// Fastbooking
			resForm.attr('action', fastbookUrl);
		} else if(hotelAttributes[0] == 'fidelio_url'){
			// Fideleo
			var actionTarget = fidelioUrl + '?chain=IBER&property=' + hotelAttributes[1] + '&language=DE';
			resForm.attr('action', actionTarget);
		} else {
			// Trust
			var actionTarget = trustUrl + '?language=DE';
			resForm.attr('action', actionTarget);
		}
	});

});

/*
// Form: update the selected hotel name
// modified in 20th Feb 2008 RpD Author: dm
function hhotelFormUpdateHotelnames(myForm) {
	menuNum = myForm.HotelList.selectedIndex;
	if (menuNum == null)
		return;
	var t = myForm.HotelList.options[menuNum].value.split(" ");

	if (t[0] == 'fastbook_url') {
		myForm.action           = myForm.fastbook_url.value;
		myForm.Hotelnames.value = t[1];
	} else {
		// Fidelio
		var fromDay    = myForm.fromday.options[myForm.fromday.selectedIndex].value;
		var fromYear   = myForm.fromyear.options[myForm.fromyear.selectedIndex].value;
		var fromMonth  = myForm.frommonth.options[myForm.frommonth.selectedIndex].value.toString();
		var numberDays = myForm.nbdays.options[myForm.nbdays.selectedIndex].value.toString();

		if(fromMonth.length < 2) var fromMonth = '0' + fromMonth;
		if(fromDay.length < 2) var fromDay = '0' + fromDay;

		if (fromMonth.length < 2) {
			var arrivalYearMonth = fromYear + '0' + fromMonth;
		} else {
			var arrivalYearMonth = fromYear + fromMonth;
		}

		var arrivalDate     = new Date(fromYear, fromMonth, fromDay);
		var departureString = arrivalDate.getTime() + (numberDays * 24 * 60 * 60 * 1000);
		var departureDate   = new Date(departureString);
		var departureDay    = departureDate.getDay();
		var departureMonth  = departureDate.getMonth().toString();
		var departureYear   = departureDate.getFullYear().toString();

		if (fromMonth.length < 2) {
			var departureYearMonth = departureYear + '0' + departureMonth;
		} else {
			var departureYearMonth = departureYear + departureMonth;
		}

		// Neue Variabeln definieren
		var arrival  = fromYear + '-' + fromMonth + '-' + fromDay;
		var nights   = numberDays;
		var adults   = myForm.nbdays.options[myForm.adulteresa.selectedIndex].value;
		var children = myForm.nbdays.options[myForm.enfantresa.selectedIndex].value;

		myForm.arrival.value  = arrival;
		myForm.nights.value   = nights;
		myForm.adults.value   = adults;
		myForm.children.value = children;

		// Overwrite form elements for Fidelio
		myForm.Arrival_day.value         = fromDay;
		myForm.Arrival_yearmonth.value   = arrivalYearMonth;
		myForm.Departure_day.value       = departureDay;
		myForm.Departure_yearmonth.value = departureYearMonth;

		//myForm.action =	myForm.fidelio_url.value + '?chain=IBER&property=' + t[1] + '&language=DE'
		//	+ '&Arrival_day='	+ fromDay + '&Arrival_yearmonth=' + arrivalYearMonth
		//	+ '&Departure_day='	+ departureDay + '&Departure_yearmonth=' + departureYearMonth;
		var actionTarget = myForm.fidelio_url.value + '?chain=IBER&property=' + t[1] + '&language=DE';
		myForm.action = actionTarget;
	}
}
*/



/*****
 * Copyright � FASTBOOKING  2000-2003
 *
*/

var FBRESA = "http://www.fastbookings.biz/DIRECTORY/";


// standard booking function
function hhotelPTC(cname, lg, codeprice, codetrack, cluster)
{
	hhotelResa(cname, lg, codeprice, "", "", codetrack, cluster, "", "")
}

// standard promotion function
function hhotelPromo(cname, lg, theme)
{
	hhotelResa(cname, lg, "DYNPROMO", "", "", "", "", theme, "")
}

// reservation page WITHOUT the individual access
function hhotelNegociated(cname, lg, codeprice, codetrack, cluster)
{
	hhotelResa(cname, lg, codeprice, "", "", codetrack, cluster, "", "negociated=1");
}

// standard search availabilities in a group
function hhotelSearchGroup(cluster, lg, price, nights, title)
{
	hhotelSearch(cluster, lg, price, nights, title, "", "");
}

// standard search availabilities in a group for a partner
function hhotelSearchPartner(cluster, lg, price, codetrack, title)
{
	if (codetrack != "") args = "&from="+codetrack;
	else	args = "";
    hhotelSearch(cluster, lg, price, "", title, "", args);
}

// search by giving the initial date
function hhotelSearchPriceDate(cluster, price, nights, title, firstdate)
{
	// firstdate : format "YYMMDD"
	var args="";
	if (firstdate != "") args = "FirstDate="+firstdate;
	hhotelSearch(cluster, "", price, nights, title, "", args);
}

// search availabilities for selected promotions
function hhotelSearchPromo(cluster, lg, theme)
{
	hhotelSearch(cluster, lg, "", "", "", theme, "");
}

// search availabilities with Extra Field
function hhotelSearchExtra(cluster, lg, price, codetrack, extratitle, extraval, extrashow)
{
	var args = "Extrafield=" + escape(extratitle) + ";" + extraval + ";" + extrashow;
	if (codetrack != "") args += "&from="+codetrack;
	hhotelSearch(cluster, lg, price, "", "", "", args);
}

// go to the cancel reservation page
function hhotelcancel(cname,lg)
{
	var waction = FBRESA + "cancel.phtml?state=77&Hotelnames="+cname;
	if (lg != "") waction += "&langue="+lg;
	window.open(waction,"reservation","toolbar=no,width=400,height=350,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}

// go to the extract reservation page
function hhotelExtract(cname, lg)
{
	var waction = FBRESA + "getresa.phtml?Hotelnames="+cname+"&langue="+lg;
	window.open(waction, 'getresa', 'toolbar=no,width=700,height=300,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes');
   return false;
}

// check interface
function hhotelcheckrates(cname, lg)
{
	var waction = FBRESA + "crs.phtml?clusterName="+cname;
	if (lg != "") waction += "&langue="+lg;
	waction += "&checkPromo=1";
	window.open(waction,"search","toolbar=no,width=800,height=550,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}


// Main standard reservation function
function hhotelResa(cname, lg, codeprice, firstroom, firstdate, codetrack, cluster, theme, args)
{
	var waction = FBRESA+"preresa.phtml?Hotelnames="+cname;
	if (lg != "") waction += "&langue="+lg;
	if (firstroom != "") {
		waction += "&FirstRoomName="+firstroom;
		if (codeprice == "")
			codeprice = "DIRECT";
		}
	if (firstdate != "") {
		waction += "&FirstDate="+firstdate;
		if (codeprice == "")
			codeprice = "DIRECT";
		}
	if (codeprice != "") waction += "&FSTBKNGCode="+codeprice;
	if (codetrack != "") waction += "&FSTBKNGTrackLink="+codetrack;
	if (cluster != "") waction += "&clustername="+cluster;
	if (theme != "") waction += "&theme="+theme;
	if (args != "" && (args.indexOf("=")!= -1) ) waction += "&"+args;
	waction += "&HTTP_REFERER="+escape(document.location.href);
	window.open(waction,"reservation","toolbar=no,width=400,height=350,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}

// 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");
}

// Main Search function for Multi Codes
function hhotelSearchMultCode(cluster, lg, clecode, title, codetrack)
{
	var waction = FBRESA + "crs.phtml?clusterName="+cluster;
	if (lg != "") waction += "&langue="+lg;
	if (clecode != "") waction += "&AccessCode="+clecode;
	if (title != "") waction += "&title="+escape(title);
	if (codetrack != "") waction += "&FSTBKNGTrackLink="+codetrack;
	waction += "&crossSelling=NO"; // CROSS SELLING DESACTIVATED
	window.open(waction,"search","toolbar=no,width=800,height=550,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}
// Main Search function for Cross Selling

function hhotelSearchCrossSell(cluster, lg, codetrack, crossSelling)
{
	var waction = FBRESA + "crs.phtml?clusterName="+cluster;
	if (lg != "") waction += "&langue="+lg;
	if (codetrack != "") waction += "&FSTBKNGTrackLink="+codetrack;
	if (crossSelling != "") waction += "&crossSelling="+crossSelling;
	window.open(waction,"search","toolbar=no,width=800,height=550,menubar=no,scrollbars=yes,resizable=yes,alwaysRaised=yes");
}
// MAIN AVAILABILITY CHECK
function hhotelDispopriceFHP(cname, lg, codetrack, year, month, day, nights, currency)
{
	var waction = FBRESA+"dispoprice.phtml?clusterName="+cname+"&Hotelnames="+cname;
	if (lg != "") waction += "&langue="+lg;
	if (codetrack != "") waction += "&FSTBKNGTrackLink="+codetrack;
	if (year != "") waction += "&fromyear="+year;
	if (month != "") waction += "&frommonth="+month;
	if (day != "") waction += "&fromday="+day;
	if (nights != "") waction += "&nbdays="+nights;
	if (currency != "") waction += "&CurrencyLabel="+currency;
	waction += "&showPromotions=3";
	window.open(waction,"reservation","toolbar=no,width=750,height=600,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: 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);
}

// Form: show the extract page
function hhotelFormExtract(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 hhotelExtract(CName, langue);
}

// Form: show languages

function hhotelShowLang(lang)
{
	hhotelShowLang__(this.document, lang);
}
function hhotelShowLangOpener(lang)
{
	hhotelShowLang__(window.opener.document, lang);
	window.close();
}
function hhotelShowLang__(mydoc, lang)
{
	mydoc.idForm.langue.value=lang;

	var imgLang = hhotelLang2Img(lang);
	if (imgLang != "") {
		var formFlag = mydoc.selLgFlag;
		if (formFlag != null)
			mydoc.selLgFlag.src= "fastbooking/flags/"+imgLang+".gif";
		var formFlag = mydoc.selLgTxt;
		if (formFlag != null)
			mydoc.selLgTxt.src= "fastbooking/flags/"+imgLang+"lg.gif";
	}
}

// FastBooking language and image code
var FBLangCode = new Array (
	"uk", "france", "germany", "spain", "portuguese", "italy", "nether", "russian",
	"dansk", "svensk", "islensk", "norsk", "turk", "hungria", "greek", "arab",
	"china", "coreen", "japan","croate","czech","poland");
var FBLangImg = new Array (
	"grandbret", "france", "germany", "spain", "portuguese", "italy", "nether", "russia",
	"denmark", "sweeden", "iceland", "norway", "turkey", "hungary", "greek", "arab",
	"china", "coreen", "japan","croate","czech","poland");
function hhotelLang2Img(lang)
{
	for(i = 0; i < FBLangCode.length; i++) {
		if (FBLangCode[i] == lang)
			break;
	}
	return FBLangImg[i];
}

function hhotelLangSelector()
{
	window.open('fastbooking/flags/langSelector.html', '', 'width=330,height=180');
}


var langcodes = new Array("en", "uk", "fr", "france", "de", "germany", "es", "spain ", "pt", "portuguese", "it", "italy", "nl", "nether", "ja", "japan ", "ko", "coreen", "zh", "china", "ar", "arab", "ru", "russian", "tr", "turk", "el", "greek", "hu", "hungria", "da", "dansk", "sv", "svensk", "is", "islensk", "no", "norsk", "hr", "croate", "cs", "czech", "pl", "poland", "iw", "hebrew");

function selectLang()
{

if(navigator.appName == "Microsoft Internet Explorer") UL = navigator.userLanguage.substring(0, 2);
else if(navigator.appName == "Netscape") UL = navigator.language;
else return;

for(i = 0; i < langcodes.length; i += 2)
	if(UL == langcodes[i])
		break;

lang = (i < langcodes.length) ? langcodes[i+1] : "uk";
hhotelShowLang(lang);
}

// Form: show arrival date

function start()
{

var nbm = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];

jour = 7;

MD=new Date();

nday=MD.getDate();
aday=MD.getDay();
amois=MD.getMonth();
ayear=MD.getYear();


nday += jour;

if(nday > nbm[amois])
{
	nday -= nbm[amois];
	amois++;
	if(amois > 11) { ayear++; amois = 0; } }

document.idForm.fromday.selectedIndex = nday-1;
document.idForm.frommonth.selectedIndex = amois;
document.idForm.fromyear.selectedIndex = ayear-2005;

}
