function getTotalOffsetLeft(sourceObject)
{
	if(sourceObject.nodeName == "BODY" || sourceObject.nodeName == "HTML")
		return sourceObject.offsetLeft;
	else
		return sourceObject.offsetLeft + getTotalOffsetLeft(sourceObject.offsetParent);
}
			
function getTotalOffsetTop(sourceObject)
{
	if(sourceObject.nodeName == "BODY" || sourceObject.nodeName == "HTML")
		return sourceObject.offsetTop;
	else
		return sourceObject.offsetTop + getTotalOffsetTop(sourceObject.offsetParent);
}

Object.prototype.toString = function()
{
	var s = "{\n";
	for (var x in this)
		s += "\t" + x + ": " + this[x].toString() + "\n";
	s += "}\n";
	return s;
}

Array.prototype.toString = function()
{
	return '[' + this.join(", ") + ']';
}

function helpMessage(source, message, top, left, width)
{
	if(top == null) top = 0;
	if(left == null) left = 0;
	if(width == null) width = 175;
	
	var target = document.getElementById("helpMessage");
	var data = document.getElementById("helpMessageContent");
	var iframe = document.getElementById("helpMessageIFrame");
	//if(width == null)
	//	alert(data.offsetWidth);
	if(message != null && message.length > 0)
	{
		//Delay popup. 1000 = 1 second.
		timeout = window.setTimeout("showHelpMessage('"+source.id+"', '"+message+"', "+top+", "+left+", "+width+")", 500);
	}
	else
	{
		clearTimeout(timeout);
		data.innerHTML = '';
		target.style.display = "none";
		target.style.visibility = 'hidden';
	}
}

function showHelpMessage(sourceId, message, top, left, width)
{
	try
	{
		var source = document.getElementById(sourceId);
		var target = document.getElementById("helpMessage");
		var data = document.getElementById("helpMessageContent");
		var iframe = document.getElementById("helpMessageIFrame");
		target.style.top = (getTotalOffsetTop(source) + top) + "px";
		target.style.left = (getTotalOffsetLeft(source) + left) + "px";
		if(width != null && width != undefined)
			target.style.width = width + "px";
		data.innerHTML = message;
		if(iframe != null && iframe != undefined)
			iframe.height = target.offsetHeight;
		target.style.display = "block";
		target.style.visibility = 'visible';
	}
	catch(e)
	{
		//alert(e);
	}
}

function headerWebsiteDDL(visible)
{
	var source = document.getElementById("headerLoginWebsite");
	var target = document.getElementById("headerLoginWebsiteDDL");
	var iframe = document.getElementById("headerLoginWebsiteDDLIFrame");
	
	if(visible)
	{
		target.style.top = (getTotalOffsetTop(source) + 14) + "px";
		target.style.left = (getTotalOffsetLeft(source) - 50) + "px";
		if(iframe != null && iframe != undefined)
			iframe.height = target.offsetHeight;
		//target.style.display = "block";
		target.style.visibility = "visible";
	}
	else
	{
		//target.style.display = "none";
		target.style.visibility = "hidden";
	}
}

function tickerMenuDDL(visible)
{
	var source = document.getElementById("tickerMenu");
	var target = document.getElementById("tickerMenuDDL");
	var iframe = document.getElementById("tickerMenuDDLIFrame");
	
	if(visible)
	{
		target.style.top = (getTotalOffsetTop(source) + 13) + "px";
		target.style.left = (getTotalOffsetLeft(source) - getTotalOffsetLeft(document.getElementById("headerTopBar"))) + "px";
		if(iframe != null && iframe != undefined)
			iframe.height = target.offsetHeight;
		//target.style.display = "block";
		target.style.visibility = "visible";
	}
	else
	{
		//target.style.display = "none";
		target.style.visibility = "hidden";
	}
}

