

	function isFilled(str){ return (str != ""); }

	function isEmail(string) { return (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1); }

 	function isDigital(str)	{ return(parseFloat(str,10)==(str*1)); }

 	function isCurrency(val) { 	var re = /^(\$?\d+\$?|\$?\d+\.\d+\$?)$/; return (re.test(val)); }

		function ValidForm(form) {

		var field, i;

		var req = new Array(9);

		var email = new Array(1);

		var digits = new Array(2);

		var currs = new Array(0);

		req[0] = "firstname";

		req[1] = "surname";

		req[2] = "groupname";

		req[3] = "address";

		req[4] = "address1";

		req[5] = "postcode";

		req[6] = "tel";

		req[7] = "mobile";

		req[8] = "childern";

		req[9] = "email";		

		digits[0] = "tel";

		digits[1] = "mobile";

		digits[2] = "childern";

		email[0] = "email";



		for (i=0;i<9;i++)	{

			eval("field = form." + req[i]);

			if (!isFilled(field.value))	{

				alert("Field '" + field.title + "' is required to be filled in before successful submission.");

				field.focus();

				return false;

				break;

			}}

		for (i=0;i<1;i++)	{

			eval("field = form." + email[i]);

			if (!isEmail(field.value)) {

				alert("Field '" + field.title + "' is required to be filled in with valid email addresses before successful submission.");

				field.focus();

				return false;

				break;

			}}

		for (i=0;i<2;i++)	{

			eval("field = form." + digits[i]);

			if (!isDigital(field.value)) {

				alert("Field " + field.title + " is required to be filled in only with digits (0-9) and decimal point before successful submission.");

				field.focus();

				return false;

				break;

			}}

		for (i=0;i<0;i++)	{

			eval("field = form." + currs[i]);

			if (!isCurrency(field.value)) {

				alert("Field " + field.title + " is required to be filled in only with digits (0-9) a decimal point, or a dollar sign before successful submission.");

				field.focus();

				return false;

				break;

			}}

		return true; }

