var undefined = document.getElementById( 'xyzzy' );
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };

//	-----------------------------------------------------------------------	//
//	validate_form
//	-----------------------------------------------------------------------	//

function validate_form( required_fields )
{
	var fields_ok = true;
	var total_fields = required_fields.length;
	var elem = '';
	
	try
	{
		for( var i = 0; i < total_fields; i++ )
		{
			elem = document.getElementById( required_fields[i] );
			if( elem == undefined )
			{
				alert( "Undefined required field: " + required_fields[i] );
				continue;
			}
			
			elem.value = elem.value.trim();
			if( elem.value == '' )
			{
				elem.style.background = '#ffcccc';
				fields_ok = false;
			}
			else
			{
				elem.style.background = 'white';
				
				if( required_fields[i].substr( required_fields[i].length-5, 5 ) == 'email' )
				{
					if( elem.value.search( "^[A-Za-z0-9._%-]+@[A-Za-z0-9.-_]+\\.[A-Za-z]{2,4}$" ) == -1 )
					{
						elem.style.background = '#ffcccc';
						fields_ok = false;
					}
					else
						elem.style.background = 'white';
				}
			}
		}
		
		if( !fields_ok )
		{
			var elem = document.getElementById( "error_box" );
			if( elem != undefined )
				elem.style.display = "block";
		}
	}
	catch( e )
	{
		alert( "Sorry. There's been an error processing your request." );
		fields_ok = false;
	}
	
	return fields_ok;
}

//	-----------------------------------------------------------------------	//
//	toggle_form
//	-----------------------------------------------------------------------	//

function toggle_form( toggle_id, show )
{
	var toggle_item = document.getElementById( toggle_id );
	
	if( toggle_item != undefined )
	{
		if( show == true )
			toggle_item.style.display = "block";
		else
			toggle_item.style.display = "none";
	}
}



//	-----------------------------------------------------------------------	//
//	get_radio_value
//	
//	Get the value of a radio button by element name.
//	-----------------------------------------------------------------------	//

function get_radio_value( element_name )
{
	var		elem = document.getElementsByName( element_name );
	
	for( var i=0; i < elem.length; i++)
	{
		if( elem.item(i).checked )
			return elem.item(i).value;
	}
	
	return 0;
}

//	-----------------------------------------------------------------------	//
//	set_radio_value
//	
//	Set the value of a radio button by element name.
//	-----------------------------------------------------------------------	//

function set_radio_value( element_name, element_value )
{
	var		elem = document.getElementsByName( element_name );
	
	for( var i=0; i < elem.length; i++)
	{
		alert( elem.item(i).value + ' - ' + element_value );
		if( elem.item(i).value == element_value )
			elem.item(i).checked = true;
		else
			elem.item(i).checked = false;
	}
}

//	-----------------------------------------------------------------------	//
//	set_radio_value
//	
//	Set the value of a radio button by element name.
//	-----------------------------------------------------------------------	//

function radio_input_disabled( element_name, state )
{
	var		elem = document.getElementsByName( element_name );
	var		len = elem.length;
	
	for( var i=0; i < len; i++)
	{
		if( state == true )
			elem.item(i).checked = false;
		elem.item(i).disabled = state;
	}
}
