function slideMenu() {
  $(".side_column").animate({
    "right": 0
  }, 500);
  $("#close_menu").animate({
    "left": 0,
    "width": "12%"
  }, 500);
  $("#overlay").fadeIn();
  $("#overlay").on("click", hideMenu);
  $("body").addClass("open");
  return false;
}

function hideMenu() {
  $(".side_column").prop({
    scrollTop: 0
  }).animate({
    "right": "-100%"
  }, 500);
  $("#close_menu").animate({
    "left": "100%",
    "width": "0%"
  }, 500);
  $("#overlay").fadeOut();
  $("body").removeClass("open");
  return false;
}

function showModal(i) {
  $("#overlay").fadeIn();
  var modal = $("#" + i);
  modal.fadeIn();
  $("#overlay").on("click", hideModal);
  $("body").addClass("open");
  return false;
}

function hideModal() {
  $("#overlay").fadeOut();
  $(".modal").fadeOut();
  $("body").removeClass("open");
  return false;
}
$(function () {
  var i_account = $(".i_account"),
    i_cart = $(".i_cart"),
    i_category = $(".i_category"),
    i_crown = $(".i_crown"),
    i_extantion = $(".i_extantion"),
    i_favorite = $(".i_favorite"),
    i_ladies = $(".i_ladies"),
    i_login = $(".i_login"),
    i_mens = $(".i_mens"),
    i_message = $(".i_message"),
    i_pair = $(".i_pair"),
    i_reborn = $(".i_reborn"),
    i_search = $(".i_search"),
    i_search_hd = $(".i_search_hd"),
    i_set = $(".i_set"),
    i_wrapping = $(".i_wrapping");
  i_account.load("/user_data/packages/default/img/icon/icon_account.svg");
  i_cart.load("/user_data/packages/default/img/icon/icon_cart.svg");
  i_category.load("/user_data/packages/default/img/icon/icon_category.svg");
  i_crown.load("/user_data/packages/default/img/icon/icon_crown.svg");
  i_extantion.load("/user_data/packages/default/img/icon/icon_extantion.svg");
  i_favorite.load("/user_data/packages/default/img/icon/icon_favorite.svg");
  i_ladies.load("/user_data/packages/default/img/icon/icon_ladies.svg");
  i_login.load("/user_data/packages/default/img/icon/icon_login.svg");
  i_mens.load("/user_data/packages/default/img/icon/icon_mens.svg");
  i_message.load("/user_data/packages/default/img/icon/icon_message.svg");
  i_pair.load("/user_data/packages/default/img/icon/icon_pair.svg");
  i_reborn.load("/user_data/packages/default/img/icon/icon_reborn.svg");
  i_search.load("/user_data/packages/default/img/icon/icon_search.svg");
  i_search_hd.load("/user_data/packages/default/img/icon/icon_search_hd.svg");
  i_set.load("/user_data/packages/default/img/icon/icon_set.svg");
  i_wrapping.load("/user_data/packages/default/img/icon/icon_wrapping.svg");
});

