$(function () {
    cmsf.bodyFadeIn();

    var $window = $(window),
        $fixed = $("#cms-pc-header"),
        defaultPositionLeft = $fixed.css("left"),
        setOffsetPosition = $fixed.offset(),
        fixedClassName = "fixed";

    $window
        .on("scroll", function () {
            if ($(this).scrollTop() > 20) {
                if ($("#cms-sp-menu").attr("headerstyle") * 1 === 2) {
                    $fixed
                        .addClass(fixedClassName)
                        .css("border-bottom", "1px solid #ccc")
                        .css("opacity", "0.8");
                } else {
                    $fixed
                        .addClass(fixedClassName)
                        .css("border-bottom", "1px solid #ccc");
                }
            } else {
                if ($fixed.hasClass(fixedClassName)) {
                    $fixed
                        .addClass(fixedClassName)
                        .css("border-bottom", "none")
                        .css("opacity", "1");
                }
            }
        })
        .trigger("scroll");

    let paramObj = {};
    paramObj.sideMenuStyleValue = "left";
    switch ($("#cms-sp-menu").attr("headerstyle")) {
        case "2":
            paramObj.sideMenuStyleValue = "top";
            paramObj.offsetPHide = "-367px";
            break;
        case "3":
        case "4":
            paramObj.sideMenuStyleValue = "top";
            paramObj.offsetPHideValue = "-1300px";
            break;
        case "5":
            paramObj.sideMenuStyleValue = "right";
            paramObj.offsetPHideValue = "-80%";
            break;
        case "6":
            paramObj.sideMenuStyleValue = "right";
            paramObj.offsetPHideValue = "-80%";
            break;

        default:
            break;
    }
    paramObj.offsetPValue = "0";
    paramObj.openCallbackFn = function () {
    };
    paramObj.closeCallbackFn = function () {
    };

    cmsf.setMobileHeader(paramObj);

    let urlArray = cmsf.urlObjectIE.path().split("/");

    if (urlArray.length >= 2) {
        switch (urlArray[1]) {
            case "":
            case "top":
                $('header li a[href="/top"]').addClass("active");
                $('footer li a[href="/top"]').addClass("active");
                $('header li a[href="/top?pagestatus=current"]').addClass("active");
                $('footer li a[href="/top?pagestatus=current"]').addClass("active");
                break;
            case "about":
                $('header li a[href="/about"]').addClass("active");
                $('footer li a[href="/about"]').addClass("active");
                $('header li a[href="/about?pagestatus=current"]').addClass("active");
                $('footer li a[href="/about?pagestatus=current"]').addClass("active");
                break;
            case "results":
                $('header li a[href="/results"]').addClass("active");
                $('footer li a[href="/results"]').addClass("active");
                $('header li a[href="/results?pagestatus=current"]').addClass("active");
                $('footer li a[href="/results?pagestatus=current"]').addClass("active");
                break;
            case "careers":
                $('header li a[href="/careers"]').addClass("active");
                $('footer li a[href="/careers"]').addClass("active");
                $('header li a[href="/careers?pagestatus=current"]').addClass("active");
                $('footer li a[href="/careers?pagestatus=current"]').addClass("active");
                // if (urlArray.length == 4) {
                //     $(".pc_header").addClass("change-color");
                //     $(".flex-row-between").addClass("change-color");
                // }
                break;
            case "contact":
                $('header li a[href="/contact"]').addClass("active");
                $('footer li a[href="/contact"]').addClass("active");
                $('header li a[href="/contact?pagestatus=current"]').addClass("active");
                $('footer li a[href="/contact?pagestatus=current"]').addClass("active");
                break;
            case "confirm":
            case "send":
                $('header li a[href="/contact"]').addClass("active");
                $('footer li a[href="/contact"]').addClass("active");
                // $(".pc_header").addClass("change-color");
                // $(".flex-row-between").addClass("change-color");

                break;
            case "privacy":
                $('footer li a[href="/privacy"]').addClass("active");
                // $(".pc_header").addClass("change-color");
                // $(".flex-row-between").addClass("change-color");
                break;
            default:
                // $(".pc_header").addClass("change-color");
                break;
        }
    }

    // 67,68セクション　スライドショー対応
    cmsf.slider = {};
    cmsf.slider.timer = '';


    cmsf.slider.showSlide = function (sectionId,targetSlide) {
        let sectionIdClass = ".slide-" + sectionId;
        let targetSlidePro = "[data-slideno='" + targetSlide + "']";

        let currentSectionSlide = $(sectionIdClass);
        let maxSlide = currentSectionSlide.length - 1;
        let targetSlideObj = $(sectionIdClass + targetSlidePro);
        let currentSlideObj = $(".slide-" + sectionId + ".slide-on");
        let currentSlide = currentSlideObj.data("slideno");
        let currentSlidePro = "[data-slideno='" + currentSlide + "']";

        currentSectionSlide.not(currentSlidePro).not(targetSlidePro).css("z-index", 0);

        if (currentSlide == targetSlide) {
            return false;
        }

        let sectionPartsId = targetSlideObj.closest(".cmsf-slider").data('sectionparts');

        if (sectionPartsId == 67) {
            currentSlideObj.css("z-index", 2);
            targetSlideObj.css("z-index", 1);
            targetSlideObj.addClass("slide-on");
            setTimeout( function() {
                currentSlideObj.removeClass("slide-on");
            }, 450);
        } else {
            currentSlideObj.css("z-index", 2);
            targetSlideObj.css("z-index", 1);
            targetSlideObj.addClass("slide-on");
            setTimeout( function() {
                currentSlideObj.removeClass("slide-on");
            }, 0);
        }
    };

    cmsf.slider.sliderRun = function (sectionId) {
        let sectionIdClass = ".slide-" + sectionId;
        let currentSectionSlide = $(sectionIdClass);
        let maxSlide = currentSectionSlide.length - 1;

        let currentSlideborder = $("#slide-pn-"+sectionId).find(".slide-border.slide-current").data("slideno");
        let targetSlideBorder = currentSlideborder + 1;

        if (currentSlideborder == maxSlide) {
            targetSlideBorder = 1;
        }

        $(".slide-border-"+sectionId).removeClass("slide-current");
        $("#slide-pn-"+sectionId).find(".slide-border[data-slideno='" + targetSlideBorder + "']").addClass("slide-current");
        cmsf.slider.showSlide(sectionId,targetSlideBorder);
    };

    cmsf.slider.sliderFN = function (daraSectionInfo) {
        const sectionId = daraSectionInfo.dataSection;
        const sectionPartsId = daraSectionInfo.dataSectionParts;

        $(".slide-border-"+sectionId).on("click", (e) => {
            let currentSlide = $("#slide-pn-"+sectionId).find(".slide-border.slide-current").data("slideno");
            let targetSlide = $(e.target).data("slideno");

            if (currentSlide == targetSlide) {
                return false;
            }

            $(".slide-border-"+sectionId).removeClass("slide-current");
            $(e.target).addClass("slide-current");
            cmsf.slider.showSlide(sectionId,targetSlide);
        });

        $(document).on("click", ".pageTitle_wrap_17 .slide-right-"+sectionId, function (e) {
            let currentElement = $(e.currentTarget);
            let currentSectionId = currentElement.data("section");
            let currentSlideObj = $(".slide-" + currentSectionId + ".slide-on");
            let currentSlide = currentSlideObj.data("slideno");

            let sectionIdClass = ".slide-" + currentSectionId;
            let currentSectionSlide = $(sectionIdClass);
            let maxSlide = currentSectionSlide.length - 1;
            // ttt(['currentSlide1',currentSlide]);

            if (currentSlide == maxSlide) {
                currentSlide = 1;
            } else {
                currentSlide++;
            }
            // ttt(['currentSlide2',currentSlide,"maxSlide",maxSlide,]);
            $(".slide-border-"+currentSectionId).removeClass("slide-current");
            $("#slide-pn-"+currentSectionId).find(".slide-border[data-slideno='" + currentSlide + "']").addClass("slide-current");
            cmsf.slider.showSlide(sectionId,currentSlide);
        });
        $(document).on("click", ".pageTitle_wrap_17 .slide-left-"+sectionId, function (e) {
            let currentElement = $(e.currentTarget);
            let currentSectionId = currentElement.data("section");
            let currentSlideObj = $(".slide-" + currentSectionId + ".slide-on");
            let currentSlide = currentSlideObj.data("slideno");

            let sectionIdClass = ".slide-" + currentSectionId;
            let currentSectionSlide = $(sectionIdClass);
            let maxSlide = currentSectionSlide.length - 1;
            // ttt(['currentSlide1',currentSlide]);

            if (currentSlide == 1) {
                currentSlide = maxSlide;
            } else {
                currentSlide--;
            }
            // ttt(['currentSlide2',currentSlide,"maxSlide",maxSlide,]);
            $(".slide-border-"+currentSectionId).removeClass("slide-current");
            $("#slide-pn-"+currentSectionId).find(".slide-border[data-slideno='" + currentSlide + "']").addClass("slide-current");
            cmsf.slider.showSlide(sectionId,currentSlide);
        });

        cmsf.slider.timer = setInterval(function() {cmsf.slider.sliderRun(sectionId);},4500);
    };

    cmsf.slider.init = function () {
        let sectionArray = [];
        $(".cmsf-slider").each((index, el) => {
            let daraSectionInfo = {};
            daraSectionInfo.dataSection = $(el).data("section");
            daraSectionInfo.dataSectionParts = $(el).data("sectionparts");
            sectionArray.push(daraSectionInfo);
        });

        if (!sectionArray) return;

        sectionArray.forEach((daraSectionInfo) => {
            cmsf.slider.sliderFN(daraSectionInfo);
        });
    };

    cmsf.slider.init();

    cmsf.slider.showsliderModal = function (sectionId, sectionPartsId) {
        let sectionIdClass = ".slide-" + sectionId;
        let currentSectionSlide = $(sectionIdClass);
        let maxSlide = currentSectionSlide.length - 1;

        currentSectionSlide.each((index, el) => {
            if(index == 0) {return true;}
            const imgObj = $(el).find("img");
            const partsId = $(el).find(".section_images_slider").data("sectionparts");

            let editArea = '';
            editArea += '<div class="slide_info">';
            editArea += '    <div class="number">' + index + '.</div>';
            editArea += '    <div class="slide_change">';
            editArea += '        <img src="/img/admin/modal_image/edit.png" alt="edit" class="logo">';
            editArea += '        <span>画像変更</span>';
            editArea += '    </div>';
            editArea += '    <div class="slide_delete">';
            editArea += '    <img src="/img/admin/modal_image/delete.png" alt="delete" class="logo">';
            editArea += '        <span>削除</span>';
            editArea += '    </div>';
            editArea += '</div>';
            let slideWrapper = '';
            slideWrapper += '<div class="box_wrapper" data-section="' + sectionId + '" data-sectionparts="' + partsId + '" data-partstype="image_path' + index + '" data-col="' + index + '">';
            slideWrapper += '<img src="' + imgObj.attr("src") + '" class="slide_pic">';
            slideWrapper += editArea;
            slideWrapper += '</div><!-- .box_wrapper -->';

            $(".cms-img-slider-modal .slide_pic_wrapper").append(slideWrapper);
        });

        setTimeout( function() {
            cmsf.slider.checksliderCount(sectionId);
            $(".cms-img-slider-modal").show();
        }, 0);
    }

    // モーダル操作後
    cmsf.slider.refreshSliderModal = function (sectionId, pageSlug) {
        if (sectionId === undefined || pageSlug === undefined) {
            return false;
        }

        $.ajax({
            headers: {
                "X-CSRF-TOKEN": cmsf.csrftoken,
            },
            url: "/admin/homepage/getSliderSection",
            type: "GET",
            data: { _method: "GET", sectionId: sectionId, pageSlug: pageSlug},
            async: false,
            dataType: "json",
        }).done(function (data) {
            if (data) {
                let imagesData = data.section_data;
                let partsId = data.section_parts_id;
                let sectionId = data.section_id;
                let imageCount = 0;

                $(".cms-img-slider-modal .slide_pic_wrapper").html('');

                for (let index = 1; index < 5; index++) {
                    if (imagesData["image_path" + index] != '') {
                        imageCount++;

                        let editArea = '';
                        editArea += '<div class="slide_info">';
                        editArea += '    <div class="number">' + index + '.</div>';
                        editArea += '    <div class="slide_change">';
                        editArea += '        <img src="/img/admin/modal_image/edit.png" alt="edit" class="logo">';
                        editArea += '        <span>画像変更</span>';
                        editArea += '    </div>';
                        editArea += '    <div class="slide_delete">';
                        editArea += '    <img src="/img/admin/modal_image/delete.png" alt="delete" class="logo">';
                        editArea += '        <span>削除</span>';
                        editArea += '    </div>';
                        editArea += '</div>';
                        let slideWrapper = '';
                        slideWrapper += '<div class="box_wrapper" data-section="' + sectionId + '" data-sectionparts="' + partsId + '" data-partstype="image_path' + index + '" data-col="' + index + '">';
                        slideWrapper += '<img src="' + imagesData["image_path" + index] + '" class="slide_pic">';
                        slideWrapper += editArea;
                        slideWrapper += '</div><!-- .box_wrapper -->';
                        $(".cms-img-slider-modal .slide_pic_wrapper").append(slideWrapper);
                    }
                }

                let modalobj = $(".cms-img-slider-modal");
                let sectionImageWrapCount = modalobj.find(".box_wrapper");
                let addButton = modalobj.find(".add_pic_button");

                if(imageCount == 4){
                    addButton.hide();
                } else {
                    addButton.show();
                }

                if(imageCount == 1) {
                    $(".slide_delete").css("visibility", "hidden");
                }
            }
            $(".cms-img-slider-modal").show();
        });
    }

    cmsf.slider.checksliderCount = function (sectionId) {
        if (!sectionId) {
            return false;
        }

        let imgCount = 0;
        let modalobj = $(".cms-img-slider-modal");
        let sectionImageWrapCount = modalobj.find(".box_wrapper");
        let addButton = modalobj.find(".add_pic_button");

        if (sectionImageWrapCount.length != 0) {
            sectionImageWrapCount.each((index, el) => {
                const dataSection = $(el).find("img");
                if (dataSection.length != 0) {
                    imgCount++;
                }
            });
        }

        if(imgCount == 4){
            addButton.hide();
        } else {
            addButton.show();
        }

        if(imgCount == 1) {
            $(".slide_delete").css("visibility", "hidden");
        }
    };

    // sliderモーダル画面_閉じる
    $(".cms-img-slider-modal .cms-img-modal-bg,.cms-img-slider-modal .close").on("click",
        function (e) {
            $(".cms-img-slider-modal").hide();
            $(".cms-img-slider-modal").data("target", "");
            $(".cms-img-slider-modal").data("section", "");
            $(".slide_pic_wrapper").html("");
            if (window.parent.cms.hp.editFlg == 1) {
                window.location.reload();
            }
        }
    );

    // slider画像選択モーダル画面_閉じる
    $(".cms-slider-img-modal .modal-close, .cms-slider-img-modal .cms-img-modal-bg, .cms-slider-img-modal .close").on(
        "click",
        function (e) {
            $(".cms-slider-img-modal").data("target", "");
            $(".cms-slider-img-modal").data("section", "");
            $(".cms-slider-img-modal").data("sectionparts", "");
            $(".cms-slider-img-modal").data("col", "");
            $(".cms-slider-img-modal").hide();
            $(".cms-slider-img-modal .cms-modal-default").show();
            $(".cms-img-slider-modal").show();
        }
    );

    // 画像トリミングモーダル画面_閉じる
    $('.cms-slider-trimming-modal').on('click', '.back,.close,.cms-trimming-modal-bg', function (e) {
        cmsf.clearSliderTrimmingModal();
    });

    $(document).on("click", ".cms-img-slider-modal .add_pic_button", function () {
        let parentObj = $(this).closest(".add_pic_wrapper");
        let sectionImageWrap = parentObj.find(".box_wrapper");
        let sectionId = $(sectionImageWrap[0]).data("section");
        let sectionPartsId = $(sectionImageWrap[0]).data("sectionparts");
        let col = 999;

        $(".cms-slider-img-modal").data("section", sectionId);
        $(".cms-slider-img-modal").data("sectionparts", sectionPartsId);
        $(".cms-slider-img-modal").data("col", col);
        $(".cms-slider-img-modal").data("target", "block-img-slider-" + sectionPartsId);

        $(".cms-img-slider-modal").hide(0, function() {
            $(".cms-slider-img-modal .cms-modal-default").hide();
            $(".cms-slider-img-modal").show(0, cmsf.getSliderImages());
        });
    });

    $(document).on("click", ".cms-img-slider-modal .slide_change", function () {
        let parentObj = $(this).closest(".box_wrapper");
        let sectionId = parentObj.data("section");
        let sectionPartsId = parentObj.data("sectionparts");
        let col = parentObj.data("col");

        $(".cms-slider-img-modal").data("section", sectionId);
        $(".cms-slider-img-modal").data("sectionparts", sectionPartsId);
        $(".cms-slider-img-modal").data("col", col);
        $(".cms-slider-img-modal").data("target", "block-img-slider-" + sectionPartsId);

        $(".cms-img-slider-modal").hide(0, function() {
            $(".cms-slider-img-modal").show(0, cmsf.getSliderImages());
        });
    });

    $(document).on("click", ".cms-img-slider-modal .slide_delete", function () {
        let parentObj = $(this).closest(".box_wrapper");
        let sectionId = parentObj.data("section");
        let sectionPartsId = parentObj.data("sectionparts");
        let col = parentObj.data("col");

        let inputData = {};
        inputData["image_path" + col] = "";

        let saveBlockObj = {};
        saveBlockObj.sectionId = sectionId;
        saveBlockObj.sectionPartsId = sectionPartsId;
        saveBlockObj.sectionPartsType = "json";
        saveBlockObj.sectionContent = inputData;

        cmsf.saveBlock(saveBlockObj).done(function (data) {
            window.parent.cms.hp.editFlgOn();
            cmsf.slider.refreshSliderModal($(".cms-img-slider-modal").data("section"), window.parent.cms.hp.slug);
        });
    });

    $(document).on("click", ".cmsf-f-slider-img", function (e) {
        let obj = $(e.target);
        let sectionId = obj.data("section");
        let sectionPartsId = obj.data("sectionparts");
        $(".cms-img-slider-modal").data("target", "block-img-slider-" + sectionPartsId);
        $(".cms-img-slider-modal").data("section", sectionId);
        $(".cms-img-slider-modal").data("sectionparts", sectionPartsId);
        setTimeout( function() {
            cmsf.slider.showsliderModal(sectionId,sectionPartsId);
        }, 0);
    });
});
