function CheckForm(theForm) {
	if((theForm.name.value == "")||(theForm.name.value == "Name")) {
		alert("Please enter your Name !");
		theForm.name.focus();
		return (false);
		}
	if(((theForm.phone.value == "")||(theForm.phone.value == "Phone"))&&((theForm.email.value == "")||(theForm.email.value == "Email"))) {
		alert("Please enter your E-mail or Phone !");
		theForm.email.focus();
		return (false);
		}
	if((theForm.email.value != "")&&(theForm.email.value != "Email")) {
		if(checkValidation(theForm.email)==false) return false;
		}
	if(theForm.email.value != theForm.email1.value) {
		alert("Email addresses do not match. Please retype again.");
		return false;
		}
	return (true);
	}
function checkValidation(formInput) {
	var message;
	$result = true;
	if(noAtSign( formInput.value )) {
		message = "Error! The address \"" + formInput.value + "\" does not contain an '@' character.";
		alert(message);
		$result = false;
		}
	else if(nothingBeforeAt(formInput.value)) {
		message = "Error! The address \"" + formInput.value;
		message += "\" must contain at least one character before the '@' character";
		alert(message);
		$result = false;
		}
	else if(noLeftBracket(formInput.value)) {
		message = "Error! The address \"" + formInput.value;
		message += "\" contains a right square bracket ']',\nbut no corresponding left square bracket '['.";
		alert(message);
		$result = false;
		}
	else if(noRightBracket(formInput.value)) {
		message = "Error! The address \"" + formInput.value;
		message += "\" contains a left square bracket '[',\nbut no corresponding right square bracket ']'.";
		alert(message);
		$result = false;
		}
	else if(noValidPeriod(formInput.value)) {
		message = "Error! The address \"" + formInput.value + "\" must contain a period ('.') character.";
		alert(message);
		$result = false;
		}
	else if(noValidSuffix(formInput.value)) {
		message = "Error! The address \"" + formInput.value;
		message += "\" must contain a two, three or four character suffix.";
		alert(message);
		$result = false;
		}
	else {
		$result = true;
		}
	if($result==false) {
		formInput.focus();
		}
	return $result;
	}

function noAtSign(formField) {
	// CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
	if(formField.indexOf('@', 0) == -1) {
		return(true);
		}
	else {
		return(false);
		}
	}

function nothingBeforeAt(formField) {
	// CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
	if(formField.indexOf('@', 0) < 1) {
		return(true);
		}
	else {
		return(false);
		}
	}

function noLeftBracket(formField) {
	// IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
	if(formField.indexOf('[', 0) == -1 && formField.charAt(formField.length - 1) == ']') {
		return(true);
		}
	else {
		return(false);
		}
	}

function noRightBracket(formField) {
	// IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
	if(formField.indexOf('[', 0) > -1 && formField.charAt(formField.length - 1) != ']') {
		return(true);
		}
	else {
		return(false);
		}
	}

function noValidPeriod(formField) {
	// IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
	if(formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
		return(false);
		}
	// CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
	if(formField.indexOf('.', 0) == -1) {
		return(true);
		}
	return(false);
	}

function noValidSuffix(formField) {
	// IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
	if(formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
		return(false);
		}
	// CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
	var len = formField.length;
	var pos = formField.lastIndexOf('.', len - 1) + 1;
	if((len - pos) < 2 || (len - pos) > 4) {
		return(true);
		}
	else {
		return(false);
		}
	}
