function IsValidEmail()
{
	var email = document.getElementById('email');
	var validationPattern = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	return email.value.search(validationPattern) != -1;
}

function HasChosenNewsletter()
{
	var newsletters = document.forms["newsletterform"]["newsletter[]"];
	
	for(var i = 0; i < newsletters.length; i++) {
		var item = newsletters[i];
		if (item.checked)
			return true;
	}
	
	return false;
}

function ValidationProblem(message)
{
	// Show error message
	alert(message);

	// Focus e-mail field again and cancel submit
	document.forms["newsletterform"]["email"].focus();

	return false;
}

function ValidateNewsletter()
{
	// Ensure we have a valid e-mail address
	if (!IsValidEmail())
		return ValidationProblem("Please enter a valid e-mail address you want to subscribe with.");

	// Ensure at least one newsletter has been chosen
	if (!HasChosenNewsletter())
		return ValidationProblem("Please tick at least one newsletter you would like to subscribe to.");

	// Set our token via javascript to deter bots
	var token = document.forms["newsletterform"]["token"];
	token.value = 15;
	
	return true;
}

