//**********************************************************************
//Fonction Jquery
//**********************************************************************
(function($){
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Fonction de diaporama
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$.fn.diaporama = function(options) {

		var defaults = {
			delay: 4,
			animationSpeed: "slow",
			racine: ""
		};
				
		var options = $.extend(defaults, options);
		
		//**********************************************************************
		// Attribution des variables au diaporama
		//**********************************************************************
		this.each(function(){
		
			var obj = $(this);
			
			if($(obj).find("div").length > 1)
			{
				var inter = setInterval(function(){nextElt(options)}, (options.delay*1000));
				var sens  = "right";
				var pause = false;
				
				$(obj).find("div").hide();
				$(obj).find("div:first-child").addClass("active").fadeIn(options.animationSpeed);
				
				$(obj).siblings().find("li a").click(function(){
					var n = $(this).parent().attr('id').split('_').slice(-1).toString();
					clearInterval(inter);
					nElt(options, n);
					if(!pause) inter = setInterval(function(){nextElt(options)}, (options.delay*1000));
					sens = "right";
				});
				
				$(obj).siblings().find("li a").mouseenter(function(){
					
					var num_image  = $(obj).find("div.active").attr('id').split('_').slice(-1).toString();
					var num_bouton = $(this).parent().attr('id').split('_').slice(-1).toString();
					
					if(num_image!=num_bouton) $(this).find("img").attr({ src : $(this).find("img").attr("src").split("_1.").join("_2.")});
				})
				
				$(obj).siblings().find("li a").mouseleave(function(){
					
					var num_image  = $(obj).find("div.active").attr('id').split('_').slice(-1).toString();
					var num_bouton = $(this).parent().attr('id').split('_').slice(-1).toString();
					
					if(num_image!=num_bouton) $(this).find("img").attr({ src : $(this).find("img").attr("src").split("_2.").join("_1.")});
				})
				
				//**********************************************************************
				// Affiche l'élément suivant
				//**********************************************************************
				function nextElt(options)
				{
					//----------------------------------------------------------------------
					// Changement de l'état du bouton correspondant à l'image en cours
					//----------------------------------------------------------------------
					new_image("rollout");
					
					//----------------------------------------------------------------------
					// Fondu enchainé entre les images
					//----------------------------------------------------------------------
					$(obj).find("div.active").fadeOut(options.animationSpeed);
					
					if(!$(obj).find("div.active").is(":last-child"))
					{
						$(obj).find("div.active").next().addClass("active").prev().removeClass("active");
						$(obj).find("div.active").fadeIn(options.animationSpeed);
					}
					else
					{
						$(obj).find("div:first-child").addClass("active").fadeIn(options.animationSpeed);
						$(obj).find("div:last-child").removeClass("active");
					}
					
					//----------------------------------------------------------------------
					// Changement de l'état du bouton correspondant à l'image en cours
					//----------------------------------------------------------------------
					new_image("rollover");
				}
				
				//**********************************************************************
				// Affiche l'élément n
				//**********************************************************************
				function nElt(options, n)
				{
					//----------------------------------------------------------------------
					// Changement de l'état du bouton correspondant à l'image en cours
					//----------------------------------------------------------------------
					new_image("rollout");
					
					//----------------------------------------------------------------------
					// Fondu enchainé entre les images
					//----------------------------------------------------------------------
					$(obj).find("div.active").fadeOut(options.animationSpeed);
					$(obj).find("div.active").removeClass("active");
					$(obj).find("div#imageslide_"+n).addClass("active");
					$(obj).find("div#imageslide_"+n).fadeIn(options.animationSpeed);
					
					//----------------------------------------------------------------------
					// Changement de l'état du bouton correspondant à l'image en cours
					//----------------------------------------------------------------------
					new_image("rollover");
				}
				
				function id_active()
				{
					return $(obj).find("div.active").attr('id').split('_').slice(-1).toString();
				}
				
				function new_image(type)
				{
					var obj_img = $(obj).siblings().find("#slider_control_"+id_active()+" a img");
					    
				    if(type=="rollover")     obj_img.attr({ src : obj_img.attr("src").split("_1.").join("_2.")});
					else if(type=="rollout") obj_img.attr({ src : obj_img.attr("src").split("_2.").join("_1.")});
				}
			}
		});
		
		return this;
	};
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Fonction de rollover avec preload
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$.fn.bouton_rollover = function(){
		//----------------------------------------------------------------------
		// Preload
		//----------------------------------------------------------------------
		var tab_tmp = new Array();
		var tab_img = new Array();
		var cpt     = 0;
		
		$(this).find("img").each(function(){
			tab_tmp[$(this).attr("src").split("_1.").join("_2.")] = "";
        });
		
		for(var i in tab_tmp)
		{
			tab_img[cpt]     = new Image();
		    tab_img[cpt].src = i;
			cpt++;
		}
		
		//----------------------------------------------------------------------
		// Rollover
		//----------------------------------------------------------------------
		$(this).find("img").hover(function(){
			$(this).attr("src", $(this).attr("src").split("_1.").join("_2."));
		}, function() {
			$(this).attr("src", $(this).attr("src").split("_2.").join("_1."));
		});
        
		return $(this);
    };
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Fonction de validation du formulaire
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$.fn.validate_form = function(){
		
		$(this).bind("submit", function(){
			
			var b_error     = false;
			var data_string = "";
			var obj         = $(this);
			
			$(".input-form", this).each(function() 
			{
				if($(this).hasClass("obligatoire"))
				{
					var id = $(this).attr("id")+"-error";
					$("#"+id).remove();
					
					if($(this).val()=="")
					{
						var position   = $(this).offset();
						var inputWidth = $(this).width()+5;
						
						var div_error  = "<div id=\""+id+"\" class=\"form-error\">Champ obligatoire</div>";
						
						
						$("body").append(div_error);
						$("#"+id).css("top", position.top).css("left", position.left+inputWidth).fadeIn(500);
						
						b_error = true;
					}
				}

				if(data_string!="") data_string +="&";
				data_string += $(this).attr("name")+"="+$(this).val();
			
			});
			
			if(!b_error)
			{
				$.ajax({  
					async: false,
					type: "POST",  
					url: "../include/contact-post.php",  
					data: data_string,  
					success: function() 
					{  
						obj.hide();
						obj.before("<div id=\"form-ok\">Votre demande de contact a &eacute;t&eacute; correctement envoy&eacute;e. Nous vous r&eacute;pondrons dans les plus brefs d&eacute;lais.</div>");
						$('#form-ok').hide().fadeIn(500);
						
					}
				});
			}
			
			return false;
		})
    };
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Fonction de rollover des images de la rubrique référence
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$.fn.reference_rollover = function(){
		//----------------------------------------------------------------------
		// Rollover
		//----------------------------------------------------------------------
		$(this).find("li").hover(function(){
			$(this).find("div").stop(true, true).delay(100).fadeIn(500).css({ opacity: 0.95 });
		}, function() {
			$(this).find("div").stop(true, true).fadeOut(250);
		});
        
		return $(this);
    };
	
})(jQuery);