//ページトップへ
var pageTop = $("#pagetop");
if (window.matchMedia("(max-width: 1023px)").matches) {
  var poR = 16;
} else {
  //var poR =(($(window).outerWidth() - $("#container").width()) / 2);
  var poR = "1.6rem";
}
$(window).scroll(function () {
  var scrollHeight = $(document).height(),
    scrollPosition = $(window).height() + $(window).scrollTop(),
    footHeight = $("footer").outerHeight(),
    searchArea = $("#search"),
    cartLink = $(".btn_cartLink");
  if ($(this).scrollTop() > 0) {
    if ($('.teddy_select_comment').length) {
      if (!$('.teddy_disp_comment').length) {
        $(".teddy_select_comment").addClass("teddy_disp_comment");
      }
    }
    pageTop.css("right", poR).fadeIn();
    $("#header").css("top", 0).addClass("fixed");
    $("#header_sp").css("top", 0).addClass("fixed");
    searchArea.css("top", "2rem");
    cartLink.addClass('show');
    if (document.getElementsByClassName("fixed-header") != null) {
      if (window.matchMedia("(min-width: 1024px)").matches) {
        $("#fixed-header-pc").css("top", "80px");
      } else {
        $("#fixed-header-pc").css("top", "56px");
      }
      $("#fixed-header-sp").css("top", "56px");
      $("#footer_category_wrap").css("top", "11.6rem");
    }
    if (scrollHeight - scrollPosition <= footHeight) {
      if (window.matchMedia("(max-width: 1023px)").matches) {
        pageTop.css("right", "1.6rem").addClass("stop");
      } else {
        pageTop.css("right", 0).addClass("stop");
      }
      $(".sort_btn").addClass("stop");
    } else {
      if (window.matchMedia("(max-width: 1023px)").matches) {
        if (document.getElementById("detail") != null) {
          if (document.getElementById("teddy_cart") != null) {
            pageTop.css("bottom", "85px");
          } else {
            pageTop.css("bottom", "84px");
          }
        }
      } else {
        if (document.getElementById("detail") != null && document.getElementById("teddy_cart") != null) {
          pageTop.css("bottom", "80px");
        }
      }

      pageTop.css("right", poR).removeClass("stop");
      $(".sort_btn").removeClass("stop");
    }
    if ($("#fixed_menu").length) {
      var fixdemenuPosition = $("#fixed_menu").offset().top - 64,
        itemlistPosition = $("#item_list").offset().top - 64;
      if (fixdemenuPosition >= $(this).scrollTop()) {
        $("#fixed_menu_inner").removeClass("active");
      } else if ($(this).scrollTop() > itemlistPosition) {
        $("#fixed_menu_inner").removeClass("active");
      } else if ($(this).scrollTop() > fixdemenuPosition) {
        $("#fixed_menu_inner").addClass("active");
      }
    }
  } else {
    if ($('.teddy_select_comment').length) {
      if ($('.teddy_disp_comment').length) {
        $(".teddy_select_comment").removeClass("teddy_disp_comment");
      }
    }
    pageTop.fadeOut();
    $("#header").css("top", "30px").removeClass("fixed");
    if (window.matchMedia("(min-width: 1024px)").matches) {
	    $("#header_sp").css("top", "30px").removeClass("fixed");
	} else {
		$("#header_sp").css("top", "0px").removeClass("fixed");
	}
    searchArea.css("top", "5rem");
    cartLink.removeClass('show');
    if (document.getElementsByClassName("fixed-header") != null) {
      $("#fixed-header-pc").css("top", "");
      $("#fixed-header-sp").css("top", "");
      $("#footer_category_wrap").css("top", "14.2rem");
    }
  }
});
pageTop.click(function () {
  $("body,html").animate({
    scrollTop: 0
  }, 800);
});

$(document).on("click", ".switch_menu", slideMenu);
$(document).on("click", "#close_menu", hideMenu);
$(document).on("click", ".modal_btn", function () {
  var opmodal = $(this).data("modal");
  showModal(opmodal);
});
$(document).on("click", ".modal_header,.modal", hideModal);
$(document).on("click", ".modal_wrap", function (e) {
  e.stopPropagation();
});

$("input[type=radio],input[type=checkbox]").each(function () {
  if ($(this).attr("checked")) {
    $(this).parent().addClass("active");
  } else {
    $(this).parent().removeClass("checked");
  }
});

$(document).on("change", "input[type=radio]", function () {
  $(this).parents().siblings().children("label").removeClass("active");
  $(this).parent().addClass("active");
});

$(document).on("change", "input[type=checkbox]", function () {
  if ($(this).parent().hasClass("active")) {
    $(this).parent().removeClass("active");
    $(this).next().find(".select").remove();
  } else {
    $(this).parent().addClass("active");
  }
});
$(".accordion").click(function () {
  $(this).next().slideToggle();
  $(this).toggleClass("active");
});

$(".accordion_items").click(function () {
  $(this).next().slideToggle();
  $(this).toggleClass("active");
  $(this).children(".accordion_dl2").toggleClass("fa-chevron-down");
  $(this).children(".accordion_dl2").toggleClass("fa-chevron-up");
});

