/**********************************
 * メガメニュー開閉
 **********************************/
(function($){

jQuery(function(){
  jQuery("#gn_mega_product_service > a").click(function(event){
    event.preventDefault();
    if(jQuery("#gn_mega_product_service").hasClass("js-mega")) {
       megaClose();
    } else {
      megaOpen();
    }
  });
  
  $("#js-mega-close").click(function(){
    $('#gn_mega_product_service').focus();
    megaClose();
  });

  var addCss = {
    "z-index" : "10000010",
    "position" : "relative"
  }
  
  var removeCss = {
    "z-index" : "",
    "position" : ""
  }
  
  var modalMenuElements = $('#globalnavi_product-service').find('button');

  var megaOpen = function() {//オープンするとき
    jQuery("#gn_mega_product_service").addClass("js-mega");
    jQuery("#gn_mega_product_service").children('a').attr('aria-expanded', true).next('#globalnavi_product-service').attr('aria-hidden', false);
    $(".header").css("z-index","10000010");
    $("#header-banner").css(addCss);
    // オーバーレイ追加
    jQuery(".wrapper").eq(0).prepend('<div id="js-mega-overlay"></div>');
    $("#js-mega-overlay").click(function(){
      megaClose();
    });
  }
  
  var megaClose = function() {//クローズするとき
    jQuery("#gn_mega_product_service").removeClass("js-mega");
    jQuery("#gn_mega_product_service").children('a').attr('aria-expanded', false).next('#globalnavi_product-service').attr('aria-hidden', true);
    jQuery("#js-mega-overlay").remove();
    $(".header").css("z-index","");
    $("#header-banner").css(removeCss);
  }

  $(document).keydown(function(event){
    var tabKey = (9 === event.keyCode);
    var escKey = (27 === event.keyCode);
    var activeEl = document.activeElement;
    var lastEl = modalMenuElements[0];
    if(tabKey && lastEl === activeEl){
      megaClose();
    }else if(escKey){
      if(jQuery("#gn_mega_product_service").hasClass("js-mega")){
        megaClose();
      }
    }
  });

});
})(jQuery);

/**********************************
 * smt版サイト検索開閉
 **********************************/
(function($){
  jQuery(function(){

    var headerSearchbtnElements = $('#js-header-search-modal-smt').find('a');
    var headerSearchclosebtnElements = $('button.header-search-close');
    var headerSearchinputElements = $('#header').children('#header-search_area').find('div.form-search').children('input');

    // 検索ボタンをクリック（開く）
    $("#js-header-search-modal-smt > a").click(function(e){
      e.preventDefault();
      $(this).attr('aria-expanded', true);
      $('#header-search_area').attr('aria-hidden', false);
      $("body").removeClass("js-header-search-modal-close-smt");
      $("body").addClass("js-header-search-modal-open-smt");
      headerSearchinputElements[0].focus();
    });

    // 閉じるボタンかオーバーレイをクリック（閉じる）
    $(".js-header-search-close").click(function(){
      $("#js-header-search-modal-smt > a").attr('aria-expanded', false);
      $('#header-search_area').attr('aria-hidden', true);
      $("body").removeClass("js-header-search-modal-open-smt");
      $("body").addClass("js-header-search-modal-close-smt");
      $("#i_search_autocomplete").css("display","none");
      headerSearchbtnElements[0].focus();
    });

    $(document).keydown(function(event){
      var tabKey = (9 === event.keyCode);
      var escKey = (27 === event.keyCode);
      var activeEl = document.activeElement;
      var closebtnEl = headerSearchclosebtnElements[0];
      if(tabKey && closebtnEl === activeEl || escKey){
        $(".js-header-search-close").click();
      }
    });

  });
})(jQuery);
