// NewsCarousel v1.2
//
// Adrian Maus - adrian.maus@gmail.com

var interval = 0;
var rotationTime = 10000;
var selectedSlide = 0;

var sClassName = ".slide";
var sFadeSpeed = "slow";

function newsCarousel() {
	fadeOutSlide(selectedSlide);
	selectedSlide = (selectedSlide < jQuery(sClassName).length-1) ? selectedSlide+1 : 0;
	fadeInSlide(selectedSlide);
}

function fadeInSlide(i) {
	jQuery(sClassName).eq(i).fadeIn(sFadeSpeed, function() {
		jQuery(this).css({'display' : 'block'});
	});
	jQuery('.newsCarouselControl li').eq(i).addClass('active');
}

function fadeOutSlide(i) {
	jQuery(sClassName).eq(i).fadeOut(sFadeSpeed, function() {
		jQuery(this).css({'display' : 'none'});
	});
	jQuery('.newsCarouselControl li').eq(i).removeClass('active');
}

function gotoSlide(i) {
	pause();
	fadeOutSlide(selectedSlide);
	selectedSlide = parseInt(i);
	fadeInSlide(selectedSlide);
	resume();
}

function resume() {
	if (interval == 0) {
		interval = setInterval("newsCarousel()", rotationTime);
	}
}

function pause() {
	clearInterval(interval);
	interval = 0;
}


// Background rotation

var bgInterval = 0;
var bgRotationTime = 12000;
var selectedBG = 0;

var sBGClass = ".carouselBackground";

function bgCarousel() {
	bgFadeOut(selectedBG);
	selectedBG = (selectedBG < jQuery(sBGClass).length-1) ? selectedBG+1 : 0;
	bgFadeIn(selectedBG);
}

function bgFadeIn(i) {
	jQuery(sBGClass).eq(i).fadeIn(sFadeSpeed, function() {
		jQuery(this).css({'display' : 'block'});
	});
}

function bgFadeOut(i) {
	jQuery(sBGClass).eq(i).fadeOut(sFadeSpeed, function() {
		jQuery(this).css({'display' : 'none'});
	});
}

function bgResume() {
	if (bgInterval == 0) {
		bgInterval = setInterval("bgCarousel()", bgRotationTime);
	}
}


// Main jQuery Function

jQuery(function($){

	//jNewsCarousel
	fadeInSlide(selectedSlide);
	if (jQuery(sClassName).length > 1) { resume(); }

	bgFadeIn(selectedBG);
	if (jQuery('.carouselBackground').length > 1) { bgResume(); }

	$('.flowControl').click( function() {
		gotoSlide(jQuery(this).attr('carouselindex'));
	});
});
