
function HeaderCarrousel (label, timeout) 
{
	this.headers = [];
	var headerElements = $(label).getElementsByTagName('div');
		
	for (var i = 0; i < headerElements.length; i++) 
	{
		if (Element.hasClassName(headerElements[i], 'headImage'))
    		this.headers.push(headerElements[i]);
	}
	this.timeout = timeout;
	this.current = 0;

	if (this.headers.length > 0)
	{
		// Set zIndexes positions for all elements in the carrousel
		for (var i = 0; i < this.headers.length; i++)
			this.headers[i].style.zIndex = this.headers.length - i;


		Element.show(label);
		setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
	}
}

Object.extend(HeaderCarrousel.prototype,
{
	next: function ()
	{
		for (var i = 0; i < this.headers.length; i++)
		{
			var header = this.headers[(this.current + i) % this.headers.length];
			header.style.zIndex = this.headers.length - i;
		}
		
		Effect.Fade(this.headers[this.current],
		{
			afterFinish: function (effect)
			{
				effect.element.style.zIndex = 0;
				Element.show(effect.element);
				Element.setOpacity(effect.element, 1);
			}
		});
		
		this.current = (this.current + 1) % this.headers.length;
		setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
	}
});

