var speed = 0;
var initialized = false;

function moveUp() {	
	speed=9;
}
 
function moveDown(event) {
	speed=-9;
}

function stop() {		
	speed = 0;
}
	
function moveEvents() {
	var endEvents = document.getElementById('end_events');
	var eventParent = document.getElementById('event_container');
	var eventList = document.getElementById('event_list');

	if(speed!=0){
		
		var topPos = eventList.style.top.replace(/[^\-0-9]/g,'')/1;	

		//Stop moving down when end is reached
		if(speed < 0 && endEvents.offsetTop <= (eventParent.offsetHeight - topPos)){
			speed=0;			
		}

		//Adjust down speed as we near the end
		if ((eventParent.offsetHeight - topPos - speed) > endEvents.offsetTop) {
			var speedAdjustment = endEvents.offsetTop - (eventParent.offsetHeight - topPos - speed);
			speed = speed - speedAdjustment;
		}
		
		//Adjust the up speed as we near the top
		if (topPos + speed > 0) {
			speed = speed + topPos;
		}			
		
		//Stop moving up when the top is reached
		if (speed > 0 && topPos >= 0) {
			speed=0;
		}

		topPos = topPos + speed;
		eventList.style.top = topPos + 'px';
	}	
	setTimeout("moveEvents()",30);	
}
	
function initEvents() {
	var eventList = document.getElementById('event_list');
		
	moveEvents();
}	

function checkInitialized() {
	if (!initialized) {
		initEvents();
		initialized = true;
	}	
}