var Slideshow = new Class({
	elements:null,
	current:0,
	interval:5000,
				
				
	initialize: function(baseTag) { 
		// first I catch all sub items
		var _this = this;
		var first = 0;
		this.elements = baseTag.getElements('span:nth-child(n)');
		
		this.elements.reverse();
		
		if(this.elements.length > 1) {
			this.elements.each(function(e) {			
				if(!first)	{
					first = 1;
					e.setStyle('display','none');
					new Fx.Elements(e).set({ '0': {'opacity': 0 } });
				}
				else {
					e.setStyle('display','block');
					_this.current ++;
				}
			});
		
			//this.update();
			var si = setInterval(function() { _this.update(); }, this.interval);
		}
		else 
			this.elements[0].setStyle('display','block');
			
	},
	
	
	update: function() { 
		//fade out current
		var _this = this;
		new Fx.Elements(_this.elements[_this.current], {
			onComplete: function() { 
				_this.elements[_this.current].setStyle('display','none');
				_this.current ++;
				
				if(_this.current == _this.elements.length)
					_this.current = 0;
				
				var e = _this.elements[_this.current];
				e.setStyle('display','block');
				
				new Fx.Elements(e).start({ '0': {'opacity': [0,1] } });
			}
		}).start({ '0': {'opacity': 0 } });

	}
});

