
// Functions required by Fusion
// Mostly by Javascript kung-fu master Richard Smith
// (c) Copyright Traveltek 2007-2008

// CHANGE THE DAY DROPDONW TO THE RIGHT NUMBER OF DAYS FOR THE SELECTED MONTH
function changedays() {
	var days = new Array("","31","28","31","30","31","30","31","31","30","31","30","31");

	var monthyear = document.getElementById("monthyear").value;
	var datearray = monthyear.split("_");

	if (datearray[0].substr(0,1) == "0") {
		datearray[0] = datearray[0].substr(1,1);
	}

	if (datearray[1] == "2008") {
		days[2]++;
	}

	box = document.getElementById("day");
	var remember = box.value;
	var size = box.options.length;
	for (i = size; i >= 1; i--) {
		box.options[i] = null;
	}

	var padnum;
	for ( i = 1; i <= days[datearray[0]]; i++ ) {
		if (i < 10) { padnum = '0' + i; } else { padnum = i; }
		option = new Option( padnum, padnum );
		box.options[box.length] = option;

		if (padnum == remember) {
			box.options[box.length-1].selected = true;
		}
	}

}

// EMPTY A DROPDOWN
function emptyList( box, start ) {

	if (box) {
		if (box.options) {
			var size = box.options.length;
			var current = box.value;

			for (i = size; i >= start; i--) {
				box.options[i] = null;
			}

			return current;
		}
	}

}

// FILL A DROPDOWN
function fillList( box, arr, selecteditem ) {
	for ( i = 0; i < arr[0].length; i++ ) {
		option = new Option( arr[0][i], arr[1][i] );
		box.options[box.length] = option;
	}
	if (selecteditem) {
		box.value = selecteditem;
	} else {
		box.value = "";
	}
}

// UPDATE THE SHIPS LIST
function updateships( box, selecteditem ) {

	var selectedindex;
	if (!selecteditem) {
		if (document.all) {
			selectedindex = document.getElementById("shipid").selectedIndex;
		} else {
			selecteditem = document.getElementById("shipid").value;
		}
	}

	if (box.value == "") {
		list = allships[0];
		emptyList( document.getElementById("shipid"), 1 );
		fillList( document.getElementById("shipid"), list, selecteditem );
	} else {
		list = ships[box.options[box.selectedIndex].value];
		emptyList( document.getElementById("shipid"), 1 );
		fillList( document.getElementById("shipid"), list, selecteditem );
	}

	if (!selecteditem) {
		document.getElementById("shipid").selectedIndex = selectedindex;
	}

	updateregions(box, document.getElementById("regionid").value);
}

// UPDATE THE CRUISE LIST (USED IN EXTRANET UGC SYSTEM)
function updatecruises( box, selecteditem ) {
	if (box.value != "") {
		list = cruises[box.options[box.selectedIndex].value];
		emptyList( document.getElementById("cruiseid"), 1 );
		fillList( document.getElementById("cruiseid"), list, selecteditem );
	}
}

// UPDATE THE REGIONS LIST
function updateregions(box, selecteditem ) {
	if (!selecteditem) {
		selecteditem = '';
	}

	if (box.value == "") {
		list = allregions[0];
		emptyList( document.getElementById("regionid"), 1 );
		fillList( document.getElementById("regionid"), list, selecteditem );
	} else {
		if (box.id == "lineid") {
			list = lineregions[box.options[box.selectedIndex].value];
			emptyList( document.getElementById("regionid"), 1 );
			if (list) {
				fillList( document.getElementById("regionid"), list, selecteditem );
			}
		} else {
			list = shipregions[box.options[box.selectedIndex].value];
			emptyList( document.getElementById("regionid"), 1 );
			if (list) {
				fillList( document.getElementById("regionid"), list, selecteditem );
			}
		}
	}
}

function showhide(item) {

	if (document.getElementById(item).checked == true) {
		document.getElementById(item + 'div').style.display = 'block';
	} else {
		document.getElementById(item + 'div').style.display = 'none';
	}

}

// HIDE SOME CRUISE ADD ON EXTRAS DEPENDING ON WHAT WAS CHOSEN
function hideflightdates() {

	var prehotelchecked;
	var posthotelchecked;

	if (document.getElementById('prehotel')) {
		prehotelchecked = document.getElementById('prehotel').checked;
	} else {
		prehotelchecked = document.getElementById('prehotelholder').value;
		if (prehotelchecked == 1) {
			prehotelchecked = true;
		} else {
			prehotelchecked = false;
		}
	}
	if (document.getElementById('posthotel')) {
		posthotelchecked = document.getElementById('posthotel').checked;
	} else {
		posthotelchecked = document.getElementById('posthotelholder').value;
		if (posthotelchecked == 1) {
			posthotelchecked = true;
		} else {
			posthotelchecked = false;
		}
	}

	if (prehotelchecked == true && posthotelchecked == false) {
		document.getElementById('flightdepdivout').style.display = 'none';
		document.getElementById('flightdepdivouttext').style.display = 'block';
		document.getElementById('flightdepdivin').style.display = 'block';
		document.getElementById('flightdepdivintext').style.display = 'none';

	} else if (prehotelchecked == false && posthotelchecked == true) {
		document.getElementById('flightdepdivout').style.display = 'block';
		document.getElementById('flightdepdivouttext').style.display = 'none';
		document.getElementById('flightdepdivin').style.display = 'none';
		document.getElementById('flightdepdivintext').style.display = 'block';

	} else if (prehotelchecked == false && posthotelchecked == false) {
		document.getElementById('flightdepdivout').style.display = 'block';
		document.getElementById('flightdepdivouttext').style.display = 'none';
		document.getElementById('flightdepdivin').style.display = 'block';
		document.getElementById('flightdepdivintext').style.display = 'none';

	} else if (prehotelchecked == true && posthotelchecked == true) {
		document.getElementById('flightdepdivout').style.display = 'none';
		document.getElementById('flightdepdivouttext').style.display = 'block';
		document.getElementById('flightdepdivin').style.display = 'none';
		document.getElementById('flightdepdivintext').style.display = 'block';

	}

}


