// Global ----------------------------------------
const windowWidth = $(window).width(),
	  windowSm = 768, // ブレイクポイント
	  mql = window.matchMedia('(min-width:'+ windowSm +'px)');


// 電話番号 ----------------------------------------
if (navigator.userAgent.match(/(iPhone|iPad|Android|Mobile)/)) {
	$('.js-tel').each(function() {
		const str = $(this).html();
		if ($(this).children().is('img')) {
			$(this).html($('<a>').attr('href', 'tel:' + $(this).children().attr('alt').replace(/-/g, '')).append(str + '</a>'));
		} else {
			$(this).html($('<a>').attr('href', 'tel:' + $(this).text().replace(/-/g, '')).append(str + '</a>'));
		}
	});
}

// Gナビ ----------------------------------------
$(function() {
	const gNav = $('#global_nav'),
		spModal = $('.js-sp_modal'),
		spBtn = gNav.children('.js-sp_btn'),
		spMenu = gNav.children('.js-sp_box');
	const spReset = function (){
		$('html, body').removeClass('spnav_modal');
		spModal.removeClass('is_overlay');
		spBtn.removeClass('close');
		spMenu.removeClass('is_open');
	};
	spBtn.on('click', function(){
		$('html, body').toggleClass('spnav_modal');
		spModal.toggleClass('is_overlay');
		$(this).toggleClass('close').next(spMenu).toggleClass('is_open');
		if (!$(this).hasClass('close')) {
			spReset();
		}
		return false;
	});
	spModal.on('click', function(){
		if ($('html, body').hasClass('spnav_modal')) {
			spReset();
		}
	});
	const respNav = function respNav(event) {
		if (event.matches) {
			spReset();
		}
	};
	mql.addEventListener('change', respNav, false);
	respNav(mql);
});


// PC　スティッキーヘッダー ----------------------------------------
$(function() {
	const respHead = function respHead(event) {
		if (event.matches) {
			const s_sticker = $('.js-pc_sticky'),
				s_head = $('.header_wrap'),
				s_stickerHeight = s_sticker.outerHeight(),
				s_stickerPos = s_sticker.offset().top;
			$(window).on('load scroll', function() {
				if ( $(this).scrollTop() > s_stickerPos ) {
					s_sticker.addClass('is_sticky');
					s_head.css('margin-bottom', s_stickerHeight);
				} else {
					s_sticker.removeClass('is_sticky');
					s_head.css('margin-bottom', '');
				}
			});
		}
	};
	mql.addEventListener('change', respHead, false);
	respHead(mql);
});


// フッターパーツ（ SP固定 / ページTOPボタン ） ----------------------------------------

$(function() {
	const spFooter = $('.js-footfit'),
		  btnPageTop = $('.js-pageup'),
			floatBar = $('.js-floating'),
			headerHeight = $('#global_header').height();
	btnPageTop.click(function () {
		$('html, body').animate({ scrollTop: 0 }, 500, 'swing');
		return false;
	});
	$(window).on('load scroll', function() {
		if ($(this).scrollTop() > headerHeight) {
			floatBar.addClass('is_fixed');
			spFooter.addClass('is_active');
			btnPageTop.addClass('is_active');
		} else {
			floatBar.removeClass('is_fixed');
			spFooter.removeClass('is_active');
			btnPageTop.removeClass('is_active');
		}
	});
});