function typeaheadfocusAir(id,code,prod)
{
	id.value='';
	clearHelpText(id);
	var menuCb = document.all_action.singleMenu;
	var radioLength = menuCb.length;
	for(var i = 0; i < radioLength; i++) {
		if(menuCb[i].checked) {
			var formType = menuCb[i].value;
		}
	}
	initSmartBox(id, code, formType, 30, 425);
}

function typeaheadfocusCar(id,code,prod)
{
	id.value='';
	clearHelpText(id);
	var menuCb = document.all_action.singleMenu;
	var radioLength = menuCb.length;
	for(var i = 0; i < radioLength; i++) {
		if(menuCb[i].checked) {
			var formType = menuCb[i].value;
		}
	}
	initSmartBox(id, code, formType, 30, 425);
}

function typeaheadfocusHotel(id,code,prod)
{
	id.value='';
	clearHelpText(id);
	initSmartBox(id, 'hotel', 'hotel', 30, 425);
}

function bw_GetObject(objectId)
{
	if (document.getElementById && document.getElementById(objectId))
		return document.getElementById(objectId);
	else if (document.all && document.all(objectId))
		return document.all(objectId);
	else
		return false;
}


function bw_InitForm(formType,hasCity,hasfCity)
{
	var bwForm = document.all_action;
	var found = false;
	for (var i = 0; i < bwForm.singleMenu.length; i++ )
	{
		if (formType == bwForm.singleMenu[i].value)
		{
			bwForm.singleMenu[i].checked = true;
			found = true;
			break;
		}
	}
	if (found == false)
	{
		for (var i = 0; i < bwForm.comboMenu.length; i++ )
		{
			if (formType == bwForm.comboMenu[i].value)
			{
				bwForm.comboMenu[i].selected = true;
				found = true;
				break;
			}
		}
	}
	bw_ShowForm(formType,hasCity,hasfCity);
}


function bw_ShowSingleForm()
{
	var bwForm = document.all_action;
	var menuValue = 'air';
	for (var i = 0; i < bwForm.singleMenu.length; i++ )
	{
		if (bwForm.singleMenu[i].checked)
		{
			menuValue = bwForm.singleMenu[i].value;
			break;
		}
	}
	var menuCb = bw_GetObject('comboMenu');
	menuCb.selectedIndex = 0;
	bw_ShowForm(menuValue,'');
}


function bw_ShowComboForm()
{
	var menuCb = bw_GetObject('comboMenu');
	var menuValue = menuCb.value;
	if (menuValue == '')
	{
		var bwForm = document.all_action;
		bwForm.singleMenu[0].checked = true;
		bw_ShowForm('air');
		return;
	}
	var bwForm = document.all_action;
	for (var i = 0; i < bwForm.singleMenu.length; i++ )
	{
		bwForm.singleMenu[i].checked = false;
	}
	bw_ShowForm(menuValue,'');
}


function bw_ShowForm(formType,hasCity,hasfCity)
{
	var air = (formType.indexOf('air') > -1)? true : false;
	var hotel = (formType.indexOf('hotel') > -1)? true : false;
	var car = (formType.indexOf('car') > -1)? true : false;
	if (air)
	{
		bw_ChangeField('city1Div', 'city1Span', 'Departing From');
		bw_ChangeField('city2Div', 'city2Span', 'Traveling To');
		bw_ChangeField('date1Div', 'date1Span', 'Departure Date');
		bw_ChangeField('date2Div', 'date2Span', 'Return Date');
		bw_ChangeField('adultsDiv', 'adultsSpan', 'Adults (12+)');
		bw_ChangeField('childrenDiv', 'childrenSpan', 'Children (2-11)');
	}
	else if (hotel)
	{
		bw_ChangeField('city1Div', 'city1Span', 'Traveling To');
		bw_ChangeField('city2Div', 'city2Span', '');
		bw_ChangeField('date1Div', 'date1Span', 'Check-In Date');
		bw_ChangeField('date2Div', 'date2Span', 'Check-Out Date');
		bw_ChangeField('adultsDiv', 'adultsSpan', 'Adults (19+)');
		bw_ChangeField('childrenDiv', 'childrenSpan', 'Children (0-18)');
	}
	else if (car)
	{
		bw_ChangeField('city1Div', 'city1Span', 'Pick-Up City');
		bw_ChangeField('city2Div', 'city2Span', '');
		bw_ChangeField('date1Div', 'date1Span', 'Pick-Up Date');
		bw_ChangeField('date2Div', 'date2Span', 'Drop-Off Date');
		bw_ChangeField('adultsDiv', 'adultsSpan', '');
		bw_ChangeField('childrenDiv', 'childrenSpan', '');
	}
	
	if (car && !air && !hotel)
		bw_HideSection('travelerInfoDiv');
	else
		bw_ShowSection('travelerInfoDiv');
		
	if (hotel)
		bw_ChangeField('roomsDiv', 'roomsSpan', 'Rooms');
	else
		bw_ChangeField('roomsDiv', 'roomsSpan', '');
		
		
	if (formType == 'car') {
		document.getElementById('timeInfoDiv').style.display='block';
	} else {
		document.getElementById('timeInfoDiv').style.display='none';
	}
	
	if (air && !hotel && !car)
	{
		//bw_ShowSection('flightTypeDiv');
		var bwForm = document.all_action;
		if (bwForm.flightType[0].checked == true)
			bw_ShowSection('date2Div');
		else
			bw_HideSection('date2Div');
	}
	//else
		//bw_HideSection('flightTypeDiv');
		
	if (air)
		bw_ShowSection('flightTypeDiv');
	else
		bw_HideSection('flightTypeDiv');
		
	if (hotel && !air && !car)
	{
		var city1Object = bw_GetObject('city1');
		if (city1Object.value == '' || city1Object.value == 'city or airport code')
		city1Object.value = 'city name';
	}
	else
	{
		var city1Object = bw_GetObject('city1');
		if (city1Object.value == '' || city1Object.value == 'city name')
		city1Object.value = 'city or airport code';
	}
	
	var city2Object = bw_GetObject('city2');
	if (city2Object.value == '')
		city2Object.value = 'city or airport code';
		
	if(hasCity != '') {
		if(air && !hotel && !car)
		city2Object.value = hasCity;
		else
		city1Object.value = hasCity;
	}
	
	if(hasfCity != '') {
		if(air) city1Object.value = hasfCity;
	}
		
	var date1Object = bw_GetObject('date1');
	if (date1Object.value == '')
		date1Object.value = 'mm/dd/yyyy';
		
	var date2Object = bw_GetObject('date2');
		if (date2Object.value == '')
		
	date2Object.value = 'mm/dd/yyyy';
	bw_ChangeSpanColor('city1Span', '#000000');
	bw_ChangeSpanColor('city2Span', '#000000');
	bw_ChangeSpanColor('date1Span', '#000000');
	bw_ChangeSpanColor('date2Span', '#000000');
}