//ページスクロール
$("a[href^='#']").on('click', function () {
  var headerHeight;
  var speed = 500;
  var href = $(this).attr("href");
  var target = $(href == "#" || href == "" ? 'html' : href);

  if (window.matchMedia("(max-width: 1023px)").matches) {
    headerHeight = $("#header_wrap").outerHeight() + $("#fixed-header-sp").outerHeight()
  } else {
    headerHeight = $("#header_wrap").outerHeight() + $("#fixed-header-pc").outerHeight()
  }
  var position = target.offset().top - headerHeight - 30;
  $("body,html").animate({
    scrollTop: position
  }, speed, 'swing');
  return false;
});

$("#mainV").slick({
  autoplay: true,
  autoplaySpeed: 3500,
  arrows: true,
  prevArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_L.png" class="slide-arrow slick-prev">',
  nextArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_R.png" class="slide-arrow slick-next">',
  dots: true,
  fade: false,
  speed: 800,
  lazyLoad: 'progressive'
});

$("#freeArea1").slick({
  autoplay: true,
  autoplaySpeed: 3500,
  arrows: true,
  prevArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_L.png" class="slide-arrow slick-prev">',
  nextArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_R.png" class="slide-arrow slick-next">',
  dots: true,
  fade: false,
  speed: 800,
  lazyLoad: 'progressive',
  responsive: [{
    breakpoint: 2000,
    settings: {
      slidesToShow: 2,
      slidesToScroll: 2,
      infinite: true,
      dots: true
    }
  }]
});

// クリスマス特集 2020.10.15----------
// トップページランキング
$(".ranking_area_top").slick({
  autoplay: false,
  infinite: true,
  arrows: true,
  dots: false,
  slidesToShow: 5,
  slidesToScroll: 5,
  prevArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_L.png" class="slide-arrow slick-prev">',
  nextArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_R.png" class="slide-arrow slick-next">',
  responsive: [{
    breakpoint: 767,
    settings: {
      slidesToShow: 3,
      slidesToScroll: 3,
      // variableWidth: true,
      arrows: false,
    }
  }]
});

if (!$('.main_xmas2020').length) {
  $(".carousel").slick({
    infinite: true,
    arrows: false,
    dots: false,
    slidesToShow: 5,
    slidesToScroll: 5,
    responsive: [{
      breakpoint: 767,
      settings: {
        slidesToShow: 2,
        slidesToScroll: 2,
        variableWidth: true,
      }
    }]
  });
} // クリスマス特集 end ----------

