var currentSlide=1;

var inAction = false;

function $(id) {return document.getElementById(id);}
function slideStep(curTime, startValue, endValue, totalTime) {if (curTime==0) return startValue;if (curTime==totalTime) return startValue+endValue; if ((curTime/=totalTime/2) < 1) return endValue/2 * Math.pow(2, 10 * (curTime - 1)) + startValue; return endValue/2 * (-Math.pow(2, -10 * --curTime) + 2) + startValue;}
function doMoveUp(){doMove(currentSlide-1);}
function doMoveDown(){doMove(currentSlide+1);}

function doMove(targetSlide)
{
	if(inAction) return;
	inAction = true;

	totalSlides=getTotalSlides();
	if(totalSlides == 0) return false;
	if(targetSlide<1) targetSlide=totalSlides;
	if(targetSlide>totalSlides) targetSlide=1;

	//move sidebar marker
	var cs=$("menuitem" + currentSlide);
	if(cs != null) cs.className=cs.className.replace(" current", " visited");
	var ts=$("menuitem" + targetSlide);
	ts.className=ts.className.replace(" visited", "");
	ts.className+=" current";
	
	curTime=0;
	var curTop=($("slider").style.top == "") ? 0 : parseInt($("slider").style.top.replace("px", ""));

	delta=targetSlide-currentSlide;
	currentSlide=targetSlide;
	steps=Math.abs(delta);
	dir=(delta>0) ? false : true;
	
	var t=setInterval
	(
		function()
		{
			var stepTop=Math.floor(slideStep(curTime, 0, 895*steps, 810));
			$("slider").style.top = ((dir) ? (curTop + stepTop) : (curTop - stepTop)) + "px";
			curTime+=50;
			if(curTime > 750)
			{
				clearInterval(t);
				inAction=false;
			}
		},
		50
	);
}

function getTotalSlides()
{
	total=0;
	var coll=$("slider").childNodes;
	for(i=0; i< coll.length; i++)
	{
		if(coll[i].tagName=="DIV") total++;
	}
	return total;
}