var NewsScrollerTextContentID = "newspanel_text_content";

var NewsScrollerInitDelay = 2000;
var NewsScrollerTimerID = 0;
var NewsScrollerTimerInterval = 100;
var NewsScrollerTimerDistance = 1;

var NewsScrollerDistance = 0;
var NewsScrollerCurDistance = 0;

var SubscribeResultSuccess = "submit";
var SubscribeURLParam = "subscribe";
var EmailSubscribeResultID = "email_subscribe_result";

PageInitEvent = PageInit;
PageResizeEvent = PageResize;

function PageInit()
{
	setTimeout("NewsScrollerInit()", NewsScrollerInitDelay);
	

	var PageURL = new PageQuery(location.search);
	var SubscribeResult = PageURL.getValue(SubscribeURLParam);	
	var EmailSubscribeResult = document.getElementById(EmailSubscribeResultID);

	if (EmailSubscribeResult != null)
	{
		if (SubscribeResult == SubscribeResultSuccess)
		{
			EmailSubscribeResult.innerHTML = "Email address has been added to the list!";
			location.hash = "#index_text";
		}			
		else
		{
			EmailSubscribeResult.innerHTML = "";	
		}
	}
}

function PageResize()
{
	NewsScrollerResize();
}

function NewsScrollerInit()
{
	NewsScrollerStop();

	if (NeedToScrollElement(NewsScrollerTextContentID))
	{
		var NewsScrollerTextContainer = document.getElementById(NewsScrollerTextContentID);
		if (NewsScrollerTextContainer != null)
		{
			var NewsScrollerParent = GetElementParent(NewsScrollerTextContentID);
			if (NewsScrollerParent != null)
			{
				NewsScrollerDistance = NewsScrollerTextContainer.offsetHeight + NewsScrollerParent.offsetHeight;
				NewsScrollerCurDistance = NewsScrollerParent.offsetHeight;
				NewsScrollerTimerID = setTimeout("NewsScrollerUpdate()", NewsScrollerTimerInterval);
			}
		}
	}
	else
	{
		NewsScrollerCurDistance = 0;
		NewsScrollerDistance = 0;
	}
}

function NewsScrollerResize()
{
	NewsScrollerStop();
	NewsScrollerReset();
	setTimeout("NewsScrollerInit()", NewsScrollerInitDelay);
}

function NewsScrollerMouseOver()
{
	NewsScrollerStop();
}

function NewsScrollerMouseOut()
{
	NewsScrollerResume();	
}

function NewsScrollerInProgress()
{
	return (NewsScrollerTimerID > 0);
}

function NewsScrollerStop()
{
	if (NewsScrollerTimerID > 0)
	{
		clearTimeout(NewsScrollerTimerID);
		NewsScrollerTimerID = 0;
	}
}

function NewsScrollerUpdate()
{
	if (NewsScrollerCurDistance >= NewsScrollerDistance)
	{
		//we have finished scrolling!
		NewsScrollerCurDistance = 0;
		ScrollElement(NewsScrollerTextContentID, NewsScrollerDistance);
				
		NewsScrollerTimerID = 0;
	}
	else
	{
		NewsScrollerCurDistance = NewsScrollerCurDistance + NewsScrollerTimerDistance; 
		ScrollElement(NewsScrollerTextContentID, -NewsScrollerTimerDistance);	
	}

	//continue scrolling
	NewsScrollerTimerID = setTimeout("NewsScrollerUpdate()", NewsScrollerTimerInterval);
}

function NewsScrollerResume()
{
	if ((NewsScrollerDistance > 0) && (NewsScrollerTimerID == 0))
	{
		NewsScrollerTimerID = setTimeout("NewsScrollerUpdate()", NewsScrollerTimerInterval);
	}
}

function NewsScrollerReset()
{
	ResetScrollElement(NewsScrollerTextContentID);
}