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.cemail.focus();
			return false;
		}
	}
	function dropDownCheck (formElement, errorText)
	{
		if (formElement.value == "nothing")
		{
			alert("Please select the " + errorText + " from the drop-down list.");
			formElement.focus();
			return false;
		}
	}

	if (mandCheck(passForm.cname, "Please enter your full name.") == false)
	{
		return false;
	}
	// else stripper(passForm.cname, "let");
	// stripper(passForm.ctel, "num");
	// stripper(passForm.cmob, "num");
        if ((passForm.ctel == '') && (passForm.cmob == ''))
        {
                alert("Please enter a contact telephone number (either landline or mobile).");
                passForm.ctel.focus();
                return false;
        }
	if ((mandCheck(passForm.cemail, "Please enter your e-mail address.") == false) || (isValidEmail(passForm.cemail.value) == false))
	{
		return false;
	}
	if (dropDownCheck(passForm.county, "county where you live") == false)
	{
		return false;
	}
	if (mandCheck(passForm.cdate, "Please enter the date (or time period) when your accident occured.") == false)
	{
		return false;
	}
	else stripper(passForm.cdate, "numlet");
	if (dropDownCheck(passForm.cacctype, "the type of accident you wish to claim for") == false)
	{
		return false;
	}
	if (mandCheck(passForm.cdetail, "Please describe your accident and the injuries you sustained.") == false)
	{
		return false;
	}
	else if (passForm.cdetail.value.length < 20)
	{
		if (confirm("If your accident description is too short, your claim will take us longer to process.\nWould you like to add anything?"))
		{
			passForm.cdetail.focus();
			return false;
		}
	}
	else stripper(passForm.cdetail, "numlet");
	if (passForm.cpreference.value != "")
	{
		stripper(passForm.cpreference, "numlet");
	}
	if (passForm.cchoice.value != "")
	{
		stripper(passForm.cchoice, "numlet");
	}
	if (passForm.cagree.checked == false)
	{
		alert("Please confirm that you have read the Solicitors Introduction Code Statement");
		passForm.cagree.focus();
		return false;
	}		
	return true;
}
