/*
	Par J-F Allaire, mai 2010
	Utilisation:
	var scrollObj = new scroller ("element");
	------------------------------------------------------
	"element" est le nom d'Id d'un element de la page (div, span etc.)
	------------------------------------------------------
	
	scrollObj.imgSrc="/path/to/blank.gif"
	------------------------------------------------------
	Le seul parametre a ajuste, preferablement en dehors de l'objet (comme ci-haut) pour eviter de corrompre le code.
	------------------------------------------------------
*/

function scroller (scrollObj) {
	var scroller;
	var content;
	var width;
	var pause=false;
	var that=this;
	this.imgSrc;
	var img;

	window.addEventListener?window.addEventListener("load",loadImage,false):window.attachEvent("onload",loadImage);
	
	function loadImage () {
		//On precharge l'image, si elle n'est pas trouvee tout s'arrete plutot que d'afficher le message sans espacement au debut et a la fin.
		if (that.imgSrc) {
			img = new Image();
			img.src = that.imgSrc;
			//img.onload = init();
			//img.onload=new function () { init();};
			img.onload=new init();
		}
		return;
	}
	
	function init () {
		if (!scrollObj)
		{
			return;
		}
		scroller=document.getElementById(scrollObj);
		if (scroller == null)
		{
			return;
		}
		content=scroller.innerHTML;
		scroller.style.whitespace="nowrap";
		scroller.style.overflow="hidden";
		if (scroller.addEventListener)
		{
			scroller.addEventListener("mouseover",tickerStop,true);
			scroller.addEventListener("mouseout",tickerStart,true);
		}
		else
		{
			scroller.attachEvent("onmouseover",tickerStop)
			scroller.attachEvent("onmouseout",tickerStart)
		}
		scroller.scrollLeft=0;
		scroller.innerHTML="<div style='white-space:nowrap;width:100%;'><img src='" + img.src + "' width='" + scroller.offsetWidth + "' height='0' />" + content + "<img src='" + img.src + "' width='" + scroller.offsetWidth + "' height='0' /></div>";
		width=scroller.scrollWidth - scroller.offsetWidth;
		move();
		return;
	}
	
	function move() {
		if (!pause) {
			scroller.scrollLeft += 2;
		}
		if(scroller.scrollLeft >= width) {
			scroller.scrollLeft=0;
		}
		window.setTimeout(move,30);
	}
	
	function tickerStop () {
		pause=true;
	}
	
	function tickerStart () {
		pause=false;
	}
}