// IMAGE BROWSER
var currentimage = 0;
function initimagebrowser() {

	if (images) {
		document.getElementById("image").src = images[currentimage];
		document.getElementById("imagelink").href = bigimages[currentimage];
		document.getElementById("currentimage").innerHTML = currentimage + 1;
		document.getElementById("totalimages").innerHTML = images.length;

		if (captions) {
			document.getElementById("caption").innerHTML = captions[currentimage];
			document.getElementById("imagelink").title = captions[currentimage];
		}
	}

}

function nextimage() {

	if (images) {
		currentimage++;

		if (currentimage > images.length - 1) {
			currentimage = 0;
		}

		document.getElementById("image").src = images[currentimage];
		document.getElementById("imagelink").href = bigimages[currentimage];
		document.getElementById("currentimage").innerHTML = currentimage + 1;
		document.getElementById("totalimages").innerHTML = images.length;

		if (captions) {
			document.getElementById("caption").innerHTML = captions[currentimage];
			document.getElementById("imagelink").title = captions[currentimage];
		}
	}

}

function previmage() {

	if (images) {
		currentimage--;

		if (currentimage < 0) {
			currentimage = images.length - 1;
		}

		document.getElementById("image").src = images[currentimage];
		document.getElementById("imagelink").href = bigimages[currentimage];
		document.getElementById("currentimage").innerHTML = currentimage + 1;
		document.getElementById("totalimages").innerHTML = images.length;

		if (captions) {
			document.getElementById("caption").innerHTML = captions[currentimage];
			document.getElementById("imagelink").title = captions[currentimage];
		}
	}

}

// SWITCH DECK PLAN
function changeplan(sessionkey, imagename, caption) {
	document.getElementById("deckplan").src = '/fusion/displaydeckplan.pl?sessionkey=' + sessionkey + '&image=' + imagename + '&caption=' + caption;
}

// SWITCH TAB INTERFACE
function switchtab(tab) {

	if (tab == 'cabingrades') {
		document.getElementById("cabingrades").style.display = 'block';
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("itinerary").style.display = 'none';

		document.getElementById("cabingradesli").className = 'tabon';
		document.getElementById("descripli").className = '';
		document.getElementById("itineraryli").className = '';

	} else if (tab == 'descrip') {
		document.getElementById("cabingrades").style.display = 'none';
		document.getElementById("descrip").style.display = 'block';
		document.getElementById("itinerary").style.display = 'none';

		document.getElementById("cabingradesli").className = '';
		document.getElementById("descripli").className = 'tabon';
		document.getElementById("itineraryli").className = '';

	} else if (tab == 'itinerary') {
		document.getElementById("cabingrades").style.display = 'none';
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("itinerary").style.display = 'block';

		document.getElementById("cabingradesli").className = '';
		document.getElementById("descripli").className = '';
		document.getElementById("itineraryli").className = 'tabon';
	}

}

function changedeckplan(deckid) {

	// Show Deckplan...
	document.getElementById("deckplanimage").src = deckplans[deckid];
	document.getElementById("deckplanname").innerHTML = decknames[deckid];

}

// SHIPS PAGE SWITCH TAB
function switchshiptab(tab) {

	if (tab == 'descrip') {
		document.getElementById("descrip").style.display = 'block';
		document.getElementById("cabintypes").style.display = 'none';
		document.getElementById("facilities").style.display = 'none';
		document.getElementById("shipdecks").style.display = 'none';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = 'tabon';
		document.getElementById("cabintypesli").className = '';
		document.getElementById("facilitiesli").className = '';
		document.getElementById("shipdecksli").className = '';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'cabintypes') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("cabintypes").style.display = 'block';
		document.getElementById("facilities").style.display = 'none';
		document.getElementById("shipdecks").style.display = 'none';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = '';
		document.getElementById("cabintypesli").className = 'tabon';
		document.getElementById("facilitiesli").className = '';
		document.getElementById("shipdecksli").className = '';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'facilities') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("cabintypes").style.display = 'none';
		document.getElementById("facilities").style.display = 'block';
		document.getElementById("shipdecks").style.display = 'none';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = '';
		document.getElementById("cabintypesli").className = '';
		document.getElementById("facilitiesli").className = 'tabon';
		document.getElementById("shipdecksli").className = '';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'shipdecks')	{
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("cabintypes").style.display = 'none';
		document.getElementById("facilities").style.display = 'none';
		document.getElementById("shipdecks").style.display = 'block';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = '';
		document.getElementById("cabintypesli").className = '';
		document.getElementById("facilitiesli").className = '';
		document.getElementById("shipdecksli").className = 'tabon';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'cruises') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("cabintypes").style.display = 'none';
		document.getElementById("facilities").style.display = 'none';
		document.getElementById("shipdecks").style.display = 'none';
		document.getElementById("cruises").style.display = 'block';

		document.getElementById("descripli").className = '';
		document.getElementById("cabintypesli").className = '';
		document.getElementById("facilitiesli").className = '';
		document.getElementById("shipdecksli").className = '';
		document.getElementById("cruisesli").className = 'tabon';
	}

}

// SHIPS PAGE SWITCH TAB
function switchlinetab(tab) {

	if (tab == 'descrip') {
		document.getElementById("descrip").style.display = 'block';
		document.getElementById("ships").style.display = 'none';
		document.getElementById("furtherinfo").style.display = 'none';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = 'tabon';
		document.getElementById("shipsli").className = '';
		document.getElementById("furtherinfoli").className = '';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'ships') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("ships").style.display = 'block';
		document.getElementById("furtherinfo").style.display = 'none';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = '';
		document.getElementById("shipsli").className = 'tabon';
		document.getElementById("furtherinfoli").className = '';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'furtherinfo') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("ships").style.display = 'none';
		document.getElementById("furtherinfo").style.display = 'block';
		document.getElementById("cruises").style.display = 'none';

		document.getElementById("descripli").className = '';
		document.getElementById("shipsli").className = '';
		document.getElementById("furtherinfoli").className = 'tabon';
		document.getElementById("cruisesli").className = '';

	} else if (tab == 'cruises') {
		document.getElementById("descrip").style.display = 'none';
		document.getElementById("ships").style.display = 'none';
		document.getElementById("furtherinfo").style.display = 'none';
		document.getElementById("cruises").style.display = 'block';

		document.getElementById("descripli").className = '';
		document.getElementById("shipsli").className = '';
		document.getElementById("furtherinfoli").className = '';
		document.getElementById("cruisesli").className = 'tabon';

	}

}

