function invalidEmail(textObj)
{
	if (textObj.value.length >0)
	{
		at_loc = textObj.value.indexOf("@");
		dot_loc = textObj.value.indexOf(".", at_loc);	
		comma = textObj.value.indexOf(",");	
		spaces = textObj.value.indexOf(" ");	
		last_dot = textObj.value.lastIndexOf(".") + 1;	
		len = textObj.value.length;
	    if ((at_loc > 0) && (dot_loc > (at_loc + 1)) &&
		    (comma == -1) && (spaces == -1) &&
            (len - last_dot >= 2) && (len - last_dot <= 3))
			return false;
		else
			return true;
	}
}

function emptyField(textObj)
{	
	if (textObj.value.length == 0) return true;
	for (var i = 0; i<textObj.value.length; ++i)
	{ 
		var ch = textObj.value.charAt(i);
		if (ch != ' ' && ch != '\t') return false;
	}
	return true;
}

function validateRegistrationForm(formObj)
{

	//Re-enable mandatory constraint on Firstname! 24/4/2010 // firstname no longer mandatory - rebrand 4/2/2010
	if (emptyField(formObj.firstname))
	{
		alert("Please enter the First Name.");
		selectElement(formObj.firstname);
		return false;
	}
	
	// Title is now mandatory - rebrand 4/2/2010
	if(emptyField(formObj.title))
	{
	  alert("Please select a Title.");
	  selectElement(formObj.title);
	  return false;
	}
	
	if (emptyField(formObj.surname))
	{
		alert("Please enter the Surname.");
		selectElement(formObj.surname);
		return false;
	}
	if (emptyField(formObj.address1))
	{
		alert("Please enter the Address.");
		selectElement(formObj.address1);
		return false;
	}
	if (emptyField(formObj.town))
	{
		alert("Please enter the Town.");
		selectElement(formObj.town);
		return false;
	}
	
	// county not mandatory - rebrand 4/2/2010
	//if (emptyField(formObj.county))
	//{
	//	alert("Please enter the County.");
	//	selectElement(formObj.county);
	//	return false;
	//}
	
	if (emptyField(formObj.postcode))
	{
		alert("Please enter the Postcode.");
		selectElement(formObj.postcode);
		return false;
	}
	if (emptyField(formObj.emailaddress))
	{
		alert("Please enter Email.");
		selectElement(formObj.emailaddress);
		return false;
	}
	else if (invalidEmail(formObj.emailaddress))
	{
		alert("Invalid Email. Please enter a valid Email Address.");
		selectElement(formObj.emailaddress);
		return false;
	}
	if (emptyField(formObj.username))
	{
		alert("Please enter the User Name.");
		selectElement(formObj.username);
		return false;
	}
	if (emptyField(formObj.password))
	{
		alert("Please enter the Password.");
		selectElement(formObj.password);
		return false;
	}
	if (formObj.password.value!=formObj.passwordconfirmation.value)
	{
		alert("Please confirm the Password.");
		selectElement(formObj.passwordconfirmation);
		return false;
	}
	return true;
}
function selectElement(elem)
{
	if (elem!=null)
	{
		var tag = elem.tagName.toUpperCase();
		if (tag =="INPUT" || tag == "TEXTAREA")
			elem.select();
		elem.focus();
	}
}
