/*
	Hide or show fields that pertain to a particular trigger
*/
function engageTriggers(triggerType,triggerValue)
{
	if (triggerType == 'required_GroupType')
	{
		// Hide all fields of current group
		toggleGroupFields(curGroupType,'none');
		
		// Replace current group with new one
		curGroupType = triggerValue;
	
		// Show all fields of new group type
		toggleGroupFields(curGroupType,'block');
	}
	else if (triggerType == 'required_GuestsUnder18')
	{
		if (triggerValue == 'Yes') { setTriggerFieldVisibility('under_18_age_specify','block'); }
		else { setTriggerFieldVisibility('under_18_age_specify','none'); }
	}
	else if (triggerType == 'notrequired_BudgetNotSet')
	{
		if (triggerValue == true)
		{
			if (curGroupType == 'Corporate Incentive Program' || curGroupType == 'Corporate Meeting' || curGroupType == 'Conference' || curGroupType == 'Trade Show')
			{
				setTriggerFieldVisibility('total_overall_budget','none');
			}
			else
			{
				setTriggerFieldVisibility('per_person_budget','none');
			}
		}
		else
		{
			if (curGroupType == 'Corporate Incentive Program' || curGroupType == 'Corporate Meeting' || curGroupType == 'Conference' || curGroupType == 'Trade Show')
			{
				setTriggerFieldVisibility('per_person_budget','none');
				setTriggerFieldVisibility('total_overall_budget','block');
			}
			else
			{
				setTriggerFieldVisibility('total_overall_budget','none');
				setTriggerFieldVisibility('per_person_budget','block');
			}
		}
		
	}
	else if (triggerType == 'required_Destination')
	{
		comboReplace('destination');
	
		if (triggerValue == '')
		{
			setTriggerFieldVisibility('choose_resort','none');
			setTriggerFieldVisibility('resort_uncertain','none');
			setTriggerFieldVisibility('other_destinations','none');
			setTriggerFieldVisibility('other_destinations_field','none');
		}
		else
		{
			setTriggerFieldVisibility('choose_resort','block');
			setTriggerFieldVisibility('resort_uncertain','block');
			
			engageTriggers('notrequired_ResortUncertain',document.Proposal.notrequired_ResortUncertain.checked);
		}
	}
	else if (triggerType == 'required_Resort')
	{
		if (triggerValue == '')
		{
			setTriggerFieldVisibility('other_destinations','none');
			setTriggerFieldVisibility('other_destinations_field','none');
		}
		else
		{
			setTriggerFieldVisibility('other_destinations','block');
			
			engageTriggers('required_ConsideringOthers',document.Proposal.required_ConsideringOthers.value);
		}
	}
	else if (triggerType == 'notrequired_DestinationUncertain')
	{
		if (triggerValue == true) 
		{ 
			setTriggerFieldVisibility('choose_destination','none'); 
			setTriggerFieldVisibility('choose_resort','none');
			setTriggerFieldVisibility('resort_uncertain','none');
			setTriggerFieldVisibility('other_destinations','none');
			setTriggerFieldVisibility('other_destinations_field','none');
			setTriggerFieldVisibility('what_looking_for','block');
		} 
		else 
		{
			setTriggerFieldVisibility('choose_destination','block');
			
			setTriggerFieldVisibility('what_looking_for','none');

			engageTriggers('required_Destination',document.Proposal.required_Destination.value);
		} 
	}
	else if (triggerType == 'notrequired_ResortUncertain')
	{
		if (triggerValue == true)
		{
			setTriggerFieldVisibility('choose_resort','none');
			setTriggerFieldVisibility('other_destinations','none');
			setTriggerFieldVisibility('other_destinations_field','none');
			setTriggerFieldVisibility('what_looking_for','block');
		}
		else
		{
			setTriggerFieldVisibility('choose_resort','block');
			
			setTriggerFieldVisibility('what_looking_for','none');

			engageTriggers('required_Resort',document.Proposal.required_Resort.value);
		}
	}
	else if (triggerType == 'required_ConsideringOthers')
	{
		if (triggerValue == 'Yes') { setTriggerFieldVisibility('other_destinations_field','block'); }
		else { setTriggerFieldVisibility('other_destinations_field','none'); }
	}
	else if (triggerType == 'required_TravelDate')
	{
		setTriggerFieldVisibility('return_date_field','block');
		
		document.Proposal.required_ReturnDate.value = document.Proposal.required_TravelDate.value;
		document.Proposal.return_month.value = document.Proposal.travel_month.value;
		document.Proposal.return_day.value = document.Proposal.travel_day.value;
		document.Proposal.return_year.value = document.Proposal.travel_year.value;
	}
	else if (triggerType == 'notrequired_DatesUncertain')
	{
		if (triggerValue == true)
		{
			setTriggerFieldVisibility('dates_uncertain','block');
			setTriggerFieldVisibility('travel_date_field','none');
			setTriggerFieldVisibility('return_date_field','none');
			
			setTriggerFieldVisibility('travel_calendar','none');
			setTriggerFieldVisibility('return_calendar','none');
		}
		else
		{
			setTriggerFieldVisibility('dates_uncertain','none');
			setTriggerFieldVisibility('travel_date_field','block');
			
			if (document.Proposal.required_ReturnDate.value != '')
			{
				setTriggerFieldVisibility('return_date_field','block');
			}
		}
	}
	else if (triggerType == 'required_HandleAirTransportation')
	{
		if (triggerValue == 'Yes') { setTriggerFieldVisibility('air_transportation_specify','block'); }
		else { setTriggerFieldVisibility('air_transportation_specify','none'); }
	}
	else if (triggerType == 'notrequired_Company')
	{
		if (triggerValue != '') { setTriggerFieldVisibility('title_field','block'); }
		else { setTriggerFieldVisibility('title_field','none'); }
	}
	else if (triggerType == 'required_ContactNum1')
	{
		if (triggerValue != '') { setTriggerFieldVisibility('best_time_1','block'); }
		else { setTriggerFieldVisibility('best_time_1','none'); }
	}
	else if (triggerType == 'notrequired_ContactNum2')
	{
		if (triggerValue != '') { setTriggerFieldVisibility('best_time_2','block'); }
		else { setTriggerFieldVisibility('best_time_2','none'); }
	}
}

