/* The idea is:
 * 1. Repeat the ticker text 5 times like: | 1 | 2 | 3 | 4 | 5 |
 * 2. Start scrolling over it.
 * 3. When we are at the end of ticker text #3, then the scroll position is moved back the end of ticker text #2.
 *    This will make it look like its an endless scroll.
 */

var _updateDelayInMilliseconds = 30;
var _textSpeedPixilsPerUpdate = 1;
var _elementToScroll = null;
var _tickerTextElement = null;
var _tickerIntervalId = null;

function StockTicker_Init(elementToScrollID, updateDelayInMilliseconds)
{

	_updateDelayInMilliseconds = updateDelayInMilliseconds;
	_elementToScroll = document.getElementById(elementToScrollID);
	_tickerTextElement = document.getElementById("tickerText");

	_tickerTextElement.parentNode.appendChild(this._tickerTextElement.cloneNode(true));
	_tickerTextElement.parentNode.appendChild(this._tickerTextElement.cloneNode(true));
	_tickerTextElement.parentNode.appendChild(this._tickerTextElement.cloneNode(true));
	_tickerTextElement.parentNode.appendChild(this._tickerTextElement.cloneNode(true));
}

function StockTicker_Start()
{
	_tickerIntervalId = window.setInterval(StockTicker_Tick, _updateDelayInMilliseconds);		
}

function StockTicker_ChangeSpeed(newSpeed)
{
	_updateDelayInMilliseconds = newSpeed;
	window.clearInterval(_tickerIntervalId);
	StockTicker_Start();
}
	
function StockTicker_RewindOneTickerElement()
{
	if(_elementToScroll.scrollLeft > (_tickerTextElement.scrollWidth * 4 - _tickerTextElement.offsetWidth))
		return true;
	else
		return false;
}
	
function StockTicker_Tick()
{
	if (StockTicker_RewindOneTickerElement() == true)
		_elementToScroll.scrollLeft -= (_tickerTextElement.scrollWidth - _textSpeedPixilsPerUpdate);
	else
		_elementToScroll.scrollLeft += _textSpeedPixilsPerUpdate;
}
