
(function($){
	
	$.fn.fader = function(options){
		var settings = {
			length: 1000,
			delay: 1000
		};
		
		$.extend(settings, options);
		
		this.each(function(){
			var p = $(this);
			var elements = p.find('.hhCrossFadeItem');
			var count = elements.length;
			var z = count;
		
			elements.each(function(){
				$(this).css('z-index', --z);
			});
			
			// fade interval function
			var fade = function() {
				var elements = p.find('.hhCrossFadeItem');
				var count = elements.length;
				$(elements.get(0)).fadeOut(settings.length, function(){
					p.append($(this).detach());
					$(this).show();
					
					var z = count;
					elements = p.find('.hhCrossFadeItem');
					elements.each(function(){ $(this).css('z-index', --z); });
				});
			};
			
			setInterval(fade, settings.length+settings.delay);
		});
	};
	
})(jQuery);