// SHOW AGE SELECTIONS FOR CRUISE CHILDREN
function showcruisechildren() {

	var i;

	if (document.getElementById("childline")) {
		document.getElementById("childline").style.display = 'none';
			for (i = 2; i <= 5; i++) {
				document.getElementById("childtext-" + i).style.display = 'none';
				document.getElementById("childdrop-" + i).style.display = 'none';
			}

	}

	if (document.getElementById("children").value > 0) {
		document.getElementById("childline").style.display = 'block';
		document.getElementById("childages").style.display = 'block';
		for (i = 1; i <= document.getElementById("children").value; i++) {
			if (i > 1) {
				document.getElementById("childtext-" + i).style.display = 'block';
				document.getElementById("childdrop-" + i).style.display = 'block';
			}
		}
	}

}

// ITINERARY CONTINUE. NO IDEA WHY.
function itinerarycontinue(checkProfit) {
	//ok let's check that the prices are enough
	//var price = parseFloat( document.getElementById("profit").innerHTML );

	if (checkProfit == '1' && ( parseFloat( document.getElementById("profit").innerHTML ) < 0 )){
		alert("The basket profit is less than 0.");
		//an alternative would be to get all the item-(\d+) elements, sum them and compare them with the profit =Paolo=
	}
	else {
		document.getElementById("itineraryform").submit();
	}

}

// ON STARTUP
function dpinitlists(setcountry, setdestination, setresort, setdepart) {

	var box = document.getElementById("noinitlists");
	if (box) {
		return;
	}

	if (document.getElementById("country")) {
		if (document.getElementById("country").options) {
			dpfillcountry(setcountry);
		}
	}

	if (document.getElementById("destair")) {
		dpfilldestination(setcountry || document.getElementById("country").value, setdestination);
	}

	if (document.getElementById("resort")) {
		dpfillresort(setdestination || document.getElementById("destair").value, setresort);
	}

	if (document.getElementById("depair")) {
		dpfilldepart(setdestination || document.getElementById("destair").value, setdepart);
	}
//alert('init ' + document.getElementById("country").value);
//	dpchangecountry();

}

// WHEN SOMEBODY CHANGES COUNTRY
function dpchangecountry(setcountry, updatelist, setresort) {

	if (updatelist == 'resort') {

		// fill resorts of this country
		dpfillcountryresort(setcountry || document.getElementById("country").value, setresort);

	} else {
		// fill dests of this country
		dpfilldestination(setcountry || document.getElementById("country").value);

		// call dest change
		dpchangedestination();
	}

}

function dpchangedestination() {

	// fill resorts of this dest
	dpfillresort(document.getElementById("destair").value);

	// fill departs of this dest
	dpfilldepart(document.getElementById("destair").value);

}

function dpchangedepair() {

	document.getElementById("from").value = document.getElementById("depair").value;

}

function dpchangefrom() {

	document.getElementById("depair").value = document.getElementById("from").value;

}

function dpfillcountry(setcountry) {

	var box = document.getElementById("country");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	for (var i = 0; i < countrylist.length; i++) {
		option = new Option( countrylist[i], countrylist[i] );
		box.options[box.length] = option;
	}

	setfield("country", setcountry || was);

}

function dpfilldestination(countrysel, setdestination) {

	var box = document.getElementById("destair");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	// Check to see if the country passed in actually exists within the country list, if not, take whatever
	// is in the country list right tnow
	if (!inlist(countrysel, "country")) {
		countrysel = document.getElementById("country").value || document.getElementById("country").options[0].value;
	}

	for (var i = 0; i < destinationlist[countrysel].length; i++) {
		var res = destinationlist[countrysel][i].split(":");

		if (res[1]) {
			option = new Option( res[1], res[0] );
		} else {
			option = new Option( res[0], res[0] );
		}
		box.options[box.length] = option;
	}

	setfield("destair", setdestination || was);

//	box.value = setdestination || was || box.options[0].value;

}

function dpfillresort(destairsel, setresort) {

	var box = document.getElementById("resort");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	// Check to see if the destair passed in actually exists within the destair list, if not, take whatever
	// is in the destair list right tnow
	if (!inlist(destairsel, "destair")) {
		destairsel = document.getElementById("destair").value || document.getElementById("destair").options[0].value;
	}

	if (box) {
		var was = emptyList(box, 0);

		option = new Option( "[Any Resort]", "" );
		box.options[box.length] = option;

		for (var i = 0; i < resortlist[destairsel].length; i++) {
			var res = resortlist[destairsel][i].split(":");

			if (res[1]) {
				option = new Option( res[1], res[0] );
			} else {
				option = new Option( res[0], res[0] );
			}
			box.options[box.length] = option;
		}

		setfield("resort", setresort || was);

	//	box.value = setresort || was || box.options[0].value;
	}
}

function dpfillcountryresort(countrysel, setresort) {

	var box = document.getElementById("resort");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	if (box) {
		var was = emptyList(box, 0);

		option = new Option( "[Any Resort]", "" );
		box.options[box.length] = option;

		if (countryresortlist[countrysel]) {
			for (var i = 0; i < countryresortlist[countrysel].length; i++) {
				var res = countryresortlist[countrysel][i].split(":");

				if (res[1]) {
					option = new Option( res[1], res[0] );
				} else {
					//option = new Option( res[0], res[0] );
				}
				box.options[box.length] = option;
			}

			setfield("resort", setresort || was);
		}
	}
}

function dpfilldepart(destairsel, setdepart) {

	var box = document.getElementById("depair");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var box2 = document.getElementById("from");
	var was = emptyList(box, 0);

	// Check to see if the destair passed in actually exists within the destair list, if not, take whatever
	// is in the destair list right tnow
	if (!inlist(destairsel, "destair")) {
		destairsel = document.getElementById("destair").value || document.getElementById("destair").options[0].value;
	}

	if (box) {
		for (var i = 0; i < departlist[destairsel].length; i++) {
			var res = departlist[destairsel][i].split(":");

			if (res[1]) {
				option = new Option( res[1], res[0] );
			} else {
				option = new Option( res[0], res[0] );
			}
			box.options[box.length] = option;
		}

		setfield("depair", setdepart || was);
		setfield("from", setdepart || was);
	}

//	box.value = setdepart || was || box.options[0].value;
//	box2.value = setdepart || was || box2.options[0].value;

}

