/* AGENDA */


/*  =POPIN
----------------------------------------------------------------------------- */

var loadPopin = function(externalLink,type,closeWording){
	
	// document height for the mask
	myHeight = document.body.offsetHeight+'px';
	
	// IE6 failures
	if (jQuery('html').hasClass('msie6')){
		jQuery("select").css("visibility","hidden");
		jQuery('body #masque, body #popinContainer').remove();
	}
	
	// container and mask
	jQuery("body").append('<div id="masque"></div><div id="popinContainer" class="'+type+'"><a href="#" id="closeButton" title="'+closeWording+'"></a><div id="popinContentTop"></div><div id="popinContent"></div><div id="popinContentBtm"></div></div>');
	
	// mask tuning
	jQuery('#masque').css('opacity', 0.6);
	jQuery("#masque").fadeIn();
	
	// external HTML load
	jQuery('#popinContainer #popinContent').load(externalLink + " #popinContentToLoad",function(){
		
		
		// Close buttons
		jQuery('#closeButton, #masque, .closePopin').click(function(){

			jQuery('#popinContainer, #masque').remove();
			
			if (jQuery('html').hasClass('msie6')){ jQuery("select").css("visibility","visible"); }
			
			return false;
			
		});
		
	});
	
}

var initPopin = function(){

	jQuery('.popin').click(function(){
		
		loadPopin(jQuery(this).attr('href'),jQuery(this).attr('rel').split('-')[0],jQuery(this).attr('rel').split('-')[1]);
		
		jQuery(this).blur();
		return false;
		
	});
}

var thumbGeneration = function(){
	$( '#phototheque .album').each(
	
		function(){
		
			var containerWidth = $( this ).find( ".image" ).width();
			var containerHeight = $( this ).find( ".image" ).height();
			var imgWidth = $( this ).find( "img" ).width();
			var imgHeight = $( this ).find( "img" ).height();
		
			var topPosition = (imgHeight - containerHeight)/2;
			var leftPosition = (imgWidth - containerWidth)/2;
			
			$( this ).find( "img" ).css( { "margin-top": topPosition*-1, "margin-left": leftPosition*-1 } );
		}	
	)

}


function rotate( blocId, nextId, prevId ) {
	
    $( '#'+blocId ).cycle({
		fx: 'scrollVert',
		timeout: 30000,
		next: '#'+nextId,
		prev: '#'+prevId,
		sync: 0
	});
}

function rotateHeaders( ) {
	
	$( '#header-images' ).cycle({
		fx: 'fade',
		timeout: 6000
	})
}

function navigation( elmtId ) {
	
	$( elmtId+" .subMenu" ).fadeOut(0);
	$( elmtId+" .menu" ).hover(
		function () {
			if ( $(this).find(".subMenu:animated").length == 0 ) {
      	$(this).find(".subMenu").fadeIn(300);
      }
    }, 
    function () {
      $(this).find(".subMenu").fadeOut(100);
    }
	);
}

