var currentIndex     = 0;
var currentContainer = 1;
var teaserEntries    = 2;
var rotationInterval = 5000;

$(document).ready(function() {
	//exit if there are less teaser boxes
	if(!$("#rotate > div.box").length) return;
	if($("#rotate > div.box").length <= teaserEntries+1) {
		// hide the nbsp dummy
		$($("#rotate > div.box").get(0)).hide();
		return;
	}
	
	$("#rotate").css('display','none');
	
	$('#rotatingContainer'+currentContainer).empty().append(getNextEntries(teaserEntries,0)).show();
	startRotating();
});

function startRotating() {
	window.setInterval(function(){

		var cur = currentContainer;
		currentContainer = currentContainer == 1 ? 2 : 1;
		$('#rotatingContainer'+cur).slideUp('normal');
		$('#rotatingContainer'+currentContainer).hide().empty().append(getNextEntries(teaserEntries,0)).slideDown('slow');

	},rotationInterval);
}

function getNextEntries(num,rec) {
	
	if(rec!=0) {
		rec += rec;
	}
	
	//Get Teaser
	var teaser    = $('#rotate');	
	var gtSet     = $('div.box:gt('+currentIndex+')', teaser).clone();
	var set       = [];
	currentIndex += num;
	
	//Load next teaser
	gtSet.each(function(i){	
		if(i >= num){
			return;
		}
		set.push(this);
	});
	
	//Check if teaser end is reached and start right from the beginning
	if(set.length < num && rec < 2) {
		var need = num - (set.length);
		currentIndex = 0;
		set = set.concat(getNextEntries(need,1));
	}
	
	return set;
}
