	var ticker_position;
	var ticker_div;
	var ticker_div_width;
	var ticker_area_width;
	var last_time;
	var start_time;
	var pixel_per_second = 15;
	var updates_per_second = 30;
	var pause_ticker = false;

	function ticker(text) {
		if (!$('ticker')) return;
		ticker_div = document.createElement('div');
		Element.extend(ticker_div).addClassName('ticker_text').innerHTML = text + " ";
		$('ticker').appendChild(ticker_div);
		ticker_position = $('ticker').getHeight();
		ticker_div.setStyle({top:ticker_position+'px'});
		ticker_area_width = ticker_position;
		ticker_div_width = ticker_div.getHeight();
		Element.extend(ticker_div).onmouseover = pauseTicker;
		last_time = 0;
		var ups = (1/updates_per_second);
		startTicker(ups);
	}
	
	function startTicker(ups) {
		new PeriodicalExecuter(tickTicker, ups);
	}
	
	function pauseTicker() {
		pause_ticker = true;
		Element.extend(ticker_div).onmouseout = resumeTicker;
	}
	
	function resumeTicker() {
		pause_ticker = false;
		ticker_div.onmouseout = "";
	}
	
	function tickTicker() {
		var time = new Date().getTime();
		if (last_time == 0 || pause_ticker) {
			last_time = time;
			return;
		}
		var diff = time - last_time;
		ticker_position -= (pixel_per_second * (diff / 1000));
		last_time = time;
		if (ticker_position <= -ticker_div_width) {
			ticker_position = ticker_area_width;
		}
		ticker_position_style = Math.round(ticker_position);
		ticker_div.setStyle({top:ticker_position_style+'px'});
		//ticker_div.style.left = ticker_position+'px';
	}
	
	ticker_loaded = true;
