/************************************************
 * Newsticker / Musikschule-TamTam              *
 ************************************************
 * Design & Layout by:                          *
 *   Sven guthjahr <svengutjahr@web.de>         *
 *   Peter Körner <koerner-familie@t-online.de> *
 ************************************************/

function init() {
	if (document.getElementById) {
		tck = document.getElementById("newsTicker");
		// if(window.opera) {
			/* Opera hat massive Probleme mit der 
			   darstellung des Tickers innerhalb des 
			   fixierten Blockes, daher wird hier eine 
			   alternative verwendet */

			/* actual = 0;
			speed = 3000;
			news = new Array();
			for (i = 0; i < tck.getElementsByTagName("li").length; i++) {
				news[i] = tck.getElementsByTagName("li")[i];
				news[i].style.visibility = "hidden";
			}
			news[actual].style.visibility = "visible";
			window.setTimeout("rollNewsOpera();", speed);
		} else { */
			if (tck.getElementsByTagName("li").length > 0) {
				actual = 0;
				step = 2;
				speed = 20;
				delay = 0;
				news = new Array();
				for (i = 0; i < tck.getElementsByTagName("li").length; i++) {
					news[i] = tck.getElementsByTagName("li")[i];
					news[i].style.left = tck.offsetWidth + "px";
				}
				//alert(tck.offsetWidth + "px");
				//news[actual].style.left = "718px";
				rollNews();
				addEvent(tck, "mouseover", stopNews);
				addEvent(tck, "mouseout", rollNews);
			}
		//}
	}
}

function rollNews() {
	news[actual].style.left = parseInt(news[actual].style.left) - step + "px";
	//document.getElementById('debug').innerHTML = "AP: " + news[actual].style.left;
	//document.getElementById('debug2').innerHTML = "ACT: " + actual;
	if (parseInt(news[actual].style.left) == tck.offsetWidth % step) {
		tick = setTimeout("rollNews()",delay);
	}
	else {
		if (parseInt(news[actual].style.left) <= 0-news[actual].offsetWidth) {
			//document.getElementById('debug3').innerHTML = "Setting " + actual + " to " + tck.offsetWidth + "px";;
			//news[actual].style.left = tck.offsetWidth + "px";
			actual++;
			if (actual == news.length) {actual = 0;}
			news[actual].style.left = tck.offsetWidth + "px";
		}
		tick = setTimeout("rollNews()",speed);
	}
}

function rollNewsOpera() {
        news[actual].style.visibility = "hidden";
        actual++;
        if (actual == news.length) {actual = 0;}
        news[actual].style.visibility = "visible";
        
	tick = setTimeout("rollNewsOpera()", speed);
}

function stopNews() {
	clearTimeout(tick);
}

function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}

