$(document).ready(function(){

	// Browsers detection >> js/plugins/browsers.js  --------------------------
	/*  http://www.quirksmode.org/js/detect.html                              */
	
	var browserName = BrowserDetect.browser;
	var browserVersion = BrowserDetect.version;
	var osName = BrowserDetect.OS;
	// console.log(browserName + '/' + browserVersion + '/' + osName);
	
	// Size Detection ----------------------------------------------------------------
	var winWidth = $(window).width();
	var winHeight = $(window).height();
	var docWidth = $(document).width();
	var docHeight = $(document).height();
	
	var headerWidth = $('#header').width();
	var headerHeight = $('#header').height();
	var mainWidth = $('#main').width();
	var mainHeight = $('#main').height();
	
	var speed = 200; // animations speed
	
	// Landing : fleches animation -----------------------------------------------------
	if($('#landing').length){
		
		$('#enter a').mouseover(function() {
			var widthThis = $(this).innerWidth();
			$(this).parent().children('span').stop(true, true).animate(
				{width:widthThis},
				{
					duration: speed,
					step: function( now, fx ) {
						$(this).css('display', 'block');
						$(this).width(now);
					},
					complete: function(){
						$(this).prev().css('background', 'none');
					}
				}
			);
		});
		
		$('#enter a').mouseout(function() {
			$(this).parent().children('span').stop(true, true).css('display', 'none');
			$(this).parent().children('span').width(0);
			$(this).css('background', 'url(images/landing_fleche.png) right top no-repeat');
		});
		
		
		// Animation -----------------------------------------------------
		var company;
		var baseline;
		var cities;
		var intervalId;
		var counter = 0;
		
		function showCompany() {
			$('#company').html(company.substr(0, $('#company').html().length+1));
			if($('#company').html().length < company.length) {
				setTimeout(showCompany, 50);
			}
		}
		
		function showBaseline() {
			$('#baseline').html(baseline.substr(0, $('#baseline').html().length+1));
			if($('#baseline').html().length < baseline.length) {
				setTimeout(showBaseline, 50);
			}
		}
		
		function showCities() {
			$('#cities').html(cities.substr(0, $('#cities').html().length+1));
			if($('#cities').html().length < cities.length) {
				setTimeout(showCities, 50);
			}
		}
		
		function launchAnim() {
			
			counter++;
			//console.log(counter);
			switch(counter) {
				case 1 : { 
					showCompany();
					break; 
				}
				case 2 : {  
					showBaseline();
					break; 
				}
				case 3 : {  
					showCities();
					break; 
				}
				
			
			}
			
			if(counter >= 3) {
				clearInterval(intervalId);
			}
			
		}
		
		if($('#company').length){
			company = $('#company').html();
			baseline = $('#baseline').html();
			cities = $('#cities').html();
			
			$('#company').html("");
			$('#baseline').html("");
			$('#cities').html("");
			
			intervalId = setInterval(launchAnim, 100);
			
		}
		
	}
	
	// Navigation -----------------------------------------------------
	if($('#navigation')){
		$('#navigation li:first').css('border', 'none');
	}
	
	// News -----------------------------------------------------
	if($('.news')){
		$('.news_bloc:last').css('margin', 0);
	}
	
	// Two Cols -----------------------------------------------------
	if($('.basic')){
		$('.basic .two_cols').each(function(index){
			index++;
			var num = index / 2;
			var num2 = Math.round(index / 2);
			// console.log('index : ' + index + ' / num : ' + num  + ' / num2 : ' + num2 );
			if (num == num2){
				$(this).css('margin', 0);
			}
		});
		$('h2:first').css('padding-top', 0);
	}
	
	// News center Cols -----------------------------------------------------
	if($('.center_cols')){
		$('.center_cols').each(function(index){
			var itemWidth = $(this).width();
			var imgWidth = $(this).children('img').width();
			if (imgWidth == null) {imgWidth = '500';}
			$(this).css('padding', '0 ' + ((itemWidth - imgWidth) / 2) +'px');
			$(this).children('p').width(imgWidth +'px');
		});
	}
	
	// Titles -----------------------------------------------------
	if($('.basic').length){
		if($('.basic h2').next().is('h3')) {
			$('.basic h2').css('margin', 0);
		}
	}
	
	// Scrolling -----------------------------------------------------
	/* >> http://jscrollpane.kelvinluck.com/                        */
	/*if($('.scroll-horizontal')){
		$('.scroll-horizontal').jScrollPane();
		$('.jspTrack').width($('.jspTrack').width() - 2);
	}*/
	
	// Colorbox -----------------------------------------------------
	$('#colorboxblock a').colorbox({
		rel:"zoom",
		transition:"elastic",
		arrowKey:true,
		current:"{current} / {total}",
		previous:"",
		next:"",
		
		escKey:true
	});
	
	$('#colorboxblock2 a').colorbox({
		rel:"zoom",
		transition:"elastic",
		arrowKey:true,
		current:"{current} / {total}",
		previous:"",
		next:"",
		
		escKey:true
	});
	
	// confirmBox -----------------------------------------------------
	if($('#sent').val() == 'true'){
		$('#contactForm').css('display', 'none');
		$('#confirmBox').css('display', 'block');
	}
	
	// CONTACT FORM -----------
	if($('#contactForm')){
		
		
		// Controle des champs formulaire --------------------------
		$("#send").click(function(){
			$error = false;
										
			if($("#lastname").val() == "") { 
			   $("#lastname").focus();  
			   $("#lastname").css('border', '1px solid #F00');  
			   $error = true;
			}else{
				$("#lastname").css('border', '1px solid #CCC');
			}
			
			if($("#firstname").val() == "") { 
			   $("#firstname").focus();  
			   $("#firstname").css('border', '1px solid #F00');  
			   $error = true;  
			}else{
				$("#firstname").css('border', '1px solid #CCC');
			}
			
			if($("#company").val() == "") { 
			   $("#company").focus();  
			   $("#company").css('border', '1px solid #F00');  
			   $error = true;
			}else{
				$("#company").css('border', '1px solid #CCC');
			}
			
			if($("#email").val() == "" || checkmail($("#email").val()) == false) { 
			   $("#email").focus();  
			   $("#email").css('border', '1px solid #F00');  
			   $error = true;
			}else{
				$("#email").css('border', '1px solid #CCC');
			}
			
			if($("#message").val() == "") { 
			   $("#message").focus();  
			   $("#message").css('border', '1px solid #F00');  
			   $error = true;
			}else{
				$("#telephone").css('border', '1px solid #CCC');
			}
			
			if($error == false) {
				// validate form
				$('#contactForm').submit()
			}
		});

		
	
	}

	function checkmail(mailteste) {
		var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
		if(reg.test(mailteste))
			{
				return(true);
			}
		else
			{
				return(false);
			}
	}

	/*
	$('#send').click(function() {
		$('#sent').val('true');
		
		$('#contactForm').css('display', 'none');
		$('#confirmBox').css('display', 'block');
	});
	*/
	//---------------------------------
	
	$('#confirmBox a').click(function() {
		$('#sent').val('false');
		$('#contactForm').css('display', 'block');
		$('#confirmBox').css('display', 'none');
	});
	
	
	
	// Slides rub -----------------------------------------------------
	if($('.rub')){
		
		// title span positionning ----
		$('.rub span').each(function(index) {
			var spanWidth = $(this).width();
			var spanHeight = $(this).height();
			var rubWidth = $(this).parent('.rub').width();
			var rubHeight = $(this).parent('.rub').height();
			$(this).css('left', ((rubWidth / 2) - (spanWidth / 2)));
			$(this).css('top', ((rubHeight / 2) - (spanHeight / 2)));
			// console.log(spanWidth + '/' + spanHeight + '/' + rubWidth + '/' + rubHeight);
		});
		
		// trame over effect ----
		$('.rub').mouseover(function(){
			$(this).children('div').css('display', 'none');
			var numparent = $(this).parent().index();
			var num = $(this).index();
			/*if(numparent == 0) {$('#subnavigation li').eq(num).addClass('selected');}
			else {$('#subnavigation li').eq(num + 4).addClass('selected');}*/
			
			$('#subnavigation li').eq((numparent * 2) + num).addClass('selected');
			
		}).mouseout(function(){
			$(this).children('div').css('display', 'block');
			var numparent = $(this).parent().index();
			var num = $(this).index();
			/*if(numparent == 0) {$('#subnavigation li').eq(num).removeClass();}
			else {$('#subnavigation li').eq(num + 4).removeClass();}*/
			
			$('#subnavigation li').eq((numparent * 2) + num).removeClass();
			
		});
	}
	
	// Sub navigation rub -----------------------------------------------------
	if($('.slides')){
		
		// trame over effect ----
		$('#subnavigation li').mouseover(function(){
			var num = $(this).index();
			$('.rub').eq(num).children('div').css('display', 'none');
			$('.rub').eq(num).children('span').addClass('selected');//addClass('selected');
		});
		$('#subnavigation li').mouseout(function(){
			var num = $(this).index();
			$('.rub').eq(num).children('div').css('display', 'block');
			$('.rub').eq(num).children('span').removeClass();
		});
	}
	
	// Collections master carousel -----------------------------------------------------
	$("#carousel").CloudCarousel(		
		{	
			minScale:0.001,
			reflHeight:0,
			reflGap:0,
			reflOpacity:0,
			xRadius:300, //350,
			yRadius:-45,
			xPos:340,
			yPos:100,//75,
			/*altBox: $("#alt-text"),
			titleBox: $("#title-text"),*/
			buttonLeft: $("#left-but"),
			buttonRight: $("#right-but"),
			mouseWheel:true,
			autoRotate:'left',
			autoRotateDelay:2500,
			bringToFront:true,
			speed:0.2
			
		}
	);
	
	
	
	if($("#carousel")) {
		setTimeout(showIt, 1000);
	}
	
	function showIt() {
		$("#carouselContainer").css('top', '0px');
		
	}
	
	
	$("#carousel").bind('mousewheel',this,function(event, delta) {					 
		/* var sliderPos = $('#slider').slider( "option", "value") + delta;
		 var minPos = 0; //-Math.round(($(".cloudcarousel").length-1) / 2);
		 var maxPos = $(".cloudcarousel").length-1; //-Math.round(($(".cloudcarousel").length-1) / 2) + $(".cloudcarousel").length-1;
		 
		 if(sliderPos < minPos) {
			 sliderPos = maxPos;
		 }else if(sliderPos > maxPos) {
			sliderPos = minPos;
		 }
		 */
		 $('#slider').slider( "option", "value", $("#carousel").data('cloudcarousel').frontIndex );
		 //event.data.rotate(delta);
		 return false;
	});
	
	// btn carousel over effect ----
	$('#left-but').mouseover(function(){
		$(this).addClass('hover');//addClass('selected');
	});
	$('#left-but').mouseout(function(){
		$(this).removeClass('hover');
	});
	$('#left-but').click(function(){
		$("#carousel").data('cloudcarousel').autoRotateType = 'left';
	});
	
	$('#right-but').mouseover(function(){
		$(this).addClass('hover');//addClass('selected');
	});
	$('#right-but').mouseout(function(){
		$(this).removeClass('hover');
	});
	$('#right-but').click(function(){
		$("#carousel").data('cloudcarousel').autoRotateType = 'right';
	});
	
	
	// Slider -----------------------------------------------------
	$('#slider').slider({
		orientation: 'horizontal',
		value: 0, // redéfinti sur le create...
		min: 0, //-Math.round(($(".cloudcarousel").length-1) / 2),
		max: ($(".cloudcarousel").length-1), //-Math.round(($(".cloudcarousel").length-1) / 2) + $(".cloudcarousel").length-1,
		create: function(){
				//recalcul du width de la boites de slides selon le nombre d'images
				$('#slider').slider( "option", "value", 0);//0);//$(".cloudcarousel").length-1);
				
				//recalcul du width du drag (et de la zone sensible) selon le nombre d'images
				$('#slider').width($('#slider_bg').width() / ($(".cloudcarousel").length + 1) * $(".cloudcarousel").length);
				$('#slider .ui-slider-handle').width($('#slider').width() / $(".cloudcarousel").length);
				
				// redéfinition du marginleft de la bar et du drag 
				$('#slider .ui-slider-handle').css('margin-left', -($('#slider .ui-slider-handle').width()/2));
				$('#slider').css('margin-left', $('#slider .ui-slider-handle').width() / 2);
			},
		slide: function(event, ui) {
			/*console.log("ui.value : " + ui.value);
			console.log("frontIndex : " + $("#carousel").data('cloudcarousel').frontIndex);
			console.log("length : " + ($(".cloudcarousel").length-1));*/
			$("#carousel").data('cloudcarousel').rotate($("#carousel").data('cloudcarousel').frontIndex - ui.value );		}
	});
	
	
	$('#slider2').slider({
		orientation: 'horizontal',
		value: 0,
		min: 0,
		max: ($(".slides").width() * ($(".slides").length-1)) / 2,
		create: function(event, ui){
				//recalcul du width de la boites de slides selon le nombre de slides
				$(".scrolling").width($(".slides").width() * $(".slides").length);
				
				//recalcul du width du drag (et de la zone sensible) selon le nombre de slides
				$('#slider2').width($('#slider2_bg').width() / ($(".slides").length) * (($(".slides").length-1) / 2) );
				$('#slider2 .ui-slider-handle').width($('#slider2_bg').width() / ($(".slides").length / 2));
				
				// redéfinition du marginleft de la bar et du drag 
				$('#slider2 .ui-slider-handle').css('margin-left', -($('#slider2 .ui-slider-handle').width()/2));
				$('#slider2').css('margin-left', $('#slider2 .ui-slider-handle').width() / 2);
				
				//Affichage du carousel
				// console.log("bli");
	
			},
		slide: function(event, ui) {
			// console.log(ui.value);
			$(".scrolling").css('left', -ui.value);
		}
	});
	
	
	// Affichage de la ligne de séparation entre sous-menu et sous-sous-menu (lorsqu'il y en a un)
	if($('#subnavigation ul').length > 0) {
		$('#subnavigation').children('li').css('border-bottom','1px solid #999');
	}
	
	
});
// Fin du fichier ******