function buttonHover(source, hover)
{	
	if(source != null && hover != null)
	{
		if(hover)
			source.src = source.src.replace(".gif", "_ro.gif");
		else
		{
			//source.src = source.src.substring((source.src.length - 7), 0) + ".gif";
			source.src = source.src.replace("_ro.gif", ".gif");
			source.src = source.src.replace("_click.gif", ".gif");
		}
	}
}

function buttonClick(source)
{
	if(source != null)
	{
		source.src = source.src.replace("_ro.gif", "_click.gif");
	}
}

function linksMenu(source, top, left, view)
{
	if(top == null) top = 0;
	if(left == null) left = 0;
	var target = document.getElementById("linksMenu");
	var data = document.getElementById("linksMenuContent");
	var iframe = document.getElementById("linksMenuIFrame");
	if(view == true)
	{
		if(document.getElementById('getLinks') == null)
			target.style.top = (getTotalOffsetTop(source) + top) + "px";
		else
			target.style.top = ((getTotalOffsetTop(source) + top) - document.getElementById('getLinks').scrollTop) + "px";
		target.style.left = (getTotalOffsetLeft(source) + left) + "px";
		//data.innerHTML = '';
		if(iframe != null && iframe != undefined)
			iframe.height = target.offsetHeight;
		target.style.display = "block";
		target.style.visibility = 'visible';
	}
	else
	{
		//data.innerHTML = '';
		target.style.display = "none";
		target.style.visibility = 'hidden';
	}
}

function linksMenuVisible(visible)
{
	var target = document.getElementById("linksMenu");
	if(visible == true)
	{
		target.style.display = "block";
		target.style.visibility = 'visible';
	}
	else
	{
		target.style.display = "none";
		target.style.visibility = 'hidden';
	}
}

function openWindow(url, windowName, features)
{
	try
	{
		var win = window.open(url, windowName, features);
		void(0);
	}
	catch(e)
	{
		alert(e);
	}		
}

//Scrolling ticker functionality
var tickerIncrement = 24;
var tickerTargetPosition = 0;
var tickerPosition = 0;
var play, slide;
var playSpeed = 5000; // == 5 seconds.
var slideSpeed = 10;

function scrollTicker(adjustment)
{
	clearTimeout(play);
	clearTimeout(slide);
	var tickerArea = document.getElementById("tickerScrollArea");
	var tickerItems = tickerArea.getElementsByTagName("div");
	if((tickerTargetPosition - (adjustment * tickerIncrement)) <= 0 &&
		(tickerTargetPosition - (adjustment * tickerIncrement)) > (tickerItems.length * tickerIncrement * -1))
	{
		tickerTargetPosition = tickerTargetPosition - (adjustment * tickerIncrement);
		slide = scroll(tickerArea.id);
	}
	else if((tickerTargetPosition - (adjustment * tickerIncrement)) > 0)
	{
		tickerTargetPosition = ((tickerItems.length * tickerIncrement * -1) + tickerIncrement); // -240
		tickerPosition = (tickerItems.length * tickerIncrement * -1);			// -240 - 24 = -264
		tickerArea.style.top = tickerPosition + "px";						// -264px;
		slide = scroll(tickerArea.id);
	}
	else if((tickerTargetPosition - (adjustment * tickerIncrement)) <= (tickerItems.length * tickerIncrement * -1))
	{
		tickerTargetPosition = 0;
		tickerPosition = tickerIncrement;
		tickerArea.style.top = tickerIncrement + "px";
		slide = scroll(tickerArea.id);
	}
}

function scroll(objId)
{
	if(document.getElementById)
	{
		obj = document.getElementById(objId);
		if(tickerPosition != tickerTargetPosition)
		{
			if(tickerPosition < tickerTargetPosition)
				tickerPosition++;
			else
				tickerPosition--;
			obj.style.top = tickerPosition + "px";
			slide = window.setTimeout("scroll('"+objId+"')", slideSpeed);
		}
		else
		{
			play = window.setTimeout("scrollTicker(1)", playSpeed);
		}
	}
}