//섬네일이미지 파일 변경 상태
let isFileModified = false;  // 파일이 수정되었는지 여부
let isFileDeleted = false;   // 파일이 삭제되었는지 여부

/****************************************************************************
 * 팝업 조회
 ****************************************************************************/
function fn_selectWebPopup(){
    if(true != fn_emptyCheck(muWebPopupId)) {
        modalEvent.warning("수정", "팝업 정보가 없습니다.");
        return;
    }
    let formData = new FormData();
    formData.append("menuClass", menuClass);
    formData.append("muWebPopupId", muWebPopupId);

    $.ajax({
        url: encodeURI('/webpopup/selectWebPopup.do'),
        data: formData,
        dataType: "json",
        processData: false,
        contentType: false,
        type: 'POST',
        async: true,
        success: function(data){
            if('0'==data.msgCode){
                let contentData = data.rows[0];
                let url = contentData.filePath.replace("C:", "");

                $("#title").val(contentData.title);
                $("#url").val(contentData.url);
				$("#homepageDivCd").val(contentData.homepageDivCd);
                $('.img_box').eq(0).append(`<img width="170px" height="100px" src="` + CDN_URL + `${decodeURI(url)}">`)
            }
            else{
                modalEvent.danger("수정 오류", data.msgDesc);
            }
        },
        error : function(xhr, status, error) {
            modalEvent.danger("수정 오류", "수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
        },
        beforeSend:function(){

        },
        complete:function(){

        }
    });
}

/****************************************************************************
 * 팝업 수정
 ****************************************************************************/
function fn_updateWebPopup(){
    if("Y"!=updateUseYn){
        modalEvent.warning("", "수정 권한이 없습니다.");
        return false;
    }

    let title            = $("#title").val();
    let url              = $("#url").val();
    let file             = $("#file")[0].files[0];
	let homepageDivCd = $("#homepageDivCd").val();

    if(true != fn_emptyCheck(title)) {
        modalEvent.warning("수정", "제목을 입력하세요.");
        return;
    }

    if(true != fn_emptyCheck(url)) {
        modalEvent.warning("수정", "url을 입력하세요.");
        return;
    }
	
	if(true != fn_emptyCheck(homepageDivCd)) {
        modalEvent.warning("수정", "홈페이지를 입력하세요.");
        return;
    }

    if(isFileDeleted||isFileModified){
        if(true != fn_emptyCheck(file)) {
            modalEvent.warning("수정", "이미지 정보가 없습니다.");
            return;
        }else{
            for(let i=0; i<file.length; i++){
                let fileSize = file[i].size;
                if(fileSize > fn_maxFileSize()){
                    modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다.");

                    return;
                }
            }
        }
    }

    modalEvent.info("수정", "팝업 정보를 수정하시겠습니까?", function(){
        let formData = new FormData();
        formData.append("menuClass", menuClass);
        formData.append("muWebPopupId", muWebPopupId);
        formData.append("title", title);
        formData.append("url", url);
		formData.append("homepageDivCd", homepageDivCd);
        if(file){
            formData.append("file", file);
        }

        $.ajax({
            url: encodeURI('/webpopup/updateWebPopup.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_selectListWebPopupIntro();
                    });
                }
                else{
                    modalEvent.danger("수정 오류", data.msgDesc);
                }
            },
            error : function(xhr, status, error) {
                modalEvent.danger("수정 오류", "수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
            },
            beforeSend:function(){

            },
            complete:function(){

            }
        });
    });
}

/****************************************************************************
 * 섬네일 이미지 미리보기
 ****************************************************************************/
function fn_filePreview(){
    const file =  $("#file")[0].files[0];
    if(file){
        $('.img_box').eq(0).html('');
        const reader = new FileReader();

        reader.onload = function (e) {
            // 이미지 요소를 생성하고 미리보기 추가
            const img = document.createElement('img');
            img.src = e.target.result;
            img.style.width = '170px'; // 원하는 크기로 조정
            img.style.height = '100px';
            $('.img_box').eq(0).append(img);
        };

        // 파일을 읽기 시작
        reader.readAsDataURL(file);
    }
}

/****************************************************************************
 * 섬네일 이미지 삭제
 ****************************************************************************/
function fn_removePreview(){
    isFileDeleted = true;
    $("#file").val('');
    $('.img_box').eq(0).html('');
}

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

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

/****************************************************************************
 * 페이지 event
 ****************************************************************************/
function fn_pageEvent(){
    // 검색 input
    $('.btnCancle').on("click", function(){
        fn_selectListWebPopupIntro();
    });

    $('.btnSave').on("click", function(){
        fn_updateWebPopup();
    });
    $('#delete_btn').on("click", function(){
        fn_removePreview();
    });
    $('#file').on('change', function(e) {
        isFileModified = true;
        fn_filePreview();
    })
}

$(function(){
    // 페이지 init
    fn_pageInit();

    // 페이지 event
    fn_pageEvent();
});