
var shownSlide = 0;
var totalSlide = 0;
var carousselMainContainer = '#frontpage_caroussel';
var initedPagination = false;
var intervalReferer = false;
var sliderTime = 700;

var hasNextArrow = true;
var hasPrevArrow = true;
var ie7 = (navigator.appVersion.indexOf("MSIE 7.")==-1) ? false : true;

function startFrontPageCaroussel() {
	switchCarousel(false);
	intervalReferer = setInterval("switchCarousel(false)", 8000);	
}

function pauseCarousselToSlide(toGo) {
	shownSlide = toGo;
	if( shownSlide <= 0 )
		shownSlide = totalSlide;
		
	if( shownSlide > totalSlide )
		shownSlide = 1;
	
	switchCarousel(shownSlide);
	clearInterval(intervalReferer);
}


function switchCarousel(toSlide) {		
	
	if( !initPagination() ) {
		return false; // No slides
	}
	
	if( toSlide == false ) {
		incrementSlideCounter();
	}	
	
	if( ie7 ) {
		activeSlide = getActiveSlide();	
		resetAnimationValuesIE7(activeSlide);
	}
	else {
		activeSlide = getActiveSlide();	
		resetAnimationValues(activeSlide);
	}
}

function resetAnimationValues() {
	$('div.caroussel-left-easing').addClass('activated');
	var $element = $(carousselMainContainer).find('div.cSlide.lastActive');	
	
	$element.find('img').animate({'margin-left': '-500px'}, sliderTime/2);
	$element.find('.txt_header').animate({'margin-right': '-700px'}, sliderTime/2, function() {
		$(carousselMainContainer + ' div.cSlide').css('display', 'none');
		animateActiveSlide(activeSlide);	
	});
}

function resetAnimationValuesIE7() {
	var $element = $(carousselMainContainer).find('div.cSlide.lastActive');		
	$element.find('img').css('margin-left', '-500px');
	$element.find('.txt_header').css('margin-right', '-700px')
	$(carousselMainContainer + ' div.cSlide').css('display', 'none');
	animateActiveSlideIE7(activeSlide);	
}

function leftEasing() {
	
}

function initPagination() {
	// On assigne le nombre  de slides
	if( totalSlide == 0 )
		totalSlide	= $(carousselMainContainer + ' div.cSlide').length;
	
	if( totalSlide == 0 )
		return false;			
	
	// Création des links
	if( !initedPagination ) {
		var pagin = '<div class="pagination">';
		
		for(i=0; i<totalSlide; i++) {
			pagin += '<a href="javascript:;" rel="'+(i+1)+'" ';
			pagin += (i==shownSlide) ? 'class="active"' : '';
			pagin += '></a>';
		}		
		pagin += '</div>';
		$(pagin).insertAfter(carousselMainContainer);
		
		// On va créer la flèche en même temps
		if( hasNextArrow ) {
			var arrow = '<a href="javascript:;" class="btn-caroussel-next" id="accueil"></a>';	
			$(arrow).insertAfter('.pagination');
		}		
		if( hasPrevArrow ) {
			var arrow = '<a href="javascript:;" class="btn-caroussel-prev" id="accueil"></a>';	
			$(arrow).insertAfter('.pagination');
		}			
		
		initedPagination = true;
	}
	
	return true;
}

function incrementSlideCounter() {		
	shownSlide++;
	if( shownSlide > totalSlide )
		shownSlide = 1;
}


function getActiveSlide() {		
	activeSlide = $(carousselMainContainer + ' div.cSlide:first-child');		
	iterator = 0
	
	$(carousselMainContainer + ' div.cSlide').removeClass('lastActive');
	$(carousselMainContainer + ' div.cSlide').each( function() {		
		if( ++iterator == shownSlide )
			activeSlide = $(this);
		
		if( $(this).hasClass('active') ) {
			$(this).addClass('lastActive');
		}
		$(this).removeClass('active');
							
	});	
	activeSlide.addClass('active');		
	return activeSlide;
}


function animateActiveSlide(activeSlide) {
	curClass = activeSlide.attr('class');
	curType = curClass;
	curType = curType.replace('cSlide ', '');
	curType = curType.replace(' active', '');		
	
	
	activeSlide.css('display', 'block');
	
	fromRight(activeSlide, '.txt_header');
	fromLeft2(activeSlide, 'img');
	
	// Background image
	$('#branding').removeClass('type2');
	$('#branding').removeClass('type3');
	
	// Sélection du background
	if( curType == 'developpement-web' || curType == 'applications' ) {
		$('#branding').addClass('type2'); // bleu
	}
	else if ( curType == 'strategie' || curType == 'notre-mission' || curType == 'affaires-electroniques' || curType == 'realisations-et-clients' ) {
		$('#branding').addClass('type3'); // jaune
	}
		
	refreshPaginaton();	
}

function animateActiveSlideIE7(activeSlide) {
	curClass = activeSlide.attr('class');
	curType = curClass;
	curType = curType.replace('cSlide ', '');
	curType = curType.replace(' active', '');		
	
	
	activeSlide.css('display', 'block');
	
	textContainer = activeSlide.find('.txt_header');		
	textContainer.css('margin-right', '0px');
	
	textContainer = activeSlide.find('img');	
	textContainer.css('margin-left', '0px');
	
	// Background image
	$('#branding').removeClass('type2');
	$('#branding').removeClass('type3');
	
	// Sélection du background
	if( curType == 'developpement-web' || curType == 'applications' ) {
		$('#branding').addClass('type2'); // bleu
	}
	else if ( curType == 'strategie' || curType == 'notre-mission' || curType == 'affaires-electroniques' || curType == 'realisations-et-clients' ) {
		$('#branding').addClass('type3'); // jaune
	}
		
	refreshPaginaton();	
}



function fromRight(activeSlide, element) {
	textContainer = activeSlide.find(element);		
	textContainer.animate({'margin-right': '0px'}, sliderTime);
}

function fromLeft2(activeSlide, element) {
	textContainer = activeSlide.find(element);	
	textContainer.animate({'margin-left': '0px'}, sliderTime, function() {
		var easing = $('div.caroussel-left-easing');
		easing.removeClass('activated');	
	});
}

function refreshPaginaton() {	
	$('.pagination a').removeClass('active');
	$('.pagination a[rel="'+shownSlide+'"]').addClass('active');	
}



