/**
 *
 *
 * @author Fabrice Bonny
 */
$(document).ready(function(){
    /**
     *
     */
    function getFocus(objet){
        if (openBlock) {
            openBlock.animate({
                width: openBlockMinWidth + "px"
            }, {
                queue: false,
                duration: duration
            });
        }
        $(objet).animate({
            width: maxWidth + "px"
        }, {
            queue: false,
            duration: duration
        });
    }
    
    /**
     *
     */
    function lostFocus(objet){
        $(objet).animate({
            width: minWidth + "px"
        }, {
            queue: false,
            duration: duration
        });
        if (openBlock) {
            openBlock.animate({
                width: openBlockMaxWidth + "px"
            }, {
                queue: false,
                duration: duration
            });
        }
    }
    
    
    
    // MENU 2
    $("#menu2").removeClass('no_js');
    $("#menu2").addClass('dynamic');
    
    // Test du support CSS
    if ($("#menu2 li.default div.wrapper").width() != "auto" && !$("body").hasClass ("blog"))  {
        //
        var openBlock;
        var openBlockMinWidth = parseInt($('#menu2 li.menucat').css('width'));
        var openBlockMaxWidth = parseInt($('#menu2 ul .liste').css('width'));
        var minWidth = parseInt($('#menu2 li.menucat').css('width'));
        var maxWidth = parseInt($('#menu2 ul .liste').css('width'));
        var duration = 300;
        var active = false;
        
        //
        if ($('body').hasClass('actualites')) {
            openBlock = $('#menu2 #ssmenu1');
        }
        else 
            if ($('body').hasClass('reperes')) {
                openBlock = $('#menu2 #ssmenu2');
            }
            else 
                if ($('body').hasClass('ressources')) {
                    openBlock = $('#menu2 #ssmenu3');
                }
                else 
                    if ($("#a_la_une").size() > 0) {
                        openBlock = $("#a_la_une");
                        openBlockMinWidth = 0;
                        openBlockMaxWidth = parseInt($('#menu2 li.default').css('width'));
                    }
        
        //
        $("#menu2 li.menucat").width(minWidth);
        if (openBlock) 
            $(openBlock).width(openBlockMaxWidth);
        
        //
        $("#menu2 ul > li.animate").hover(function(){
            getFocus($(this));
        }, function(){
            lostFocus($(this));
        });
        
        //
        $("#menu2 ul > li.animate a").focus(function(){
            if (active != $(this).parents('li.animate').get(0)) {
                lostFocus($(active));
                active = $(this).parents('li.animate').get(0);
                getFocus($(active));
            }
        });
        
        //
        $('h1 *, #newsletter1 *').focus(function(){
            if (active != false && $(this).parents('#menu2').size() < 1) {
                lostFocus($(active));
                active = false;
            }
        });
    }
    
    //
    $('#submenu2').css('position', 'relative');
    $('#submenu2').css('height', '100px');
    $('#submenu2').css('overflow', 'visible');
    
    $('.submenu2_rollover').css('position', 'absolute');
    $('.submenu2_rollover').css('top', '100px');
    $('.submenu2_rollover').css('left', '123px');
    $('.submenu2_rollover').css('background-color', '#0097de');
    $('.submenu2_rollover').css('color', '#fff');
    $('.submenu2_rollover').css('z-index', '1000');
    $('.submenu2_rollover').css('padding', '1em');
    $('.submenu2_rollover').css('width', '460px');
    $('.submenu2_rollover').hide();
    
    $('.submenu2_rollover').each(function(){
        $(this).clone(true).insertBefore($(this)).css('top', '104px').css('left', '127px').css('background-color', '#999');
    });
    
    //
    $('a', '#submenu2').hover(function(){
        $('.submenu2_rollover', $(this).parent()).show();
    }, function(){
        $('.submenu2_rollover', $(this).parent()).hide();
    });
    
    // MENU3
    if ($('#qaccess select').size() > 0) {
        $('#qaccess .submit').hide();
        /*$('#qaccess select').change(function(){
         $(this).parents('form').submit();
         });*/
        var f = document.getElementById('qaccess');
        var e = f.elements;
        for (var j = 0; j < e.length; j++) {
            if (e[j].type == "select-one") {
                e[j].onclick = function(){
                    this.onchange = function(){
                        f.submit()
                    }
                };
								 e[j].onchange = function(){
                        f.submit()
                };
                e[j].onblur = function(){
                    this.onchange = function(){
                        return true
                    }
                };
                e[j].onkeydown = function(e){
                    if (e) {
                        theEvent = e
                    }
                    else {
                        theEvent = event
                    };
                    if (theEvent.keyCode == 13) {
                        if ((this.onchange + "").indexOf("submit") < 0) {
                            f.submit()
                        }
                    }
                }
            }
            else 
                if (e[j].type == "submit") {
                    e[j].className = 'hidden';
                }
        }
    }
    
    // MENU5
    if (window.print) {
        $('#menu05 > ul').prepend('<li><a href="javascript:window.print();" title="Imprimer"><img src="/images/menu5_imprimer.png" alt="Imprimer" /></a></li>')
    }
    
    $('#menu05 .bookmarks').prepend('<a href="#" title="Partager"><img src="/images/menu5_archive.png" alt="Partager" /></a>');
    
    //$('#menu05 .bookmarks ul').hide();
    
    $('#menu05 .bookmarks > a').toggle(function(){
        $('#menu05 .bookmarks ul').fadeOut('slow');
    }, function(){
        $('#menu05 .bookmarks ul').fadeIn('slow');
        $('#menu05 .bookmarks ul').blur();
    });
    
    // MENU6
    if ($('#menu6 ul:not(.no_js) li').size() > 1) {
        $('#menu6 ul:not(.no_js) ul').hide();
        
        $('#menu61:not(.no_js) li.arrow01 > a, #menu61:not(.no_js) li.arrow02 > a, #menu62:not(.no_js) > li > a').toggle(function(){
            $('ul', $(this).parent('li')).show('slow', function(){
                $(this).parent('li').removeClass('arrow01');
                $(this).parent('li').addClass('arrow02');
            });
        }, function(){
            $('ul', $(this).parent('li')).hide('slow', function(){
                $(this).parent('li').removeClass('arrow02');
                $(this).parent('li').addClass('arrow01');
            });
        });
        
        $('#menu6 ul:not(.no_js) li:has(li.on) > a').click();
    }
    
    //
    if ($('#menu6_recherche select').size() > 0) {
        $('#menu6_recherche select').parent('form').find('.submit').hide();
        var f = document.getElementById('menu6_recherche').getElementsByTagName('form');
        for (var i = 0; i < f.length; i++) {
            var e = f[i].elements;
            for (var j = 0; j < e.length; j++) {
                if (e[j].type == "select-one") {
                    e[j].formnu = i;
                    e[j].onclick = function(){
                        this.onchange = function(){
                            f[this.formnu].submit()
                        }
                    };
								 		e[j].onchange = function(){
                        f.submit()
                		};
                    e[j].onblur = function(){
                        this.onchange = function(){
                            return true
                        }
                    };
                    e[j].onkeydown = function(e){
                        if (e) {
                            theEvent = e
                        }
                        else {
                            theEvent = event
                        };
                        if (theEvent.keyCode == 13) {
                            if ((this.onchange + "").indexOf("submit") < 0) {
                                f.submit()
                            }
                        }
                    }
                }
                else 
                    if (e[j].type == "submit") {
                        e[j].className = 'hidden';
                    }
            }
        }
    }
/*    
    // ToggleExtracts
    if ($('#toggleExtracts').size() > 0) {
        $('p.recherche_montrer').toggleClass('hidden');
    }
    
    $('#toggleExtracts').html('<span id="toggleExtractsOn"><a>Montrer</a></span> / <span id="toggleExtractsOff">Cacher</span> les extraits');
    
    $('#toggleExtracts a').click(function(){
        $('.recherche_montrer').toggleClass('hidden');
        
        if ($('p.recherche_montrer').hasClass('hidden')) {
            $('#toggleExtractsOn').text('');
            $('#toggleExtractsOff a').appendTo($('#toggleExtractsOn'));
            $('#toggleExtractsOff a').remove();
            $('#toggleExtractsOff').text('Cacher');
            $('#toggleExtractsOn a').text('Montrer');
        }
        else {
            $('#toggleExtractsOff').text('');
            $('#toggleExtractsOn a').appendTo($('#toggleExtractsOff'));
            $('#toggleExtractsOn a').remove();
            $('#toggleExtractsOn').text('Montrer');
            $('#toggleExtractsOff a').text('Cacher');
        }
    });
	 // ToggleExtracts
*/	 
    // ToggleExtracts
    if ($('#toggleExtracts').size() > 0) {
        $('p.recherche_montrer').toggleClass('');
    }
    
    $('#toggleExtracts').html('<span id="toggleExtractsOn">Montrer</span> / <span id="toggleExtractsOff"><a>Cacher</a></span> les extraits');
    
    $('#toggleExtracts a').click(function(){
        $('.recherche_montrer').toggleClass('hidden');
        
        if ($('p.recherche_montrer').hasClass('hidden')) {
            $('#toggleExtractsOn').text('');
            $('#toggleExtractsOff a').appendTo($('#toggleExtractsOn'));
            $('#toggleExtractsOff a').remove();
            $('#toggleExtractsOff').text('Cacher');
            $('#toggleExtractsOn a').text('Montrer');
        }
        else {
            $('#toggleExtractsOff').text('');
            $('#toggleExtractsOn a').appendTo($('#toggleExtractsOff'));
            $('#toggleExtractsOn a').remove();
            $('#toggleExtractsOn').text('Montrer');
            $('#toggleExtractsOff a').text('Cacher');
        }
    });
	 // ToggleExtracts
   if ($('#toggleExtractsMoteur').size() > 0) {
        $('p.recherche_montrer').toggleClass('');
    }
    
    $('#toggleExtractsMoteur').html('<span id="toggleExtractsMoteurOn"><a>Cacher</a></span> / <span id="toggleExtractsMoteurOff">Montrer</span> les extraits');
    
    $('#toggleExtractsMoteur a').click(function(){
        $('.recherche_montrer').toggleClass('hidden');
        
        if (!$('p.recherche_montrer').hasClass('hidden')) {
            $('#toggleExtractsMoteurOn').text('');
            $('#toggleExtractsMoteurOff a').appendTo($('#toggleExtractsMoteurOn'));
            $('#toggleExtractsMoteurOff a').remove();
            $('#toggleExtractsMoteurOff').text('Montrer');
            $('#toggleExtractsMoteurOn a').text('Cacher');
        }
        else {
            $('#toggleExtractsMoteurOff').text('');
            $('#toggleExtractsMoteurOn a').appendTo($('#toggleExtractsMoteurOff'));
            $('#toggleExtractsMoteurOn a').remove();
            $('#toggleExtractsMoteurOn').text('Cacher');
            $('#toggleExtractsMoteurOff a').text('Montrer');
        }
    });
	
	// deploiement dossiers
	  if ($('#toggleExtractsD').size() > 0) {
        $('ul.dossier_montrer').toggleClass('hidden');
    }
    
    $('#toggleExtractsD').html('<span id="toggleExtractsDOn"><a>> plus </a></span><span id="toggleExtractsDOff"></span> de r&eacute;sultats du dossier');
    
    $('#toggleExtractsD a').click(function(){
        $('.dossier_montrer').toggleClass('hidden');
        
        if ($('ul.dossier_montrer').hasClass('hidden')) {
            $('#toggleExtractsDOn').text('');
            $('#toggleExtractsDOff a').appendTo($('#toggleExtractsDOn'));
            $('#toggleExtractsDOff a').remove();
            $('#toggleExtractsDOff').text('');
            $('#toggleExtractsDOn a').text('> plus ');
        }
        else {
            $('#toggleExtractsDOff').text('');
            $('#toggleExtractsDOn a').appendTo($('#toggleExtractsDOff'));
            $('#toggleExtractsDOn').text('');
            $('#toggleExtractsDOff a').text('> moins ');
        }
    });
    // deploiement menu geolo
	  if ($('#toggleExtractsG').size() > 0) {
        $('ul.geolo_montrer').toggleClass('hidden');
    }
    
    $('#toggleExtractsG').html('<span id="toggleExtractsGOn"><a>> plus </a></span><span id="toggleExtractsGOff"></span>');
    
    $('#toggleExtractsG a').click(function(){
        $('.geolo_montrer').toggleClass('hidden');
        
        if ($('ul.geolo_montrer').hasClass('hidden')) {
            $('#toggleExtractsGOn').text('');
            $('#toggleExtractsGOff a').appendTo($('#toggleExtractsGOn'));
            $('#toggleExtractsGOff a').remove();
            $('#toggleExtractsGOff').text('');
            $('#toggleExtractsGOn a').text('> plus ');
        }
        else {
            $('#toggleExtractsGOff').text('');
            $('#toggleExtractsGOn a').appendTo($('#toggleExtractsGOff'));
            $('#toggleExtractsGOn').text('');
            $('#toggleExtractsGOff a').text('> moins ');
        }
    });
	// deploiement menu auteurs
	  if ($('#toggleExtractsA').size() > 0) {
        $('ul.auteur_montrer').toggleClass('hidden');
    }
    
    $('#toggleExtractsA').html('<span id="toggleExtractsAOn"><a>> plus </a></span><span id="toggleExtractsAOff"></span>');
    
    $('#toggleExtractsA a').click(function(){
        $('.auteur_montrer').toggleClass('hidden');
        
        if ($('ul.auteur_montrer').hasClass('hidden')) {
            $('#toggleExtractsAOn').text('');
            $('#toggleExtractsAOff a').appendTo($('#toggleExtractsAOn'));
            $('#toggleExtractsAOff a').remove();
            $('#toggleExtractsAOff').text('');
            $('#toggleExtractsAOn a').text('> plus ');
        }
        else {
            $('#toggleExtractsAOff').text('');
            $('#toggleExtractsAOn a').appendTo($('#toggleExtractsAOff'));
            $('#toggleExtractsAOn').text('');
            $('#toggleExtractsAOff a').text('> moins ');
        }
    });
    // Options
    $('#options li:first ul').css('position', 'absolute');
    $('#options li:first ul').css('z-index', '100');
    
    $('#options li:first ul').addClass('hidden');
    
    $('#options li:first').click(function(){
        $('#options li:first ul').toggleClass('hidden');
    });
    
    // Date
    function customRange(input){
        return {
            minDate: (input.id == "date_fin" ? $("#date_debut").datepicker("getDate") : null),
            maxDate: (input.id == "date_debut" ? $("#date_fin").datepicker("getDate") : null)
        };
    }
    
    if ($.datepicker) {
        $("#date_debut, #date_fin").datepicker($.extend({}, $.datepicker.regional["fr-FR"], {
            beforeShow: customRange,
            showOn: "both",
            buttonImage: "/images/calendrier_icone.png",
            buttonImageOnly: true,
            inDialog: true
        }));
    }
    
    // Plier/déplier
    function rollOff(element, src){
        $(element).parent('li').find('> ul').show();
        $('img', element).attr('src', src);
        $('img', element).attr('alt', 'Fermer '+$(element).parent('li').children('span').text());
        $(element).attr('title', 'Fermer '+$(element).parent('li').children('span').text());
        $(element).parent('li').addClass('on');
    }
    
    function rollOn(element, src){
        $(element).parent('li').find('> ul').hide();
        $('img', element).attr('src', src);
        $('img', element).attr('alt', 'Ouvrir '+$(element).parent('li').children('span').text());
        $(element).attr('title', 'Ouvrir '+$(element).parent('li').children('span').text());
        $(element).parent('li').removeClass('on');
    }
    
    var tmp = document.createElement('a');
	$(tmp).attr('href', '#');
	$(tmp).html('<img src="css/images_css/puc_plan_actualites_ferme.png" alt="" />');
    
    $('#plan_actualites li:has(ul)').prepend(tmp);
    $('#plan_actualites li:has(ul) > a').toggle(function(){
        rollOn($(this), 'css/images_css/puc_plan_actualites_ferme.png')
    }, function(){
        rollOff($(this), 'css/images_css/puc_plan_actualites_ouvert.png');
    });

    var tmp = document.createElement('a');
	$(tmp).attr('href', '#');
	$(tmp).html('+ ');

    $('#thesaurus li:has(ul)').prepend(tmp);
    $('#thesaurus li:has(ul) > a').toggle(function(){
        rollOn($(this), '+')
    }, function(){
        rollOff($(this), '-');
    });


    var tmp = document.createElement('a');
	$(tmp).attr('href', '#');
	$(tmp).html('<img src="css/images_css/puc_plan_actualites_ferme.png" alt="" />');

    $('#plan_reperes li:has(ul)').prepend(tmp);
    $('#plan_reperes li:has(ul) > a').toggle(function(){
        rollOn($(this), 'css/images_css/puc_plan_reperes_ferme.png')
    }, function(){
        rollOff($(this), 'css/images_css/puc_plan_reperes_ouvert.png');
    });

    var tmp = document.createElement('a');
	$(tmp).attr('href', '#');
	$(tmp).html('<img src="css/images_css/puc_plan_actualites_ferme.png" alt="" />');

    $('#plan_ressources li:has(ul)').prepend(tmp);
    $('#plan_ressources li:has(ul) > a').toggle(function(){
        rollOn($(this), 'css/images_css/puc_plan_ressources_ferme.png')
    }, function(){
        rollOff($(this), 'css/images_css/puc_plan_ressources_ouvert.png');
    });
    
    $('#plan_actualites li:has(ul) a, #plan_reperes li:has(ul) a, #plan_ressources li:has(ul) a').click();
    $('#plan_actualites li:not(:has(ul)), #plan_reperes li:not(:has(ul)), #plan_ressources li:not(:has(ul))').css('padding-left', '32px');
});










