function Validator() {}
Validator.validators = new Object();
Validator.setValidators = function(elements) {
	var val;
	for (var i=0, j=elements.length; i<j; i++) {
		val = new ElementValidator(elements[i]);
		Validator.validators[val.id] = val;
	}
}
Validator.checkForm=function()
{
	var pass = true;
	for (var i in Validator.validators)
	{
		Validator.validators[i].check();
		if(Validator.validators[i].valid == false)
		{
			pass = false;
		}
	}	
	
	var errorNode = document.getElementById("login_errmsg");
	errorNode.style.display = pass ? "none" : "block";
	return pass;
}
Validator.isEmpty = function(s) {
	var reBlank = /^\s+$/;
	return s==null || s.length==0 || reBlank.test(s);
}
Validator.isEmail = function(s) {
	var reEmail = /^[\w\-]+(\.[\w\-]+)*\@[\w\-]+(\.[\w\-]+)*(\.(com|gov|net|id|tv|org|nom|edu|web|store|arpa|int|info|name|biz|co))(\.\w{2,3})*$/;
	return reEmail.test(s);
}
function ElementValidator(element)
{
	this.id = element[0];
	this.element = document.getElementById(element[0]);
	this.isRequired = element[1]=="required";
	this.isEmail = element[1]=="email";
	this.isState = element[1]=="state";
	this.valid = false;
}
ElementValidator.prototype.check = function() {
	var errMsg = "";
	
	if (this.isRequired) {
		this.valid = !Validator.isEmpty(this.element.value);
	} else if(this.isEmail) {
		this.element.value = this.element.value.toLowerCase();
		this.valid = Validator.isEmail(this.element.value);
	} else if (this.isState) {
		this.valid = this.element.selectedIndex > 0;
	}
}