var carouselItemWidth;

$(document).ready(function() {
	
	carouselItemWidth = $(".carousel_item").width();
	
	if (carouselTransition == "fade") {
		$("#carousel_items").css("width", carouselItemWidth + "px");
		$(".carousel_item").each(function(i) {
			$(this).css("position", "absolute");
		});

		$(".carousel_item").each(function(i){
			if (i != curCarouselItem) {
				$(this).hide();
			} else {
				$(this).show();
			}
		});
	}
	
	$("#nav_buttons a").click(navButton);
	
});

function carouselAutoRotate() {
	window.clearInterval(carouselTimer);
	carouselTimer = window.setInterval("carouselNext();", 5000);	
}


function navButton() {
	var target = $(this).attr("href");
	target = target.substr(1);
	
	$(".carousel_item").each(function(i) {
		if ( $(this).attr("id") == target) {
			window.curCarouselItem = i;
		}
	});
	
	transition(curCarouselItem);
	return false;
}

function carouselNext() {
	if (curCarouselItem != (carouselItems - 1) ) {
		curCarouselItem++;
	} else {
		curCarouselItem = 0;
	}
	
	transition(curCarouselItem);
	carouselAutoRotate();
	return false;
}

function carouselPrev() {
	if (curCarouselItem == 0) {
		curCarouselItem = carouselItems - 1;
	} else {
		curCarouselItem--;
	}
	

	transition(curCarouselItem);
	carouselAutoRotate();
	return false;
}

function transition(itemNum) {
	if (carouselTransition == "slide") {
		carouselSlide(itemNum);
	} else if (carouselTransition == "fade")  {
		carouselCrossfade(itemNum);
	}	
}

function carouselSlide(itemNum) {
	var leftPos = carouselItemWidth * itemNum;
	$("#carousel_items").animate({ left: leftPos * -1 }, 750)	
	
}

function carouselCrossfade(itemNum) {
	
	$(".carousel_item").each(function(i){
		if (i != itemNum) {
			$(this).fadeOut();
		} else {
			$(this).fadeIn();
		}
	});
}
