(function($){
	$.fn.validate = function(){
		var error = 0;
		this.each(function(index, value){
			var sender = $(this);
			//sender.next('span.error').remove();
			if(sender.hasClass('required') && sender.val() == '')
			{
				sender.removeClass('valid');
				sender.addClass('error');
				//$('<span class="error">Required</span>').insertAfter(sender).hide().fadeIn('slow');
				++error;
			}
			else if(sender.val() != '' && sender.hasClass('validate') && !sender.val().match(sender.attr('regex')))
			{
				sender.removeClass('valid');
				sender.addClass('error');
				//$('<span class="error">Invalid</span>').insertAfter(sender).hide().fadeIn('slow');
				++error;
			}
			else
			{
				sender.removeClass('error');
				if(sender.val() != '')
					sender.addClass('valid');
			}
		});
		return error == 0;
	};
})(jQuery);


jQuery(function($){
	$('input.required, input.validate, textarea.required, textarea.validate').bind('blur', function(){
		$(this).validate();
	});
	$('form').bind('submit', function(){
		return $(this).find('input.required, input.validate, textarea.required, textarea.validate').validate();
	});
});