////////////////////////////////////////////////////////////////////////////////////////////
// Auteur: Laurent Hermann, Yverdon-les-Bains, Suisse
// Date: 27.07.2010

////////////////////////////////////////////////////////////////////////////////////////////

var oDiv = document.getElementById("list_img");
var oDiv1 = document.getElementById("list_img_1");
var oDiv2 = document.getElementById("list_img_2");

var iWidthFrame = oDiv.clientWidth;
var iWidthContent = oDiv2.clientWidth;

var oTimer;
var oTimerTemporise;
var iDelay = 20;
var iDefaultMov = -1;
var iMov = iDefaultMov;
var iMouseX = null;
var iMouseXRead = null;

// Tout le système est désactivé si les images contenue ne débordent pas de la fenêtre visible.
if (iWidthFrame < iWidthContent)
{
	// Copie le div contenant directement les images 2x de plus.
	// En centrant sur la copie du millieu, on peut soit retourner en arrière,
	// soit voir la fin de la liste d'images sans coupure.
	// Un saut est fait pour re-centrer avant d'arriver au vrai début ou fin
	// de la triple-liste d'images.
	oDiv1.appendChild(oDiv2.cloneNode(true));
	oDiv1.appendChild(oDiv2.cloneNode(true));
	oDiv.scrollLeft = iWidthContent;

	function movImg()
	{
		oDiv.scrollLeft = oDiv.scrollLeft + iMov;
		
		if (oDiv.scrollLeft < 200)
		{
			oDiv.scrollLeft = oDiv.scrollLeft + iWidthContent;
		}
		else if (oDiv.scrollLeft > 2 * iWidthContent)
		{
			oDiv.scrollLeft = oDiv.scrollLeft - iWidthContent;
		}
	}
	
	function mouseOver()
	{
		oDiv1.onmousemove = mouseMove;
		if (iMouseX == null)
		{
			iMov = 0;
		}
		clearTimeout(oTimerTemporise);
	}
	
	function mouseOut()
	{
		clearTimeout(oTimerTemporise);
		oTimerTemporise = setTimeout("mouseOutTemporise();", 200);
	}
	
	function mouseOutTemporise()
	{
		oDiv1.onmousemove = "";
		iMov = iDefaultMov;
		iMouseX = null;
	}
	
	function mouseMove(e)
	{
		var event = window.event || e;
		
		iMouseXRead = event.clientX;
		if (iMouseX == null)
		{
			//iMouseX = iMouseXRead;
			iMouseX = 722;
		}
		
		iMov = (iMouseXRead - iMouseX) / 60;
	}
	
	clearTimeout(oTimer);
	oTimer = setInterval("movImg(iDefaultMov);", iDelay);
	//oDiv.onmouseover = mouseOver;
	//oDiv.onmouseout = mouseOut;
}
else
{
	oDiv.scrollLeft = 0;
}

////////////////////////////////////////////////////////////////////////////////////////////

