/* Js for , Version=1780045077 */
 v.lang = {"confirmDelete":"\u672c\u5f53\u306b\u524a\u9664\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f","deleteing":"\u524a\u9664\u4e2d","doing":"\u5904\u7406\u4e2d","loading":"\u52a0\u8f7d\u4e2d","updating":"\u66f4\u65b0\u4e2d...","timeout":"\u7f51\u7edc\u8d85\u65f6,\u8bf7\u91cd\u8bd5","errorThrown":"<h4>\u6267\u884c\u51fa\u9519\uff1a<\/h4>","continueShopping":"\u7ee7\u7eed\u8d2d\u7269","required":"\u5fc5\u586b","back":"\u8fd4\u56de","continue":"\u7ee7\u7eed","importTip":"\u53ea\u5bfc\u5165\u4e3b\u9898\u7684\u98ce\u683c\u548c\u6837\u5f0f","fullImportTip":"\u5c06\u4f1a\u5bfc\u5165\u6d4b\u8bd5\u6570\u636e\u4ee5\u53ca\u66ff\u6362\u7ad9\u70b9\u6587\u7ae0\u3001\u4ea7\u54c1\u7b49\u6570\u636e"};;
(function(){
  var refreshHeaderCart = function(){
    fetch('/index.php/cart-count.json', {credentials:'same-origin'})
      .then(function(r){ return r.json(); })
      .then(function(data){
        if(!data || data.result !== 'success') return;
        document.querySelectorAll('.header-cart').forEach(function(btn){ btn.classList.toggle('hide', data.count < 1); });
        document.querySelectorAll('.header-cart .cart-count, .cart-count').forEach(function(node){
          node.textContent = String(data.count);
          node.classList.toggle('hide', data.count < 1);
        });
      })
      .catch(function(){});
  };
  if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', refreshHeaderCart);
  else refreshHeaderCart();
  window.rakugouRefreshHeaderCart = refreshHeaderCart;
})();
;
$(function(){
  var $form = $('#ajaxForm');
  var $notice = $('#contactFormNotice');
  var renderMessage = function(message, fallback){
    if(message && typeof message === 'object')
    {
      var items = [];
      $.each(message, function(_, text){ if(text) items.push(text); });
      return items.length ? items.join('<br>') : fallback;
    }
    return message || fallback;
  };
  var showNotice = function(kind, html){
    $notice.removeClass('success error').addClass(kind).html(html).show();
    $('html, body').animate({scrollTop: $notice.offset().top - 100}, 240);
  };
  $form.off('submit.contactForm').on('submit.contactForm', function(e){
    e.preventDefault();
    if(typeof appendFingerprint === 'function') appendFingerprint('#ajaxForm');
    var $submit = $form.find(':submit');
    $submit.prop('disabled', true);
    $.ajax({
      url: $form.attr('action'),
      type: 'POST',
      data: $form.serialize(),
      dataType: 'json',
      timeout: 60000,
      success: function(response){
        $submit.prop('disabled', false);
        if(response && response.result === 'success')
        {
          showNotice('success', renderMessage(response.message, 'お問い合わせを受け付けました。'));
          $form[0].reset();
          return;
        }
        showNotice('error', renderMessage(response ? response.message : '', '入力内容をご確認ください。'));
      },
      error: function(){
        $submit.prop('disabled', false);
        showNotice('error', '送信に失敗しました。恐れ入りますが、時間をおいて再度お試しください。');
      }
    });
    return false;
  });
  document.querySelector('.menu-btn') && document.querySelector('.menu-btn').addEventListener('click', function(){var nav=document.querySelector('.site-nav'); if(!nav) return; var open=nav.classList.toggle('open'); this.setAttribute('aria-expanded', open ? 'true' : 'false');});
});
