

jQuery.fn.extend({

	rotate: function(params){

		var baseParams = {
			elements: '',
			fadeTime: 500,
			visibleTime: 5000
		}

		var _count = this.length;
		
		var _out = this.get(0);
		var _in = this.get(1);


		return this.each(function(){

			var _params = jQuery.extend(baseParams, params);

			var _objectList = jQuery(_params.elements, this);
			var _objectCount = _objectList.length;
			var _currentElement = 0;

			var _timer = setInterval(function(){

				var _current = _objectList.get(_currentElement);
				var _next = _objectList.get(_currentElement+1 < _objectCount ? _currentElement+1 : 0);
				jQuery(_next).fadeIn(_params.fadeTime, function(){
					jQuery(_current).fadeOut(_params.fadeTime);
				});
				
				if (_currentElement+1 < _objectCount) { _currentElement++ } else { _currentElement = 0 }

			}, _params.visibleTime+_params.fadeTime);

		});


	}

});


