/* UI functions */

var curPosition = 0;
var timer;
var curMargin = 0.0;
var destMargin = 0.0;
var vMargin = 0.0;
var aMargin = 0.0;
var maxAccel = 1.0;

function DoReposition()
{
	/*if (destMargin < curMargin)
	{
		dMargin = (curMargin - destMargin) / 50.0 - 0.5;
		dMargin = 0.25 - dMargin * dMargin;
		dMargin = dMargin * 100;
		if (dMargin < 0.2) dMargin = 0.2;
		dMargin = -dMargin;
	}
	else
	{
		dMargin = (destMargin - curMargin) / 50.0 - 0.5;
		dMargin = 0.25 - dMargin * dMargin;
		dMargin = dMargin * 100;
		if (dMargin < 0.2) dMargin = 0.2;
	}
	if (Math.abs(destMargin - curMargin) < Math.abs(dMargin))
	{
		curMargin = destMargin;
	}
	else
	{
		curMargin = curMargin + dMargin;
		timer = setTimeout(DoReposition, 0);
	}*/
	if (destMargin > curMargin)
	{
		aMargin = maxAccel;
		if (vMargin > 0)
		{
			if (destMargin - curMargin < (vMargin / 1.0) * (vMargin / aMargin))
			{
				aMargin = -maxAccel;
			}
		}
	}
	else
	{
		aMargin = -maxAccel;
		if (vMargin < 0)
		{
			if (curMargin - destMargin < (-vMargin / 1.0) * (vMargin / aMargin))
			{
				aMargin = maxAccel;
			}
		}
	}
	vMargin = vMargin + aMargin;
	if (Math.abs(destMargin - curMargin) < 2 * maxAccel && vMargin < 2 * maxAccel && vMargin > -2 * maxAccel)
	{
		vMargin = 0;
		aMargin = 0;
		curMargin = destMargin;
	}
	else
	{
		curMargin = curMargin + vMargin;
		timer = setTimeout(DoReposition, 0);
	}
	document.getElementById("container").style.marginLeft = "-" + curMargin + "%";
	document.getElementById("slider").style.left = (curMargin * 20 / 50) + "px";
}

function StartReposition(i)
{
	destMargin = i * 50;
	if (curPosition == 0) document.getElementById("prev").style.visibility = "hidden";
	else document.getElementById("prev").style.visibility = "visible";
	if (curPosition == 4) document.getElementById("next").style.visibility = "hidden";
	else document.getElementById("next").style.visibility = "visible";
	timer = setTimeout(DoReposition, 0);
}

// go to the preview section
function Prev()
{
	if (curPosition < 1) return;
	curPosition = curPosition - 1;
	StartReposition(curPosition);
}

// go to the next section
function Next()
{
	if (curPosition > 3) return;
	curPosition = curPosition + 1;
	StartReposition(curPosition);
}

function MoveTo(i)
{
	if (curMargin < (i - 0.5) * 50) curPosition = i - 1;
	else curPosition = i;
	StartReposition(curPosition);
}

