/*
 Vertically scrolling ticker
 2006-09
 Robin Weber
 http://www.nichiai.com/
*/

var count = 0;
var currElement = 0;
var currState = 0;
var frame_n = 0;
var exit = false;

var y_initial = 35;
var x_initial = 5;

function textIn ()
{
	var ticker = document.getElementById ("innerTicker");
	ticker.style.paddingTop = (y_initial - frame_n) + "px";
	frame_n ++;
}

function textOut ()
{
	var ticker = document.getElementById ("innerTicker");
	//ticker.style.left = (x_initial + frame_n * frame_n) + "px";
	//ticker.style.marginLeft = (x_initial + frame_n * frame_n) + "px";
	//ticker.style.paddingTop = (5 + frame_n) + "px";
	ticker.style.marginTop = (0 - frame_n) + "px";

	var max = 20;
	if (frame_n > max)
		max = frame_n;
	ticker.style.color = "rgb("+parseInt(245*(frame_n/max))+","+parseInt(209*(frame_n/max))+","+parseInt(91*(frame_n/max))+")";

	frame_n ++;
}

// Count number of elements in ticker
function countElements ()
{
	var node = document.getElementById ("innerTicker");
	if (!node.hasChildNodes())
		return 0;

	var len = node.childNodes.length;
	var elementCount = 0;

	if (len < (currElement + 1))
		currElement = 0;

	for(var i = 0; i < len; i++)
		if (node.childNodes[i].nodeName == "P")
			elementCount ++;

	return elementCount;
}

function hideExcept ()
{
	var node = document.getElementById ("innerTicker");
	if (!node.hasChildNodes())
		return;

	var len = node.childNodes.length;
	var elementCount = 0;

	if (countElements () < (currElement + 1))
		currElement = 0;

	for(var i = 0; i < len; i++)
	{
		if (node.childNodes[i].nodeName == "P")
		{
			if (elementCount != currElement)
				node.childNodes[i].style.display = "none";
			else
				node.childNodes[i].style.display = "block";
			elementCount ++;
		}
	}
}

function initTicker (ticker)
{
	if (ticker.innerHTML.length < 2)
	{
		exit = true;
		return false;
	}
	ticker.style.left = x_initial + "px";
	ticker.style.paddingLeft = x_initial + "px";
	ticker.style.paddingTop = y_initial + "px";
	ticker.style.overflow = "hidden";
	ticker.style.color = "rgb(0,0,0)";
	document.getElementById("ticker").style.height = "2em";
	ticker.style.marginTop = "0px";
}


function process ()
{
	var ticker;
	switch (currState)
	{
		case 0:
			ticker = document.getElementById ("innerTicker");
			if (ticker != undefined && ticker != null)
			{
				initTicker (ticker);
				currState = 1;
			}
			break;
		case 1:
			hideExcept ();
			currState = 2;
			break;
		case 2:
			if (frame_n < 30)
			{
				textIn ();
				frame_n ++;
			}
			else
			{
				frame_n = 0;
				currState = 3;
			}
			break;
		case 3:
			if (frame_n < 100)
				frame_n ++;
			else
			{
				frame_n = 0;
				currState = 4;
				ticker = document.getElementById ("innerTicker");
			}
			break;
		case 4:
			if (frame_n < 50)
			{
				textOut ();
				frame_n ++;
			}
			else
			{
				frame_n = 0;
				currState = 0;
				currElement ++;
			}
			break;
		default:
	}
	if (!exit)
		setTimeout ("process()", 60);
}

process ();


