(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.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.addClass('error');
				$('<span class="error">Invalid</span>').insertAfter(sender).hide().fadeIn('slow');
			}
			else
				sender.removeClass('error');
		});
		return error == 0;
	};
})(jQuery);

jQuery(function($){
	$('input').bind('blur', function(){
		$(this).validate();
	});
	$('form').bind('submit', function(e){
		if(!$(this).find('input').validate())
			e.preventDefault();
	});
});