var Validators = new Class({
	init: function(){
	},

	isEmail: function(str){
		return str.test(/^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i);
	},

	isBlank: function(str){
		return str.trim().length == 0;
	},
	
	isWhitespace: function(str){ 
		return str.test(/[\S]/g);
	},
	
	isAlpha: function(str){
		return str.test(/[^a-zA-Z]/g);
	},
	
	isNumeric: function(str){
		return str.test(/[\D]/g);
	},
	
	isAlphaNumeric: function(str){
		str.test(/[^a-zA-Z0-9]/g);
	},
	
	isLength: function(str, len){
		return str.length == len;
	},
	
	isLengthBetween: function(str, min, max){
		return (str.length >= min) && (str.length <= max);
	},
	
	isPhoneNumber: function(str){
		return str.test(/^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/);
	},
	
	isDate: function(str){
		var exp = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/
		if (!str.test(exp)) return false;
		var result = str.match(exp);
		var m = parseInt(result[1]);
		var d = parseInt(result[2]);
		var y = parseInt(result[3]);
		var days;
		if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
		if(m == 2){
			days = ((y % 4) == 0) ? 29 : 28;
		}else if(m == 4 || m == 6 || m == 9 || m == 11){
			days = 30;
		}else{
			days = 31;
		}
		return (d >= 1 && d <= days);
	},
	
	isMatch: function(strA, strB){
		return strA == strB;
	}

});

