var $Top, $comboLng, $Nav, $Menu, $Menus, $specMenus, clngclose_timer, menuclose_timer, specMenusclose_timer, ver; $(function () { $Top = $('#Top'); $Nav = $('#Nav'); $comboLng = $('#comboLng'); $specMenus = $('.specMenus'); $Menu = $('#menu'); $Menus = $('#menu > li > ul').parent(); ver = is_mob_mode(); ges_pos_Menu(); // sélection dans les menus de la page en cours //currentPage = $('link[rel="canonical"]').attr('href').replace($('base').attr('href')); $Menu.find('a[href="' + location.pathname + '"]').parent().addClass("selected"); $specMenus.find('a[href="' + location.pathname + '"]').parent().addClass("selected"); // Modification de la gestion auto des ancres au chargement des pages (effet de scroll) if(location.hash != ""){ $('html,body').animate({ scrollTop: $(location.hash).offset().top - 150 }, 1000, "easeOutCubic"); history.pushState(null, document.title, location.href.replace(/#.*$/, "")); } // blocage de la propagation desévènements scroll touchmove mousewheel lors de l'utilisation du menu principal (mobile) $Menu.on('scroll touchmove mousewheel', function (e) { e.stopPropagation(); }); // gestion combo de langues $comboLng.children('.selected').click(function (e) { e.stopPropagation(); $('#menu > li.opened').each(function () { close_menu.call(this) }) if ($specMenus.hasClass('opened')) { close_specMenus() } if (!$comboLng.hasClass('opened')) { open_comboLng() } else { close_comboLng() } return false; }); $comboLng.mouseleave(function () { if ($comboLng.hasClass('opened')) { clngclose_timer = setTimeout(close_comboLng, 1000); } }); $comboLng.mouseenter(function () { clearTimeout(clngclose_timer) }); // gestion des menu spécifiques (sites, ...) $specMenus.each(function (i) { $(this).click(function (e) { e.stopPropagation(); var isOpened = $(this).hasClass('opened'); close_specMenus(); $('#menu > li.opened').each(function () { close_menu.call(this) }) if (!isOpened) { open_specMenus.call(this) } else { close_specMenus.call(this) } return false; }); }); $specMenus.find('a').click(function (e) { e.stopPropagation(); }); $specMenus.mouseleave(function () { if ($(this).hasClass('opened')) { This = this; specMenusclose_timer = setTimeout(function () { close_specMenus.call(This) }, 1000); } }); $specMenus.mouseenter(function () { if ($(this).hasClass('opened')) { clearTimeout(specMenusclose_timer) } }); // la section "mon compte", si présente, change de position dans le menu selon la version mobile/desktop if (ver) { $('#Account').detach().prependTo($Menu); } else { $('#Account').detach().appendTo($Menu); } // gestion des sous-menu du menu de navigation $Menu.find('li > ul:visible').each(function () { $(this).parent().addClass("sub") }) //$Menu.find('li > ul').parent().addClass("sub"); $('#menu > li > a').click(function (e) { e.stopPropagation(); if ($comboLng.hasClass('opened')) { close_comboLng() } if ($specMenus.hasClass('opened')) { close_specMenus() } if (!$(this).parent().hasClass('opened')) { $('#menu > li.opened').each(function() { close_menu.call(this) }) open_menu.call($(this).parent()) } else { close_menu.call($(this).parent()) } }); $Menus.mouseleave(function () { if (!ver && $(this).hasClass('opened')) { This = this; menuclose_timer = setTimeout(function () { close_menu.call(This) }, 1000); } }); $Menus.mouseenter(function () { if ($(this).hasClass('opened')) { clearTimeout(menuclose_timer) } }); // gestion des Menus mobiles $Menu.find('.closed').click(function () { $('#mob_btnMenu').click() }); $('#mob_btnMenu').click(function () { if (!$Menu.hasClass('opened')) { // Ouverture close_comboLng() $('html, body').addClass('BlockScroll'); $('body').append("
"); $(document).on('touchmove', function (e) { e.preventDefault(); }); $(document).on('touchmove', "#menu", function (e) { e.stopPropagation() }); $('#modal').click(function () { $('#mob_btnMenu').click() }); $Menu.removeClass('closed').addClass('opened').css('maxHeight', ($(window).height() - $('#Nav').innerHeight()) + 'px'); $(window).resize(function () { $Menu.addClass('opened').css('maxHeight', ($(window).height() - $('#Nav').innerHeight()) + 'px'); }) } else { // Fermeture $(document).unbind('touchmove'); $('#modal').remove(); $('html, body').removeClass('BlockScroll'); $Menu.removeClass('opened').addClass('closed').css('maxHeight', 'auto'); } }); // permet la fermeture des menus lors d'un click en dehors de ceux-i $('body').click(function () { if (!ver) { $('#menu > li.opened').each(function () { close_menu.call(this) }) if ($comboLng.hasClass('opened')) { close_comboLng() } close_specMenus() } }) // Déplacemment du menu de navigation lors du scroll $Nav = $('#Nav'); $btnTop = $('#btnTop'); $btnTop.click(function () { eni.Top(); }) window.onscroll = function () { if ($(window).scrollTop() > $Top.outerHeight()) { if (!ver) { $Nav.removeClass("Top").addClass("Fixed"); } $btnTop.removeClass("Hide").addClass("Show"); } else { if (!ver) { $Nav.removeClass("Fixed").addClass("Top"); } $btnTop.removeClass("Show").addClass("Hide"); } if ($comboLng.hasClass('opened')) { close_comboLng() } close_specMenus() } // si le correctif IE 8 pour rendre compatible la propriété "for" de l'élément "label" est chargé if (patchIE != undefined) { if (typeof (set_CheckedToLabel) != "undefined") { set_CheckedToLabel() patch_LabelFor() } }; // si passage d'un affichage desktop à mobile (ou le contraire) $(window).resize(function () { if (ver != is_mob_mode()) { window.location = document.location; };ges_pos_Menu(); }); // Modification de la gestion auto des ancres au chargement des pages (effet de scroll) if (location.hash != '') { var hash = location.hash; location.hash = ''; $('html,body').animate({ scrollTop: $(hash).offset().top - 50 }, 1000, "easeOutCubic"); } // Avertissement utilisation Cookies if (isNaN(eni.user.infos.cookies)){ showAC(); }else{ if (Math.round((new Date().withoutTime().getTime() - eni.user.infos.cookies)/86400000)>=90){showAC()} } clean_SCK(); }); showAC = function(){ eni.axc({Async:true,Type:"html",Url:"ajax/cookies.aspx", fn:function(content){ if (content.length > 0){ $Cookies=$(content); $('body > footer').after($Cookies); $('#close_CkC').on('click',function(){ eni.user.infos.cookies=new Date().withoutTime().getTime(); eni.user.save(); $Cookies.finish().animate({bottom:'-100vw',opacity:0}, 350, "easeOutQuart"); }); $Cookies.finish().animate({ bottom: '0px', opacity: 1 }, 350, "easeOutQuart"); } }}); } ges_pos_Menu = function(){ $('#menu > li > ul').each(function(){ $subMenu = $(this); if (($subMenu.outerWidth() + $subMenu.offset().left) > $(window).outerWidth()){$subMenu.addClass("Right")} else {$subMenu.removeClass("Right")} }) } // Combo langues // ouverture open_comboLng = function () { if (ver) { if ($Menu.hasClass('opened')) { $('#mob_btnMenu').click() } } $comboLng.addClass('opened') .children('li').not('.selected').each(function () { $(this).finish().css('display', 'block').animate({ opacity: 1, marginTop: '-1px' }, 250, "easeInOutCubic") }) } // fermeture close_comboLng = function () { $comboLng.removeClass('opened') .children('li').not('.selected').each(function () { if (!ver) { $(this).finish().animate({ opacity: 0, marginTop: '-58px' }, 250, "easeInOutCubic") } else { $(this).finish().animate({ opacity: 0, marginTop: '-12.5vw' }, 250, "easeInOutCubic", function () { $(this).css('display', 'none') }) } }) } // Combo Sites // ouverture open_specMenus = function () { $(this).addClass('opened') .find('li').each(function () { $(this).finish().animate({ opacity: 1, marginTop: '-1px' }, 250, "easeInOutCubic") }) } // fermeture close_specMenus = function () { clearTimeout(specMenusclose_timer); $specMenus.removeClass('opened') .find('li').each(function () { $(this).finish().animate({ opacity: 0, marginTop: '-120px' }, 250, "easeInOutCubic") }) } // Sous-menu de navigation // ouverture open_menu = function () { $(this).addClass('opened') .find('li').each(function () { $(this).finish().animate({ opacity: 1, marginTop: '-1px' }, 250, "easeInOutCubic") }) } // fermeture close_menu = function () { $(this).removeClass('opened') .find('li').each(function () { $(this).finish().animate({ opacity: 0, marginTop: '-120px' }, 250, "easeInOutCubic") }) } // correctif IE pour rendre compatible la propriété "for" de l'élément "label" patch_LabelFor = function () { $('input:checkbox').change(function () { set_CheckedToLabel() }); $('input:radio').on('change propertychange', function () { set_CheckedToLabel() }); $('label:not([for=""])').click(function (e) { $("#" + $(this).attr('for')).click(); return false; }); } set_CheckedToLabel = function () { $('label:not([for=""])').each(function () { $(this).removeClass("checked"); }) $('input:checked').each(function () { $('label[for=' + $(this).attr('id') + ']').addClass("checked"); }); } // Déctection du passage en mode mobile is_mob_mode = function () { return ($('#mob_btnMenu').css('display') == 'none' ? false : true) } // Nettoyage des Cookies de session inutiles clean_SCK = function(){ var i; var cookiesArr; var cItem; cookiesArr = document.cookie.split("; "); for (i = 0; i < cookiesArr.length; i++) { cItem = cookiesArr[i].split("="); if (cItem.length > 0 && cItem[0].indexOf("ASPSESSIONID") == 0) { deleteCookie(cItem[0]); } } function deleteCookie(name) { var expDate = new Date(); expDate.setTime(expDate.getTime() - 86400000); //-1 day var value = "; expires=" + expDate.toGMTString() + ";path=/"; document.cookie = name + "=" + value; } }