var Validation = new Class({

	Implements: [Options, Events],

	// default options	
	options: {
	},	
	
	initialize: function(options) {
		this.setOptions(options);

	},
	
	errors: [],
	
	clearErrors: function() {
		this.errors.empty();	
	},
	
	isNotEmpty: function(el) {
		if($(el).value.trim().length > 0) return true;
		else return false;
	},
	
	isValidEmail: function(el) {
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test($(el).value.trim())) return true;
		else return false;			
	},
	
	isOnlyNumbers: function(el) {
		var filter = /^[0-9]+$/;	
		if (filter.test($(el).value.trim())) return true;
		else return false;	
	},
	
	isOnlyLetters: function(el) {
		var filter = /^[a-zA-Z]+$/;	
		if (filter.test($(el).value.trim())) return true;
		else return false;	
	},
	
	isLettersNumbers: function(el) {
		var filter = /^[0-9a-zA-Z]+$/;
		if (filter.test($(el).value.trim())) return true;
		else return false;				
	},

	isMinLength: function(el, min) {
		if($(el).value.trim().length >= min) return true;
		else return false;	
	},
	
	isMaxLength: function(el, max) {
		if($(el).value.trim().length <= max) return true;
		else return false;		
	},
	
	isMinMaxLength: function(el, min, max) {
		if(!$(el)) alert(el+' Not found');
		if($(el).value.trim().length >= min && $(el).value.trim().length <= max) return true;
		else return false;		
	},
		
	isChecked: function(el) {
	
	},
	
	isMinChecked: function(els, min) {
		var checked = 0;
		els.each(function(el) {
					if(!$(el)) alert(el+' Not found');

			if($(el).checked) checked++;
		});
		if(checked >= min) return true;
		else return false;
	},
	
	
	isSimilar: function(el1, el2) {
		if($(el1).value == $(el2).value) return true;
		else return false;
	}
	
});
