
// WebTicker by Mioplanet
// www.mioplanet.com
//
// Ticker content now is preferably set through list (<ul> <li> tags )
// h.w.vandijk@rollermate.com

TICKER_RIGHTTOLEFT = false;
TICKER_SPEED = 2;
TICKER_STYLE = "font-family:Arial; font-size:12px; color:#444444";
TICKER_PAUSED = false;

TICKER_CONTENT = ticker_parse( document.getElementById("TICKER") );
// alert('innerHtml:\n' + TICKER_CONTENT);

ticker_start();

function ticker_start() {
	var tickerSupported = false;
	TICKER_WIDTH = document.getElementById("TICKER").style.width;
	var img = "<img src=ticker_space.gif width="+TICKER_WIDTH+" height=0>";

	// Firefox
	if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Safari")!=-1) {
		document.getElementById("TICKER").innerHTML = "<TABLE  cellspacing='0' cellpadding='0' width='100%'><TR><TD nowrap='nowrap'>"+img+"<SPAN style='"+TICKER_STYLE+"' ID='TICKER_BODY' width='100%'>&nbsp;</SPAN>"+img+"</TD></TR></TABLE>";
		tickerSupported = true;
	}
	// IE
	if (navigator.userAgent.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf("Opera")==-1) {
		document.getElementById("TICKER").innerHTML = "<DIV nowrap='nowrap' style='width:100%;'>"+img+"<SPAN style='"+TICKER_STYLE+"' ID='TICKER_BODY' width='100%'></SPAN>"+img+"</DIV>";
		tickerSupported = true;
	}
	if(!tickerSupported) document.getElementById("TICKER").outerHTML = ""; else {
		document.getElementById("TICKER").scrollLeft = TICKER_RIGHTTOLEFT ? document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth : 0;
		document.getElementById("TICKER_BODY").innerHTML = TICKER_CONTENT;
		document.getElementById("TICKER").style.display="block";
		TICKER_tick();
	}
}

function TICKER_tick() {
	if(!TICKER_PAUSED) document.getElementById("TICKER").scrollLeft += TICKER_SPEED * (TICKER_RIGHTTOLEFT ? -1 : 1);
	if(TICKER_RIGHTTOLEFT && document.getElementById("TICKER").scrollLeft <= 0) document.getElementById("TICKER").scrollLeft = document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth;
	if(!TICKER_RIGHTTOLEFT && document.getElementById("TICKER").scrollLeft >= document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth) document.getElementById("TICKER").scrollLeft = 0;
	window.setTimeout("TICKER_tick()", 30);
}

/* Parse TICKER content 

   !!BEWARE only one level implemented .. too lazy

*/
function ticker_parse( ticker ) {
    var content = document.createElement('DIV');
    var i, list;

    content.setAttribute('id', 'tickercontent');

    // list = ticker.getElementsByTagName('ul' || 'ol');
    // forget about recursive children
    list = ticker.childNodes;
    for(i=0; i<list.length; ++i) {
	if (list[i].nodeName == 'UL' || list[i].nodeName == 'OL') {
	    content = ticker_parse_recursive(list[i], content, 1);
	}
    }

    if (content.childNodes.length > 0) {
	return content.innerHTML;
    }
    else {
	return ticker.innerHTML;
    }
}


function ticker_parse_recursive(list, content, level) {
    var ch, e, i, t, textblocks, childcollection;

    // alert('recursive list level ' + level + ' [' + list + ']\n' + list.innerHTML);
    childcollection = list.childNodes;
    for (i=0; i< childcollection.length; ++i) { 
	ch = childcollection.item(i);

	if (ch.nodeName == 'LI') {
	    e = document.createElement('t' + level);
	    /* copy text node, quick and dirty */
	    e.innerHTML = ch.innerHTML;
	    content.appendChild(e);
	}
	else if (ch.nodeName == 'UL' || ch.nodeName == 'OL') {
	    content = ticker_parse_recursive(ch, content, level+1);
	}
    }
    // alert('content level ' + level + '[' + content + ']\n' + content.innerHTML);
    return content;
}
