function validFormSup(passForm)
{
	function stripper (formElement, repType)
	{
		var lettersSpaces = new RegExp("[^- a-zA-Z\t]+","g");
		var numbersSpaces = new RegExp("[^- 0-9ext:\t]+","gi");
		var numLetSpaces = new RegExp("[^- a-zA-Z0-9\|\\\t/\.,'\"]+","g");
		var slashes = /\//g;
		var temp = formElement;
		if (formElement.value != "")
		{
			var temp = formElement.value;
			if(repType == "num")
			{
				formElement.value = temp.replace(numbersSpaces,"");
			}
			else if (repType == "let")
			{
				formElement.value = temp.replace(lettersSpaces,"");
			}
			else
			{
				temp = temp.replace(numLetSpaces,"");
				formElement.value = temp.replace(slashes,"|");
			}
		}
	}
	function mandCheck (formElement, errorText)
	{
		if(formElement.value == "")
		{
			alert(errorText);
			formElement.focus();
			return false;
		}
	}
	function isValidEmail (sText)
	{
		var reEmail = /^(?:\w+\.?)*\w+@(?:[-\w]+\.)+\w+$/;
		if (reEmail.test(sText) == false)
		{
			alert("Your e-mail address doesn't seem to be in a standard format.\nPlease double-check it and try again.");
			passForm.clemail.focus();
			return false;
		}
	}
	function dropDownCheck (formElement, errorText)
	{
		if (formElement.value == "NO")
		{
			alert("Please select " + errorText + " from the drop-down list.");
			formElement.focus();
			return false;
		}
	}

	if (mandCheck(passForm.clname, "Please enter your name.") == false)
	{
		return false;
	}
	else stripper(passForm.clname, "let");
	if (mandCheck(passForm.cltel, "Please enter a telephone number. This can be a mobile or landline number.") == false)
	{
		return false;
	}
	else if (passForm.cltel.value.length < 9)
	{
		alert("The telephone number you've entered is too short. Please double-check it and try again.");
		passForm.cltel.focus();
		return false;
	}
	else stripper(passForm.cltel, "num");
	if ((passForm.clemail.value != '') && (isValidEmail(passForm.clemail.value) == false))
	{
		return false;
	}
	if (dropDownCheck(passForm.cacctype, "an area of law") == false)
	{
		return false;
	}
	return true;
}

function validFormSup2(passForm)
{
	function stripper (formElement, repType)
	{
		var lettersSpaces = new RegExp("[^- a-zA-Z\t]+","g");
		var numbersSpaces = new RegExp("[^- 0-9ext:\t]+","gi");
		var numLetSpaces = new RegExp("[^- a-zA-Z0-9\|\\\t/\.,'\"]+","g");
		var slashes = /\//g;
		var temp = formElement;
		if (formElement.value != "")
		{
			var temp = formElement.value;
			if(repType == "num")
			{
				formElement.value = temp.replace(numbersSpaces,"");
			}
			else if (repType == "let")
			{
				formElement.value = temp.replace(lettersSpaces,"");
			}
			else
			{
				temp = temp.replace(numLetSpaces,"");
				formElement.value = temp.replace(slashes,"|");
			}
		}
	}
	function mandCheck (formElement, errorText)
	{
		if(formElement.value == "")
		{
			alert(errorText);
			formElement.focus();
			return false;
		}
	}
	function isValidEmail (sText)
	{
		var reEmail = /^(?:\w+\.?)*\w+@(?:[-\w]+\.)+\w+$/;
		if (reEmail.test(sText) == false)
		{
			alert("Your e-mail address doesn't seem to be in a standard format.\nPlease double-check it and try again.");
			passForm.suemail.focus();
			return false;
		}
	}

	if (mandCheck(passForm.suname, "Please enter your name.") == false)
	{
		return false;
	}
	else stripper(passForm.suname, "let");
	if ((mandCheck(passForm.suemail, "Please enter your e-mail address.") == false) || (isValidEmail(passForm.suemail.value) == false))
	{
		return false;
	}
	return true;
}

function validFormSup3(passForm)
{
	function stripper (formElement, repType)
	{
		var lettersSpaces = new RegExp("[^- a-zA-Z\t]+","g");
		var numbersSpaces = new RegExp("[^- 0-9ext:\t]+","gi");
		var numLetSpaces = new RegExp("[^- a-zA-Z0-9\|\\\t/\.,'\"]+","g");
		var slashes = /\//g;
		var temp = formElement;
		if (formElement.value != "")
		{
			var temp = formElement.value;
			if(repType == "num")
			{
				formElement.value = temp.replace(numbersSpaces,"");
			}
			else if (repType == "let")
			{
				formElement.value = temp.replace(lettersSpaces,"");
			}
			else
			{
				temp = temp.replace(numLetSpaces,"");
				formElement.value = temp.replace(slashes,"|");
			}
		}
	}
	function mandCheck (formElement, errorText)
	{
		if(formElement.value == "")
		{
			alert(errorText);
			formElement.focus();
			return false;
		}
	}
	function isValidEmail (sText)
	{
		var reEmail = /^(?:\w+\.?)*\w+@(?:[-\w]+\.)+\w+$/;
		if (reEmail.test(sText) == false)
		{
			alert("Your e-mail address doesn't seem to be in a standard format.\nPlease double-check it and try again.");
			passForm.suemail2.focus();
			return false;
		}
	}

	if (mandCheck(passForm.suname2, "Please enter your name.") == false)
	{
		return false;
	}
	else stripper(passForm.suname2, "let");
	if ((mandCheck(passForm.suemail2, "Please enter your e-mail address.") == false) || (isValidEmail(passForm.suemail2.value) == false))
	{
		return false;
	}
	return true;
}
