var buttonsActive = true;
var transitionSpeed = 1000;
var autoSpeed = 5000;
var buttonTimeout;
var autoScrollTimer;
var currentSlideNumber = 1;
var featuredItemWidth = 941;
var slideLoop = false;
var featuredItemsArray = new Array();
var startPosition;


function onLoadCode(totalSlides) {
	autoScrollTimer = setInterval("slideLeft()" ,autoSpeed);
	featuredItems = document.getElementById("featured-items");
	featuredItems.style.width = (featuredItemWidth*totalSlides)+"px";
	
	for(var i=0; i<=totalSlides-1; i++){
		featuredItemsArray[i] = "featured-item"+(i+1);
	}
}


function setTotalSlides(slideVar) {
	totalSlides = slideVar;
}


function leftArrow() {
	if(buttonsActive){
		
		slideRight();
		
		// kill the auto scroll
		if(autoScrollTimer){
			clearInterval(autoScrollTimer);
		}
	}
}


function rightArrow() {
	if(buttonsActive){

		slideLeft();
				
		// kill the auto scroll
		if(autoScrollTimer){
			clearInterval(autoScrollTimer);
		}
	}
}


function slideLeft() {
	var lastSlide = currentSlideNumber;
	
	if("featured-item"+currentSlideNumber == featuredItemsArray[totalSlides-1]){
		//move the divs around
		var wrapperDiv = document.getElementById('featured-items');
		var firstDiv = document.getElementById(featuredItemsArray[0]);
		var lastDiv = document.getElementById(featuredItemsArray[totalSlides-1]);
		insertAfter(wrapperDiv, firstDiv, lastDiv);
		
		//move items in array
		var lastArrayItem = featuredItemsArray[0];
		featuredItemsArray.shift(); // remove first item
		featuredItemsArray.push(lastArrayItem); // add to front
	}
	
	if(currentSlideNumber == totalSlides){
		currentSlideNumber = 1;
	}else{
		currentSlideNumber = currentSlideNumber+1;
	}
	
	// disable buttons during animation
	buttonsActive = false;
	buttonTimeout = setInterval("activateButtons()" ,transitionSpeed);
	
	setNumber(currentSlideNumber,lastSlide);
	
	positionSlides('left');
}


function slideRight() {
	var lastSlide = currentSlideNumber;
	
	if("featured-item"+currentSlideNumber == featuredItemsArray[0]){
		
		//move the divs around
		var wrapperDiv = document.getElementById('featured-items');
		var firstDiv = document.getElementById(featuredItemsArray[0]);
		var lastDiv = document.getElementById(featuredItemsArray[totalSlides-1]);
		wrapperDiv.insertBefore(lastDiv, firstDiv);
		
		//move items in array
		var firstArrayItem = featuredItemsArray[totalSlides-1];
		featuredItemsArray.pop(); // remove last item
		featuredItemsArray.unshift(firstArrayItem); // add to front
		
	}
		
	if(currentSlideNumber == 1){
		currentSlideNumber = totalSlides;
	}else{
		currentSlideNumber = currentSlideNumber-1;
	}
	
	// disable buttons during animation
	buttonsActive = false;
	buttonTimeout = setInterval("activateButtons()" ,transitionSpeed);
	
	setNumber(currentSlideNumber,lastSlide);
	
	positionSlides('right');
}


function activateButtons() {
	buttonsActive = true;
	clearInterval(buttonTimeout);
}


function setNumber(currentSlideNumber,lastSlide) {
	document.getElementById('featured-number'+lastSlide).style.background='url('+templateUrl+'/images/featured-num-back.jpg)';
	document.getElementById('featured-number'+currentSlideNumber).style.background='url('+templateUrl+'/images/featured-num-back-over.jpg)';
}


function insertAfter(wrapperDiv, firstDiv,lastDiv) {
    wrapperDiv.insertBefore(firstDiv, lastDiv);
	wrapperDiv.insertBefore(lastDiv, firstDiv);
}


function positionSlides(side){
	
	for(var i=0; i<=totalSlides-1; i++){
		if("featured-item"+currentSlideNumber == featuredItemsArray[i]){
			if(side == "left"){
				startPosition = -((i-1)*featuredItemWidth);
			}
			if(side == "right"){
				startPosition = -((i+1)*featuredItemWidth);
			}
			
			var endPosition = -((i)*featuredItemWidth);
		}
	}
	
	var obj = document.getElementById('featured-items');
	
	if(side == "right" || side == "left"){
		$(obj).animate({left: startPosition}, 0 );	
	}
	
	$(obj).animate({left: endPosition}, transitionSpeed );
}


function numberSelected(selectedNumber){
	// disable buttons during animation
	buttonsActive = false;
	buttonTimeout = setInterval("activateButtons()" ,transitionSpeed);
	
	setNumber(selectedNumber,currentSlideNumber);
	currentSlideNumber = selectedNumber;
	positionSlides();
	
	// kill the auto scroll
	if(autoScrollTimer){
		clearInterval(autoScrollTimer);
	}
}
