var scrollerPauseLength 	= 50;
var scrollerItemHeight 		= 61;
var scrollerSpeed 			= 50; //lower is faster

var scrollerListHeight;
var scrollerDiv;
var scrollerPauseTimer 		= 0;
var scrollerTimer 			= false;



function initSponsorAnimation(numVisible) {
	
	var spdiv = document.getElementById('sponsors');
	var spinner = document.getElementById('sponsor_inner');
	var spList = spdiv.getElementsByTagName('ul')[0];
	var numitems = spList.getElementsByTagName('li').length;
	if (numVisible) {
		var numHeight = numVisible;
	} else {
		var numHeight = numitems;
	}
	scrollerListHeight =  numHeight * scrollerItemHeight;

	spinner.style.height = scrollerListHeight + 'px';
	spinner.style.overflow = 'hidden'; 
	
	scrollerDiv = document.getElementById('sponsor_scroll');
	scrollerDiv.setMargin = function(amount) {
		scrollerDiv.margin = amount;
		scrollerDiv.style.marginTop = amount + 'px';
	}
	scrollerDiv.getMargin = function() {
		return scrollerDiv.margin;
	}
	scrollerDiv.setMargin(0);
			
	var numClones = Math.floor(numHeight/numitems) + 2;
	while(numClones-- > 0) {
		scrollerDiv.appendChild(spList.cloneNode(true));
	}

	scrollerTimer = window.setInterval(animateList, scrollerSpeed);
	scrollerDiv.onmouseover = function() { window.clearTimeout(scrollerTimer); scrollerTimer = false; }
	scrollerDiv.onmouseout = function() { if (!scrollerTimer) { scrollerTimer = window.setInterval(animateList, scrollerSpeed);}}
}


function animateList() {
	var spdiv 					= document.getElementById('sponsors');
	var spinner 				= document.getElementById('sponsor_inner');
	var spList 					= spdiv.getElementsByTagName('ul')[0];
	var stopby 					= spList.getElementsByTagName('li').length*scrollerItemHeight*-1;
	scrollerPauseTimer++;
	if (scrollerPauseTimer > scrollerPauseLength) {
		var margin = scrollerDiv.getMargin() - 1;
		if (margin < stopby) {
			margin += scrollerListHeight;
			scrollerDiv.appendChild(scrollerDiv.firstChild);
		}
		scrollerDiv.setMargin(margin);
		if (scrollerPauseTimer >= scrollerPauseLength+scrollerItemHeight) {
			scrollerPauseTimer = 0;
		}
	}
}