﻿var interval;
var toppadding = 0;
var bottompadding = 0;
var tickposition = 0;
var clonetick = 0;
var delta = 0.5;
var enabledloop = false;
var loopcontrol
function RegisterVertical(bar)
{
	var scrollingbar = document.getElementById(bar);
	if(scrollingbar != null)
	{
		tickposition  = parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")) + toppadding;
		
		if(scrollingbar.offsetHeight > parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")))
		{
			if(enabledloop)
			{
				var clone = scrollingbar.cloneNode(true);
				var parent = scrollingbar.parentNode;
				clone.setAttribute("id",scrollingbar.getAttribute("id") + "_clone");
				parent.appendChild(clone);
			}
			scrollingbar.style.top = parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")) + toppadding+ "px";
			
			if(enabledloop)
			{
				var clone = document.getElementById(scrollingbar.getAttribute("id") + "_clone");
				clonetick = parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")) + bottompadding;
				clone.style.position = "relative";
				clone.style.top = clonetick + "px";
			}
			interval = setInterval("ShiftVertical('" + bar + "')",20)
		}
	}
}

function ShiftVertical(controlname)
{
	var scrollingbar = document.getElementById(controlname)
	if(scrollingbar.offsetHeight > parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")))
	{
	    if(enabledloop)
	    {
		    var clone = document.getElementById(scrollingbar.getAttribute("id") + "_clone");
    		
		    tickposition -= delta;
		    clonetick -= delta;
    		
		    if(tickposition < (scrollingbar.offsetHeight + bottompadding) * -1)
		    {
			    tickposition = scrollingbar.offsetHeight;
		    }
    		
		    if(clonetick < (clone.offsetHeight + bottompadding) * -2)
		    {
			    clonetick = tickposition;
		    }
    						
		    scrollingbar.style.top = tickposition + "px";	
		    clone.style.top = clonetick + "px";
	    }
	    else
	    {
		    tickposition -= delta;
		    if(tickposition < (scrollingbar.offsetHeight + bottompadding) * -1)
		    {
			    tickposition = parseInt(scrollingbar.parentNode.style.height.replace(/px/g,"")) + toppadding;
		    }
		    scrollingbar.style.top = tickposition + "px";			
	    }
    }
}

function PauseMessageBox(bar)
{
	clearInterval(interval);
}

function ResumeMessageBox(bar)
{
	interval = setInterval("ShiftVertical('" + bar + "')",20)
}
