function regCheck() {
	var error_msg = "";
	var form = document.forms["register"];
	
	form.elements["name"].value = form.elements["name"].value.replace(/[^-.a-zA-Z\s]/g, "").trim();
	if (form.elements["name"].value == "") {
		form.elements["name"].className = "textfieldRequired";
		error_msg += "- Name\n";
	} else {
		form.elements["name"].className = "textfieldOk";
	}
	
	if (form.elements["email"].value == "") {
		form.elements["email"].className = "textfieldRequired";
		error_msg += "- E-mail\n";
	} else if (!isValidEmail(form.elements["email"].value)) {
		form.elements["email"].className = "textfieldRequired";
		error_msg += "- E-mail\n";
	} else {
		form.elements["email"].className = "textfieldOk";
	}
	
	if (error_msg != "") {
		error_msg = "Please ensure the following mandatory fields are completed correctly:\n\n" + error_msg;
		alert(error_msg);
		return false;
	} else {
		return true;
	}
}

function inviteCheck() {
	var failed = false;
	var form = document.forms["invite"];
	var count = 0;
	
	for (var i=1; i<=5; i++) {
		form.elements["email" + i].value = form.elements["email" + i].value.trim();
		if (form.elements["email" + i].value != "") {
			if (!isValidEmail(form.elements["email" + i].value)) {
				form.elements["email" + i].className = "textfieldRequired";
				failed = true;
			} else {
				form.elements["email" + i].className = "textfieldOk";
			}
			count++;
		} else {
			form.elements["email" + i].className = "textfield";
		}
	}
	
	if (count == 0)
		failed = true;
	
	if (failed) {
		if (count == 0)
			alert("Please supply at least one e-mail address before submitting.");
		else
			alert("One or more supplied e-mail addresses are invalid. Please correct the highlighted e-mail addresses and re-submit.");
		return false;
	} else {
		return true;
	}
}

function isValidEmail(email)
{
	var rgx = new RegExp();
	rgx.compile("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");

	// single e-mail address
	if (!rgx.test(email)) return false;
	
	return true;
}

String.prototype.trim = function() {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
