
document.observe('dom:loaded', function()
{
	var newsTicker = new NewsTicker();
});

var NewsTicker = Class.create(
{
	initialize: function()
	{
		this.items = new Array();
	
		this.elements = $$('.newsTickerItem');
		
		for (var i=0; i<this.elements.length; i++)
		{
			element = this.elements[i];
			
			this.items[this.items.length] = new NewsTickerItem(element);
		}
		
		if (this.items.length > 0)
		{
			this.start();
		}
	},
	
	start: function()
	{		
		this.items[0].fadeIn();
		var current = 1;
	
		new PeriodicalExecuter(function()
		{
			for (var i=0; i<this.items.length; i++)
			{
				i==current ? this.items[i].fadeIn() : this.items[i].fadeOut();
			}
			
			current = current == (this.items.length - 1) ? 0 : current + 1;
			
		}.bind(this), 8);
	}
});

var NewsTickerItem = Class.create(
{
	initialize: function(element)
	{
		this.element = element;
		
		this.element.setStyle({position: 'absolute'}).hide();
	},
	
	fadeIn: function()
	{
		new Effect.Appear(this.element,
		{
			duration: 1
		});
	},
	
	fadeOut: function()
	{
		new Effect.Fade(this.element,
		{
			duration: 1
		});
	}
});
