var intervalSlides = 5000;
var nombreSlides = parseInt($('.image-holder img').length);
switchEnCours=false;
/****************************************
*	Gestion des visuels (4 éléments)
****************************************/
//Gestion du clic
$('a.nav-visual').click(function(){
	if(!switchEnCours){
		switchEnCours = true;

		//MAJ de l'heure de dernier changement
		var dateCurrent = new Date();
		dateSlide = dateCurrent.getTime();

		var currentSlide = parseInt($('a.nav-visual.active').attr('rel'));
		var nextSlide = parseInt($(this).attr('rel'));

		if(isNaN(currentSlide)){
			currentSlide = 0;
		}

		if(currentSlide != nextSlide){
			$('a.nav-visual.active').removeClass('active');
			$(this).addClass('active');

			$('.content-holder .slide-'+nextSlide).show();
			$('.content-holder .slide-'+currentSlide).hide();

			$('.image-holder img.slide-'+nextSlide).fadeIn(500);
			$('.image-holder img.slide-'+currentSlide).fadeOut(500,function(){
				switchEnCours = false; //Terminé
			});
		}
	}
	return false;
});

//Gestion du défilement automatique
setTimeout(changeSlide,intervalSlides);
var dateAct = new Date();
var dateSlide = dateAct.getTime();

function changeSlide(){

	var dateCurrent = new Date();
	var diff = dateCurrent.getTime() - dateSlide;
	if(diff >= intervalSlides && !switchEnCours){ //Si la galerie n'a pas été modifiée depuis n sec, alors je la change
		switchEnCours = true;

		var currentSlide = parseInt($('a.nav-visual.active').attr('rel'));
		if(isNaN(currentSlide)){
			currentSlide = 0;
		}
		var nextSlide = currentSlide+1;
		if(nextSlide >= nombreSlides){
			nextSlide = 0;
		}

		$('a.nav-visual.active').removeClass('active');
		$('a.nav-visual[rel="'+nextSlide+'"]').addClass('active');

		$('.content-holder .slide-'+nextSlide).show();
		$('.content-holder .slide-'+currentSlide).hide();

		$('.image-holder img.slide-'+nextSlide).fadeIn(500);
		$('.image-holder img.slide-'+currentSlide).fadeOut(500,function(){
			switchEnCours = false; //Terminé
			setTimeout(changeSlide,intervalSlides);
		});
	}
	else{ //Sinon, je vais revérifier dans un certain temps (temps de rotation - différence entre les dates de dernier changement et courante)
		if(diff > 0){
			setTimeout(changeSlide,(intervalSlides-diff));
		}
		else{
			changeSlide();
		}
	}
}