$(document).ready(function() {
	rotateHeaders();
	navigation( '#menu' );
	initPopin();
	thumbGeneration();


	
	/*  =LIGHTBOX
	----------------------------------------------------------------------------- */
	$(".lightBox .fermer a").click(function(){
        $("#overlayLightbox").hide();
        $(this).parent().parent().hide();
        this.blur();
        return false;
    });
    
    $("#sliderPhoto a").click(function(){
    	$("#phototheque .slider a").removeClass("current");
    	$("#phototheque .slider a:nth-child("+$(this).attr('class')+")").addClass("current");
    	$("#photoContent").attr("src",this.href);
        $("#titrePhoto").text($(this).attr("title"));
        $("#descPhotoAjax p").html($("#descPhoto").html());
        $("#overlayLightbox").show();
        $("#photothequeLightbox").show();
        this.blur();
        return false;
    });
    
    $("#phototheque .slider a").click(function(){
    	$("#phototheque .slider a").removeClass("current");
    	$(this).addClass("current");
        $("#photoContent").attr("src",this.href);
        $("#titrePhoto").text($(this).attr("title"));
        var idphoto = $(this).attr("id").substr(6);
        // requete ajax pour recup la description longue de la video
        $.get("/layout/set/photo_desc?object_id="+idphoto, function(data){
            $("#descPhotoAjax").html(data);
        });
        this.blur();
        return false;
    });
    
    $("#sliderPhoto a").bind("mouseover", function(){
        // ou chargement des textes en ajax
        var divContent = $("#descPhoto");
        var divContentReplace = $(this).find('.descPhoto').html();
        divContent.html(divContentReplace);
    });
    
    
    // Gestions des carrousels :
    
    $(".blocSlider").each(function(){
    
        var current = $(this);
        var menuMargin = 0;
        
        if ( current.parent().parent().attr("class") == 'lightBox' )
        {
            var marge = 76;
            var largeurSlider = 590;
        }
        else
        {
            var marge = current.find(".slider a").outerWidth(true);
            var largeurSlider = current.find(".masqueSlider").width();
        }
        
        var longueurSlide = ( current.find(".slider a").length * marge ) - largeurSlider - marge;
 
        current.children(".sliderPrec").click(function(){
            if ( menuMargin > 0 )
            {
                current.find(".masqueSlider .slider").animate({"left": "+="+marge+"px"}, "slow", "swing");
                menuMargin = menuMargin - marge;
            }
            this.blur();
            return false;
        });

        current.children(".sliderSuiv").click(function(){
          if ( menuMargin <= longueurSlide )
          {
            current.find(".masqueSlider .slider").animate({"left": "-="+marge+"px"}, "slow", "swing");
            menuMargin = menuMargin + marge;
          }
          this.blur();
          return false;
        });
    });
    
    
    /* =SIDEMENU 
	----------------------------------------------------------------------------- */    

	/* Fonction qui va refermer les sous-menu ouvert sauf ceux parents du menu courant */
	refermerMenu = function (elemCourant) {
		var menuAFermer =$("#leftmenu ul:visible").not(elemCourant.parents("ul"));
		menuAFermer.slideUp("normal");
	}

	/* Fonction qui va enlever la classe 'actif' sur les elements 'actif' sauf ceux parents du menu courant */  
	enleverClasse = function (elemCourant) {
		var elemts = $("#leftmenu a.actif").not(elemCourant.parents("li").children("a"));
		var elemts2 = $("#leftmenu a.active").not(elemCourant.parents("li").children("a"));
		elemts.removeClass("actif");
		elemts2.removeClass("active");
	}

	//On cache les menu sauf celui de premier niveau
	$("#leftmenu ul").not("ul.level-1").hide();
	
	//On regarde si il y a un element actif au chargement
	var elemActifAuChargement = $("#leftmenu a.active");
	if (elemActifAuChargement.length)
	{
		var parentElemts = elemActifAuChargement.parents("ul");	
		//On ajoute la classe actif au menu parents
		parentElemts.prev("a").addClass('actif');
		//On les ouvre
		elemActifAuChargement.next("ul").show();
		parentElemts.show();	
	}

	//Au 'click' sur le a.control
	$("#leftmenu ul li a.control").click( function () {		
		
		//Si l'element clicke a un sous-menu
		if ($(this).next("ul").length) {
			
				//On stocke le sous-menu
				var sousMenu = $(this).next("ul"); 
				
			    //Si le sous-menu est ouvert, on le referme :
		        if (sousMenu.is(":visible")) {
			            sousMenu.slideUp("normal",function(){
			  				//On enleve la classe "actif" du sous menu qu'on vient de refermer
			  				sousMenu.prev("a").removeClass("active");
				  		});
		        }
		        //Si le sous-menu est cache
		        else {
			        	//Appel de fonctions en passant l'element clicke en parametre
			        	refermerMenu ($(this));
			        	enleverClasse ($(this));
			        			 
			            //Ajout de la classe "actif" sur le menu clicke
			          	$(this).addClass("active");
			          	//Ouverture du sous-menu
			            sousMenu.slideDown("normal");
		        }          
		}
		//Si l'element clicke n'a pas de sous-menu
		else { 
				//Si l'element clicke est actif, on enleve sa classe 'actif'
				if ($(this).hasClass("active")) {
						$(this).removeClass("active");
				}
				//Si l'element clicke n'est pas actif
				else {
						refermerMenu ($(this));
				        enleverClasse ($(this));
						$(this).addClass("active");				
				}
		}
		// On empêche le navigateur de suivre le lien
		return false;
    });
    

})