function dpsearchtype(which) {

	var bytext = document.getElementById("bytext");
	var bydest = document.getElementById("bydest");

	if (which == 'text') {
		if (bydest) {
			bydest.style.display = 'none';
		}
		if (bytext) {
			bytext.style.display = 'block';
		}

		if (document.getElementById("searchby")) {
			document.getElementById("searchby").value = 'text';
		}
	} else if (which == 'dest') {
		if (bydest) {
			bydest.style.display = 'block';
		}
		if (bytext) {
			bytext.style.display = 'none';
		}

		if (document.getElementById("searchby")) {
			document.getElementById("searchby").value = 'dest';
		}

	}
}

function dpshowmoreoptions() {

	document.getElementById("extraoptionslink").style.display = 'none';
	document.getElementById("extraoptions").style.display = 'block';

}

function setfield(field, val) {

	if (document.getElementById(field)) {
		// Is it a dropdown
		if (document.getElementById(field).options) {
			if (val) {
				if (inlist(val, field)) {
					document.getElementById(field).value = val;
				} else {
					document.getElementById(field).value = document.getElementById(field).options[0].value;
				}
			} else {
				document.getElementById(field).value = document.getElementById(field).options[0].value;
			}
		} else {
			document.getElementById(field).value = val;
		}
	}

}

function inlist(value, list) {

	var box = document.getElementById(list);

	var inlist = 0;

	if (box) {
		for (var i = 0; i < box.length; i++) {
			if (box.options[i].value == value) {
				inlist = 1;
			}
		}
	}

	return inlist;

}

function roomchange() {

	var box = document.getElementById("roomcount");

	if (box) {
		if (document.getElementById("roomcount").value == 1) {
			if (document.getElementById("room2label")) {
				document.getElementById("room2label").style.display = 'none';
			}
			if (document.getElementById("room2select")) {
				document.getElementById("room2select").style.display = 'none';
			}
			if (document.getElementById("room2select2")) {
				document.getElementById("room2select2").style.display = 'none';
			}
			if (document.getElementById("room2select3")) {
				document.getElementById("room2select3").style.display = 'none';
			}

			if (document.getElementById("room3label")) {
				document.getElementById("room3label").style.display = 'none';
			}
			if (document.getElementById("room3select")) {
				document.getElementById("room3select").style.display = 'none';
			}
			if (document.getElementById("room3select2")) {
				document.getElementById("room3select2").style.display = 'none';
			}
			if (document.getElementById("room3select3")) {
				document.getElementById("room3select3").style.display = 'none';
			}

			if (document.getElementById("room4label")) {
				document.getElementById("room4label").style.display = 'none';
			}
			if (document.getElementById("room4select")) {
				document.getElementById("room4select").style.display = 'none';
			}
			if (document.getElementById("room4select2")) {
				document.getElementById("room4select2").style.display = 'none';
			}
			if (document.getElementById("room4select3")) {
				document.getElementById("room4select3").style.display = 'none';
			}

			if (document.getElementById("room5label")) {
				document.getElementById("room5label").style.display = 'none';
			}
			if (document.getElementById("room5select")) {
				document.getElementById("room5select").style.display = 'none';
			}
			if (document.getElementById("room5select2")) {
				document.getElementById("room5select2").style.display = 'none';
			}
			if (document.getElementById("room5select3")) {
				document.getElementById("room5select3").style.display = 'none';
			}

		} else if (document.getElementById("roomcount").value == 2) {
			if (document.getElementById("room2label")) {
				document.getElementById("room2label").style.display = 'block';
			}
			if (document.getElementById("room2select")) {
				document.getElementById("room2select").style.display = 'block';
			}
			if (document.getElementById("room2select2")) {
				document.getElementById("room2select2").style.display = 'block';
			}
			if (document.getElementById("room2select3")) {
				document.getElementById("room2select3").style.display = 'block';
			}

			if (document.getElementById("room3label")) {
				document.getElementById("room3label").style.display = 'none';
			}
			if (document.getElementById("room3select")) {
				document.getElementById("room3select").style.display = 'none';
			}
			if (document.getElementById("room3select2")) {
				document.getElementById("room3select2").style.display = 'none';
			}
			if (document.getElementById("room3select3")) {
				document.getElementById("room3select3").style.display = 'none';
			}

			if (document.getElementById("room4label")) {
				document.getElementById("room4label").style.display = 'none';
			}
			if (document.getElementById("room4select")) {
				document.getElementById("room4select").style.display = 'none';
			}
			if (document.getElementById("room4select2")) {
				document.getElementById("room4select2").style.display = 'none';
			}
			if (document.getElementById("room4select3")) {
				document.getElementById("room4select3").style.display = 'none';
			}

			if (document.getElementById("room5label")) {
				document.getElementById("room5label").style.display = 'none';
			}
			if (document.getElementById("room5select")) {
				document.getElementById("room5select").style.display = 'none';
			}
			if (document.getElementById("room5select2")) {
				document.getElementById("room5select2").style.display = 'none';
			}
			if (document.getElementById("room5select3")) {
				document.getElementById("room5select3").style.display = 'none';
			}

		} else if (document.getElementById("roomcount").value == 3) {
			if (document.getElementById("room2label")) {
				document.getElementById("room2label").style.display = 'block';
			}
			if (document.getElementById("room2select")) {
				document.getElementById("room2select").style.display = 'block';
			}
			if (document.getElementById("room2select2")) {
				document.getElementById("room2select2").style.display = 'block';
			}
			if (document.getElementById("room2select3")) {
				document.getElementById("room2select3").style.display = 'block';
			}

			if (document.getElementById("room3label")) {
				document.getElementById("room3label").style.display = 'block';
			}
			if (document.getElementById("room3select")) {
				document.getElementById("room3select").style.display = 'block';
			}
			if (document.getElementById("room3select2")) {
				document.getElementById("room3select2").style.display = 'block';
			}
			if (document.getElementById("room3select3")) {
				document.getElementById("room3select3").style.display = 'block';
			}
			if (document.getElementById("room4label")) {
				document.getElementById("room4label").style.display = 'none';
			}
			if (document.getElementById("room4select")) {
				document.getElementById("room4select").style.display = 'none';
			}
			if (document.getElementById("room4select2")) {
				document.getElementById("room4select2").style.display = 'none';
			}
			if (document.getElementById("room4select3")) {
				document.getElementById("room4select3").style.display = 'none';
			}

			if (document.getElementById("room5label")) {
				document.getElementById("room5label").style.display = 'none';
			}
			if (document.getElementById("room5select")) {
				document.getElementById("room5select").style.display = 'none';
			}
			if (document.getElementById("room5select2")) {
				document.getElementById("room5select2").style.display = 'none';
			}
			if (document.getElementById("room5select3")) {
				document.getElementById("room5select3").style.display = 'none';
			}

		} else if (document.getElementById("roomcount").value == 4) {
			if (document.getElementById("room2label")) {
				document.getElementById("room2label").style.display = 'block';
			}
			if (document.getElementById("room2select")) {
				document.getElementById("room2select").style.display = 'block';
			}
			if (document.getElementById("room2select2")) {
				document.getElementById("room2select2").style.display = 'block';
			}
			if (document.getElementById("room2select3")) {
				document.getElementById("room2select3").style.display = 'block';
			}

			if (document.getElementById("room3label")) {
				document.getElementById("room3label").style.display = 'block';
			}
			if (document.getElementById("room3select")) {
				document.getElementById("room3select").style.display = 'block';
			}
			if (document.getElementById("room3select2")) {
				document.getElementById("room3select2").style.display = 'block';
			}
			if (document.getElementById("room3select3")) {
				document.getElementById("room3select3").style.display = 'block';
			}

			if (document.getElementById("room4label")) {
				document.getElementById("room4label").style.display = 'block';
			}
			if (document.getElementById("room4select")) {
				document.getElementById("room4select").style.display = 'block';
			}
			if (document.getElementById("room4select2")) {
				document.getElementById("room4select2").style.display = 'block';
			}
			if (document.getElementById("room4select3")) {
				document.getElementById("room4select3").style.display = 'block';
			}

			if (document.getElementById("room5label")) {
				document.getElementById("room5label").style.display = 'none';
			}
			if (document.getElementById("room5select")) {
				document.getElementById("room5select").style.display = 'none';
			}
			if (document.getElementById("room5select2")) {
				document.getElementById("room5select2").style.display = 'none';
			}
			if (document.getElementById("room5select3")) {
				document.getElementById("room5select3").style.display = 'none';
			}

		} else if (document.getElementById("roomcount").value == 5) {
			if (document.getElementById("room2label")) {
				document.getElementById("room2label").style.display = 'block';
			}
			if (document.getElementById("room2select")) {
				document.getElementById("room2select").style.display = 'block';
			}
			if (document.getElementById("room2select2")) {
				document.getElementById("room2select2").style.display = 'block';
			}
			if (document.getElementById("room2select3")) {
				document.getElementById("room2select3").style.display = 'block';
			}

			if (document.getElementById("room3label")) {
				document.getElementById("room3label").style.display = 'block';
			}
			if (document.getElementById("room3select")) {
				document.getElementById("room3select").style.display = 'block';
			}
			if (document.getElementById("room3select2")) {
				document.getElementById("room3select2").style.display = 'block';
			}
			if (document.getElementById("room3select3")) {
				document.getElementById("room3select3").style.display = 'block';
			}

			if (document.getElementById("room4label")) {
				document.getElementById("room4label").style.display = 'block';
			}
			if (document.getElementById("room4select")) {
				document.getElementById("room4select").style.display = 'block';
			}
			if (document.getElementById("room4select2")) {
				document.getElementById("room4select2").style.display = 'block';
			}
			if (document.getElementById("room4select3")) {
				document.getElementById("room4select3").style.display = 'block';
			}

			if (document.getElementById("room5label")) {
				document.getElementById("room5label").style.display = 'block';
			}
			if (document.getElementById("room5select")) {
				document.getElementById("room5select").style.display = 'block';
			}
			if (document.getElementById("room5select2")) {
				document.getElementById("room5select2").style.display = 'block';
			}
			if (document.getElementById("room5select3")) {
				document.getElementById("room5select3").style.display = 'block';
			}
		}
		if (document.getElementById("childline-1")) {
			showchildren();
		}
	}
}

