/* ========================================================= /*
|                                                             |
|  jquery.fadeNRotate.js                                      |
|                                                             |
\* ========================================================= */

(function($) {

$.fn.fadeNRotate = function(options) {

	this.each(function(){ 	

		var settings = {
			speed: 'normal',
			timeout: 2000
		};
		
		if(options)
			$.extend(settings, options);
		
		var elements = $(this).children();
		
		if (elements.length > 1) {
			$(this).css('position', 'relative');
			var parentHeight = 0;
			
			for ( var i = 0; i < elements.length; i++ ) {
				$(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute');	
				
				if (parentHeight < $(elements[i]).height()) {
					parentHeight = $(elements[i]).height();
				}
			}
			
			$(this).css('height', parentHeight);
			
			setTimeout(function(){
				$.fadeNRotate.next(elements, settings, 1, 0);
			}, settings.timeout);
			
		}
	});
};

$.fadeNRotate = function() {}
$.fadeNRotate.next = function (elements, settings, current, last) {
	
	$(elements[last]).animate({
		opacity:0
	}, settings.speed);
	
	$(elements[current]).animate({
		opacity:1
	}, settings.speed);
	
	
	if ( ( current + 1 ) < elements.length ) {
		current = current + 1;
		last = current - 1;
	} else {
		current = 0;
		last = elements.length - 1;
	};
	setTimeout((function(){$.fadeNRotate.next(elements, settings, current, last);}), settings.timeout);
};
})(jQuery);
