jQuery.fn.overlay = function(itemSelector, settings) {
	settings = jQuery.extend({
		overlaySelector: '.caption',
		delay: 100,
		fadeSpeed: 'slow',
		hoverClass: 'hover',
		timer: 'hammertime'
	}, settings);
	
	return this.each(function(){
		var self	= jQuery(this); 
		
		self.mouseover(function(event){
			jQuery(event.target).parents(itemSelector).find(settings.overlaySelector).stopTime(settings.timer);
			jQuery(event.target).parents(itemSelector).addClass(settings.hoverClass).find(settings.overlaySelector).show();
		});
		
		self.mouseout(function(event){
			jQuery(event.target).parents(itemSelector).find(settings.overlaySelector).oneTime(settings.delay, settings.timer, function(){
				jQuery(this).fadeOut(settings.fadeSpeed, function(){
					jQuery(this).parents(itemSelector).removeClass(settings.hoverClass);
					jQuery(this).removeClass(settings.hoverClass);
				});
			});
		});
	});

}