function showchildren() {

	if (document.getElementById("childline-1")) {

		var n;
		var shown = 0;
		for (n = 1; n <= 5; n++) {
			if (document.getElementById("childline-" + n)) {
				document.getElementById("childline-" + n).style.display = 'none';
				for (i = 2; i <= 5; i++) {
					document.getElementById("childtext-" + n + "-" + i).style.display = 'none';
					document.getElementById("childdrop-" + n + "-" + i).style.display = 'none';
				}
			}
		}
		for(n = 1; n <= document.getElementById("roomcount").value; n++) {
			if (document.getElementById("children-" + n).value > 0) {
				document.getElementById("childline-" + n).style.display = 'block';
				document.getElementById("childages").style.display = 'block';
				for (i = 1; i <= document.getElementById("children-" + n).value; i++) {
					if (i > 1) {
						document.getElementById("childtext-" + n + "-" + i).style.display = 'block';
						document.getElementById("childdrop-" + n + "-" + i).style.display = 'block';
					}
				}
				shown = 1;
			}
		}
		if (shown == 0) {
			document.getElementById("childages").style.display = 'none';
		}

	}

	if (document.getElementById("childline")) {

		for (i = 2; i <= 5; i++) {
			document.getElementById("childtext-" + i).style.display = 'none';
			document.getElementById("childdrop-" + i).style.display = 'none';
		}

		for (i = 1; i <= document.getElementById("children").value; i++) {
			if (i > 1) {
				document.getElementById("childtext-" + i).style.display = 'block';
				document.getElementById("childdrop-" + i).style.display = 'block';
			}
		}

		if (document.getElementById("children").value > 0) {
			document.getElementById("childages").style.display = 'block';
		} else {
			document.getElementById("childages").style.display = 'none';
		}

	}

}

function displayflights(sortby) {

	if (!sortby) {
		sortby = 'price';
	}

	if (document.getElementById("flightresults")) {

		var flightresults = "";
		var n;
		for (n = 0; n < flightlist[sortby].length; n++) {
			if (document.getElementById('flight' + flightlist[sortby][n])) {
				flightresults += document.getElementById('flight' + flightlist[sortby][n]).innerHTML;
			}
		}

		document.getElementById('flightresults').innerHTML = flightresults;
	}

	if (document.getElementById("altflightresults")) {
		var altflightresults = "";
		var n;
		for (n = 0; n < altflightlist[sortby].length; n++) {
			if (document.getElementById('flight' + altflightlist[sortby][n])) {
				altflightresults += document.getElementById('flight' + altflightlist[sortby][n]).innerHTML;
			}
		}

		document.getElementById('altflightresults').innerHTML = altflightresults;
	}
}

