var obj = null;
var obj3 = null;

function checkHover() {//fonction de disparition
if (obj) {
obj.children('ul').fadeOut('fast');
} //if
} //checkHover

function checkHover2() {//fonction de disparition
if (obj) {
obj.children('div.logo').slideDown(400);
} //if
} //checkHover


$(document).ready(function(){


	$('body').removeClass("JS_off").addClass("JS_on");

	$('.bloc-hover').hover(function() {
	if (obj) {//si l'objet est présent, il est déroulé, donc on le fait disparaitre
	obj.children('div.logo').slideDown(400);
	obj = null;
	} //sinon, on le fait apparaitre lorsque l'on passe la souris dessus
	$(this).children('div.logo').slideUp(400);
	}, function() { //on fait disparaitre si on est plus sur l'élément au bout de 0 seconde
	obj = $(this);
	setTimeout(
	"checkHover2()",
	100); // si vous souhaitez retarder la disparition, c'est ici
	});
	
	$('#date_jour').hover(function() {
			$(this).children('#hover').animate({opacity:0},100).css("display","none");
			$(this).children('#champ').css("display","block").animate({opacity:1},500);
	});


	
	$('#menu > li').hover(function() {
	if (obj) {//si l'objet est présent, il est déroulé, donc on le fait disparaitre
	obj.children('ul').fadeOut(100);
	obj = null;
	} //sinon, on le fait apparaitre lorsque l'on passe la souris dessus
	$(this).children('ul').slideDown(300);
	}, function() { //on fait disparaitre si on est plus sur l'élément
	obj = $(this);
	setTimeout(
	"checkHover()",
	100); // si vous souhaitez retarder la disparition, c'est ici
	});



	$('#menu > li').mouseover(function() {
		$(this).children('ul').slideDown(500),function() {
		$(this).children('ul').slideUp(500);
	}});






// pour créer la div d'alerte de l'espace archives et la fermer
	$("#alerte").slideDown(100);
	$("#fd-alerte").slideDown(100);
	$("#fd-alerte2").slideDown(100);
	$("#alerte").click(function(){
		$("#fd-alerte").fadeOut(500);
		$("#fd-alerte2").fadeOut(500);
	});


	
// pour que le menu des archives soit déplaçable et opacité 1 qd souris dessus
	$('#menu-archives').draggable();
	$('#menu-archives').hover(function() {
	if (obj3) {//si l'objet est présent, il est déroulé, donc on le fait disparaitre
	obj3.fadeTo(500,0.6);
	obj3 = null;
	} //sinon, on le fait apparaitre lorsque l'on passe la souris dessus
	$(this).fadeTo(500,1);
	}, function() { //on fait disparaitre si on est plus sur l'élément au bout de 0 seconde
	$(this).fadeTo(500,0.6); // si vous souhaitez retarder la disparition, c'est ici
	});


	// on lance les fonctions accordeon
	accordeon_onglets();
	accordeon_archives();
	accordeon_agenda_dates();
	initialise_gallerie();
	
	$(".nyroModal").live('click', function(event){
		initialise_gallerie();
		$(this).nyroModalManual();
		return false;
	});
	

// pour recalculer le dom des en vue d'un nouvel appel d'onglet
   $(".onglet > a").live('mouseover', function(event){
		event.preventDefault();
		$(".ajaxbloc").ajaxbloc();
		accordeon_onglets();
		return false;
	});

// fonction présente dans les squelettes	
// pour créer une alerte quand on fait un clique qui engendre un changement de saison
//	$(window).unload( function() { alert("Hello"); } );
	
// Pour gérer l'ajax des archives depuis le menu-archives	
	$("#contenu").live('mouseover', function(){
		$(".ajaxbloc").ajaxbloc();
	});
	
	$("#menu-archives a").live('click', function(){
		var params = extractUrlParams(this.href);
		var parametres = params + "&page=archives";
		$.ajax({
			data: parametres,
			url: "spip.php?",
			cache:false,
			success:function(html){
				afficher(html);
			},
			error:function(XMLHttpRequest,textStatus, errorThrown){alert("Erreur Ajax");
			}
		});
		

		return false;
	});
	
// Pour gérer l'ajax des archives depuis le contenu	
	$(".archive a").live('click', function(){
		if($(this).hasClass("upload"))return true;
		if($(this).hasClass("spip_out"))return true;
		var params = extractUrlParams(this.href);
		var parametres = params + "&page=archives";
		$.ajax({
			data: parametres,
			url: "spip.php?",
			cache:false,
			success:function(html){
				afficher(html);
			},
			error:function(XMLHttpRequest,textStatus, errorThrown){alert("Erreur Ajax");
			}
		});
		return false;
	});
	// la fonction appelée plus haut, pour gérer la manière d'afficher la nouvelle partie appelée
	
	
});



function afficher(data) {
	$("#contenu").slideUp(400, function() {  
		$("#contenu").empty();
		$("#contenu").append(data);
		$("#contenu").slideDown(500);
	}); 	
}


