// © 2010 by Diego Massanti // www.massanti.com // diego@massanti.com

var MooStick = new Class({
	Implements: [Options, Events],
	options: {
		actualItem: 0,
		totalItems: 0,
		nextItem: 0
	},
	
	initialize: function(options) {
		this.setOptions(options);
		this.items = [];
		this.swapper = '';
		var me = this;
		
		$('news-items').getChildren('li').each(function(item){

			me.items.push(item.get('html'));
		});
		me.items = me.shuffle(me.items);
		
		me.options.totalItems = $('news-items').getChildren('li').length;
		me.swapper = me.swapItem.periodical(6000, me);

		me.swapItem();
		this.options.container.addEvent('mouseenter', function(el) {
			me.swapper = $clear(me.swapper);
		});
		
		this.options.container.addEvent('mouseleave', function(el) {
			me.swapper = me.swapItem.periodical(6000, me);
		});
	},

	
	swapItem: function() {
		var me = this;
		var item = this.options.container.getFirst('li');
		item.tween('opacity', 0)
		var tweener = item.get('tween');
		tweener.addEvent('complete', function(el) {
			
			var newItem = new Element('li', {
				
			})
			var newItemDIV = new Element('div', {
				'class': 'news-item',
				'html': me.items[me.options.nextItem]
			});
			
			
			var containerDIV = new Element('div', {
				'class': 'news-item-container'
			});
			containerDIV.set('tween', {
			
				transition: Fx.Transitions.Elastic.easeOut,
				duration: 1000
			})
			containerDIV.setStyle('left', '500px');
			newItemDIV.inject(containerDIV);
			containerDIV.inject(newItem);
			newItem.inject(me.options.container.empty());
			containerDIV.tween('left', '0px');
			if (me.options.nextItem < (me.options.totalItems - 1)) {
				me.options.nextItem++;
			} else {
				me.options.nextItem = 0;
			}
			
		})
	},
	
	shuffle: function(o){
		for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
		return o;
	}

});