if (window.matchMedia("(max-width: 1023px)").matches) {
  $("#footer_category_wrap .category_title.trigger").click(function () {
    $(this).next().slideToggle();
    $(this).toggleClass("active");
  });
  if ($(".btn_anker").length) {
    $(window).scroll(function () {
      var list_anker = $(".btn_anker"),
        switching_T = $("#item_list").offset().top,
        list_T = list_anker.offset().top,
        list_B = list_T + list_anker.outerHeight() + 80;
      if (list_B > switching_T) {
        $("#list_anker").css("visibility", "hidden");
        $(".sort_btn").css("visibility", "visible");
      } else if (switching_T > list_B) {
        $("#list_anker").css("visibility", "visible");
        $(".sort_btn").css("visibility", "hidden");
      }
    });
  }

} else {
  $("#s_sort").click(function () {
    $("#footer_category_wrap").slideToggle();
    $("body").toggleClass("open");
    $(this).toggleClass("open");
  });
  $(document).on("click", "#footer_category_wrap .trigger", function () {
    var treeH = $(this).next().children(".category_tree").outerHeight();
    if (!$(this).parents(".category_expander").siblings(".active").length) {
      $("#footer_category_wrap").find(".category_expander").css("height", "0");
      $("#footer_category_wrap").find("li").css("padding-bottom", 0);
      $("#footer_category_wrap").find(".category_title").removeClass("active");
      $(this).parent().css("padding-bottom", treeH);
    } else {
      $(this).parent().css("padding-bottom", treeH + 16);
      var treeH_l1p = $(this).closest(".level1").css("padding-bottom");
      var treeH_p = parseInt(treeH + 16);
      var treeH_l1_p = parseInt(treeH_l1p + 16);
      if ($(this).parent().hasClass("level2") && !$(this).hasClass("active")) {
        $(this).closest(".level1").css("padding-bottom", treeH_p + treeH_l1_p);
      } else if ($(this).parent().hasClass("level3") && !$(this).hasClass("active")) {
        var treeH_l2p = $(this).closest(".level2").css("padding-bottom");
        var treeH_l2_p = parseInt(treeH_l2p);
        $(this).closest(".level2").css("padding-bottom", treeH_p + treeH_l2_p);
        $(this).closest(".level1").css("padding-bottom", treeH_l1_p + treeH_p);
      }
    }
    $(this).next().css("height", "auto");
    $(this).addClass("active");
  });
  $(document).on("click", "#footer_category_wrap .trigger.active", function () {
    $(this).next().css("height", "0");
    $(this).parent().css("padding-bottom", 0);
    $(this).removeClass("active");
    $("#footer_category_wrap .category_area").css("margin-bottom", 0);
    var treeH = $(this).next().children(".category_tree").outerHeight();
    var treeH_l1p = $(this).closest(".level1").css("padding-bottom");
    var treeH_p = parseInt(treeH + 16);
    var treeH_l1p_p = parseInt(treeH_l1p + 16);
    if ($(this).parent().hasClass("level2")) {
      $(this).closest(".level1").css("padding-bottom", treeH_l1p_p - treeH_p);
    } else if ($(this).parent().hasClass("level3")) {
      $("#footer_category_wrap .category_area").css("margin-bottom", 0);
      var treeH_l2p = $(this).closest(".level2").css("padding-bottom");
      var treeH_l2p_p = parseInt(treeH_l2p);
      $(this).closest(".level2").css("padding-bottom", treeH_l2p_p - treeH_p);
      $(this).closest(".level1").css("padding-bottom", treeH_l1p_p - treeH_p);
    }
  });
}
var counter = 0;
$("#kodawari select").each(function () {
  if ($(this).find("option:selected").val()) {
    counter++;
  } else {
    counter;
  }
});
if (counter > 0) {
  $("#kodawari_wrap").show();
  $("#kodawari .title04").addClass("active");
}


if ($("#main_image").is(":visible")) {
  $("#main_image").slick({
    arrows: true,
    prevArrow: '<span class="slick-prev">&lt;</span>',
    nextArrow: '<span class="slick-next">&gt;</span>',
    dots: false,
    asNavFor: '#thumbnail'
  });
  $("#thumbnail").slick({
    arrows: true,
    dots: false,
    slidesToShow: 6,
    slidesToScroll: 1,
    variableWidth: false,
    asNavFor: '#main_image',
    focusOnSelect: true,
    responsive: [{
      breakpoint: 767,
      settings: {
        slidesToShow: 4,
        slidesToScroll: 1,
      }
    }]
  });
}

//製品詳細タブ動作
$("#tab_menu li").click(function () {
  var tab = $(this).data("menu");
  $tab = $("#" + tab);
  $(".tab_contents").hide();
  $tab.show();
  $("#tab_menu li").removeClass("active");
  $(this).addClass("active");
});

$("#ac_menu li").click(function () {
  var tab = $(this).data("menu");
  $tab = $("#" + tab);
  if ($(this).hasClass("active")) {
    $tab.hide();
    $(this).removeClass("active");
  } else {
    $tab.show();
    $(this).addClass("active");
  }
});

//文章省略対策
var omitMark = '…';
for (var i = 0; i < $('[data-omit]').length; i++) {
  stringSplit($('[data-omit]').eq(i));
}

