function field_toggle( source, target )
{
	var trg	= $F(source);
	
	if ( trg == undefined )
	{
		Element.hide(target);
	}
	else
	{
		Element.show(target);
	}
}

function validate_visit()
{
	precepts();
	guidelines();
	
	if ( dana_validate() && day_visit_validate() && precepts() && guidelines() )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validate_reg()
{
	precepts();
	guidelines();
	
	if ( retreats() && precepts() && guidelines() )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function retreats()
{	
	var c	= false;
	
	var r	= document.getElementsByClassName('retreat_check');
	
	for (i = 0; i < r.length; i++)
	{
		if ( r[i].checked == true )
		{
			c	= true;
		}
	}
	
	if ( ! c )
	{
		alert('You must select at least one retreat in order to register.');
		return false;
	}
	else
	{
		return true;
	}	
}

function precepts()
{
	var p	= $F('precepts_y');
	var pn	= $F('precepts_needs');
	
	if ( p == undefined && pn == undefined )
	{
		alert('You must agree to abide by the 8 precepts before registering.');
		return false;
	}
	else
	{
		return true;
	}
}

function guidelines()
{
	var g	= $F('read_guidelines_y');
	
	if ( g == undefined )
	{
		alert('You must acknowledge that you have read the Bhavana Society Guidelines before registering.');
		return false;
	}
	else
	{
		return true;
	}
}

function dana_check()
{
	var d	= $F('dana');
	
	if ( d == undefined )
	{
		Element.hide('dana_content');
	}
	else
	{
		Element.show('dana_content');
	}
}

function dana_validate()
{
	var dana			= $F('dana');
	var meal_dish		= $F('dana_meal_size_few');
	var meal_full		= $F('dana_meal_size_entire');
	var meal_lunch		= $F('dana_meal_time_lunch');
	var meal_beakfast	= $F('dana_meal_time_breakfast_lunch');
	
	if ( dana != undefined )
	{
		if ( meal_dish == undefined && meal_full == undefined )
		{
			alert('If you are offering Dana, please indicate whether you are bringing a few dishes or an entire meal.');
			return false;
		}
		
		if ( meal_lunch == undefined && meal_beakfast == undefined )
		{
			alert('If you are offering Dana, please indicate whether you are bringing just lunch or both breakfast and lunch.');
			return false;
		}
		
		return true;
	}
	else
	{
		return true;
	}
}

function day_visit_check()
{
	var night	= $F('day_visit_night');
	
	if ( night == undefined )
	{
		Element.hide('snore','departure_date_row');
	}
	else
	{
		Element.show('snore','departure_date_row');
	}
}

function day_visit_validate()
{
	var night			= $F('day_visit_night');
	var arrival_date	= $F('arrival_date');
	var arrival_time	= $F('arrival_time');
	var departure_date	= $F('departure_date');
	var departure_time	= $F('departure_time');
	
	if ( night == undefined )
	{
		if ( arrival_date == '' || arrival_time == '' || departure_time == '' )
		{
			alert('For a day visit we need to know your arrival date, arrival time and departure time. Please go back and complete those fields.');
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		if ( arrival_date == '' || arrival_time == '' || departure_date == '' || departure_time == '' )
		{
			alert('For an overnight visit we need to know your arrival date, arrival time, departure date and departure time. Please go back and complete those fields.');
			return false;
		}
		else
		{
			return true;
		}
	}
}