var ticker = {

	aNews: [],
	iCurrentNews: 0,
	rTimer: 0,
	iCount: 0,
	iMaxCount: 50,

	init: function() {
		if (!document.getElementsByTagName || !document.getElementById) return;
		
		if (!document.getElementById('ticker')) return;

		var eNewsList = document.getElementById('ticker').getElementsByTagName('ul')[0];
		eNewsList.className='dynamic';
		eNewsList.style.display='block';
		
		ticker.aNews = eNewsList.getElementsByTagName('li');
		
		for (var i=0; i < ticker.aNews.length; i++){
			ticker.aNews[i].style.zIndex=ticker.aNews.length-i;
		}
		
		ticker.rTimer = window.setInterval(ticker.moveTimer, 6000);
	},
	
	moveTimer: function() {
		for (var i=0; i < ticker.aNews.length; i++){
			ticker.aNews[i].style.zIndex++;
		}
		ticker.moveElement(ticker.aNews[ticker.iCurrentNews],0,58,60);
		ticker.iCurrentNews++;
		if (ticker.iCurrentNews == ticker.aNews.length) {
			ticker.iCurrentNews = 0;
			ticker.iCount++;
			if (ticker.iMaxCount && ticker.iCount>ticker.iMaxCount) {
				window.clearInterval(ticker.rTimer);
				ticker.aNews[0].style.zIndex=100;
			}
		}
	},
	
	/**
	Tools
	*/
		
	moveElement: function (elem,final_x,final_y,interval) {
		if (elem.movement) {
			clearTimeout(elem.movement);
		}
		if (!elem.style.left) {
			elem.style.left = "0px";
		}
		if (!elem.style.top) {
			elem.style.top = "0px";
		}
		var xpos = parseInt(elem.style.left);
		var ypos = parseInt(elem.style.top);
		if (xpos == final_x && ypos == final_y) {
			elem.style.zIndex=0;
			elem.style.top='-1px';
			return true;
		}
		if (xpos < final_x) {
			var dist = Math.ceil((final_x - xpos)/10);
			xpos = xpos + dist;
		}
		if (xpos > final_x) {
			var dist = Math.ceil((xpos - final_x)/10);
			xpos = xpos - dist;
		}
		if (ypos < final_y) {
			var dist = Math.ceil((final_y - ypos)/10);
			ypos = ypos + dist;
		}
		if (ypos > final_y) {
			var dist = Math.ceil((ypos - final_y)/10);
			ypos = ypos - dist;
		}
		elem.style.left = xpos + "px";
		elem.style.top = ypos + "px";
		var repeat = function(){ ticker.moveElement(elem,final_x,final_y,interval); };
		elem.movement = setTimeout(repeat,interval);
	}
}

window.onload = function(){
	ticker.init();
}


