
/****************************************************************************
 * 전후사진 상세 조회
 ****************************************************************************/
function fn_selectWebPhotoPetit() {
    if (true != fn_emptyCheck(muWebPhotoPetitId)) {
        modalEvent.warning("수정", "이벤트 정보가 없습니다.");
        return;
    }
    let formData = new FormData();
    formData.append("menuClass", menuClass);
    formData.append("muWebPhotoPetitId", muWebPhotoPetitId);
    formData.append("categoryno", categoryno);

    $.ajax({
        url: encodeURI('/webphotopetit/selectWebPhotoPetit.do'),
        data: formData,
        dataType: "json",
        processData: false,
        contentType: false,
        type: 'POST',
        async: true,
        success: function (data) {
            if ('0' == data.msgCode) {
                if (data.rows && data.rows.length > 0) {
                    let photoData = data.rows[0];
                    $("select[name=categorylist]").val(photoData.categoryno).prop("selected", true);
                    $("#title").val(photoData.title);
                    $("#content").val(photoData.content);
                    $("#hashtag").val(photoData.hashtag);
                    // Before/After 이미지 미리보기
                    if (photoData.beforefile) {
                        $('#before_img_box').html('<img src="' + CDN_URL + photoData.beforefile + '" style="width: 100%; height: 100%; object-fit: cover; display: block;">');
                    }
                    if (photoData.afterfile) {
                        $('#after_img_box').html('<img src="' + CDN_URL + photoData.afterfile + '" style="width: 100%; height: 100%; object-fit: cover; display: block;">');
                    }
                } else {
                    modalEvent.warning("수정", "조회된 전후사진 데이터가 없습니다.");
                }
            } else {
                alert("수정 오류: " + data.msgDesc);
            }
        },
        error: function (xhr, status, error) {
            alert("수정 오류: 수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
        }
    });
}

/****************************************************************************
 * 전후사진 수정
 ****************************************************************************/
function fn_updateWebPhotoPetit() {
    if ("Y" != updateUseYn) {
        modalEvent.warning("", "수정 권한이 없습니다.");
        return false;
    }
    let title = $("#title").val();
    let content = $("#content").val();
    let hashtag = $("#hashtag").val();
    let categoryNo = $("select[name=categorylist]").val();
    let beforeFile = $("#before_file")[0].files[0];
    let afterFile = $("#after_file")[0].files[0];

    if (true != fn_emptyCheck(categoryNo)) {
        modalEvent.warning("수정", "카테고리를 입력하세요.");
        return;
    }
    if (true != fn_emptyCheck(title)) {
        modalEvent.warning("수정", "제목을 입력하세요.");
        return;
    }
    if (true != fn_emptyCheck(content)) {
        modalEvent.warning("수정", "내용을 입력하세요.");
        return;
    }
    if (true != fn_emptyCheck(hashtag)) {
        modalEvent.warning("수정", "해시태그를 입력하세요.");
        return;
    }
    if (!beforeFile && $("#before_img_box img").length === 0) {
        modalEvent.warning("수정", "Before 사진을 첨부하세요.");
        return;
    }
    if (!afterFile && $("#after_img_box img").length === 0) {
        modalEvent.warning("수정", "After 사진을 첨부하세요.");
        return;
    }

    modalEvent.info("수정", "전후사진(쁘띠) 정보를 수정하시겠습니까?", function () {
        let formData = new FormData();
        formData.append("menuClass", menuClass);
        formData.append("categoryNo", categoryNo);
        // 기존 카테고리 번호도 같이 전송
        if (originalCategoryNo) formData.append("originalCategoryNo", originalCategoryNo);
        formData.append("title", title);
        formData.append("content", content);
        formData.append("hashtag", hashtag);
        formData.append("muWebPhotoPetitId", muWebPhotoPetitId);
        if (beforeFile) formData.append("beforeFile", beforeFile);
        if (afterFile) formData.append("afterFile", afterFile);

        $.ajax({
            url: encodeURI('/webphotopetit/updateWebPhotoPetit.do'),
            data: formData,
            dataType: "json",
            processData: false,
            contentType: false,
            type: 'POST',
            async: true,
            success: function (data) {
                if ('0' == data.msgCode) {
                    modalEvent.success("수정 성공", data.msgDesc, function () {
                        fn_selectListWebPhotoPetitIntro();
                    });
                }
                else {
                    modalEvent.danger("수정 오류", data.msgDesc);
                }
            },
            error: function (xhr, status, error) {
                modalEvent.danger("수정 오류", "수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
            }
        });
    });
}

/****************************************************************************
 * Before/After 이미지 미리보기 및 삭제
 ****************************************************************************/
function fn_beforeFilePreview() {
    const file = $("#before_file")[0].files[0];
    if (file) {
        $('#before_img_box').html('');
        const reader = new FileReader();
        reader.onload = function (e) {
            const img = document.createElement('img');
            img.src = e.target.result;
            img.style.width = '100%';
            img.style.height = '100%';
            img.style.objectFit = 'cover';
            img.style.display = 'block';
            $('#before_img_box').append(img);
        };
        reader.readAsDataURL(file);
    }
}
function fn_removeBeforePreview() {
    $("#before_file").val('');
    $('#before_img_box').html('');
}
function fn_afterFilePreview() {
    const file = $("#after_file")[0].files[0];
    if (file) {
        $('#after_img_box').html('');
        const reader = new FileReader();
        reader.onload = function (e) {
            const img = document.createElement('img');
            img.src = e.target.result;
            img.style.width = '100%';
            img.style.height = '100%';
            img.style.objectFit = 'cover';
            img.style.display = 'block';
            $('#after_img_box').append(img);
        };
        reader.readAsDataURL(file);
    }
}
function fn_removeAfterPreview() {
    $("#after_file").val('');
    $('#after_img_box').html('');
}

/****************************************************************************
 * 리스트 화면으로 이동
 ****************************************************************************/
function fn_selectListWebPhotoPetitIntro() {
    if ("Y" == selectUseYn) {
        let pagingParam = "?menuClass=" + menuClass;
        fn_leftFormAction("/webphotopetit/selectListWebPhotoPetitIntro.do" + pagingParam);
    } else {
        modalEvent.warning("", "조회 권한이 없습니다.");
        return false;
    }
}

/****************************************************************************
 * 페이지 init
 ****************************************************************************/
function fn_pageInit() {
    fn_selectWebPhotoPetit();
}

/****************************************************************************
 * 페이지 event
 ****************************************************************************/
function fn_pageEvent() {
    $('.btnCancle').on("click", function () {
        fn_selectListWebPhotoPetitIntro();
    });
    $('.btnSave').on("click", function () {
        fn_updateWebPhotoPetit();
    });
    $('#before_delete_btn').on("click", function () {
        fn_removeBeforePreview();
    });
    $('#before_file').on('change', function (e) {
        fn_beforeFilePreview();
    });
    $('#after_delete_btn').on("click", function () {
        fn_removeAfterPreview();
    });
    $('#after_file').on('change', function (e) {
        fn_afterFilePreview();
    });
}

$(function () {
    fn_pageInit();
    fn_pageEvent();
});