(function($) {
	// plugin definition
	$.fn.formlabels = function(options) {
		
	var opts = $.extend({}, $.fn.formlabels.defaults, options);
	 	
	return this.each(function() {
		
			var label = $(this).prev();
			var input = $(this);			
	   	
	   	var o = $.meta ? $.extend({}, opts, input.data()) : opts;
			
			input.focus(function(){
					$.fn.formlabels.fade(input, 100, o.max_opacity, o.min_opacity);				
			}).keyup(function(){
					$.fn.formlabels.fade(input, 100, o.max_opacity, o.min_opacity);
			}).blur(function(){
					$.fn.formlabels.fade(input, 100, o.min_opacity, o.max_opacity);
			});
		});
	};
	
	// plugin defaults
	$.fn.formlabels.defaults = {
		time: '1000',
		min_opacity: '0.5',
		max_opacity: '1'
	};
	
	$.fn.formlabels.fade = function(obj, time, max_opacity, min_opacity){
			 	if(obj.val() === ""){						
			 	obj.prev().fadeTo(time, min_opacity);
			 	}else{
			 	obj.prev().fadeTo(time, 0);
			 	}
	  	 	return obj;
		};
	
})(jQuery);