function changeflightsort(sortby) {

	if (!sortby) {
		sortby = 'price';
	}

	if (document.getElementById("flightsortlist")) {
		var flightsort = "";
		if (sortby == 'price') {
			flightsort += document.getElementById("sortpricehigh").innerHTML;
		} else {
			flightsort += document.getElementById("sortprice").innerHTML;
		}

		if (sortby == 'stops') {
			flightsort += document.getElementById("sortstopshigh").innerHTML;
		} else {
			flightsort += document.getElementById("sortstops").innerHTML;
		}

		if (sortby == 'journeytime') {
			flightsort += document.getElementById("sortjourneytimehigh").innerHTML;
		} else {
			flightsort += document.getElementById("sortjourneytime").innerHTML;
		}

		displayflights(sortby);
		document.getElementById("flightsortlist").innerHTML = flightsort;

	}

//	document.getElementById('sortform').submit();
}

function showsmallimages() {
	document.getElementById("smallimages").style.display = 'block';
	document.getElementById("largeimages").style.display = 'none';
}
function showlargeimages() {
	document.getElementById("smallimages").style.display = 'none';
	document.getElementById("largeimages").style.display = 'block';
}

var bookingstarted = 0;

function submitbooking() {

	var box = document.getElementById("bookbutton");

	if (box) {
		if (bookingstarted) {
			alert("You've already clicked the Make Booking button. Please be patient as we complete the process.");
			return false;
		} else {
			bookingstarted = 1;
			return true;
		}
	}

	return true;

}

function format (expr, decplaces) {

	var str = "" + Math.round(eval(expr) * Math.pow(10, decplaces));

	while (str.length <= decplaces) {
		str = "0" + str;
	}

	var decpoint = str.length - decplaces;

	return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);

}

function updateprice(cardtype, totalprice, creditcard, debitcard) {
	if ((cardtype.value == 'AMX' || cardtype.value == 'VIS' || cardtype.value == 'MSC') && creditcard != 0) {
		displaytotal = parseFloat(totalprice) + ((totalprice / 100) * creditcard);

	} else if (debitcard != 0) {
		displaytotal = parseFloat(totalprice) + ((totalprice / 100) * debitcard);

	} else {
		displaytotal = totalprice;

	}

	document.getElementById("totalprice").innerHTML = format(displaytotal, 2);
}

function updateoneway(option) {

	var one;
	var ret;

	var box = document.getElementById("returndate");

	if (!option) {
		if (document.getElementById("onewayyes")) {
			if (document.getElementById("onewayyes").checked) {
				option = "Y";
			} else {
				option = "N";
			}
		}
	}

	if (box) {

		if (!ret && !one) {
			if (option == "Y") {
				document.getElementById("onewayyes").checked = true;
				document.getElementById("onewayno").checked = false;
				ret = 0;
				one = 1;

			} else if (option == "N") {
				document.getElementById("onewayyes").checked = false;
				document.getElementById("onewayno").checked = true;
				ret = 1;
				one = 0;

			} else {
				if (document.getElementById("onewayno")) {
					document.getElementById("onewayno").checked = true;
				}

				if (document.getElementById("onewayyes")) {
					document.getElementById("onewayyes").checked = false;
				}

				ret = 1;
				one = 0;
			}
		}

		if (ret) {
			document.getElementById("returndate").style.display = 'block';
			document.getElementById("returndatetext").style.display = 'none';
		} else {
			document.getElementById("returndate").style.display = 'none';
			document.getElementById("returndatetext").style.display = 'block';
		}

	}

}

function updatemanualprice() {

	var box = document.getElementById("manualprice");

	if (box) {
		var manualprice = 0;
		var n;
		var itinitems = document.getElementById("itinitems").value;

		for (n = 0; n < itinitems; n++) {
			if (document.getElementById("item-" + n)) {
				var change = parseFloat(document.getElementById("change-" + n).value);
				var originalprice = parseFloat(document.getElementById("originalprice-" + n).value);

				if (isNaN(change)) {
					change = 0;
				}

				manualprice += change + originalprice;
				document.getElementById("item-" + n).value = change + originalprice;
			}
		}

		box.innerHTML = formatnumber(manualprice, 2);

		// Manual Price PP
		document.getElementById("manualpricepp").innerHTML = formatnumber(manualprice / parseInt(document.getElementById("totalguests").value), 2);

		// Profit
		var profit = formatnumber(manualprice - parseFloat(document.getElementById("nettprice").innerHTML), 2);
		var percentage = formatnumber((profit / parseFloat(document.getElementById("nettprice").innerHTML)) * 100, 2);
		document.getElementById("profit").innerHTML = profit + " (" + percentage + "%)";

		// Manual Price Diff
		document.getElementById("manualdiff").innerHTML = formatnumber(manualprice - parseFloat(document.getElementById("totalprice").innerHTML), 2);


	}

}

function formatnumber(expr, decplaces) {

	var str = "" + Math.round(eval(expr) * Math.pow(10, decplaces));

	while (str.length <= decplaces) {
		str = "0" + str;
	}

	var decpoint = str.length - decplaces;

	return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);

}

function popupwindow(file,key,widt,heit) {
	var popup;
	popup = window.open(file,key,'status=yes,scrollbars=yes,resizable=yes,width=' + widt + ',height=' + heit);
	popup.focus();

}

// ON STARTUP
function transferinitlists(settransfertype, setpickupcountry, setpickup, setdropoffcountry, setdropoff) {

	var box = document.getElementById("noinitlists");
	if (box) {
		return;
	}

	if (document.getElementById("transfertype")) {
		transferfilltransfertypes(settransfertype);
	}

	var types = (settransfertype || document.getElementById("transfertype").value).split(":");

	if (document.getElementById("pickupcountry")) {
		transferfillpickupcountry(types[0], setpickupcountry, types[1]);
	}

	if (document.getElementById("pickup")) {
		transferfillpickup(types[0], setpickupcountry || document.getElementById("pickupcountry").value, setpickup);
	}

	if (document.getElementById("dropoffcountry")) {
		transferfilldropoffcountry(types[1], setpickup || document.getElementById("pickup").value, setdropoffcountry);
	}

	if (document.getElementById("pickup")) {
		transferfilldropoff(types[1], setpickup || document.getElementById("pickup").value, setdropoffcountry || document.getElementById("dropoffcountry").value, setdropoff);
	}

}


