$(function(){


/* header nav
---------------------------------------------------------------------- */
$(".header_nav_button a").click(function(){
    $("#search_nav_menu").toggleClass("open");
    $("html").toggleClass("on-modal");
    return false;
});
$(".search_nav_menu_cont").click(function(){
  if($("html").hasClass("on-modal")){
    $("#search_nav_menu").removeClass("open");
    $("html").removeClass("on-modal");
  }
});
$(window).on("scroll", function () {
  mvHeight = $("#global_header").height();
  if ($(window).scrollTop() > mvHeight) {
    $("#global_header_search_nav").addClass("fixed");
  } else {
    $("#global_header_search_nav").removeClass("fixed");
  }
});


/* url Hash
---------------------------------------------------------------------- */
var urlHash = location.hash;
if(urlHash) {
  $('body,html').stop().scrollTop(0);
  setTimeout(function () {
    scrollToAnker(urlHash) ;
  }, 100);
}
$('a[href^="#"][class="url_hash"]').click(function() {
  var href= $(this).attr("href");
  var hash = href == "#" || href == "" ? 'html' : href;
  scrollToAnker(hash);
  return false;
});
function scrollToAnker(hash) {
  var target = $(hash);
  var position = target.offset().top;
  $('body,html').stop().animate({scrollTop:position}, 500);
};


/* detail contents accordion area
---------------------------------------------------------------------- */
$(".accordion_area .detail_title").click(function(){
  $(this).next('div').slideToggle(300);
  $(this).toggleClass("open");
});


/* parameters button
---------------------------------------------------------------------- */
$(".searchform_result_parameters_button").click(function(){
  $(".searchform_sidebar").fadeIn(300);
    $("html").toggleClass("on-modal");
});
$(".searchform_sidebar_nav_button").click(function(){
  $(".searchform_sidebar").fadeOut(300);
    $("html").removeClass("on-modal");
});


/* slider gallery button
---------------------------------------------------------------------- */
var photo_gallery = $(".photo_gallery");

$('#contents_single .entry_single_img figcaption').click(function(){
  photo_gallery.show();
  var currentSlide = $('.slider-for').slick('slickCurrentSlide');
  $('.slider-gallery-for').slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    arrows: true,
    fade: true,
    dots: false,
    adaptiveHeight: true,
    asNavFor: '.slider-gallery-nav'
  }).slick('slickGoTo',currentSlide);
  $('.slider-gallery-nav').slick({
    slidesToShow: 5,
    slidesToScroll: 1,
    asNavFor: '.slider-gallery-for',
    dots: false,
    centerMode: false,
    focusOnSelect: true,
    responsive: [
      {
        breakpoint: 768,
        settings: {
          slidesToShow: 12,
        }
      }
    ]
  }).slick('slickGoTo',currentSlide);

  setTimeout(function(){
    photo_gallery.animate({opacity: 1}, 600, 'easeInQuad');
  }, 300)
  $("html").toggleClass("on-modal");
});

$(".photo_gallery_nav_button").click(function(){
  photo_gallery.fadeOut(300,function(){
    photo_gallery.css('opacity', 0);
  });
  $('.slider-gallery-for').slick('destroy');  
  $('.slider-gallery-nav').slick('destroy');
  $("html").removeClass("on-modal");
});
$(".thumb_button").click(function(){
  var thumb_nam = $(this).attr('date-index');
  $('.slider-gallery-for').slick('slickGoTo',thumb_nam);
  $('.slider-gallery-nav').slick('slickGoTo',thumb_nam);
});


/* fadein
---------------------------------------------------------------------- */
$(window).on('load scroll', function(){
  fadein();
});
function fadein(){
  $('.fadein').each(function(){
    var elemPos = $(this).offset().top;
    var scroll = $(window).scrollTop();
    var wh = $(window).height();
    if (scroll > elemPos - wh + 100){
      $(this).addClass('scrollin');
    }else{
      $(this).removeClass("scrollin");
    }
  });
};


/* to top
---------------------------------------------------------------------- */
  var topBtn = $('.back_to_top');
  topBtn.click(function () {
    $('body,html').animate({
      scrollTop: 0
    }, 500);
    return false;
  });


