// BUG IE : ne pas oublier d'ajouter un background-color aux elements qui subissent le fade !
// et ajouter filter:none; au body

// Create namespace
if (at == undefined)
	var at = {};
if (at.bartelme == undefined)
	at.bartelme = {};

// Newsticker Class
at.bartelme.newsticker = Class.create();
at.bartelme.newsticker.prototype = {
	initialize : function() {
		// Get elements
	this.interval = 5000;
	this.container = $("newsticker");
	this.messages = $A(this.container.select('[class="home-actu"]'));
	this.number_of_messages = this.messages.length;
	if (this.number_of_messages == 0) {
		this.showError();
		return false;
	}
	this.current_message = 0;
	this.previous_message = null;

	if (this.number_of_messages > 2) {
		this.hideMessages();
		this.showMessage();
		// Install timer
		this.timer = setInterval(this.showMessage.bind(this), this.interval);
	}
},
showMessage : function() {
	Effect.Appear(this.messages[this.current_message]);
	if (this.current_message + 1 < this.number_of_messages - 1)
		Effect.Appear(this.messages[this.current_message + 1]);
	setTimeout(this.fadeMessage.bind(this), this.interval - 1000);
	if (this.current_message < this.number_of_messages - 1) {
		this.previous_message = this.current_message;
		this.current_message = this.current_message + 2;
	} else {
		this.current_message = 0;
		this.previous_message = this.number_of_messages - 1;
	}
},
fadeMessage : function() {
	Effect.Fade(this.messages[this.previous_message]);
	if (this.previous_message + 1 < this.number_of_messages - 1)
		Effect.Fade(this.messages[this.previous_message + 1]);
},
hideMessages : function() {
	this.messages.each(function(message) {
		Element.hide(message);
	});
},
toggle : function() {
	Effect.BlindUp(this.container, 1000);
},
showError : function() {
	this.errorMessage = document.createElement("div");
	this.errorMessage.className = "error";
	this.errorMessage.innerHTML = "Could not retrieve data";
	if (this.list) {
		this.list.appendChild(this.errorMessage);
	}
}
};

Event.observe(window, "load", function() {
	new at.bartelme.newsticker();
}, false);