function bw_HideSection(sectionDiv)
{
	var section = bw_GetObject(sectionDiv);
	section.style.display = 'none';
}


function bw_ShowSection(sectionDiv)
{
	var section = bw_GetObject(sectionDiv);
	section.style.display = 'block';
}


function bw_ChangeField(fieldDiv, labelSpan, text)
{
	if (text == '')
	{
		var myFormField = bw_GetObject(fieldDiv);
		myFormField.style.display = 'none';
	}
	else
	{
		var myFormField = bw_GetObject(fieldDiv);
		var myFieldLabel = bw_GetObject(labelSpan);
		myFormField.style.display = 'block';
		myFieldLabel.innerHTML = text;
	}
}


function bw_ChangeSpanColor(objectId, color)
{
	var myObject = bw_GetObject(objectId);
	myObject.style.color = color;
}


function bw_Validate()
{
	var bwForm = document.all_action;
	var formType = '';
	for (var i = 0; i < bwForm.singleMenu.length; i++ )
	{
		if (bwForm.singleMenu[i].checked)
		{
			formType = bwForm.singleMenu[i].value;
			break;
		}
	}
	
	if (formType == '')
	{
		var menuCb = bw_GetObject('comboMenu');
		formType = menuCb.value;
	}
	
	var air = (formType.indexOf('air') > -1)? true : false;
	var hotel = (formType.indexOf('hotel') > -1)? true : false;
	var car = (formType.indexOf('car') > -1)? true : false;
	var isValid = true;
	
	if (hotel && !air && !car)
	{
		if (bw_ValidateRequiredField('city1', 'city1Span', 'city name') == false)
		isValid = false;
	}
	else
	{
		if (bw_ValidateRequiredField('city1', 'city1Span', 'city or airport code') == false)
		isValid = false;
	}
	
	if (bw_ValidateRequiredField('date1', 'date1Span', 'mm/dd/yyyy') == false)
	isValid = false;
	if (air)
	{
		if (bw_ValidateRequiredField('city2', 'city2Span', 'city or airport code') == false)
		isValid = false;
	}
	if (air && !hotel && !car)
	{
		var bwForm = document.all_action;
		if (bwForm.flightType[0].checked == true)
		{
			if (bw_ValidateRequiredField('date2', 'date2Span', 'mm/dd/yyyy') == false)
			isValid = false;
		}
	}
	if (!air)
	{
		if (bw_ValidateRequiredField('date2', 'date2Span', 'mm/dd/yyyy') == false)
		isValid = false;
	}
		
	if (!isValid)
	alert('Please enter required information (in red)');
	return isValid;
}

function bw_ValidateRequiredField(objectId, labelId, defaultText)
{
	var myObject = bw_GetObject(objectId);
	if (myObject.value == '' || myObject.value == defaultText)
	{
		bw_ChangeSpanColor(labelId, '#ff0000');
		return false;
	}
	else
	{
		bw_ChangeSpanColor(labelId, '#000000');
		return true;
	}
}