/* slider
---------------------------------------------------------------------- */
var entry_slider = $('.entry_contents .slider-for');
if(entry_slider.length > 0){
  entry_slider.slick({
    slidesToShow: 1,
    slidesToScroll: 1,
    arrows: true,
    fade: true,
    dots: false,
    asNavFor: '.slider-nav'
  }).on('beforeChange', function(event, slick, currentSlide, nextSlide){
//     console.log(currentSlide,nextSlide);
    });
  $('.entry_single_detail .slider-nav').slick({
    slidesToShow: 3,
    slidesToScroll: 1,
    asNavFor: '.slider-for',
    dots: false,
    centerMode: false,
    focusOnSelect: true
  });
  $('.entry_single_img_wrap .slider-nav').slick({
    slidesToShow: 6,
    slidesToScroll: 1,
    asNavFor: '.slider-for',
    dots: false,
    centerMode: false,
    focusOnSelect: true
  });
};


/* modal
---------------------------------------------------------------------- */
var disclosureID;
var modalBody = $('.modal');
var modalCont = $('.modal_cont');

$('.detail_recommend a[href$="#"], .detail_recommend a[href$=".jpg"], .detail_recommend a[href$=".JPG"], .detail_recommend a[href$=".jpeg"], .detail_recommend a[href$=".JPEG"], .detail_recommend a[href$=".png"], .detail_recommend a[href$=".PNG"]').click(function(){
  var html = $(this).html();
  if( modalCont.hasClass('active') ){
    modalCont.removeClass('active');
  }
  modalCont.find('.detail_recommend_cont').html(html);
  modalBody.fadeIn();
  modalCont.addClass('active');
  return false;
});

var modalBodySingle = $('.modal.single_modal');
var modalContSingle = $('.modal.single_modal .modal_cont');
var disclosureCont = $('.disclosure_cont');

$(document).on('click', '.show_disclosure', function() {
  if( modalContSingle.hasClass('active') ){
    modalContSingle.removeClass('active');
  }
  if( disclosureCont.hasClass('current') ){
    disclosureCont.removeClass('current');
  }
  disclosureID = $(this).attr('data-disclosure-path');
  $('#' + disclosureID).addClass('current');

  var htmls = $('#' + disclosureID).clone();
  htmls.addClass('current');
  console.log(htmls);
  $('.modal.single_modal .modal_cont .disclosure_cont').html(htmls);

  modalBodySingle.fadeIn();
  modalContSingle.addClass('active');
  return false;
});

var modalBodyFront = $('.modal.front_modal');
var modalContFront = $('.modal.front_modal .modal_cont');

$(document).on('click', '.toppage .show_disclosure', function() {
  if( modalContFront.hasClass('active') ){
    modalContFront.removeClass('active');
  }
  if( disclosureCont.hasClass('current') ){
    disclosureCont.removeClass('current');
  }
  disclosureID = $(this).attr('data-disclosure-path');
  $('#' + disclosureID).addClass('current');
  modalBodyFront.fadeIn();
  modalContFront.addClass('active');
  return false;
});


$('.modal_close').click(function(){
  modalCont.removeClass('active');
  modalBody.fadeOut();
  $('#' + disclosureID).removeClass('current');
  return false;
});

$(window).on('scroll', function(){
  if( modalCont.hasClass('active') ){
    modalCont.removeClass('active');
    modalBody.fadeOut();
    disclosureCont.removeClass('current');
  }
});



/* #dealer slider toppage
---------------------------------------------------------------------- */
var menu_oppen_flag = false;

$("#dealer .header_nav_button a").click(function(){
  $("#global_header").toggleClass("open");
  if(menu_oppen_flag){
    $(".search_nav_box").removeClass("contact_open");
    $(".search_nav_box").removeClass("testdrive_search_open");
    $(".search_nav_box").removeClass("preowned_search_open");
    $(".search_nav_box").removeClass("model_lineup_open");
    menu_oppen_flag = false;
  }else{
    menu_oppen_flag = true;
  };
  return false;
});

var dropdown_open_flag_testdrive = false,
    dropdown_open_flag_contact = false,
    dropdown_open_flag_preowned = false,
    dropdown_open_flag_model_lineup = false;