function changetransfertype() {

	var transfertypes = document.getElementById("transfertype").value.split(":");
	transferfillpickupcountry(transfertypes[0], '', transfertypes[1]);
	transferfillpickup(transfertypes[0], document.getElementById("pickupcountry").value);
	transferfilldropoffcountry(transfertypes[1], document.getElementById("pickup").value);
	transferfilldropoff(transfertypes[1], document.getElementById("pickup").value, document.getElementById("dropoffcountry").value);

}

function transferchangepickupcountry () {

	var transfertypes = document.getElementById("transfertype").value.split(":");
	transferfillpickup(transfertypes[0], document.getElementById("pickupcountry").value);
	transferfilldropoffcountry(transfertypes[1], document.getElementById("pickup").value);
	transferfilldropoff(transfertypes[1], document.getElementById("pickup").value, document.getElementById("dropoffcountry").value);

}

function transferchangepickup() {

	var transfertypes = document.getElementById("transfertype").value.split(":");
	transferfilldropoffcountry(transfertypes[1], document.getElementById("pickup").value);
	transferfilldropoff(transfertypes[1], document.getElementById("pickup").value, document.getElementById("dropoffcountry").value);

}

function transferchangedropoffcountry () {

	var transfertypes = document.getElementById("transfertype").value.split(":");
	transferfilldropoff(transfertypes[1], document.getElementById("pickup").value, document.getElementById("dropoffcountry").value);

}

function transferfilltransfertypes (settransfertype) {

	var box = document.getElementById("transfertype");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	for (var i = 0; i < transfertypelist.length; i++) {
		var res =  transfertypelist[i].split("|");

		if (res[1]) {
			option = new Option( res[1], res[0] );
		} else {
			option = new Option( res[0], res[0] );
		}

		box.options[box.length] = option;

	}

	setfield("transfertype", settransfertype || was || box.options[0].value);

}

function transferfillpickupcountry(pickuptype, setcountry, dropofftype) {

	var box = document.getElementById("pickupcountry");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	for (var i = 0; i < pickupcountrylist[pickuptype].length; i++) {
		var res =  pickupcountrylist[pickuptype][i].split("|");

		var check = checktransfercountry(pickuptype, dropofftype, res[0]);
		if (check) {
			if (res[1]) {
				option = new Option( res[1], res[0] );
			} else {
				option = new Option( res[0], res[0] );
			}

			box.options[box.length] = option;
		}
	}

	setfield("pickupcountry", setcountry || was);

}

function transferfillpickup(pickuptype, countrysel, setpickup) {

	var box = document.getElementById("pickup");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	// Check to see if the country passed in actually exists within the country list, if not, take whatever
	// is in the country list right tnow
	if (!inlist(countrysel, "country")) {
		countrysel = document.getElementById("pickupcountry").value || document.getElementById("pickupcountry").options[0].value;
	}

	//alert("Pickup Settings - " + countrysel + " : " + pickuptype);

	for (var i = 0; i < pickuplist[pickuptype][countrysel].length; i++) {
		var res = pickuplist[pickuptype][countrysel][i].split("|");

		if (res[1]) {
			option = new Option( res[1], res[0] );
		} else {
			option = new Option( res[0], res[0] );
		}
		box.options[box.length] = option;
	}

	setfield("pickup", setpickup || was || box.options[0].value);


}

function transferfilldropoffcountry(dropofftype, pickup, setcountry) {

	var box = document.getElementById("dropoffcountry");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	for (var i = 0; i < dropoffcountrylist[pickup][dropofftype].length; i++) {
		var res = dropoffcountrylist[pickup][dropofftype][i].split("|");

		if (res[1]) {
			option = new Option( res[1], res[0] );
		} else {
			option = new Option( res[0], res[0] );
		}

		box.options[box.length] = option;

	}

	setfield("dropoffcountry", setcountry || was || box.options[0].value);

}

function transferfilldropoff(dropofftype, pickup, countrysel, setdropoff) {

	var box = document.getElementById("dropoff");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	var was = emptyList(box, 0);

	// Check to see if the country passed in actually exists within the country list, if not, take whatever
	// is in the country list right tnow
	if (!inlist(countrysel, "dropoffcountry")) {
		countrysel = document.getElementById("dropoffcountry").value || document.getElementById("dropoffcountry").options[0].value;
	}

	for (var i = 0; i < dropofflist[pickup][dropofftype][countrysel].length; i++) {
		var res = dropofflist[pickup][dropofftype][countrysel][i].split("|");

		if (res[1]) {
			option = new Option( res[1], res[0] );
		} else {
			option = new Option( res[0], res[0] );
		}

		box.options[box.length] = option;

	}

	setfield("dropoff", setdropoff || was || box.options[0].value);

}

function checktransfercountry (pickuptype, dropofftype, pickupcountry) {

	var check;

	for (var i = 0; i < pickuplist[pickuptype][pickupcountry].length; i++) {
		var res = pickuplist[pickuptype][pickupcountry][i].split("|");

		check = res[0];
		if (dropoffcountrylist[check] && dropoffcountrylist[check][dropofftype]) {
			if (dropoffcountrylist[check][dropofftype].length >= 0) {
				return 1;
			} else {
				return 0;
			}

		} else {
			return 0;

		}
	}

}

