$(document).ready(function() {

	
	/* -------------------------------------------------------------------
	 * Subnav pour les pages internes
	 * ---------------------------------------------------------------- */
	(function(){
		var $subnav = $('#subnav'),
			$contentZone = $('#contentZone'), 
			$textWrapers = $('.textWraper');
		
		/*On calcul la longeur de subnav en additionnant les longueurs de chaque li pour pouvoir centrer subnav correctement*/
		var subnavWidth = 0;
		$subnav.find('li').each(function(){ 
			var thisLiWidth = $(this).width();
			subnavWidth += thisLiWidth; 
		});
		$subnav.css('width', subnavWidth+3).centerIt({
			parent: '.subnavWraper',
			vertical: false
		});
		
		// Gestion du click sur btns et affichage du bon texte en consequence + la bonne carte GMap
		$subnav.find('li:first > a').addClass('active');
		$subnav.find('li a').click(function(){
			var $this = $(this), 
				linkId = $this.attr('href').slice(1);
			$subnav.find('li a').removeClass('active');
			$this.addClass('active');
			
			// Apparition et disparition des textes
			$textWrapers.not('#'+linkId).fadeOut();
			$('#'+linkId).fadeIn();
			// Apparition et disparition des cartes
			$('.gMap').not('#gMap'+linkId).fadeOut();
			$('#gMap'+linkId).fadeIn();
			
			return false;
		});
		// Cache toutes les textes de la page sauf le premier
		$('.textWraper').not(':first').hide();
		
	})();
	
	
	
	/* -------------------------------------------------------------------
	 * Lightbox pour photos pages internes - Plugin jQuery Colorbox
	 * ---------------------------------------------------------------- */
	$('.cbox').colorbox({
		transition: 'elastic',
		speed: 400
		//opacity: .9,
	});
	/*$("a[rel='group1']").colorbox({
		transition: 'elastic'
	});*/
	
	
	/* -------------------------------------------------------------------
	 * Slideshow principal sur toutes les pages - Plugin jQuery Cycle
	 * ---------------------------------------------------------------- */
	$('#slideshow').cycle({
		fx: 'fade',
		timeout: 4000,
		speed: 1000
	});
	
	
	
	
	
	/* -------------------------------------------------------------------
	 * Carousel sur la home (version pour iOS = dans header du site)
	 * ---------------------------------------------------------------- */
	(function(){
		
		var $carousel = $('#carousel'),
			$carouselWraper = $carousel.find('ul'),
			$items = $carousel.find('li'),
			$arrowRight = $('#arrowRight'),
			$arrowLeft = $('#arrowLeft'),
			itemsNbr = $items.length,
			itemWidth = $items.outerWidth(10), // la longeur d'une li + sa marge de 10px
			isAutoSlide = true, 
			autoSlideTimer = 5000, 
			autoSlideEasing = 'easeInOutExpo',
			autoSlideSpeed = 500,
			currentPosition = 1;
		
		
		/*Gestion du slide du carousel selon la direction*/
		function slideTo(direction){
			if (direction==='right') {
				currentPosition--;
				//console.log(currentPosition);
				$carouselWraper.animate({ 'marginLeft': '+='+itemWidth }, autoSlideSpeed, autoSlideEasing);
				checkPosition(currentPosition);
			}
			if (direction==='left') {
				currentPosition++;
				//console.log(currentPosition);
				$carouselWraper.animate({ 'marginLeft': '-='+itemWidth }, autoSlideSpeed, autoSlideEasing);
				checkPosition(currentPosition);
			}
		};
		
		/*Test de la position actuelle du carousel*/
		function checkPosition(position) {
			if (position === 1) $arrowLeft.addClass('disabled').css('opacity',.3);
			else $arrowLeft.removeClass('disabled').css('opacity',1);

			if (position === itemsNbr-2) $arrowRight.addClass('disabled').css('opacity',.3);
			else $arrowRight.removeClass('disabled').css('opacity',1);
		};
		
	
		checkPosition(currentPosition);
		//console.log(currentPosition);
		$carousel
			.mouseover(function(){ isAutoSlide = false; })
			.mouseout(function(){ isAutoSlide = true; });
	
		/*Test du user agent pour vérifier qu'on est pas sur un iOS*/
		var deviceAgent = navigator.userAgent.toLowerCase();
		$iOS = deviceAgent.match(/(iphone|ipod|ipad)/);
		if (!$iOS) {

			/*Quand click sur fleche droite*/
			$arrowRight.live({
				click: function(){
					if ($(this).hasClass('disabled')) return false;
					else slideTo('left');
					return false;
				},
				mouseover: function(){ isAutoSlide = false; },
				mouseout: function(){ isAutoSlide = true; }
			});
		
			/*Quand click sur fleche gauche*/
			$arrowLeft.live({
				click: function(){
					if ($(this).hasClass('disabled')) return false;
					else slideTo('right');
					return false;
				},
				mouseover: function(){ isAutoSlide = false; },
				mouseout: function(){ isAutoSlide = true; }
			});
			
			/*Si autoSlide est true on autoSlide le carousel*/
			if (isAutoSlide) {
				setInterval(function(){
					if (isAutoSlide && (currentPosition != itemsNbr-2)) {
						slideTo('left');
						checkPosition(currentPosition);
						// On ramène la carousel au début quand il a atteint le dernière li
						if (isAutoSlide && (currentPosition === itemsNbr-2)) {
							setTimeout(function(){
								if (isAutoSlide && (currentPosition === itemsNbr-2)) {
									$carouselWraper.animate({ marginLeft: '+='+itemWidth*(currentPosition-1) }, autoSlideSpeed, autoSlideEasing);
									currentPosition = 1;
									checkPosition(currentPosition);
									//console.log(currentPosition);
								}
							}, autoSlideTimer);
						}
					}
				}, autoSlideTimer);
			}
		
			$arrowLeft.show();
			$arrowRight.show();
			$carousel.css({ 'overflow-x':'hidden' });
			$carouselWraper.css({ width:itemWidth*itemsNbr });
		}
		
	})();
	
	
	
});