function stringSplit(element) {
  var splitArr = element.text().split('');
  var joinString = '';
  for (var i = 0; i < splitArr.length; i++) {
    joinString += '<span>' + splitArr[i] + '</span>';
  }
  joinString += '<span class="omit-mark">…</span>';
  element.html(joinString);
  element.children('.omit-mark').hide();
}
for (var i = 0; i < $('[data-omit]').length; i++) {
  omitCheck($('[data-omit]').eq(i));
}
var resizeTimer = null;
$(window).on('resize', function () {
  clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function () {
    for (var i = 0; i < $('[data-omit]').length; i++) {
      omitCheck($('[data-omit]').eq(i));
    }
  }, 500);
  if ($(this).scrollTop() > 0) {
    if (document.getElementsByClassName("fixed-header") != null) {
      if (window.matchMedia("(min-width: 1024px)").matches) {
        $("#fixed-header-pc").css("top", "80px");
      } else {
        $("#fixed-header-pc").css("top", "56px");
      }
    }
  }
});

function omitCheck(element) {
  var omitLine = element.data('omit');
  var thisSpan = element.children('span');
  var lineTop = thisSpan.eq(0).offset().top;
  var lineCount = 0;
  var omitCount;
  if (omitLine <= 0) {
    return;
  }
  thisSpan.show();
  for (var i = 0; i < thisSpan.length - 1; i++) {
    if (thisSpan.eq(i).offset().top > lineTop) {
      lineTop = thisSpan.eq(i).offset().top;
      lineCount++;
    }
    if (lineCount >= omitLine) {
      omitCount = i - 2;
      break;
    }
    if (i >= thisSpan.length - 2) {
      element.children('.omit-mark').hide();
      return;
    }
  }
  for (var i = omitCount; i < thisSpan.length - 1; i++) {
    thisSpan.eq(i).hide();
  }
}

var hash = location.hash;
if (hash) {
  $('body,html').stop().scrollTop(0);
  setTimeout(function () {
    var targetHash = $(hash);
    var headerHeightHash;
    if (window.matchMedia("(max-width: 1023px)").matches) {
      headerHeightHash = $("#header_wrap").outerHeight() + $("#fixed-header-sp").outerHeight()
    } else {
      headerHeightHash = $("#header_wrap").outerHeight() + $("#fixed-header-pc").outerHeight()
    }
    var positionHash = targetHash.offset().top - headerHeightHash - 30;
    $('body,html').stop().animate({
      scrollTop: positionHash
    }, 500, 'swing');
  }, 100);
}

// クリスマス特集 2020.10.15
jQuery(function ($) {
  function slideHuck() {
    var w = $(window).width();
    var size = 768;
    if (w <= size) {
      if ($(".doRecommend-inner-area").hasClass('slick-initialized')) {
        $('.slick-initialized').slick({
          autoplay: false,
          infinite: true,
          arrows: true,
          dots: false,
          slidesToScroll: 1,
          prevArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_L.png" class="slide-arrow slick-prev">',
          nextArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_R.png" class="slide-arrow slick-next">',
          slidesToShow: 1,
        });
      } else {
        $(".doRecommend-inner-area").slick({
          autoplay: false,
          infinite: true,
          arrows: true,
          dots: false,
          slidesToScroll: 1,
          prevArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_L.png" class="slide-arrow slick-prev">',
          nextArrow: '<img src="/user_data/packages/default/img/icon/ico_arrow_R.png" class="slide-arrow slick-next">',
          slidesToShow: 1,
        });
      }
    } else {
      if ($(".doRecommend-inner-area").hasClass('slick-initialized')) {
        $('.slick-initialized').slick('unslick');
      }
    }
  }
  slideHuck();

  var resizeTimer;
  $(window).on('resize', function () {
    // PC・SPの切り替えトリガー
    clearTimeout(resizeTimer);
    resizeTimer = setTimeout(function () {
      slideHuck();
    }, 2);
  });
});

/** 
    * Popup fade out
    */
    $(window).on('load resize', function(){
        if (window.matchMedia( "(max-width: 768px)" ).matches) {
            let scrollEnd = $('#headline1').offset().top,
              distance = 0;

            // ６スクロール
            $(document).scroll(function(){
                distance = $(this).scrollTop();

                if (scrollEnd <= distance + 120) {
                    $('#popup').fadeOut();
                }
            });

            // 閉じるボタン
            $('#icon_close').on('click', function(){
                $('#popup').fadeOut();  
            });
        }
    });