
function validate(theForm, errordiv) {
	
	var errmsg = "";
	
	for (var i = 0; i < theForm.elements.length; i++) {
	
		var elm = theForm.elements[i];
		var req = elm.getAttribute("REQUIRED");
		var dis = elm.disabled;

		$(elm).removeClass("error");

		if (req&&!dis) {
			if (((elm.type=="text"||elm.type=="password")&&elm.value=="")||(elm.type=="hidden"&&elm.value=="")||(elm.type=="textarea"&&elm.value=="")||(elm.type=="select-one"&&elm.selectedIndex==0)||(elm.type=="radio"&&elm.checked==false)||(elm.type=="checkbox"&&elm.checked==false)) {
				if (errmsg.search(req) == -1) { errmsg += "<li>" + req + "</li>"; }
				$(elm).addClass("error");
			}
		}
	}

	$("object[required]").each(function(){
		var req = $(this).attr("required");
		if (req) {
			var inc = 0;
			$(this).find("[type='radio'],[type='checkbox']").each(function(){ if ($(this).attr("checked")) { inc ++; } });
			$(this).find("[type='text'],[type='password'],textarea").each(function(){ if ($(this).val()!="") { inc ++; } });
			$(this).find("select").each(function(){ if($(this).find("option:first").attr("selected")==false) { inc ++; } });
			if (inc == 0) { errmsg += "<li>" + req + "</li>"; }
		}
	});

	for (var i = 0; i < theForm.elements.length; i++) {
		
		var elm = theForm.elements[i];
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		
		if (elm.name == "strEmail" && reg.test(elm.value) == false && elm.value != "") {
			err="The email address contains illegal characters";
			if (errmsg.search(err) == -1) {
				errmsg += "<li>" + err + "</li>";
				$(elm).addClass("error");
			}
		}

		if (elm.name == "strConfEmail" && elm.value != $(theForm).find("[name='strEmail']").val() && elm.value != "") {
			err="Your email confirmation is incorrect";
			if (errmsg.search(err) == -1) {
				errmsg += "<li>" + err + "</li>";
				$(elm).addClass("error");
			}
		}

		if (elm.name == "strPassword" && elm.value.length < 6 && elm.value != "") {
			err="Your password must be over 6 characters in length";
			if (errmsg.search(err) == -1) {
				errmsg += "<li>" + err + "</li>";
				$(elm).addClass("error");
			}
		}

		if (elm.name == "strConfPassword" && elm.value != $(theForm).find("[name='strPassword']").val() && elm.value != "") {
			err="Your password confirmation is incorrect";
			if (errmsg.search(err) == -1) {
				errmsg += "<li>" + err + "</li>";
				$(elm).addClass("error");
			}
		}

	}

	if (errmsg) {
		$("#"+errordiv).html("<h3>You Have Missed Some Required Fields/Steps</h3><ul>" + errmsg + "</ul>").fadeIn(1000);
		window.scrollTo(0,0);
		return false;
	} else {
		return true;
	}
}

