var Bright = 'hl';
var Default= '';



function hl(el, style){el.className = style;}

function notEmpty(elem, err) 
{
    var str = elem.value;

    if(str == null || str.length == 0) 
	{
		hl(elem, Bright);
		errorString+=err; 
		elem.focus();
		return false;
	}
	else 
	{
		hl(elem,Default);
		return true;
	}
}

function validEmail(elem, err)
{
    if(elem.value.length > 0)
	{
		var str = elem.value;
	    var splitted = str.match("^(.+)@(.+)$");

	    if(splitted !== null && splitted[1] !== null)
		{
	    	var regexp_user=/^\"?[\w-_\.]*\"?$/;
		    if(splitted[1].match(regexp_user) !== null && splitted[2] !== null)
			{
		    	var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
				var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
				if((splitted[2].match(regexp_domain) !== null) || (splitted[2].match(regexp_ip) !== null))
				{
					hl(elem,Default);
					return true;
				}
			}
		
		}
	}
	hl(elem, Bright);
	errorString+=err;
	elem.focus();
	return false;
}

function isChecked(elem, err)
{
	if (elem.checked)
	{
		hl(elem,Default);
		return true;
	}
	hl(elem, Bright);
	errorString+=err;
	elem.focus();
	return false;
}

function customVal(err)
{
	if ((document.forms.booking.jan_feb.checked+document.forms.booking.mar.checked+document.forms.booking.april.checked)>0)
	{
		return true;
	}
	errorString+=err;
	document.forms.booking.jan_feb.focus();
	return false;
}

function customVal2(err)
{
	if ((document.forms.booking.coasteering.checked+document.forms.booking.kayaking.checked+document.forms.booking.surfing.checked+document.forms.booking.mbiking.checked)>=2)
	{
		return true;
	}
	errorString+=err;
	document.forms.booking.coasteering.focus();
	return false;
}

	

function validateForm(formname)
{
	errorString = "Please fill in following fields:     \n-------------------------------\n";

	var Results = [
	notEmpty(formname.title, 'Title\n'),
	notEmpty(formname.student_name, 'Name\n'), 
	notEmpty(formname.address, 'Address in England\n'), 
	notEmpty(formname.telephone, 'Telephone number\n'), 
	validEmail(formname.email, 'Email (should be valid)\n'),
	notEmpty(formname.date, 'Date of Weekend Trip\n'), 
	customVal('Please select which month you wish to attend\n'), 
	customVal2('Please select at least  2 adventure activities\n'), 
	notEmpty(formname.chicken_or_vegetarian, 'Do you eat chicken or are you vegetarian ?\n'), 
	isChecked(formname.agree, 'I agree to the T&C\'s')
	];

	if (Results[0] && Results[1] && Results[2] && Results[3] && Results[4] && Results[5] && Results[6] && Results[7] && Results[8] && Results[9])
	{
		return true;
	}
	else
	{
		alert(errorString);
		return false;
	}
}