var top = 211;
var left = 900;
var sign = 1;
var starttop = 0;
var startleft = 0;
var speed = 20;
var horStep = 1;
var vertStep = 1;
var tickeritems = new Array("Ticker<br />","Ticker<br />","Ticker<br />");
//var tickeritems = new Array("Ticker<br />","Ticker<br />","Ticker<br />");
var count_items = tickeritems.length;
var dirTopToBottom = 1;
var dirBottomToTop = 2;
var dirLeftToRight = 3;
var dirRightToLeft = 4;
var direction = dirTopToBottom;

function maxItemLength()
{
	maxLength = 0;
	for (i = 0; i < count_items; i++)
	{
		maxLength = Math.max (maxLength, tickeritems[i].length);
	}
	return maxLength
}

function startticker(dir,left,top,ticker_items)
{
	tickeritems = ticker_items
	count_items = tickeritems.length;
	direction = dir;
	switch (direction)
	{
		case 1 : // dirTopToBottom
		{
			sign = -1;
			top = -1 * count_items * 20;
			starttop = top;
			left = 0;
			startleft = left;
			horStep = 1;
			vertStep = 0;
			break;
		}
		case 2 : // dirBottomToTop
		{
			sign = 1;
			top = 1 * count_items * 10;
			starttop = top;
			left = 0;
			startleft = left;
			horStep = -1;
			vertStep = 0;
			break;
		}
		case 3 : // dirLeftToRight
		{
			sign = -1;
			top = 0;
			starttop = top;
			left = -1 * maxItemLength() * 8;
			startleft = left;
			horStep = 0;
			vertStep = 1;
			break;
		}
		case 4 : // dirRightToLeft
		{
			sign = 1;
			top = 280;
			starttop = top;
			left = 1 * maxItemLength() * 8 - 450;
			startleft = left;
			horStep = 0;
			vertStep = -1;
			break;
		}
		default :
		{
			break;
		}
	}
	setTimeout("moveticker()", speed);
}

function moveticker()
{
	tickertext = "";
	for (i = 0; i < count_items; i++)
	{
		tickertext = tickertext + tickeritems[i];
	}
	document.getElementById("ticker").innerHTML = tickertext;
	document.getElementById("ticker").style.position = "relative";
	document.getElementById("ticker").style.top = top;
	document.getElementById("ticker").style.left = left;
	top = top + horStep;
	left = left + vertStep;
	switch (direction)
	{
		case 1 : // dirTopToBottom
		{
			if (top < 20)
			{
				setTimeout("moveticker()", speed);
			}
			else
			{
				top = starttop;
				setTimeout("moveticker()", speed);
			}
			break;
		}
		case 2 : // dirBottomToTop
		{
			if (top > -20)
			{
				setTimeout("moveticker()", speed);
			}
			else
			{
				top = starttop;
				setTimeout("moveticker()", speed);
			}
			break;
		}
		case 3 : // dirLeftToRight
		{
			if (left < 190)
			{
				setTimeout("moveticker()", speed);
			}
			else
			{
				left = startleft
				setTimeout("moveticker()", speed);
			}
			break;
		}
		case 4 : // dirRightToLeft
		{
			if (left > -200)
			{
				setTimeout("moveticker()", speed);
			}
			else
			{
				left = startleft
				setTimeout("moveticker()", speed);
			}
			break;
		}
		default :
		{
			break;
		}
	}

}

function initSlider(id)
{
	var slider = document.getElementById(id);
	var kinder = slider.childNodes;
	var nodes = new Array();
	for (var i = 0; i < kinder.length; i++)
	{
		if (kinder[i].style)
		{
			nodes.push(kinder[i]);
		}
	}
	for (var i = 0; i < nodes.length; i++)
	{
		nodes[i].style.position = "absolute";
		nodes[i].style.top = "0px;";
	}
	runSlider(id);
	window.setInterval(function(){runSlider(id);}, 20);
}

function runSlider(id)
{
	var slider = document.getElementById(id);
	var kinder = slider.childNodes;
	var nodes = new Array();
	for (var i = 0; i < kinder.length; i++)
	{
		if (kinder[i].style)
		{
			nodes.push(kinder[i]);
		}
	}
	var x = 0;
	for (var i = 0; i < nodes.length; i++)
	{
		if (i == 0)
		{
			x = parseFloat(nodes[0].style.left || 0) - 1;
			if (x <= -1 * nodes[0].offsetWidth)
			{
				slider.appendChild(nodes[0]);
				nodes.push(nodes[0]);
				nodes.splice(0, 1);
				i--;
				continue;
			}
		}
		nodes[i].style.left = x + "px";
		x += nodes[i].offsetWidth;
	}
}