/* ----------Menu de gauche dates moteur--------- */
/* ------------------------------------------------------------------- */
/* Déplie ou replie un élément des listes déroulantes */
var lastListeEvent = null;
function getListDepliable (elem) {
	var nbElem = elem.parent().find(".detail").size();
	if (nbElem === 1) {
		return elem.parent();
	}
	else if (elem.parent().tagName === 'body' || nbElem > 1) {
		return false;
	}
	else {
		return getListDepliable(elem.parent());
	}
}
function deplierReplierListe (p_evt) {
	p_evt.preventDefault();
	if (lastListeEvent === null || !(lastListeEvent.type === "focus" && p_evt.type === "click")) {
		var sousMenu = getListDepliable($(this));
		if (sousMenu) {
			var detail = sousMenu.find(".detail");
			if (detail && detail.hasClass("invisible")) {
				detail.removeClass("invisible");
				$(this).removeClass("plus");
				lastListeEvent = p_evt;
			}
			else if (detail && !detail.hasClass("invisible") && p_evt.type !== "focus" ) {
				detail.addClass("invisible");
				$(this).addClass("plus");
				lastListeEvent = p_evt;
			}
			else {
				lastListeEvent = null;
			}
		}
	}
	else {
		lastListeEvent = null;
	}
}
function toutDeplier (p_evt) {
	p_evt.preventDefault();
	var selectedList = $('#' + $(this).attr('rel'));
	if(selectedList) {
		$(selectedList.find('.detail')).removeClass("invisible");
		$(selectedList.find('.triggerDeplier')).removeClass("plus");
	}
}
function toutReplier (p_evt) {
	p_evt.preventDefault();
	var selectedList = $('#' + $(this).attr('rel'));
	
	if(selectedList) {
		$(selectedList.find('.detail')).addClass("invisible");
		$(selectedList.find('.triggerDeplier')).addClass("plus");
	}
}


/* ------------------------------------------------------------------- */
/* Initialisation de la page */
$(document).ready(function () {
	/* Indique que le javascript est bien activé */
	$('body.noScript').removeClass('noScript');
  
	/* Listes dépliantes */
	if ($('.listDepliante').size() > 0) {
		/* on replie toutes les listes */
		$('.listDepliante .detail').each(function () {
			$(this).addClass("invisible");
			$(this).parent().find("a.triggerDeplier").addClass("plus");
		});
		/* on lie la fonction de déplie et repli aux liens */
		$('.listDepliante a.triggerDeplier').bind("click", deplierReplierListe);
		$('.listDepliante a.triggerDeplier').bind("focus", deplierReplierListe);
	}
	$('a.triggerToutDeplier').bind('click', toutDeplier);
	$('a.triggerToutReplier').bind('click', toutReplier);

  });


