// Create namespace

// if (dedolibJS == undefined) dedolibJS = {};
var dedolibJS = {};
// Newsticker Class
dedolibJS.newsticker = Class.create();
dedolibJS.newsticker.prototype = {
	initialize: function()
	{
		// Get elements
		this.interval = 10000;
		this.container = $("newsticker");
		this.messages  = $A(this.container.getElementsByTagName("li"));
		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;
		
		
		
		this.startLeft = 900;
		this.endLeft = -900;
		this.currLeft = this.startLeft;
		
		Element.update(this.container,'');  

		this.cajaMensaje = Builder.node('div', {id:'cajaMensajeTicker'});
		this.container.appendChild(this.cajaMensaje);
		
		this.hideMessages();
		// this.showMessageFade();
		this.showMessageScroll();
		// Install timer
		// this.timer = setInterval(this.showMessage.bind(this), this.interval);
  	},
  	showMessageScroll: function()
	{
		Element.update($(this.cajaMensaje),tickerNews[this.current_message]);
		Element.setStyle($(this.cajaMensaje),{left:this.startLeft + 'px',top:'0px',position:'relative' });
		// Element.show(this.messages[this.current_message]);
		setTimeout(this.scrollMessage.bind(this), 10);
		

		if (this.current_message < this.number_of_messages-1)
		{
			this.previous_message = this.current_message;
			this.current_message = this.current_message + 1;
		} else {
			this.current_message = 0;
			this.previous_message = this.number_of_messages - 1;
		}
	},
	scrollMessage: function()
	{
		this.currLeft = this.currLeft - 1;
		if(this.currLeft < this.endLeft){
			this.currLeft = this.startLeft;
			this.showMessageScroll();
			return;
		}
		// Effect.MoveBy(this.messages[this.previous_message],0,-800,{mode:'absolute',duration:20.0 });
		Element.setStyle($(this.cajaMensaje),{left:this.currLeft + 'px',top:'0px',position:'relative' });
		setTimeout(this.scrollMessage.bind(this), 10);
	},
	showMessageFade: function()
	{
		Effect.Appear(this.messages[this.current_message]);
		setTimeout(this.fadeMessage.bind(this), this.interval-2000);
		if (this.current_message < this.number_of_messages-1)
		{
			this.previous_message = this.current_message;
			this.current_message = this.current_message + 1;
		} else {
			this.current_message = 0;
			this.previous_message = this.number_of_messages - 1;
		}
	},
	fadeMessage: function()
	{
		Effect.Fade(this.messages[this.previous_message]);
	},
	hideMessages: function()
	{
		this.messages.each(function(message)
		{
			Element.hide(message);
		})
	},
	toggle: function()
	{
		Effect.BlindUp(this.container, 1000);
	},
	showError: function()
	{
		if (this.container.getElementsByTagName("ul").length == 0)
		{
			this.list = document.createElement("ul");
			this.container.appendChild(this.list);
		} else {
			this.list = this.container.getElementsByTagName("ul")[0];
		}
		this.errorMessage = document.createElement("li");
		this.errorMessage.className = "error";
		this.errorMessage.innerHTML = "&nbsp;";
		this.list.appendChild(this.errorMessage);
	}
}

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

