/*
	Class:    	cvNewsTicker
	Author:   	Crispijn Verkade
	Website:    http://crispijnverkade.nl
	Version:  	1.0,1
	Date:     	07/12/2009
	Built For:  MooTools 1.2.0
*/


var cvNewsTicker = new Class({
	Implements: [Options],

	options: {
		ticker_ul: 'newsticker', //element for the ticker
		duration:200, //duration for the animation
		delay:5000, //delay per news item
		transition: Fx.Transitions.Quad.easeIn, //transition
		direction:'vertical'
	},
	
	initialize: function(el,options) {
		//set options
		this.setOptions(options);
		this.el = $(el);
		this.items = this.el.getElements('li');
		this.items.each(function(li,index) {
				li.set('styles',{display:'none'});
		});
		
		this.items[this.items.length-1].set('styles',{display:'block'});
		var w = 0;
		var h = 0;
		var self = this;
	
		this.fx = new Fx.Morph(this.el, {
			transition: this.options.transition,
			duration: this.options.duration,
			onComplete: function(){
				
				var i = (this.current==0)?this.items.length:this.current;
				this.items.each(function(li,index) {
						li.set('styles',{display:'none'});
				});
				this.items[i-1].set('styles',{display:'block'});
				$(el).morph({'opacity':1});
				
			}.bind(this)
		});
		
		this.current = 0;
			(function(){ 
				self.next();
			}).delay(this.options.delay);

		
	},
	
	next: function(){
		this.current++;
		if (this.current >= this.items.length) this.current = 0;
		var pos = this.items[this.current];
		
		this.fx.start({'opacity':0});

		this.next.bind(this).delay(this.options.delay+this.options.speed);
	}
});
