﻿function checkDPDate()
{
	var day = document.getElementById("depdate-day").value;
	var month = document.getElementById("depdate-month").value;
	var year = document.getElementById("depyear").value;
    var AlertMsg;
    AlertMsg='';
	var now = new Date();
	now = now.getTime(); //NN3

	var dateToCheck = new Date();
	dateToCheck.setYear(year);
	dateToCheck.setMonth(month-1);
	dateToCheck.setDate(day);
	var checkDate = dateToCheck.getTime();

	var futureDate = (now < checkDate);
	var pastDateDep = (now > checkDate);
	

	if (pastDateDep==true)
	{
	AlertMsg+='Date Invalid, please enter a valid date \n';
    }

	if (pastDateDep==true)
	{
	alert(AlertMsg);
	return false;
	}else{
	return true;
	}
}
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;
		}
	}

}
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;
		}
	}

}
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 = "";
	}
}
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 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);
	}
}
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() {
	dpfillresort(document.getElementById("destair").value);
	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);

	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);
}
function dpfillresort(destairsel, setresort) {
	var box = document.getElementById("resort");
	if (box) {
		if (!box.options) {
			return;
		}
	}

	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);
	}
}
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);

	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);
	}
}
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 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';
		}

	}

}