/*
	Hides or reveals fields that pertain to a particular group type
*/
function toggleGroupFields(groupType,visibility)
{
	if (groupType == 'Corporate Incentive Program' || groupType == 'Corporate Meeting' || groupType == 'Conference' || groupType == 'Trade Show')
	{
		setTriggerFieldVisibility('total_overall_budget',visibility);
		
		if (groupType != 'Trade Show')
		{
			setTriggerFieldVisibility('staff_room_field',visibility);
		}
	}
	else if (groupType == 'Wedding')
	{
		setTriggerFieldVisibility('functions_wedding_ceremony',visibility);
		setTriggerFieldVisibility('functions_wedding_reception',visibility);
		setTriggerFieldVisibility('functions_rehearsal_dinner',visibility);
		
		setTriggerFieldVisibility('budget_not_yet_determined',visibility);
	}
	else if (groupType == 'Other')
	{
		setTriggerFieldVisibility('other_group_specify',visibility);
		setTriggerFieldVisibility('per_person_budget',visibility);
		
		setTriggerFieldVisibility('budget_not_yet_determined',visibility);
	}
	else if (groupType == 'Sports')
	{
		setTriggerFieldVisibility('sports_specify',visibility);
		setTriggerFieldVisibility('per_person_budget',visibility);
	}
	else
	{
		if (groupType != '')
		{
			setTriggerFieldVisibility('per_person_budget',visibility);
		}
		else
		{
			setTriggerFieldVisibility('total_overall_budget','none');
			setTriggerFieldVisibility('per_person_budget','none');
		}
	}

	if (groupType != '')
	{
		setTriggerFieldVisibility('budget_not_yet_determined','block');

		engageTriggers('notrequired_BudgetNotSet',document.Proposal.notrequired_BudgetNotSet.checked);
	}
	else
	{
		setTriggerFieldVisibility('budget_not_yet_determined','none');
	}
}

/*
	Set visibility of fields that respond to particular triggers
*/
function setTriggerFieldVisibility(target_id,visibilitySetting)
{
	findDOM(target_id,1).display = visibilitySetting;
}