$("#dealer .nav_contact a").click(function(){
  $(this).parents(".search_nav_box").removeClass().addClass("search_nav_box");
  $(this).parents(".search_nav_box").addClass("contact_open");
  if ($(this).parents(".search_nav_box").hasClass("contact_open") && dropdown_open_flag_contact) {
    $("#global_header #search_nav_menu").removeClass("contact_open");
    dropdown_open_flag_contact = false;
  }
  else
    dropdown_open_flag_contact = true;
  return false;
});
$("#dealer .contact_nav_menu a").click(function(){
  $(".search_nav_box").removeClass("contact_open");
});

$("#dealer .nav_testdrive_search a").click(function(){
  $(this).parents(".search_nav_box").removeClass().addClass("search_nav_box");
  $(this).parents(".search_nav_box").addClass("testdrive_search_open");
  if ($(this).parents(".search_nav_box").hasClass("testdrive_search_open") && dropdown_open_flag_testdrive) {
    $("#global_header #search_nav_menu").removeClass("testdrive_search_open");
    dropdown_open_flag_testdrive = false;
  }
  else
    dropdown_open_flag_testdrive = true;
  return false;
});
$("#dealer .testdrive_search_nav_menu a").click(function(){
  $(".search_nav_box").removeClass("testdrive_search_open");
});

$("#dealer .nav_preowned_search a").click(function(){
  $(this).parents(".search_nav_box").removeClass().addClass("search_nav_box");
  $(this).parents(".search_nav_box").addClass("preowned_search_open");
  if ($(this).parents(".search_nav_box").hasClass("preowned_search_open") && dropdown_open_flag_preowned) {
    $("#global_header #search_nav_menu").removeClass("preowned_search_open");
    dropdown_open_flag_preowned = false;
  }
  else
    dropdown_open_flag_preowned = true;
  return false;
});
$("#dealer .preowned_search_nav_menu a").click(function(){
  $(".search_nav_box").removeClass("preowned_search_open");
});

$("#dealer .nav_model_lineup a").click(function(){
  $(this).parents(".search_nav_box").removeClass().addClass("search_nav_box");
  $(this).parents(".search_nav_box").addClass("model_lineup_open");
  if ($(this).parents(".search_nav_box").hasClass("model_lineup_open") && dropdown_open_flag_model_lineup) {
    $("#global_header #search_nav_menu").removeClass("model_lineup_open");
    dropdown_open_flag_model_lineup = false;
  }
  else
    dropdown_open_flag_model_lineup = true;
    return false;
});
$("#dealer .model_lineup_nav_menu a").click(function(){
  $(".search_nav_box").removeClass("model_lineup_open");
});


/* dealer header title
---------------------------------------------------------------------- */
$(window).on('load', function(){
  let w = $(window).width();
    var h1 = $("#dealer #branch_name").html();
    if(String(h1).indexOf('／') > 0){
    var h1_result = h1.replace("／", "／<br>");
    $("#dealer #branch_name").html(h1_result);
  }
});


/* #dealer footer SP slide down menu 
---------------------------------------------------------------------- */
$("#dealer .display_sp").find("li dd").hide();
$("#dealer .display_sp dt").click(function() {
    $(this).toggleClass("open");
    $(this).siblings("dd").slideToggle();
  }
);


/* blog newws 検索ワードの全角スペースを半角スペースに変換
---------------------------------------------------------------------- */
$("input.seartch_txt").change(function(){
  var str = $(this).val();
  $(this).val(str.replace(/[ 　]+/g, ' ').trim());
});


/* 試乗予約フォームの車種選択でパラメータを設定
---------------------------------------------------------------------- */
function setBrandParam() {
  var sel = $("select#catalog_mname");
  if (sel.length == 0) return;
  var val = sel.val();
  var brand = val && val.endsWith('123') ? 'chevrolet' : 'cadillac';
  var form = document.forms[0];
  var url = new URL(form.action);
  var params = new URLSearchParams(url.search);
  params.set('brand', brand);
  url.search = params.toString();
  form.action = url.toString();
}
setBrandParam();
$("select#catalog_mname").change(setBrandParam);


});


