s_userAgent = window.navigator.userAgent;
KON = (s_userAgent.indexOf("KHTML") >- 1) ? 1 : 0;
isMac = (navigator.userAgent.indexOf("5.2") >- 1) ? 1 : 0;
navTimer = null;
currentNav = 0;

function on_load()
{
	cbSetUpnav();
}

/* cannonball functions */
/* sync cannonball nav and cannonaball form */
function cbSetUpnav()
{
	var a_nav = document.cbNav.nav;
	var a_nav_length = a_nav.length;
	for (var i = 0; i < a_nav_length; i++)
		if (a_nav[i].checked)
			var o_nav = a_nav[i];
	cb_ChangeNav(o_nav, o_nav.parentNode);
}
/* change cannonball */
function cb_ChangeNav(o_radio, o_li)
{
	var o_ul = o_li.parentNode;
	var a_lis = o_ul.getElementsByTagName("li");
	var a_lis_length = a_lis.length;
	for (var i = 0; i < a_lis_length; i++) {
		a_lis[i].className = "";
		document.getElementById(a_lis[i].firstChild.value).style.display = "none";
	}
	o_li.className = "cbNavon";
	o_radio.checked = true;
	var s_radio = o_radio.value;
	document.getElementById(s_radio).style.display = "block";
	switch (s_radio) {
		case "formFO":
			cb_bff();
			childAges(document.formFO.children, 'cbFOchildages');
			break;
		case "formFH":
			childAges(document.formFH.children, 'cbFHchildages');
			break;
		case "formHO":
			cb_destination();
			break;
		default:
	}
	return false;
}
/* get MousePos for calendar */
function getMousePos(evt)
{
	if (window.event) {
		var s_srcElement = window.event.srcElement.nodeName;
		//Safari will set the clienty of an event from a form input to the form offset
		var yPos = (s_srcElement == "INPUT" && KON) ? Math.abs(window.event.offsetY) + 10 : window.event.clientY - 5;
	} else if (document.getElementById && !document.all) {
		var xPos = evt.clientX + 165;
		var yPos = evt.clientY - 5;
	} else {
		var xPos = 50;
		var yPos = 50;
	}
}
/* get which form was clicked */
function getCBform()
{
	var nav_length = document.cbNav.nav.length;
	for (var i = 0; i < nav_length; i++) {
		if (document.cbNav.nav[i].checked)
			var s_form = document.cbNav.nav[i].value;
	}
	return s_form;
}
/* parse date for start date */
function parseCalDate(o_input)
{
	var o_dateinput = eval("document." + getCBform() + "." + o_input);
	var s_dateinput = o_dateinput.value;
	if (s_dateinput.indexOf("/") > -1)
		var a_dateinput = s_dateinput.split("/");
	return a_dateinput;
}
/* open calendar */
function openCal(evt,o_input)
{
	getMousePos(evt);
	window.calendar.o_form = getCBform();
	window.calendar.o_input = o_input;
	var a_date = parseCalDate(o_input);
	window.calendar.o_dateSave = new window.calendar.ty_saveDate(parseInt(a_date[0]) - 1, parseInt(a_date[1]));
	window.calendar.ty_changeMonths(window.calendar.o_dateSave.month);
	document.getElementById("iframeCal").style.top = yPos + 15;
	document.getElementById("iframeCal").style.visibility = "visible";
}
/* maintain state between cannonball forms */
function maintainState(o_input)
{
	var nav = document.cbNav.nav;
	var nav_length = nav.length;
	for (var i = 0; i < nav_length; i++) {
		var o_dateinput = eval("document." + nav[i].value + "." + o_input.name);
		if (o_dateinput) {
			if (o_dateinput.type == "select-one") {
				if (o_dateinput != o_input)
					o_dateinput.selectedIndex = o_input.selectedIndex;
			} else {
				if (o_dateinput != o_input)
					o_dateinput.value = o_input.value;
			}
		}
	}
}
/* request ages of children */
function childAges(o_select, s_div)
{
	var o_div = document.getElementById(s_div);
	if (o_select.selectedIndex != 0) {
		if (s_div == "cbFOchildages")
			document.getElementById("cbFOpromo").style.display = "none";
		if (s_div == "cbFHchildages")
			document.getElementById("cbFHpromo").style.display = "none";
		var a_children = o_div.getElementsByTagName("div");
		o_div.style.display = "block";
		var a_children_length = a_children.length;
		for (var i = 0; i < a_children_length; i++)
			a_children[i].style.visibility = "hidden";
		for (i = 0; i < a_children_length; i++)
			a_children[i].style.visibility = (i < o_select.selectedIndex) ? "visible" : "hidden";
	} else {
		if (s_div == "cbFOchildages" && document.getElementById("cbFOpromo"))
			document.getElementById("cbFOpromo").style.display = "block";
		if (s_div == "cbFHchildages" && document.getElementById("cbFHpromo"))
			document.getElementById("cbFHpromo").style.display = "block";
		o_div.style.display = "none";
	}
}
/* best fare finder for FOform only*/
function cb_bff()
{
	var s_radio = "";
	var searchMethod = document.formFO.searchMethod;
	var searchMethod_length = searchMethod.length;
	for (var i = 0; i < searchMethod_length; i++)
		if (searchMethod[i].checked)
			var s_radio = document.formFO.searchMethod[i].value;
	switch (s_radio) {
		case "LowFareByDate":
			document.getElementById("cbFObff").style.display = "none";
			document.getElementById("cbFOdepart").style.display = "inline";
			document.getElementById("cbFOreturn").style.display = "inline";
			if (document.getElementById("cbFOnobff"))
				document.getElementById("cbFOnobff").style.display = "inline";
			if (document.getElementById("cbFOpromo"))
				document.getElementById("cbFOpromo").style.visibility = "visible";					
			break;
		case "BestFareFinder":
			document.getElementById("cbFObff").style.display = "inline";
			document.getElementById("cbFOdepart").style.display = "none";			
			document.getElementById("cbFOreturn").style.display = "none";
			if (document.getElementById("cbFOnobff"))
				document.getElementById("cbFOnobff").style.display = "none";
			if (document.getElementById("cbFOpromo"))
				document.getElementById("cbFOpromo").style.visibility = "hidden";							
			break;
		default:
	}
}
function cb_destination()
{
	var s_radio = "";
	var searchoption = document.formHO.searchoption;
	var searchoption_length = searchoption.length;
	for (var i = 0; i < searchoption_length; i++)
		if (searchoption[i].checked)
			s_radio = searchoption[i].value;
	switch (s_radio) {
		case "USorCA":
			document.getElementById("cbHOstate").style.visibility = "visible";
			break;
		default:
			document.getElementById("cbHOstate").style.visibility = "hidden";
	}
}
function cb_specificAirlines(o_input)
{
	if (o_input.value.length > 0) {
		var o_dl = o_input.parentNode.parentNode;
		var a_dd = o_dl.getElementsByTagName("dd")
		for (var i = 0; i < a_dd.length; i++)
			a_dd[i].className = "display";
	} else {
		var a_dd_length = a_dd.length;
		for (var i = 1; i < a_dd_length; i++)
			a_dd[i].className = "";
	}
}


function setRegionPdKey(dest_combo)
{
	var form = document.dest;
	var sel_index = dest_combo.options.selectedIndex;
	var val = '';
	var aux;
	for (var i in destarray[sel_index]) {
		aux = parseInt(destarray[sel_index][i]);
		if (aux) {
			if (val.length) {
				val += ',';
			}
			val += aux;
		}
	}
	form.in_region_pd_key.value = val;
}

function setPdKey(dest_combo)
{
 	var form = document.dest;
	form.in_pd_key.value = dest_combo.options[dest_combo.options.selectedIndex].value;
}	 
