var msIE = navigator.userAgent.match(/Trident\/7\./) || navigator.userAgent.match(/(MSIE\ [0-9]{1})/i); // Internet Explorer ? $(document).ready(function () { var classSucc = $('form').attr('class'); $('#espaceBibliotheque').closest('#contenantEspaceBibliotheque').addClass('nonVide'); if (classSucc != null && classSucc.length) { var posSucc; classSucc = classSucc.toUpperCase(); posSucc = classSucc.indexOf('SUCC'); if (posSucc >= 0) { storageSetSuccursale(classSucc.substring(posSucc + 4), classSucc.substring(posSucc + 4), 1); } } // Activer l'item (les items) du menu relié à la page affichée. $('#MenuPrincipal li').removeClass('mpItemActif'); $('#contenuSuggestions').closest('body').find('#ctlItemSuggestions').addClass('mpItemActif'); $('#contenuRecherche').closest('body').find('#ctlItemRecherche').addClass('mpItemActif'); $('#contenuRechercheThesaurus').closest('body').find('#ctlItemRechercheThesaurus').addClass('mpItemActif'); $('#contenuResultats').closest('body').find('#ctlItemResultats').addClass('mpItemActif'); $('#contenuHistorique').closest('body').find('#ctlItemHistorique').addClass('mpItemActif'); $('#contenuRechercheZ3950').closest('body').find('#ctlItemZ3950').addClass('mpItemActif'); $('#contenuListeZ3950').closest('body').find('#ctlItemResultatZ3950').addClass('mpItemActif'); $('#contenuResultatsZ3950').closest('body').find('#ctlItemResultatZ3950').addClass('mpItemActif'); $('#contenuPanierZ3950').closest('body').find('#ctlItemPanierZ3950').addClass('mpItemActif'); $('#contenuRessourcesNumeriques').closest('body').find('#ctlItemRessNum').addClass('mpItemActif'); // Activer l'item-parent (1er niveau) du menu principal $('#contenuSuggestions').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuRecherche').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuRechercheThesaurus').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuSuggRechApprox').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuResultats').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuHistorique').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuPanier').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuDetail').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuDetailThes').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuHistoriqueDetail').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuReserv').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#conserverRecherche').closest('body').find('#ctlItemCatalogue').addClass('mpItemActif'); $('#contenuRechercheZ3950').closest('body').find('#ctlItemAutresBiblio').addClass('mpItemActif'); $('#contenuListeZ3950').closest('body').find('#ctlItemAutresBiblio').addClass('mpItemActif'); $('#contenuResultatsZ3950').closest('body').find('#ctlItemAutresBiblio').addClass('mpItemActif'); $('#contenuDetailZ3950').closest('body').find('#ctlItemAutresBiblio').addClass('mpItemActif'); $('#contenuPanierZ3950').closest('body').find('#ctlItemAutresBiblio').addClass('mpItemActif'); // Cacher les sous-menus inactifs. Afficher le sous-menu actif. $('#MenuPrincipal ul ul').addClass('sousMenuInactif'); $('#MenuPrincipal > ul > li.mpItemActif').find('ul').removeClass('sousMenuInactif'); $('#MenuPrincipal > ul > li:not(.mpItemActif)').on('mouseenter mouseleave', function (e) { switch (e.type) { case 'mouseenter': $(this).find('ul').hide(); /* Pour retarder l'effet de l'instruction ci-dessous*/ $(this).find('ul').parent().addClass('sousMenuAff'); $(this).find('ul').show('fast'); break; case 'mouseleave': $('#MenuPrincipal > ul > li').removeClass('sousMenuAff'); break; } } ); // Empêcher le clic sur l'élément actif. On évite ainsi un paquet de problèmes particulièrement // pour la page de résultats. $('#MenuPrincipal ul ul .mpItemActif a').on('click', function (event) { event.preventDefault(); }); // Au clic sur la zone emprunteur, afficher/cacher son sous-menu. $('#nomEmpr').on('click', function () { $('#nomEmpr + ul').toggleClass('etendu'); }); // Au clic sur un élément hors de la zone emprunteur (#emprunteur), cacher le sous-menu. $(document).on('click',function (e) { // Si la cible du clic n'est ni #emprunteur ni un des ses enfants... if ($(e.target).closest('#emprunteur').length === 0) { $('#emprunteur .etendu').find('ul li').removeClass('affiche'); $('#emprunteur .etendu').removeClass('etendu'); } }); initScrollTop('top'); }); function initScrollTop(elementId) { var oTop = document.getElementById(elementId); oTop.onclick = function (e) { e.preventDefault(); var difference = (msIE != null) ? window.document.documentElement.scrollTop : window.pageYOffset; if (difference > 0) { var saut = 40, i = 0; var scroll = setInterval(function () { window.scrollBy(0, 0 - saut); i = i + saut; if (i >= difference) clearInterval(scroll); }, 10); } } window.onscroll = function () { var yOffset = (msIE != null) ? window.document.documentElement.scrollTop : window.pageYOffset; if (yOffset > 50) { classie.remove(oTop, 'masque'); } else { classie.add(oTop, 'masque'); } }; } /*! * classie - class helper functions * from bonzo https://github.com/ded/bonzo * classie.has( elem, 'my-class' ) -> true/false * classie.add( elem, 'my-new-class' ) * classie.remove( elem, 'my-unwanted-class' ) * classie.toggle( elem, 'my-class' ) */ (function (window) { 'use strict'; function classReg(className) { return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); } var hasClass, addClass, removeClass; if ('classList' in document.documentElement) { hasClass = function (elem, c) { return elem.classList.contains(c); }; addClass = function (elem, c) { elem.classList.add(c); }; removeClass = function (elem, c) { elem.classList.remove(c); }; } else { hasClass = function (elem, c) { return classReg(c).test(elem.className); }; addClass = function (elem, c) { if (!hasClass(elem, c)) { elem.className = elem.className + ' ' + c; } }; removeClass = function (elem, c) { elem.className = elem.className.replace(classReg(c), ' '); }; } function toggleClass(elem, c) { var fn = hasClass(elem, c) ? removeClass : addClass; fn(elem, c); } var classie = { hasClass: hasClass, addClass: addClass, removeClass: removeClass, toggleClass: toggleClass, has: hasClass, add: addClass, remove: removeClass, toggle: toggleClass }; if (typeof define === 'function' && define.amd) { define(classie); } else { window.classie = classie; } })(window);