var oTicker			= null;
var oTickerText		= null;
var oTickerClone	= null;
var oTickerInterval	= null;
var bTickerHover	= false;
var nTickerInterval	= 30; // ms
var nTickerMovePX	= 1; // ms
var nLeft			= 0;
var nWidth			= 0;

// ----------------------------------------------------------------------------------------------------
// - Set Cookie
// ----------------------------------------------------------------------------------------------------
function SetCookie(name, value, expire, path, domain, secure)
{
	var sCookie = '';

	if(name)
	{
		sCookie += name; // escape(name);
		sCookie += '=';
		sCookie += escape(value);

		if(expire)
		{
			sCookie += '; ';
			sCookie += escape('expires');
			sCookie += '=';
			sCookie += ((isNaN(expire) == true)? expire : new Date(parseInt(expire) * 1000).toGMTString());
		};

		if(path)
		{
			sCookie += '; ';
			sCookie += escape('path');
			sCookie += '=';
			sCookie += path; // escape(path);
		};

		if(domain)
		{
			sCookie += '; ';
			sCookie += escape('domain');
			sCookie += '=';
			sCookie += escape(domain);
		};

		if(secure)
		{
			sCookie += '; ';
			sCookie += escape('secure');
			sCookie += '=';
			sCookie += escape((secure == true) ? '1' : '0');
		};

		document.cookie = sCookie;

		return(true);
	};
};

// ----------------------------------------------------------------------------------------------------
// - Get Cookie
// ----------------------------------------------------------------------------------------------------
function GetCookie(name)
{
	var oCookie	= document.cookie.split('; ');
	var nPos	= 0;
	var i		= 0;

	for(i=0; i<oCookie.length; i++)
	{
		nPos = oCookie[i].indexOf('=');

		if(nPos != (-1))
		{
			if(unescape(oCookie[i].substr(0, nPos)) == name)
			{
				return(unescape(oCookie[i].substr(nPos + 1)));
			};
		};
	};
};

// ----------------------------------------------------------------------------------------------------
// - intval
// ----------------------------------------------------------------------------------------------------
function intval(vVal)
{
	return(isNaN(parseInt(vVal)) ? 0 : parseInt(vVal));
};

function TickerInit()
{
	if(oTicker = document.getElementById('ticker'))
	{
		if(oTickerText = document.getElementById('ticker_text'))
		{
			if(oTickerClone = oTickerText.cloneNode(true))
			{
				oTickerClone.setAttribute('id', 'ticker_clone');

				oTicker.appendChild(oTickerClone);

				oTicker.onmouseover = function()
				{
					bTickerHover = true;
				};

				oTicker.onmouseout = function()
				{
					bTickerHover = false;
				};

				if(GetCookie)
				{
					nLeft = intval(GetCookie('ticker_x'));
				};

				oTickerInterval = window.setTimeout('TickerUpdate();', nTickerInterval);
			};
		};
	};
};

function TickerUpdate()
{
	if(oTickerInterval != null)
	{
		window.clearTimeout(oTickerInterval);

		oTickerInterval = null;
	};

	if(!bTickerHover)
	{
		nLeft -= nTickerMovePX;

		oTickerText.style.marginLeft = nLeft.toString() + 'px';
		oTickerClone.style.marginLeft = (nLeft + parseInt(oTickerText.offsetWidth)).toString() + 'px';

		if(Math.abs(nLeft) > parseInt(oTickerText.offsetWidth))
		{
			nLeft = 0;
		};

		if((nLeft % 10) == 0)
		{
			if(SetCookie)
			{
				SetCookie('ticker_x', nLeft, 0x7FFFFFFF, '/');
			};
		};
	};

	oTickerInterval = window.setTimeout('TickerUpdate();', nTickerInterval);
};

TickerInit();

