(function($){
	
$.fn.overlay = function(options) { 
		
	var defaults = {  		
		overlay : $('<div>This is the standard overlay element</div>'),
		append_to : $('body'),
		init : function() {},
		leftOffset : 0,
		topOffset : 0,
		fadeSpeed : 'fast'
	};  
   
   	var options = $.extend(defaults, options);  
        		       
	var $overlay = options.overlay;
	var $destination = $(this);
	var $append_to = options.append_to;
	
	options.init($destination, $overlay);

	$overlay.hide().css({
			'position' : 'absolute',
			'z-index' : 1
	});
	$append_to.append( $overlay );
	
	$destination.hover(
		function() {
			//Must be here, since window resize changes the position
			var position = $(this).offset();
			$overlay.hide().css({
					'left': position.left + options.leftOffset,
					'top': position.top + options.topOffset
			});
			//Show overlay
			$overlay.fadeIn( options.fadeSpeed );		
		 },
		function() {
			//Hide overlay
			$overlay.fadeOut( options.fadeSpeed );
		}
	);
	return this;

};
})(jQuery);
		
