/**
 * provides fading effects to a given cEasy multiElement
 * 
 * 
 * @usage jQuery(element).multiboxSlider(settings);
 * @author Sebastian Roming | hitcom new media gmbh
 * 
 * extended @bk 17.08.2011
 *
 * (c) 2010, distribution and usage without permittion prohibited by law.
 */
 
 cEasyJs.load('jQuery', function() {
		jQuery(document).ready(function() {

			multiboxSliderInit();
			});
	});
	
var timeOut = false;
 
function multiboxSliderInit() {
		var settings={};
		
		if(jQuery('#bannerArea .multiList li').length > 0){
			settings.numElements = jQuery('#bannerArea .multiList li').length;
			settings.randomPicture = true;

			new multiboxSlider(settings);
		}
		
}

function multiboxSlider(settings) {

		var that = this;
		
		var _s = {
			elements: settings.numElements || 1,
			duration: settings.duration || 3000,
			delay: settings.delay || 3000,
			delayFirstStart: settings.delayFirstStart || 3000,
			searchElement: settings.searchElement || '#bannerArea .multiList li',
			className: settings.className || 'listItem_',
			randomPicture: settings.randomPicture || false
		};
		
		var activeId;
		var nextId;
		var first = false;
		
		if(_s.randomPicture == true){
			activeId = 1 + Math.floor( Math.random() * _s.elements );
			
			nextId = (activeId == _s.elements) ? 1 : parseInt(activeId)+1;
			
			jQuery(_s.searchElement).hide();
			jQuery(_s.searchElement+'.' + _s.className + activeId).show();
			
			first = _s.className + '1';
			_s.randomPicture = false;
			
		}else{
			activeId = 1;
			nextId = 2;
	
		
		// ------------------------------------------------
		jQuery(_s.searchElement).each(function(i) {
					
			if (!jQuery(this).is(':hidden'))
				first = jQuery(this).attr('class');
			
		});
	
		if (first == false) {
			first = _s.className + '1';
		}
		
		activeId = first.substr( first.length-1, 1 );
			}
				
		// ------------------------------------------------
		that.slide = function() {
			if(timeOut == false){
				nextId = (activeId == _s.elements) ? first.substr( first.length-1, 1 ) : parseInt(activeId)+1;
				
				jQuery(_s.searchElement+'.' + _s.className + activeId).fadeOut(_s.duration);
				
				activeId = nextId;
				
				jQuery(_s.searchElement+'.' + _s.className + nextId).fadeIn(_s.duration, function() {
					if(timeOut == false){
	      		window.setTimeout(that.slide, _s.delay);
	      	}

	      });
			}
		};

		// ------------------------------------------------
		window.setTimeout(that.slide, _s.delayFirstStart);
		
	};

