(function( $ ){

	$.fn.visualFormVal = function(options)
	{
		var settings = {
			validclass: 'valid',
			invalidclass: 'invalid',
			focusedclass: 'focused'
		};

		if ( options ) { $.extend( settings, options ); }

		var Main = this.get(0);


		$(Main).find('input[data-type]').each(function ()
		{
			$(this).focus(function ()
			{
				$(this).removeClass(settings.validclass);
				$(this).removeClass(settings.invalidclass);
				$(this).addClass(settings.focusedclass);
			});

			$(this).blur(function ()
			{
				$(this).removeClass(settings.focusedclass);

				if ($(this).isValid()) {$(this).addClass(settings.validclass);}
				else {$(this).addClass(settings.invalidclass);}

			});
		});		

		$(Main).find('input[data-type]').each(function ()
		{
			if ($(this).isValid()) {$(this).addClass(settings.validclass);}
		});

		return this;
	};

})( jQuery );
