function pause() {
	$('lnkPlayPause').className = 'paused';
	isPlaying = 0;
	clearInterval(interval);
}

function nextItem() {
	if (++pos == newsList.length)
		pos = 0;
	loadItem(pos);
}

function prevItem() {
	if (--pos < 0)
		pos = newsList.length - 1;
	loadItem(pos);
}

function loadItem(pos) {
	if (!newsList[pos])
		return;
	setOpacity(newsList[pos].getElementsByClassName('newsTop')[0],60);
	for (var i=0; i<newsList.length; i++) {
		newsList[i].style.display = 'none';
	}
	newsList[pos].onclick = function() {
		window.location = newsList[pos].getElementsByTagName('a')[0].href;
	}
	fade(newsList[pos], 'in');
	refreshPager();
}


function refreshPager() {
	var pagingText = '';
	var i = 0;
	page = pos -2;
	while (page > newsList.length-5) {
		page--;
	}
	while (page < 0) {
		page++;
	}
	while (i < 5 && i <= newsList.length) {
		pagingText += '<a href="#"';
		if (page == pos) pagingText += ' class="active"';
		pagingText += ' onclick="pos='+page+';pause();loadItem(pos);return false;">' + (page+1) + '</a> ';
		i++;
		page++;
	}
	$('pagingNumbers').innerHTML = pagingText;
}

function setOpacity(obj, value) {
	obj.style.opacity = value/100;
	obj.style.filter = 'alpha(opacity=' + value + ')';
}

function fade(obj, direction) {
	currentFade[direction] = obj;
	if (direction == 'in') {
		setOpacity(obj,0);
		obj.style.display = 'block';
		for (var i=0;i<11;i++)
			setTimeout('setOpacity(currentFade["'+direction+'"], '+(i*10)+')', i*10);
	} else {
		for (var i=0;i<11;i++)
			setTimeout('setOpacity(currentFade["'+direction+'"], '+(100-i*10)+')', i*10);
		setTimeout('currentFade["'+direction+'"].style.display = "none"', i*10);
	}
}


// page load events
Event.observe(window, 'load', page_loaded, false);
function page_loaded() {

	// init variables
	isPlaying = 1;
	speed = 10000;
	pos = 0;

	if ($('btnNext')) {
		currentFade = Array();
		interval = setInterval(nextItem, speed);

		newsList = document.getElementsByClassName('newsItem');
		if (newsList.length == 1) {
			$('btnNext').style.display = 'none';
			$('btnPrev').style.display = 'none';
		} else {
			$('btnNext').style.display = 'inline';
			$('btnPrev').style.display = 'inline';
		}

		$('btnNext').onclick = function() {
			pause();
			nextItem();
			return false;
		}
		$('btnPrev').onclick = function() {
			pause();
			prevItem();
			return false;
		}
		$('lnkPlayPause').onclick = function() {
			if (isPlaying) {
				pause();
			} else {
				$('lnkPlayPause').className = '';
				isPlaying = 1;
				interval = setInterval(nextItem, speed);
			}
			return false;
		}
		loadItem(pos);
	}
}
