var propAmount = 2;
var propThumbs;
var elementsCount = 0;
var running = false;
var margin = 0;
var marginNext = 0;
var marginRange = 0;
var marginStep = 218;
var focus = 0;
var next = 0;

function initProps()
{
	var reclass = /(?:^\s*|^.+\s+)proplisting(?:\s+|$)/;
	var allElements = document.getElementsByTagName('*');
	var allElementsLength = allElements.length;
	for (var i = 0; i < allElementsLength; i++)
	{
		if (reclass.test(allElements[i].className))
			elementsCount++;
	}

	focus = parseInt(document.getElementById('propsstart').value);
	margin = parseInt(document.getElementById('proplistingscontainer').style.marginLeft);
	propThumbs = new AnsAnimate('id', 'proplistingscontainer', 1, 30, 45, 0, 100, 'dechill', FF_PCTDEC | FF_POINTS, 2);
	document.getElementById('propleftbutton').onclick = previousProps;
	document.getElementById('proprightbutton').onclick = nextProps;
}

function previousProps()
{
	if (running)
		return false;
	if (focus >= propAmount)
		next = focus - propAmount;
	else if(focus > 0)
		next = 0;
	else
		return false;

	run();
	return false;
}

function nextProps()
{
	if (running)
		return false;
	if (elementsCount >= focus + propAmount + propAmount)
		next = focus + propAmount;
	else if(elementsCount > focus + propAmount)
		next = elementsCount - propAmount;
	else
		return false;

	run();
	return false;
}

function run()
{
	if (next == 0)
		document.getElementById('propleftbutton').style.display = 'none';
	else
		document.getElementById('propleftbutton').style.display = 'block';
	if (next >= elementsCount - propAmount)
		document.getElementById('proprightbutton').style.display = 'none';
	else
		document.getElementById('proprightbutton').style.display = 'block';

	marginNext = -(next * marginStep);
	marginRange = margin - marginNext;

	running = true;
	runAnimation(1);
}

function runAnimation(frame)
{
	var nextValue = 0;

	nextValue = margin - propThumbs.frame[frame] * marginRange;
	propThumbs.element[0].hand.style.marginLeft = nextValue != 0 ? nextValue + 'px' : '0';

	if (frame == propThumbs.frames - 1)
	{
		margin = marginNext;
		focus = next;
		running = false;
	}
	else
		setTimeout('runAnimation(' + (frame + 1) + ')', propThumbs.delay);
}

