var BandArray = new Array();

//---------------------------------------------------------------
function RunSlides(classname,mp,pause_duration)
{
	var objs=mp.xGetElementsByClassName(classname,null,"div");

	if (objs==null || objs.length==0)
		return;
	for (var i=0;i<objs.length;i++)
	{	BandArray[i]=objs[i];
		var step=objs[i].parentNode.offsetWidth;
		objs[i].style.top = 0+"px";
		objs[i].style.left = 0+"px";
		objs[i].max_x = objs[i].offsetWidth-step;
		objs[i].step = step;
		objs[i].movement=0;
		objs[i].pause_duration=pause_duration;
		setTimeout("MoveRight("+i+")",i*(objs[i].pause_duration/objs.length))
		
	}
	setInterval ("MoveAllSlides()", 10);
}
//---------------------------------------------------------------
function MoveAllSlides() 
{	
	for (var i=0;i<BandArray.length;i++)
		MoveSlide(i);
}
//---------------------------------------------------------------
function MoveSlide(BandId) 
{
	var elem = BandArray[BandId];
	if (!elem || !elem.movement)
		return false;
	elem.movement=0;

	var final_x=elem.final_x;
    
    // current slideshow position
	var xpos = parseInt(elem.style.left);
	var ypos = parseInt(elem.style.top);
	if (xpos == final_x)
	{	if (elem.direction==0)
			setTimeout("MoveLeft("+BandId+")",elem.pause_duration);
		else
			setTimeout("MoveRight("+BandId+")",elem.pause_duration);
		return true;
   }
	// restrict moving to white area
	if (final_x <= -elem.max_x) 
		final_x = -elem.max_x;
	if (final_x > 0) 
		final_x = 0;
	
	// animation bit (taken from the book DOM Scripting by Jeremy Keith)
	if (xpos < final_x) 
	{	var dist = Math.ceil((final_x - xpos)/10);
		xpos = xpos + dist;
	}
	if (xpos > final_x) 
	{	var dist = Math.ceil((xpos - final_x)/10);
		xpos = xpos - dist;
	}

	// again, restrict showing white area
	if (xpos <= -elem.max_x) 
		xpos = -elem.max_x;
	if (xpos > 0) 
		xpos = 0;

	// fix the elements position
	elem.style.left = xpos + "px";
	elem.style.top = ypos + "px";

	if (xpos == -elem.max_x)
	{	setTimeout("MoveLeft("+BandId+")",elem.pause_duration);
		return true;
	}
	if (xpos == 0)
	{	setTimeout("MoveRight("+BandId+")",elem.pause_duration);
		return true;
	}

	elem.final_x=final_x;
	elem.movement = 1;
}
//---------------------------------------------------------------
function MoveLeft(BandId)
{	var elem = BandArray[BandId];
	elem.direction=0;
	var x = parseInt(elem.style.left);
	elem.final_x=x+elem.step;
	elem.movement = 1;
	return false;
}
//---------------------------------------------------------------
function MoveRight(BandId)
{	var elem = BandArray[BandId];
	elem.direction=1;
	var x = parseInt(elem.style.left);
	elem.final_x=x-elem.step;
	elem.movement = 1;
	return false;
}
