var formOK = true;

function initContactForm()
{
	Event.observe($('send'), 'click', submitContactForm);
}

function submitContactForm()
{
	if (checkContactForm())
	{
		$('emailForm').submit();
	}
}

function checkContactForm()
{
	var valid = true;

	var name = $('name');
	var email = $('email');
	var subject = $('subject');
	var text = $('text');
	var copy = $('email_copy');
	
	if (name.value.length == 0)
	{
		createError(name, 'Please enter your name');
		valid = false;
	}
	else
	{
		clearError(name);
	}
	
	if (email.value.length == 0)
	{
		createError(email, 'Please enter your email address');
		valid = false;
	}
	else if (!isValidEmail(email.value))
	{
		createError(email, 'Sorry, that e-mail address isn\'t valid');
		valid = false;
	}
	else
	{
		clearError(email);
	}
	
	if (subject.value.length == 0)
	{
		createError(subject, 'Please enter a subject');
		valid = false;
	}
	else
	{
		clearError(subject);
	}	
	
	if (text.value.length == 0)
	{
		createError(text, 'Please enter a message');
		valid = false;
	}
	else
	{
		clearError(text);
	}	

	return (valid);
}

function createError (el, err)
{			
	if( el.nextSibling.tagName == null)
	{
		var span = $(document.createElement('span'));
		span.update (err);
		span.addClassName ('error');
	
		el.parentNode.insertBefore(span, el.nextSibling);
	}
	else
	{
		el.nextSibling.show();
	}

	formOK = false;
}

function clearError(el)
{
	if (el.nextSibling.tagName != null)
	{
		el.nextSibling.hide();
	}
}

function isValidEmail (str)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return ( filter.test(str) );
}

Event.observe(window, 'load', initContactForm);