(($) => {
  // — Hamburger menu toggle
  $('.menu-toggler').on('click',function burgerInit(e) {
    e.preventDefault()
    $(this).toggleClass('is-active')
    $('#main-menu').toggleClass('is-active')
    $('body').toggleClass('locked')
    setTimeout(function() {
      $('.lang-menu').toggleClass('active')
    }, 300);
  })

  const toggleExcerpt = $('.toggle-excerpt');
  const excerptSeeMore = $('.excerpt-see-more');
  const excerpt = $('.products-description-excerpt');

  toggleExcerpt.on('click', function () {
    toggleExcerpt.toggleClass('active');
    excerptSeeMore.toggleClass('active');
    excerpt.toggleClass('active');
  })

  const sidebarMobileElements = $('#sidebar .widget-title');

  $(window).on('load', function () {
    sidebarMobileElements.each(function() {
      const siblingsLists = $(this).siblings('ul')
      const chosen = siblingsLists.find('.chosen');
      const chosenCat = siblingsLists.find('.current-cat');
      const numberCat = chosenCat.size();
      const number = chosen.size()
      if( number > 0 ) {
        $(this).toggleClass('active-filter')
        $(this).append(" (" + number + ") ")
      }
      if( numberCat > 0 ) {
        $(this).toggleClass('active-filter')
        $(this).append(" (" + numberCat + ") ")
      }
    })
  })

  sidebarMobileElements.on('click', function () {
    $(this).toggleClass('active')
    const siblings = $(this).siblings('form');
    const siblingsLists = $(this).siblings('ul');
    siblings.toggleClass('active')
    siblingsLists.toggleClass('active')
  })

  $('.search-toggle').on('click',function searchToggle(e) {
    e.preventDefault()
    $(this).next('input[type="submit"]').trigger('click')
  })
  $('.filter-toggler').on('click',(e) => {
    e.preventDefault()
    $('.sidebar-wrapper-mobile').toggleClass('active')
  })
  $('.register-block .login-panel-toggler').on('click', function searchToggle(e) {
    if (window.matchMedia('(min-width: 769px)').matches) {
      e.preventDefault()
      $(this).next('.login-panel').fadeToggle()
    }
  })

  const panelBlock = $('.panel-block.left')
  const startingUrl = panelBlock.find('a').attr('href')
  const startingImg = panelBlock.find('a img').attr('src')
  $('#shop-panel #sub-menu a').on('mouseenter', function changeBanner() {
    const $this = $(this)
    const url = $this.attr('href')
    const urlDef = ((url) || startingUrl)
    const img = $this.find('span').data('img')
    const imgDef = ((img) || startingImg)
    panelBlock.find('a').attr('href', urlDef)
    panelBlock.find('a img').attr('src', imgDef)
  })

  $('#main-header #main-menu li').on('mouseenter', function togglePanel() {
    if ($(this).hasClass('panel-toggler')) {
      $(this).addClass('current-menu-item')
      $('#shop-panel').show()
    } else {
      $(this).parents('#main-header').removeClass('current-menu-item')
      $('#shop-panel').hide()
      panelBlock.find('a').attr('href', startingUrl)
      panelBlock.find('a img').attr('src', startingImg)
    }
  })

  $('#main-header').on('mouseleave', function hidePanel() {
    $(this).removeClass('current-menu-item')
    $('#shop-panel').hide()
    panelBlock.find('a').attr('href', startingUrl)
    panelBlock.find('a img').attr('src', startingImg)
  })
  // $('.register-block').on('mouseleave', function searchToggle(e) {
  //   e.preventDefault()
  //   const $this = $(this)
  //   setTimeout(() => {
  //     $this.find('.login-panel').fadeOut()
  //   }, 5000)
  // })


  $(window).scroll(() => {
    if ($(this).scrollTop() > 100) {
      $('#sticker').addClass('compressed')
    } else {
      $('#sticker').removeClass('compressed')
    }
  })


  // — MMenu
  // $("#mobile-menu").mmenu({
  //   searchfield: {
  //     add : true,
  //     placeholder : "Cerca",
  //     search : false,
  //   },
  //   offCanvas: {
  //     position  : "right"
  //   }
  // }, {
  //   searchfield : {
  //     form : { "role" : "search", "method" : "get", "action" : "/"}
  //   },
  //   // configuration
  //   offCanvas: {
  //     label: "label",
  //     pageNodetype: "#main-wrapper"
  //   }
  // });
  // $("#menu-toggle").click(function() {
  //   $("#mobile-menu").trigger("open.mm");
  // });

  // — Sticky
  // $("#sticker").sticky({
  //   topSpacing:0,
  //   getWidthFrom: '#main-container'
  // });
})(jQuery)