// Pour faire un accordéon sur le menu-archives
function accordeon_archives(){
    // On cache les sous-menus : 
	$("#menu-archives ul.subMenu").slideUp(1000);
	// On cache les sous-sous menus en enlevant la classe "cache"
	$(".subMenu2").css("display","none").removeClass("cache");
	// on fait une jolie animation
	$("#menu-archives")
		.animate({opacity:1},1000)
		.animate({opacity:0.3},300)
		.animate({marginTop:"-145px"},800)
		.animate({opacity:0},500,function(){
			$("#menu-archives")
				.css("position","absolute")
				.insertBefore("#global")
				.css("margin-top","30px")
				.css("margin-left","10px")
				$(".subMenu:last").slideDown("normal"); 
			;
			
		})
		.animate({opacity:0.4},500);
	// On modifie l'évènement "click" sur les liens dans les items de liste qui portent la classe "toggleSubMenu" : 
	$("#menu-archives li.toggleSubMenu > a").click( function () { 
		// Si le sous-menu était déjà ouvert, on le referme : 
		if ($(this).next("ul.subMenu:visible").length != 0) { 
			$(this).next("ul.subMenu").slideUp("normal"); 
		} 
		// Si le sous-menu est caché, on ferme les autres et on l'affiche : 
		else { 
            $(".subMenu").slideUp("normal"); 
            $(".subMenu2").slideUp("normal"); 
            $(this).next("ul.subMenu").slideDown("normal");
		} 
	});
	$("#menu-archives li.toggleSubMenu2 > a").click( function () { 
		// Si le sous-menu était déjà ouvert, on le referme : 
		if ($(this).next("ul.subMenu2:visible").length != 0) { 
			$(this).next("ul.subMenu2").slideUp("normal"); 
		} 
		// Si le sous-menu est caché, on ferme les autres et on l'affiche : 
		else { 
            $(" ul.subMenu2").slideUp("normal"); 
            $(this).next("ul.subMenu2").slideDown("normal");
		} 
	});
};




function initialise_gallerie(){
	$("a.nyroModal").each(function(i){
		$(this).attr("href", function(){
			var url = "spip.php?page=modale&" + extractUrlParams(this.href);
			$(this).attr("href", url );
		});
	}); 
}


function accordeon_agenda_dates(){
	$(".agendaDates div.deroule > .titre-9").live('click',function () { 
        if ($(this).siblings("ul.dateAgendaCache:visible").length != 0) { 
            $(this).siblings("ul.dateAgendaCache").slideUp("normal"); 
			$(".date-rub").fadeTo(500,0).empty();  
        } else {
			var test = $(this).children("a").attr("href");
			var params = extractUrlParams(test);
			var parametres = params + "&page=agenda-rub";
			$.ajax({
				data: parametres,
				url: "spip.php?",
				cache:false,
				success:function(html){
					afficher_date(html);
				},
				error:function(XMLHttpRequest,textStatus, errorThrown){alert("Erreur Ajax");}
				});

            $("ul.dateAgendaCache").slideUp("normal"); 
            $(this).siblings("ul.dateAgendaCache").slideDown("normal"); 
        } 				
		return false;
	});
}

function afficher_date(data) {
	$(".date-rub").fadeTo(500,0.05, function() {  
		$(".date-rub").empty().append(data);
	}).fadeTo(1000,1); 	
}



function accordeon_onglets(){
// Pour faire un accordéon sur les dates des onglets
    // On cache les sous-menus : 
    $("#datesOnglets > div.periodes").children('.dates').hide(); 
    // On sélectionne tous les items de liste portant la classe "toggleSubMenu" 
    // et on remplace l'élément span qu'ils contiennent par un lien : 
    $("div.periode").each( function () { 
        var Texte = $(this).text(); 
        var Class = $(this).attr('class'); 
        $(this).replaceWith('<a href="" class="' + Class + '" title="Voir les dates de ' + Texte + '">' + Texte + '<\/a>') ; 
    } ) ; 
 
    // On modifie l'évènement "click" sur les liens dans les items de liste 
    // qui portent la classe "toggleSubMenu" : 
    $("#datesOnglets a.periode").click( function () { 
        // Si le sous-menu était déjà ouvert, on le referme : 
        if ($(this).next("div.dates:visible").length != 0) { 
            $(this).next("div.dates").slideUp("normal"); 
        } 
        // Si le sous-menu est caché, on ferme les autres et on l'affiche : 
        else { 
            $("#datesOnglets div.dates").slideUp("normal"); 
            $(this).next("div.dates").slideDown("normal"); 
        } 				

        // On empêche le navigateur de suivre le lien : 
		return false;
	});
}


// Petite fonction javascipt pour séparer les paramètres de l'adresse href
function extractUrlParams(url){
	var fin = url.length;
	var debut = url.match(/(^(.+)\.php3\?)||(^(.+)\.php\?)/);
	var debut = debut[0].length;
	var params = url.slice(debut,fin);
	var params= url.replace(/^(.*)(\.php3\?|\.php\?)/,"");
	var params = params.replace(/#ancre$/, ''); 
//	var params = params.replace(/page=(.+)&/,"test");
	return params;
}



