function valid_text( field, img_id )
{
	with( field )
	{
		if( value == null || value == "" )
		{
			document.getElementById( img_id ).src = "images/cross.png";
			return false;
		}
		else
		{
			document.getElementById( img_id ).src = "images/tick.png";
			return true;
		}
	}
}

function valid_email( field, img_id )
{
	with( field )
	{
		a_index = value.indexOf( "@" );
		dot_index = value.lastIndexOf( "." );

		if( a_index < 1 || ( dot_index - a_index ) < 2 )
		{
			document.getElementById( img_id ).src = "images/cross.png";
			return false;
		}
		else
		{
			document.getElementById( img_id ).src = "images/tick.png";
			return true;
		}
	}
}

function remove_elements( id )
{
	var the_element = document.getElementById( id );

	if( the_element.hasChildNodes() )
		while( the_element.childNodes.length > 0 )
			the_element.removeChild( the_element.firstChild );
}

function validate_form( the_form )
{
	remove_elements( 'form_errors' );

	with( the_form )
	{
		var error = false;

		if( !valid_text( forename, 'name1_img' ) )
		{
			forename.focus();
			var error_txt = document.createTextNode( "Please provide your forename." );
			var linebreak = document.createElement( "br" );
			document.getElementById( 'form_errors' ).appendChild( error_txt );
			document.getElementById( 'form_errors' ).appendChild( linebreak );
			error = true;
		}
		if( !valid_text( surname, 'name2_img' ) )
		{
			if( !error ) { surname.focus(); error = true; }
			var error_txt = document.createTextNode( "Please provide your surname." );
			var linebreak = document.createElement( "br" );
			document.getElementById( 'form_errors' ).appendChild( error_txt );
			document.getElementById( 'form_errors' ).appendChild( linebreak );
		}
		if( !valid_email( email, 'email_img' ) )
		{
			if( !error ) { email.focus(); error = true; }
			var error_txt = document.createTextNode( "Please enter a valid e-mail address." );
			var linebreak = document.createElement( "br" );
			document.getElementById( 'form_errors' ).appendChild( error_txt );
			document.getElementById( 'form_errors' ).appendChild( linebreak );
		}

		if( error ) return false;
	}
}