/* Start the setMover function on window load */
tii_callFunctionOnWindowLoad (setMover);

/* Belt animation */

var moveTouts;

/* This function sets the belt mover. */
function setMover ()
{
	var toutsPerShow = 6;
	var moveDelay = 1;
	var widthTraversed = 0;
	var toutTracker = 0;
	var toutCount = 0;
	var directionChangeMultiplier;
	if (tii_isie)
	{
		directionChangeMultiplier = 20;
	}
	else
	{
		directionChangeMultiplier = 90;
	}

	var dotNumber = 2;
	
	var mover = document.getElementById ('mover');
	if (!mover)
	{
		return false;
	}
	mover.style.left = '0px';
	
	/* The next line assumes that all the child nodes of mover are touts. */
	tii_dom_removeWhitespaceTextNodes (mover);
	var beltTouts = mover.childNodes;
	var beltToutsLength = beltTouts.length;
	var beltToutWidth;
	if (beltToutsLength > 0)
	{
		beltToutWidth = beltTouts.item (0).offsetWidth;
	}
	else 
	{
		return false;
	}
	var visibleWidth = toutsPerShow * beltToutWidth;
	
	function moveBelt (event, directionChange)
	{
		if ((event.type == keyevent && event.keyCode != 13) || widthTraversed > 0)
		{
			return false;
		}
		document.getElementById('leftArrow').style.visibility = 'visible';

		function recirculateTouts ()
		{
			if (directionChange > 0)
			{
				if (Math.ceil (toutTracker / beltToutWidth) > 0 && toutCount < 6)
				{
					toutTracker = toutTracker - beltToutWidth;
					var clonedTout = beltTouts.item (beltToutsLength - 1).cloneNode (true);
					mover.insertBefore (clonedTout, mover.firstChild);
					mover.style.left = (parseInt (mover.style.left) - beltToutWidth) + 'px';
					toutCount++;
				}
			}
			if (directionChange < 0)
			{
				if (Math.floor (toutTracker / beltToutWidth) > 0)
				{
					toutTracker = toutTracker - beltToutWidth;
					var clonedTout = beltTouts.item (toutCount).cloneNode (true);
					mover.appendChild (clonedTout);
					toutCount++;
				}
			}
		}
		
		moveTouts = setInterval (function () 
		{
			widthTraversed = widthTraversed + directionChangeMultiplier;
			toutTracker = toutTracker + directionChangeMultiplier;
			mover.style.left = (parseInt (mover.style.left) + directionChange * directionChangeMultiplier) + 'px';
			recirculateTouts ();
			if (widthTraversed >= visibleWidth)
			{
				/* Stop the animation */
				clearInterval (moveTouts);
				
				/* Set the active button */
				if (dotNumber == 1)
				{
					dotNumber = 2;
				}
				else
				{
					dotNumber = 1;
				}
				
				//var dot = document.getElementById ('dots')				
				//if (!tii_isie){
				//	dot.style.background= 'url(http://img.timeinc.net/time/i/dots' + dotNumber + '.gif) 0px 0px no-repeat';
				//}else{
				//	dot.style.backgroundPositionY =  (dotNumber*13 -26) + ' px';
				//}

				/* Clear the unneeded touts */
				for (var i = 0; i < toutsPerShow; i++)
				{
					if (directionChange > 0)
					{
						mover.removeChild (mover.lastChild);
					}
					else if (directionChange < 0)
					{
						mover.removeChild (mover.firstChild);
					}
				}

				/* Reinitialize the variables */
				mover.style.left = '0px';
				beltTouts = mover.childNodes;
				widthTraversed = 0;
				toutCount = 0;
				toutTracker = 0;
			}
		}, moveDelay);
		
		tii_stopDefaultAction (event);
	}
	
	var leftArrow = document.getElementById ('leftArrow');
	var rightArrow = document.getElementById ('rightArrow');
	if (!leftArrow || !rightArrow)
	{
		return false;
	}
	leftArrow.href = 'javascript:{}';
	rightArrow.href = '';
	var keyevent = tii_issafari || tii_isie ? 'keydown' : 'keypress';
	tii_addEventHandler (leftArrow, 'click', function (event) { moveBelt (event, 1)}, false);
	tii_addEventHandler (leftArrow, keyevent, function (event) { moveBelt (event, 1)}, false);
	tii_addEventHandler (rightArrow, 'click', function (event) { moveBelt (event, -1)}, false);
	tii_addEventHandler (rightArrow, keyevent, function (event) { moveBelt (event, -1)}, false);
}