//**********************************************************************
//Jquery : Fonction de démarrage des procédures au chargement de la page
//**********************************************************************
$(document).ready(function(){
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Rollover sous menu
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$("#menu li ul").hide();
	
	$("#menu li").hover( function() {
		$(".lien_menu", this).addClass("menu_affiche");
		$("ul", this).stop(true, true).delay(100).slideDown("normal", function () { $(this).prev().addClass("menu_affiche")} );
	}, function(){
		$("ul", this).stop(true, true).slideUp("fast", function () { 
			if($(this).is(":hidden")) $(this).prev().removeClass("menu_affiche");
		} );
    });
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Actualité
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$("#actualite").easySlider();
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Slider
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$("#slider").diaporama({
		animationSpeed: "slow",
		delay:5
	});
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Rollover des boutons
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	$(".bouton_rollover").bouton_rollover();
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//Fix iOS
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	if(navigator.platform == "iPad" || navigator.platform == "iPhone" || navigator.platform == "iPod")
	{
		$("#version").css("position", "absolute");
	};
	
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
	//validation formulaire
	//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    $("#form-contact").validate_form();
	$("#bout_submit a").click(function() {$('#form-contact').submit();});
	
	$(".reference li div").hide();
	$(".reference").reference_rollover();
	$(".temoignage").reference_rollover();
});
