addLoadEvent(initialize_ticker);
addUnloadEvent(ticker_end);

function initialize_ticker() {	
	if ($('ticker') && $('tickerlist')) {
		ticker_speed = 2; // 2 is ok

		ticker_paused = false;

		tickerbox_dimensions = $('ticker').getDimensions();
		tickerbox_dimensions_width = tickerbox_dimensions.width;
		
		tickercontent = $('tickerlist').getElementsByClassName("ticker_element");

		ticker_dimensions_width = 0;
		for (var i = 0; i < tickercontent.length; i++)
		{
			temp = tickercontent[i].getDimensions();
			ticker_dimensions_width = ticker_dimensions_width + temp.width;
		}	
		$('tickerlist').setStyle({
			width: ticker_dimensions_width+'px'
		});
		
		Event.observe($('ticker'), 'mouseover', function() { ticker_pause(true); }, true);
		Event.observe($('ticker'), 'mouseout', function() { ticker_pause(false); }, true);
		
		//ticker_links();
		
		ticker_start();
	}
}

function ticker_end() {
	createCookie("loc",loc,0);
}

function ticker_start() {
	if (readCookie("loc")) {
		loc = readCookie("loc");		
	} else {
		loc = tickerbox_dimensions_width;
	}	
	ticker_move();
}

function ticker_pause(e) {
	ticker_paused = e;
}

function ticker_move() {
	if (!ticker_paused) {
		if (loc > ( 0 - ticker_dimensions_width)) {
			loc = loc - ticker_speed;
		} else {
			loc = tickerbox_dimensions.width;
		}
			
		$('tickerlist').setStyle({
			left: loc+'px'
		});
	}
		
	//$('debug').innerHTML = "scroll: " + loc + " width:" + ticker_dimensions_width + " pauzed: " + ticker_paused;
	window.setTimeout("ticker_move()", 30);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}