/*
 * scroll a div horizontally or vertically, depending on the given elementId
 */

var px = 1;
var pxScrolledVertical = 0;
var pxScrolledHorizontal = 0;
var heightDouble = 0;
var widthDouble = 0;
var tickerPaused = false;

/*
 * Initialize the ticker, compute presets, addEventListeners
 */ 
function init() {
	if(document.getElementById) {
		if(document.getElementById("tickerVertical")) {
			var tickerVertical = document.getElementById("tickerVertical");
			tickerHeight = tickerVertical.offsetHeight;
			if(tickerContainerHeight == 0)
				tickerContainerHeight = tickerHeight;
			if (tickerVertical.addEventListener){
				tickerVertical.addEventListener("mouseover", disableScrolling, false);
				tickerVertical.addEventListener("mouseout", enableScrolling, false);
			} else if (tickerVertical.attachEvent){
				tickerVertical.attachEvent('onmouseover', disableScrolling);
				tickerVertical.attachEvent('onmouseout', enableScrolling);
			}
			displayTicker();
		}
		if(document.getElementById("tickerHorizontal")) {
			var tickerHorizontal = document.getElementById("tickerHorizontal");
			tickerWidth = document.getElementById("tickerHorizontal").offsetWidth;
			if (tickerHorizontal.addEventListener){
				tickerHorizontal.addEventListener("mouseover", disableScrolling, false);
				tickerHorizontal.addEventListener("mouseout", enableScrolling, false);
			} else if (tickerHorizontal.attachEvent){
				tickerHorizontal.attachEvent('onmouseover', disableScrolling);
				tickerHorizontal.attachEvent('onmouseout', enableScrolling);
			}
			displayTicker();
		}
	}
}

/*
 * display the ticker according to presets
 */ 
function displayTicker() {
	if(document.getElementById) {
		if(document.getElementById("tickerVertical") && !tickerPaused) {
			document.getElementById("tickerVertical").style.top = (tickerContainerHeight - pxScrolledVertical) + "px";
			pxScrolledVertical += px;
			if(pxScrolledVertical > (tickerHeight + tickerContainerHeight))
				pxScrolledVertical = 0;
		}
		if(document.getElementById("tickerHorizontal") && !tickerPaused) {
			document.getElementById("tickerHorizontal").style.left = (tickerWidth - pxScrolledHorizontal) + "px";
			pxScrolledHorizontal += px;
			if(pxScrolledHorizontal > (tickerWidth * 2))
				pxScrolledHorizontal = 0;
		}
	}
	window.setTimeout("displayTicker()",20);
}

/*
 * en- or disable scrolling if mouseover or mouseout events are fired
 */ 
function disableScrolling(event) {
	tickerPaused = true;
}
function enableScrolling(event) {
	tickerPaused = false;
}

/*
 * call ticker initialization upon load
 */ 
window.onload = init;