function updatefaretype (option) {

	var sin;
	var ret;

	var box = document.getElementById("returndate");

	if (!option) {
		if (document.getElementById("faretypesingle")) {
			if (document.getElementById("faretypesingle").checked) {
				option = "single";
			} else {
				option = "return";
			}
		}
	}

	if (box) {

		if (!ret && !sin) {
			if (option == "single") {
				document.getElementById("faretypesingle").checked = true;
				document.getElementById("faretypereturn").checked = false;
				ret = 0;
				sin = 1;

			} else if (option == "return") {
				document.getElementById("faretypesingle").checked = false;
				document.getElementById("faretypereturn").checked = true;
				ret = 1;
				sin = 0;

			} else {
				if (document.getElementById("faretypereturn")) {
					document.getElementById("faretypereturn").checked = true;
				}

				if (document.getElementById("faretypesingle")) {
					document.getElementById("faretypesingle").checked = false;
				}

				ret = 1;
				sin = 0;
			}
		}

		if (ret) {
			document.getElementById("returndate").style.display = 'block';
			document.getElementById("returndatetext").style.display = 'none';
		} else {
			document.getElementById("returndate").style.display = 'none';
			document.getElementById("returndatetext").style.display = 'block';
		}

	}

}

function readcookie(name) {

	var nameEQ = name + "=";

	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}

	return null;
}

function escapeiframe(frame) {

	if (parent.location.href != document.location.href) {
		parent.location.href = document.location.href;
	}

}

var numb = '0123456789-.';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

function isValid(parm,val) {

	if (parm == "") return true;

	for (i = 0; i < parm.length; i++) {
		if (val.indexOf(parm.charAt(i),0) == -1) {
			return false;
		}
	}

	return true;
}

function isNum(parm) {
	return isValid(parm,numb);
}

function greypage(vis, options) {
	// Pass true to gray out screen, false to ungray
	// options are optional.  This is a JSON object with the following (optional) properties
	// opacity:0-100         // Lower number = less grayout higher = more of a blackout 
	// zindex: #             // HTML elements with a higher zindex appear on top of the gray out
	// bgcolor: (#xxxxxx)    // Standard RGB Hex color code
	// grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
	// Because options is JSON opacity/zindex/bgcolor are all optional and can appear
	// in any order.  Pass only the properties you need to set.
	var options = options || {}; 
	var zindex = options.zindex || 50;
	var opacity = options.opacity || 70;
	var opaque = (opacity / 100);
	var bgcolor = options.bgcolor || '#000000';
	var dark = document.getElementById('greyfilter');
	
	if (!dark) {
		// The dark layer doesn't exist, it's never been created.  So we'll
		// create it here and apply some basic styles.
		// If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
		var tbody = document.getElementsByTagName("body")[0];
		var tnode = document.createElement('div');           // Create the layer.
			tnode.style.position='absolute';                 // Position absolutely
			tnode.style.top='0px';                           // In the top
			tnode.style.left='0px';                          // Left corner of the page
			tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
			tnode.style.display='none';                      // Start out Hidden
			tnode.id='greyfilter';              		     // Name it so we can find it later
		tbody.appendChild(tnode);                            // Add it to the web page
		dark=document.getElementById('greyfilter');			  // Get the object.
	}
	if (vis) {
		// Calculate the page width and height 
		if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
			var pageWidth = document.body.scrollWidth+'px';
			var pageHeight = document.body.scrollHeight+'px';
		} else if( document.body.offsetWidth ) {
			var pageWidth = document.body.offsetWidth+'px';
			var pageHeight = document.body.offsetHeight+'px';
		} else {
			var pageWidth='100%';
			var pageHeight='100%';
		}   
		//set the shader to cover the entire page and make it visible.
		dark.style.opacity=opaque;                      
		dark.style.MozOpacity=opaque;                   
		dark.style.filter='alpha(opacity='+opacity+')'; 
		dark.style.zIndex=zindex;        
		dark.style.backgroundColor=bgcolor;  
		dark.style.width= pageWidth;
		dark.style.height= pageHeight;
		dark.style.display='block';                          
	} else {
		dark.style.display='none';
	}
}

var gPopupContainer = null;
var gPopupIsShown = false;
function showpackageflights(resultno) {
	
	greypage(true);
	document.getElementById("fromhotel").value = resultno;
	document.getElementById("changeflightbox").style.display = 'block';
	gPopupContainer = document.getElementById("changeflightbox");
	gPopupIsShown = true;
	
	centerPopWin(620, 370);	
}

function hidepackageflights() {
	
	greypage(false);
	document.getElementById("changeflightbox").style.display = 'none';
	gPopupIsShown = false;
	
}

var gi = 0;
function centerPopWin(width, height) {
	if (gPopupIsShown == true) {
		if (width == null || isNaN(width)) {
			width = gPopupContainer.offsetWidth;
		}
		if (height == null) {
			height = gPopupContainer.offsetHeight;
		}
		var fullHeight = getViewportHeight();
		var fullWidth = getViewportWidth();
		// scLeft and scTop changes by Thomas Risberg
		var scLeft,scTop;
		if (self.pageYOffset) {
			scLeft = self.pageXOffset;
			scTop = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop) {
			scLeft = document.documentElement.scrollLeft;
			scTop = document.documentElement.scrollTop;
		} else if (document.body) {
			scLeft = document.body.scrollLeft;
			scTop = document.body.scrollTop;
		} 
//		gPopupMask.style.height = fullHeight + "px";
//		gPopupMask.style.width = fullWidth + "px";
//		gPopupMask.style.top = scTop + "px";
//		gPopupMask.style.left = scLeft + "px";
//		window.status = gPopupMask.style.top + " " + gPopupMask.style.left + " " + gi++;
//		var titleBarHeight = parseInt(document.getElementById("popupTitleBar").offsetHeight, 10);
		var topMargin = scTop + ((fullHeight - height) / 2);
		if (topMargin < 0) { topMargin = 0; }
		gPopupContainer.style.top = topMargin + "px";
		gPopupContainer.style.left =  (scLeft + ((fullWidth - width) / 2)) + "px";
	}
}

addEvent(window, "resize", centerPopWin);
window.onscroll = centerPopWin;	

/**
 * X-browser event handler attachment and detachment
 * @argument obj - the object to attach event to
 * @argument evType - name of the event - DONT ADD "on", pass only "mouseover", etc
 * @argument fn - function to call
 */
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}

/**
 * Code below taken from - http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/ *
 * Modified 4/22/04 to work with Opera/Moz (by webmaster at subimage dot com)
 * Gets the full width/height because it's different for most browsers.
 */
function getViewportHeight() {
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 
	return window.undefined; 
}

function getViewportWidth() {
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 
	return window.undefined; 
}

function selectpackageflight(url) {
	
	var fromhotel = document.getElementById("fromhotel").value;
	
	url = url + "#hotel-" + fromhotel;
	
	document.location.href = url;
	
}

