// JavaScript Document

var current = 0;
var timer;
var userClick = false;
var animClick;
var clickReceived;
var doubleClicks = 0;
//CAN BE CHANGED
var speed = 1000;
var boxWidth = 312;
var boxHeight = 133;
var continuous = true;
var loop = true;
// FOR LOOP TO WORK continuous HAS TO BE FALSE


j(document).ready(function() {
	j("#prev").click(function(){ goPrev(true); return false; });
	j("#next").click(function(){ goNext(true); return false; });
	timer = setInterval(function(){ goNext(false); }, 5000);
	if(continuous){
		j('#textContainer span').css('position','absolute');
		for(var i=0; i<j('#textContainer span').length; i++) {
			j('#textContainer span:eq('+i+')').css('left',(boxWidth*i))
		}
		j('#textContainer span:last').clone().prependTo('#textContainer')
		j('#textContainer span:first').css('left',-boxWidth);
		j('#textContainer span:last').remove();
	}
	if(!loop){j('#prev').attr('class','disabled');}
});

function goPrev(userClick) {
	if(userClick){ clearInterval(timer); }
	if(!loop){ j('#next').attr('class','active'); }
	if(current != 0 || continuous) {
		current --;
		if(current == 0 && !loop) {j('#prev').attr('class','disabled');}
	}else {
		if(loop) {
			current = j('#textContainer div').length - 1;
		}
	}
	j('#textContainer').stop();
	j('#textContainer').animate({left:-(current * boxWidth) +"px"}, speed, function(){ callbackPrev(); });
	if(continuous){
		var firstLeft = parseInt(j('#textContainer span:first').css('left').replace('px','')) - boxWidth;
		var myTarget = j('#textContainer span').length - doubleClicks - 1;
		j('#textContainer span:eq('+myTarget+')').clone().prependTo('#textContainer')
		j('#textContainer span:first').css('left',firstLeft);
	}
	doubleClicks++;
}

function goNext(userClick){
	if(!userClick && current == 2 && !continuous) return ;
	if(userClick){ clearInterval(timer); }
	if(!loop){ j('#prev').attr('class','active'); }
	if(current >= j('#textContainer div').length - 1 && !continuous) {
		if(loop) {
			current = 0;
		}
	}else {
		current++;
		if(current >= j('#textContainer div').length - 1 && !loop) {j('#next').attr('class','disabled');}
	}
	j('#textContainer').stop();
	j('#textContainer').animate({left:-(current * boxWidth) +"px"}, speed, function(){ callbackNext(); });
	if(continuous){
		var farthestLeft = parseInt(j('#textContainer span:last').css('left').replace('px','')) + boxWidth;
		j('#textContainer span:eq('+doubleClicks+')').clone().appendTo('#textContainer')
		j('#textContainer span:last').css('left',farthestLeft);
	}
	doubleClicks++;
}

function callbackNext(){
	if(continuous) {
		for(var i=0; i<doubleClicks; i++) {
			j('#textContainer span:first').remove();
		}
		doubleClicks = 0;
	}
}

function callbackPrev(){
	if(continuous) {
		for(var i=0; i<doubleClicks; i++) {
			j('#textContainer span:last').remove();
		}
		doubleClicks = 0;
	}
}