//Ticker-Script by Wolfgang Modrow
//this is part of the dimX-distribution

var sizeup = new Array();
var tickerElems = new Array();
var currentStops = new Array();
var topPos = new Array();

function initTickers()	{
	if (document.getElementById && sspeed.length > 0) {
	    for (var i in sspeed) {
            var el = document.getElementById("tickerDiv_"+i);
            if (el) {
                sizeup[i] = el.offsetHeight;
                topPos[i] = parseInt(el.style.top);
                tickerElems[i] = el;
                el.style.visibility = "visible";
            }
        }
        tickerScroll();
	}
}
function tickerScroll()	{
	//window.status = "";
	for (var i in tickerElems) {
		if (!isNaN(i)) {			//wegen twitter-Script, das bei fehlender forEach-Unterstützung per Array.prototype JEDEM Array 2 Funktionen hinzufügen
		    var el = tickerElems[i];
            if (currentStops[i] && (currentStops[i] < 0 || --currentStops[i]>0))    //Pause auf -1 = Ticker anhalten
                continue;
            var curpos = topPos[i];
            newpos = sheight[i];
            //window.status+=i+":"+tick_direction[i]+" ";
            if (tick_direction[i] == 0) {       //aufwärts
                if (topPos[i] >= sizeup[i]*(-1)) {
                    newpos = curpos-sspeed[i];
                    //window.status+=" "+i+":"+(sheight[i]-curpos);
                    for (var j=0; j<stops[i].length; j++) {
                        if (stops[i][j] > (sheight[i]-curpos) && stops[i][j] <= (sheight[i]-newpos)) {
                            currentStops[i] = stops2[i][j];
                            newpos = sheight[i]-stops[i][j];
                            break;
                        }
                    }
                }
            }
            else {
                newpos = sizeup[i]*-1;
                if (topPos[i] <= sheight[i]) {
                    newpos = curpos+sspeed[i];
                    for (var j=0; j<stops[i].length; j++) {
                        if (stops[i][j] < (sheight[i]-curpos) && stops[i][j] >= (sheight[i]-newpos)) {
                            currentStops[i] = stops2[i][j];
                            newpos = sheight[i]-stops[i][j];
                            break;
                        }
                    }
                }
            }
            el.style.top = newpos;
            topPos[i] = newpos;
    	}
	}
	setTimeout("tickerScroll()",100);
}
