var delay = 3; /* seconds before the ticker starts ticking */
var speed = 70; /* speed of ticker, smaller is faster */

var position = 0;
var ticking;
var container;
var list;

var DomLoaded =
{
	onload: [],
	loaded: function()
	{
		if (arguments.callee.done) return;
		arguments.callee.done = true;
		for (i = 0;i < DomLoaded.onload.length;i++) DomLoaded.onload[i]();
	},
	load: function(fireThis)
	{
		this.onload.push(fireThis);
		if (document.addEventListener)
			document.addEventListener("DOMContentLoaded", DomLoaded.loaded, null);
		if (/KHTML|WebKit/i.test(navigator.userAgent))
		{
			var _timer = setInterval(function()
			{
				if (/loaded|complete/.test(document.readyState))
				{
					clearInterval(_timer);
					delete _timer;
					DomLoaded.loaded();
				}
			}, 10);
		}
		/*@cc_on @*/
		/*@if (@_win32)
		var proto = "src='javascript:void(0)'";
		if (location.protocol == "https:") proto = "src=https:///";
		document.write("<scr"+"ipt id=__ie_onload defer " + proto + "><\/scr"+"ipt>");
		var script = document.getElementById("__ie_onload");
		script.onreadystatechange = function() {
		    if (this.readyState == "complete") {
		        DomLoaded.loaded();
		    }
		};
		/*@end @*/
	   window.onload = DomLoaded.loaded;
	}
};

function ticker_init() {

  ticker_2_init(); // start the 2nd ticker running

  var ticker;

  if (ticker = document.getElementById("ticker")) {
		container = ticker.getElementsByTagName("div")[0];
		container.style.height="6em";

		/* clone the list twice over to get rid of whitespace near the end of the tick cycle */
		list = container.getElementsByTagName("ul")[0];
		list_length = list.getElementsByTagName("li").length * 2;
		for (i=0;i<list_length;i++) {
			list.appendChild(list.getElementsByTagName("li")[i].cloneNode(true));
		}

		container.scrollTop = 0;

		ticker_links = list.getElementsByTagName("a");
		for (i=0;i<ticker_links.length;i++) {
			addEvent(ticker_links[i], 'mouseover', tick_pause);
			addEvent(ticker_links[i], 'mouseout', tick);
		}

		ticking = window.setTimeout("tick()", (delay * 1000));
  }
}

function tick() {
  clearTimeout(ticking); /* in case two timeouts have managed to start somehow */
  if ((list.offsetHeight / 3) <= position) {
    container.scrollTop = position = 1;
  }
  else {
		container.scrollTop = ++position;
  }
  ticking = window.setTimeout("tick()", speed);
}

function tick_pause() {
  clearTimeout(ticking);
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  }
  if (obj.addEventListener) {
    obj.addEventListener( type, fn, false );
  }
  else { }
}

// IE5.5 needs a slight delay for some reason
DomLoaded.load(function(){setTimeout(ticker_init,200)});