function toggleTripType(name){
	var layers = new Object();
	layers['RoundTrip'] = $('RoundTrip');
	layers['OneWay'] = $('OneWay');
	layers['OpenJaw'] = $('OpenJaw');

	for (var key in layers) {
		if(key == name) {
			layers[key].style.display = 'block';
		} else {
			layers[key].style.display = 'none';
		}
	}
}

function toggleAdvanced(id) {
	adv = $(id+'Content');
	advImg = $(id+'Button');
	advFlag = $(id+'Flag');
	if(adv.style.display == 'none') {
		adv.style.display = 'block';
		advImg.src = '/images/icons/min.gif';
		advFlag.value = 1;
	} else {
		adv.style.display = 'none';
		advImg.src = '/images/icons/max.gif';
		advFlag.value = 0;
	}
}

function toggleVIA(viaElementId) {
	viaDiv = $(viaElementId);
	if (viaDiv.offsetHeight) { //element's offsetHeight is 0 when not displayed
		viaDiv.style.display = 'none';
	} else {
		viaDiv.style.display = 'block';
	}
}

function initAdvanced() {
	advFlag = $('AirRTAdvancedFlag');
	//I can use RT because OW and OJ will always have the same value.
	if(advFlag.value == 1) {
		toggleAdvanced('AirRTAdvanced');
		toggleAdvanced('AirOWAdvanced');
		toggleAdvanced('AirOJAdvanced');
	}
}

function initQQ(tripType) {
	toggleTripType(tripType);
	initAdvanced();
	
	if(name == 'Air') {
		document.forms[tripType+'Form'].elements['outbound[from]'].focus();
	}
	updateCity(document.forms['RoundTripForm'].elements['outbound[from]'].value, 'AirRTOutboundFromCity');
	updateCity(document.forms['RoundTripForm'].elements['outbound[to]'].value, 'AirRTOutboundToCity');
	updateCity(document.forms['OneWayForm'].elements['outbound[from]'].value, 'AirOWOutboundFromCity');
	updateCity(document.forms['OneWayForm'].elements['outbound[to]'].value, 'AirOWOutboundToCity');
	updateCity(document.forms['OpenJawForm'].elements['outbound[from]'].value, 'AirOJOutboundFromCity');
	updateCity(document.forms['OpenJawForm'].elements['outbound[to]'].value, 'AirOJOutboundToCity');
	updateCity(document.forms['OpenJawForm'].elements['inbound[from]'].value, 'AirOJInboundFromCity');
	updateCity(document.forms['OpenJawForm'].elements['inbound[to]'].value, 'AirOJInboundToCity');
	$('IFrameCalendar').hide();
}

//used to cached the city results below to cut down on ajax calls.
var resultCache = new Array();

function updateCity(airport, id) {
	if(airport != '') {
		if(typeof(resultCache[airport]) == "undefined") {
			var http = getHTTPObject();
			http.open("GET", "/get_city.php?airport="+airport, false);
			http.send(null);
			$(id).innerHTML = http.responseText;
			resultCache[airport] = http.responseText;
		} else {
			$(id).innerHTML = resultCache[airport];
		}
	}
 }

function getHTTPObject() {
	var xmlhttp = false;
	if (window.XMLHttpRequest) { //Mozilla XML request
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) { //IE XML request
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xmlhttp;
}

var currentInput;
var iFrameFocus = 0;

function openCalendar(originDiv, baseInput) {
	if (!originDiv.id) {
		originDiv = $(originDiv);
	}
	baseDate =(baseInput) ? $F(baseInput) : '0';
	var offset = (Prototype.Browser.IE)?originDiv.cumulativeScrollOffset().top+22:22;
	$('IFrameCalendar').clonePosition(originDiv,{'offsetTop':offset});
	frames.Calendar.location.href = '/calendar.php?base_date=' + baseDate + '&selected_date=' + originDiv.value;
	$('IFrameCalendar').show();
	currentInput = originDiv;
}
function setVal(val) {
	currentInput.value = val;
}
function closeCalendar() {
	$('IFrameCalendar').hide();
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}


function checkCount(guests) {
	var amount = guests.options[guests.selectedIndex].value;
	if(amount == 2) {
		document.getElementById('HotelRoomType').style.display = 'block';
	} else {
		document.getElementById('HotelRoomType').style.display = 'none';
	}
}

function checkAges(children) {
	var amount = children.options[children.selectedIndex].value;
	if(amount == 0) {
		document.getElementById('HotelChildOne').style.display = 'none';
		document.getElementById('HotelChildTwo').style.display = 'none';
	} else if(amount == 1) {
		document.getElementById('HotelChildOne').style.display = 'block';
		document.getElementById('HotelChildTwo').style.display = 'none';
	} else if(amount == 2) {
		document.getElementById('HotelChildOne').style.display = 'block';
		document.getElementById('HotelChildTwo').style.display = 'block';
	}
}

function checkBeds(adults) {
	var amount = adults.options[adults.selectedIndex].value;
	if(amount == 2) {
		document.getElementById('HotelBeds').style.display = 'block';
	} else {
		document.getElementById('HotelBeds').style.display = 'none';
	}
}

function checkFareType(formName) {
	if(($('Air'+formName+'FareTypeCRU') && $('Air'+formName+'FareTypeCRU').checked) || ($('Air'+formName+'FareTypeSTU') && $('Air'+formName+'FareTypeSTU').checked)) {
		if(!$('Air'+formName+'Child').disabled && $('Air'+formName+'Child').selectedIndex != 0) {
			$('Air'+formName+'PassengerChild').highlight();
		}
		$('Air'+formName+'Child').selectedIndex = 0;
		$('Air'+formName+'Child').disabled = true;
	} else {
		$('Air'+formName+'Child').disabled = false;
	}
}