// senetec Newsticker
// -------------------------------------------------------------------------------------------------------------------

var DOM = !!document.getElementById;

if (DOM) {

var visible = "show";
var hidden  = "hide";

var uagent = window.navigator.userAgent.toLowerCase();

var msgstepw = 2; // step-width in px
var msgspeed = 50; // interval steps

var msgW = new Array();

function initTicker() {
	//do_ticker(msg[0], 0, 1);
	tickerW = document.getElementById("tickercontainer").offsetWidth - 24;
	// collect information about the messages
	var i = 0;
	while (document.getElementById("tmsg"+i)) {
		msgW.push(document.getElementById("tmsg"+i).offsetWidth);
		i++;
	}
	document.getElementById("tmsg0").style.left = tickerW +"px";
	document.getElementById("tmsg0").style.visibility = "visible";

	msg = "0";
	newsticker = window.setInterval("doTicker()", msgspeed);
	//alert(msgW[0]);
	
	// Stop the ticker on mouseover and re-start it on mouseout
	document.getElementById("tickercontainer").onmouseover = function() {
		window.clearInterval(newsticker);
		//alert(uagent);
		//alert(findPosX(document.getElementById("tmsg"+msg)));
	}
	document.getElementById("tickercontainer").onmouseout = function() {
		newsticker = window.setInterval("doTicker()", msgspeed);
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while(1) {
			curleft += obj.offsetLeft;
			if (!obj.offsetParent) break;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosY (obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while(1) {
			curtop += obj.offsetTop;
			if (!obj.offsetParent) break;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

function doTicker() {
	var cpos = findPosX(document.getElementById("tmsg"+msg)) - findPosX(document.getElementById("tickercontainer"));
	if ((document.getElementById("tmsg"+msg).offsetLeft + msgW[msg]) > 0) {
		document.getElementById("tmsg"+msg).style.left = Number(document.getElementById("tmsg"+msg).offsetLeft - msgstepw) + "px";
	} else if (msg < (msgW.length - 1)) {
		// switch to the next message
		document.getElementById("tmsg"+msg).style.visibility = "hidden";
		msg++;
		document.getElementById("tmsg"+msg).style.left = tickerW +"px";
		document.getElementById("tmsg"+msg).style.visibility = "visible";
	} else if (msg == (msgW.length - 1)) {
		// start over with the first one
		document.getElementById("tmsg"+msg).style.visible = "hidden";
		msg = 0;
		document.getElementById("tmsg"+msg).style.left = tickerW +"px";		
		document.getElementById("tmsg"+msg).style.visibility = "visible";
	} else {
		// clear interval when there's no message to move
		window.clearInterval(newsticker);
	}
}

// initialise and start the ticker
window.onload = initTicker;
}