var carouselTimer;
var delay = 6000; //in ms

function initCarousel() {
	$("div.carousel").find("div.slide:gt(0)").hide();
	
	$("div.carouselwrap").prepend("<div class='pagi'><a class='prev'>&nbsp;</a><a class='playpause pause'>&nbsp;</a><a class='next'>&nbsp;</a></div>");
	
	$("div.carousel").find("a.playpause").click(function(){
		$(this).toggleClass("play").toggleClass("pause");
		if ($(this).hasClass("play")){
			clearTimeout(carouselTimer);
		}
		else {
			rotateCarousel();
		}
	});
	$("div.carousel").find("a.prev").click(function(){
		$("div.carousel").find("a.playpause").addClass("play").removeClass("pause");
		clearTimeout(carouselTimer);
		moveCarousel(-1);
	});
	$("div.carousel").find("a.next").click(function(){
		$("div.carousel").find("a.playpause").addClass("play").removeClass("pause");
		clearTimeout(carouselTimer);
		moveCarousel(1);
	});
	
	carouselTimer = setTimeout('rotateCarousel()', delay);
}

// move forward one picture, wait some seconds, repeat
function rotateCarousel() {
	moveCarousel(1);
	carouselTimer = setTimeout('rotateCarousel()', delay);
}

//if step=1, move forward; if step=-1, move backward
function moveCarousel(step) {
	var totalSlides = $("div.carousel").find("div.slide").length;
	var currentSlide = $("div.carousel").find("div.slide:visible").prevAll("div.slide").length;
	var newSlide = (currentSlide + step + totalSlides) % totalSlides;
	$("div.carousel").find("div.slide:visible").hide();
	$("div.carousel").find("div.slide:eq("+newSlide+")").show();
}