//--> Begin Method :: Constructor
	DataValidator = function() {
		//do nothing
	};
//<-- End Method :: Constructor

//##########################################################################################

//--> Begin Method :: IsValidEmail
	DataValidator.prototype.IsValidEmail = function (Value) {
		return (/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/).test(Value);
	}
//<-- End Method :: IsValidEmail

//##########################################################################################

//--> Begin Method :: IsValidURL
	DataValidator.prototype.IsValidURL = function(Value) {
	    return (/^(((https?)+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/i).test(Value);
	}
//<-- End Method :: IsValidURL

//##########################################################################################

//--> Begin Method :: IsPhone
	DataValidator.prototype.IsPhone = function(Value) {
		return (/^([01][\s\.-]?)?(\(\d{3}\)|\d{3})[\s\.-]?\d{3}[\s\.-]?\d{4}$/).test(Value);
	}
//<-- End Method :: IsPhone

//##########################################################################################

//--> Begin Method :: IsPostalCode
	DataValidator.prototype.IsPostalCode = function(Value, CountryCode) {
		switch(CountryCode){
			case "US":
				return (/^\d{5}(-?\d{4})?$/).test(Value);
				break;
			default:
				//do nothing
				return false;
		}
	}
//<-- End Method :: IsPostalCode

//##########################################################################################

//--> Begin Method :: IsAlpha
	DataValidator.prototype.IsAlpha = function(Value) {
		return (/^([a-zA-Z]+)$/).test(Value);
	}
//<-- End Method :: IsAlpha

//##########################################################################################

//--> Begin Method :: IsIPv4
	DataValidator.prototype.IsIPv4 = function(Value) {
		return (/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/).test(Value);
	}
//<-- End Method :: IsIPv4

//##########################################################################################

//--> Begin Method :: IsInt
	DataValidator.prototype.IsInt = function(Value) {
		return (/^[0-9]+$/).test(Value);
	}
//<-- End Method :: IsInt

//##########################################################################################

//--> Begin Method :: IsDouble
	DataValidator.prototype.IsDouble = function(Value) {
		return (/^(?=.*[1-9].*$)\d{0,7}(?:\.\d{0,9})?$/).test(Value);
	}
//<-- End Method :: IsDouble

//##########################################################################################

//--> Begin Method :: IsNumeric
	DataValidator.prototype.IsNumeric = function(Value) {
		return (/^(?=.*[1-9].*$)\d{0,7}(?:\.\d{0,9})?$/).test(Value);
	}
//<-- End Method :: IsNumeric

//##########################################################################################

//--> Begin Method :: IsDateTime
	DataValidator.prototype.IsDateTime = function(Value) {
		if(isNaN(Date.parse(Value))){
			return false;	
		}
		else{
			return true;	
		}
	}
//<-- End Method :: IsDateTime

//##########################################################################################

//--> Begin Method :: MinLength
	DataValidator.prototype.MinLength = function(Value, Length) {
		//make sure Value is a string
		Value += "";
		if(Value.length >= Length){
			return true;
		}
		else{
			return false;
		}
	}
//<-- End Method :: MinLength

//##########################################################################################

//--> Begin Method :: MaxLength
	DataValidator.prototype.MaxLength = function(Value, Length) {
		//make sure Value is a string
		Value += "";
		if(Value.length <= Length){
			return true;
		}
		else{
			return false;
		}
	}
//<-- End Method :: MaxLength

//##########################################################################################

//--> Begin Method :: Length
	DataValidator.prototype.Length = function(Value, Length) {
		//make sure Value is a string
		Value += "";
		if(Value.length == Length){
			return true;
		}
		else{
			return false;
		}
	}
//<-- End Method :: Length

//##########################################################################################