currentPos=0;
var timer="";
maxMove = -1;
var relPos = new Array();
_tailleSlide = 0;


function initMax(myElement, speed) 
{
    _IMG = myElement.getElementsByTagName("img");
    if (_tailleSlide == 0) {
        for (var j = 0; j < _IMG.length; j++) {
            _tailleSlide += _IMG[j].width + 5;
        } 
    }
	var _val = 0;
	var nombre = myElement.id.substr(myElement.id.length - 1, myElement.id.length)
	if (relPos[nombre] == undefined) 
	{
		relPos[nombre] = 0;
	}
	for (var i = 0; i < _IMG.length; i++) 
	{
	    if (relPos[nombre] <= _val) 
		{
		    if (speed > 0) 
			{
			    if (i > 0)
				{
				    relPos[nombre] = relPos[nombre] - _IMG[i - 1].width - 5;
				    maxMove = _IMG[i - 1].width + 5;
				}
				else
				{
					relPos[nombre] = _val;
					maxMove = _IMG[i].width + 5;
				}
			}
			else 
			{
			    maxMove = _IMG[i].width + 5;
			    relPos[nombre] = relPos[nombre] + maxMove;
			}
			break;
		}
		else
		{
		    _val += _IMG[i].width + 5;
		}
	}
}

function moveElement(myElement, speed) 
{
    if(maxMove==-1){initMax(myElement, speed);}
	
	//on incremente la position courante
	currentPos+=speed;
	//on recupere la valeur de la position actuelle de l'element
	var currentMargin=parseInt((myElement.style.marginLeft)?myElement.style.marginLeft.substr(0,myElement.style.marginLeft.length-2):"0");
	var largeurslideshow=parseInt((document.getElementById("slideshow").style.width)?document.getElementById("slideshow").style.width.substr(0,document.getElementById("slideshow").style.width.length-2):"0");
	var nombre = myElement.id.substr(myElement.id.length - 1, myElement.id.length)

	//si currentPos n'a pas atteint le maxMove on deplace l'element
	if (Math.abs(currentPos) < maxMove) 
	{
		currentMargin+=speed;	
		myElement.style.marginLeft=currentMargin+"px";
	}
	//sinon on arrete l'interval et positionne l'element (en faisant attention de ne pas depasser)
	else 
	{
		currentMargin+=(Math.abs(speed)-(Math.abs(currentPos)-maxMove))*(speed/Math.abs(speed));
		myElement.style.marginLeft = currentMargin + "px";
		//on remet currentPos à 0
		currentPos=0;
		clearInterval(timer);
		timer="";
		//on verifie si les boutons next et back doivent toujours etre affiche.
		document.getElementById('nextBtn' + nombre).style.display=(currentMargin>=0)?"none":"";

		_IMG = myElement.getElementsByTagName("img");
		
		var _dim = _IMG[_IMG.length - 1].width + 5
		document.getElementById('backBtn' + nombre).style.display = (relPos[nombre] >= (_tailleSlide - 5 - largeurslideshow))?"none":"";
		
	}
}
function launchMoveElement(myElement,speed) {
    maxMove = -1;
	if(timer=="") {//permet de ne pas relancer le timer s'il n'est pas termine
		timer=setInterval("moveElement(document.getElementById('" + myElement.id + "')," + speed + ")",50);
	}
}
