function validform(form) {
	var eqs = new Array();
	var elements = form.getElementsByTagName('*');
	var ok = true;
	for (var i=0; i<elements.length; i++) {
		var classes = elements[i].className.split(" ");
		for (var j=0; j<classes.length; j++) {
			if (classes[j]=="required") {
				if (!required(elements[i])) {ok=false;break;}
			}
			if (!empty(elements[i])) {
				if (classes[j]=="validate-email") {
					if (!email(elements[i])) {ok=false;break;}
				}
				if (classes[j]=="validate-email-confirm") {
					if (!emailconfirm(elements[i])) {ok=false;break;}
				}
				if (classes[j]=="equal") {
					if (!checkequal(elements[i],eqs)) {ok=false;break;}
				}
			}
		}
	}
	return ok;
	
}
function checkequal(element, eqs) {
	for (var i=0; i<eqs.length; i++) {
		if (element.value==eqs[i]) {
			errorMessage(element.id+"v","You cannot enter the same email twice.");
			return false;
		}
	}
	eqs[eqs.length]=element.value;
	return true;
}
function empty(element) {
	var value = element.value;
	return value==null || value.length==0;
}
function errorMessage(element, message) {
	element = document.getElementById(element);
	if (element) {
		element.innerHTML=message;
	}
}
function required(element) {
	if (!empty(element)) {
		errorMessage(element.id+"v","");
		return true;
	}
	
	errorMessage(element.id+"v","This is a required field.");
	return false;
}
function email(element) {
	var result = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(element.value);
	if (result) {
		errorMessage(element.id+"v","");
		return true;
	}
	errorMessage(element.id+"v","Please enter a valid email address. For example fred@domain.com .");
	return false;
}
function emailconfirm(element) {
	var result = document.getElementById("femail").value==element.value;
	if (result) {
		errorMessage(element.id+"v","");
		return true;
	}
	errorMessage(element.id+"v","Your confirmation email does not match your first email, please try again.");
	return false;

}
