var downLayerId;
var dropDegree = 10;
var doDirect;
var DirectTerm = 6000;
var curDropIdx = 0;
var elementName = "ProductRoll";

function DirectDown()
{
	clearInterval(doDirect);
	clearInterval(downLayerId);

	 
	if (document.getElementsByName(elementName).length == null)
	{
		//alert("");
		//return false;
	}else{
		for(i = curDropIdx ;i < document.getElementsByName(elementName).length + curDropIdx;i++)
		{
			document.getElementsByName(elementName)[i%document.getElementsByName(elementName).length].style.posTop = document.getElementsByName(elementName)[i%document.getElementsByName(elementName).length].style.posHeight * (-1*((i-curDropIdx)%document.getElementsByName(elementName).length));
		}  
		
		var temp = 'setInterval("DownLayer()",20)';                            
		downLayerId = eval(temp);
		direction = "down";
	}
}

function DownLayer()
{
	if(document.getElementsByName(elementName)[curDropIdx].style.posTop < document.getElementsByName(elementName)[curDropIdx].style.posHeight)
	{
		for(j = curDropIdx ;j < document.getElementsByName(elementName).length + curDropIdx;j++)
		{
			document.getElementsByName(elementName)[j%document.getElementsByName(elementName).length].style.posTop += dropDegree;
		}
	}
	else
	{
		clearInterval(downLayerId);
		
		for(j = curDropIdx ;j < document.getElementsByName(elementName).length + curDropIdx;j++)
		{
			document.getElementsByName(elementName)[j%document.getElementsByName(elementName).length].style.posTop = document.getElementsByName(elementName)[j%document.getElementsByName(elementName).length].style.posHeight *((-1*((j-curDropIdx)%document.getElementsByName(elementName).length))+1);
		}
		curDropIdx = (curDropIdx + 1) ;
		curDropIdx = curDropIdx > document.getElementsByName(elementName).length-1 ? curDropIdx%document.getElementsByName(elementName).length:curDropIdx;
		var temp = 'setInterval("DirectDown()",DirectTerm)';
		doDirect = eval(temp);
	}
}

function DirectUp()
{
	clearInterval(doDirect);
	clearInterval(downLayerId);
	var tempIdx = 0;

	if (document.getElementsByName(elementName).length == null)
	{
		//alert("????");
		//return false;
	}else{
		for(i = 0;i<document.getElementsByName(elementName).length;i++)
		{
			tempIdx = (document.getElementsByName(elementName).length + curDropIdx - i) %document.getElementsByName(elementName).length;
			
			document.getElementsByName(elementName)[tempIdx].style.posTop = i*document.getElementsByName(elementName)[tempIdx].style.posHeight;
			
		}
		
		var temp = 'setInterval("UpLayer()",20)';                            
		downLayerId = eval(temp);
		direction = "up";
	
	}
}

function UpLayer()
{
	var tempIdx = 0;
	if(document.getElementsByName(elementName)[curDropIdx].style.posTop < document.getElementsByName(elementName)[curDropIdx].style.posHeight && document.getElementsByName(elementName)[curDropIdx].style.posTop > document.getElementsByName(elementName)[curDropIdx].style.posHeight * (-1))
	{
		for(j = 0 ;j < document.getElementsByName(elementName).length;j++)
		{
			tempIdx = (document.getElementsByName(elementName).length + curDropIdx - j) %document.getElementsByName(elementName).length;
			document.getElementsByName(elementName)[tempIdx].style.posTop -= dropDegree;
		}
	}
	else
	{
		clearInterval(downLayerId);
		for(j = 0;j<document.getElementsByName(elementName).length;j++)
		{
			tempIdx = (document.getElementsByName(elementName).length + curDropIdx - j) % document.getElementsByName(elementName).length;
			
			document.getElementsByName(elementName)[tempIdx].style.posTop = (j-1)*(document.getElementsByName(elementName)[tempIdx].style.posHeight);  
		}
		curDropIdx = (curDropIdx - 1) ;
		curDropIdx = curDropIdx < 0 ? document.getElementsByName(elementName).length-1:curDropIdx;
		var temp = 'setInterval("DirectUp()",DirectTerm)';
		doDirect = eval(temp);
	}
}
