
var newsScroller = {};				// local variables container

newsScroller.newsIndex = 1;			// start virtual page to display
newsScroller.newsPageSize = 2; 		// news on virtual page count
newsScroller.fadeInterval = 500; 	// virtual page fade time, msec
newsScroller.displayInterval = 2000;// virtual page display time, msec

newsScroller.displayInterval += 2 * newsScroller.fadeInterval;
newsScroller.intervalContainer;

newsScroller.scrollNews = function (scrollerID, arrNews) {
	if (arrNews.length > newsScroller.newsPageSize) {
		$('#' + scrollerID).fadeOut(newsScroller.fadeInterval, function() {

			$('#' + scrollerID).children().detach();

			nextItemsPageStart = newsScroller.newsIndex * newsScroller.newsPageSize;
			if (nextItemsPageStart >= arrNews.length) {
				newsScroller.newsIndex = 0;
				nextItemsPageStart = 0;
			}

			nextItemsPageEnd = nextItemsPageStart + newsScroller.newsPageSize;
			if (nextItemsPageEnd > arrNews.length) {
				nextItemsPageEnd = arrNews.length;
			}

			nextItemsHTML = '';
			for (var i = nextItemsPageStart; i < nextItemsPageEnd; i++) {
				nextItemsHTML += '<li>' + $(arrNews[i]).html() + '</li>';
			}

			$('#' + scrollerID).html(nextItemsHTML);
			
			$('#' + scrollerID + ' a[rel*=facebox]').facebox(); 

			$('#' + scrollerID).fadeIn(newsScroller.fadeInterval);

			newsScroller.newsIndex++;
		});
	}
}

// setup scroller
$(document).ready(function(){
	
	//get news list from HTML code
	arrNews = $('#scroller li');
	
	// hide elements which are not in the 1st page
	$('#scroller li').each(function(index){
		if(index >= newsScroller.newsPageSize){
			$(this).hide();
		}
	});
	
	// start rotation
	newsScroller.intervalContainer = setInterval("newsScroller.scrollNews('scroller', arrNews)", newsScroller.displayInterval);
	
	// freeze rotation when mouse is over the news
	$('#scroller').bind('mouseover', function(){
		clearInterval(newsScroller.intervalContainer);
	})
	
	// continue rotation when mouse is out
	$('#scroller').bind('mouseout', function(){
		newsScroller.intervalContainer = setInterval("newsScroller.scrollNews('scroller', arrNews)", newsScroller.displayInterval);
	})
})
