// JavaScript Document

var newsShowTime = 7; // the time of showing one news item, in seconds.
var newsSwapTime = 500; // the time of swapping effect, in milliseconds.
var newsEffect; // the swapping effect: 1 - move up; 2 - move down; 3 - fade trough; 4 - fae out than in

/* ========================== */
var newsTimer = 0;
var newsItemsCount = 0;
var newsCurrTop = 0;
var newsCurrItem = 1;

$(document).ready(function(){
	newsItemsCount = $("#mainNewsList div.item").length;
	
	switch(newsEffect) {
		case 1 :
			newsCurrTop = 0;
			var firstItem = $("#mainNewsList div.item:first").html();
			$("#mainNewsList").append("<div class=\"item\">" + firstItem +"</div>");
			$("#mainNewsList").css("top", newsCurrTop);
			newsTimer = setTimeout(swapNews1, newsShowTime * 1000);
			break;
		case 2 :
			newsCurrTop = -215;
			var lastItem = $("#mainNewsList div.item:last").html();
			$("#mainNewsList").prepend("<div class=\"item\">" + lastItem +"</div>");
			$("#mainNewsList").css("top", newsCurrTop);
			newsTimer = setTimeout(swapNews2, newsShowTime * 1000);
			break;
		case 4 :
			$("#mainNewsList div.item").css("position", "absolute").css("top", 0).css("left", 0).hide();
			$("#mainNewsList div.item::nth-child(" + newsCurrItem + ")").show();
			newsTimer = setTimeout(swapNews4, newsShowTime * 1000);
			break;
		default :
			$("#mainNewsList div.item").css("position", "absolute").css("top", 0).css("left", 0).hide();
			$("#mainNewsList div.item::nth-child(" + newsCurrItem + ")").show();
			newsTimer = setTimeout(swapNews3, newsShowTime * 1000);
			break;
	}
});

function swapNews1() {
	clearTimeout(newsTimer);
	newsCurrTop -= 215;
	$("#mainNewsList").animate({top:newsCurrTop}, newsSwapTime, "swing", function() {
		if (newsCurrTop == -215 * newsItemsCount) {
			newsCurrTop = 0;
			$("#mainNewsList").css("top", 0);
		}
		newsTimer = setTimeout(swapNews1, newsShowTime * 1000);
	});
}

function swapNews2() {
	clearTimeout(newsTimer);
	newsCurrTop += 215;
	$("#mainNewsList").animate({top:newsCurrTop}, newsSwapTime, "swing", function() {
		if (newsCurrTop == 0) {
			newsCurrTop = -215 * newsItemsCount;
			$("#mainNewsList").css("top", -215 * newsItemsCount);
		}
		newsTimer = setTimeout(swapNews2, newsShowTime * 1000);
	});
}

function swapNews3() {
	clearTimeout(newsTimer);
	$("#mainNewsList div.item:nth-child(" + newsCurrItem + ")").fadeOut(newsSwapTime);
	newsCurrItem++;
	if (newsCurrItem > newsItemsCount) newsCurrItem = 1;
	$("#mainNewsList div.item:nth-child(" + newsCurrItem + ")").fadeIn(newsSwapTime, function() {
		newsTimer = setTimeout(swapNews3, newsShowTime * 1000);
	});
}

function swapNews4() {
	clearTimeout(newsTimer);
	$("#mainNewsList div.item:nth-child(" + newsCurrItem + ")").fadeOut(newsSwapTime, function() {
		newsCurrItem++;
		if (newsCurrItem > newsItemsCount) newsCurrItem = 1;
		$("#mainNewsList div.item:nth-child(" + newsCurrItem + ")").fadeIn(newsSwapTime, function() {
			newsTimer = setTimeout(swapNews4, newsShowTime * 1000);
		});
	});
}
