/****************************************************************************
 * 콘텐츠 등록
 ****************************************************************************/
function fn_insertAppContents(){
    if("Y"!=insertUseYn){
        modalEvent.warning("", "등록 권한이 없습니다.");
        return false;
    }

    let title          = $("#title").val();
    let content        = $("#content").val();
    let detail         = $("#summernote").summernote('code');
    let categoryCode   = $("#appContentCategoryCode").val();
    let categoryName   = $("#appContentCategoryCode").siblings('button').text();
    let file           = $("#file")[0].files[0];
    let file2          = $("#file2")[0].files[0];

    if(true != fn_emptyCheck(title)) {
        modalEvent.warning("등록", "시술정보 제목을 입력하세요.");
        return;
    }else{
        if(true != fn_lengthCheck(title, 20)) {
            modalEvent.warning("등록", "시술정보 정보는 20자를 넘을 수 없습니다.");
            return;
        }
    }

    if(true != fn_emptyCheck(content)) {
        modalEvent.warning("등록", "시술정보 내용을 입력하세요.");
        return;
    }else{
        if(true != fn_lengthCheck(content, 50)) {
            modalEvent.warning("등록", "시술정보 내용은 50자를 넘을 수 없습니다.");
            return;
        }
    }
    if(true != fn_emptyCheck(detail)) {
        modalEvent.warning("등록", "콘텐츠 상세를 입력하세요.");
        return;
    }

    if(true != fn_emptyCheck(categoryName)) {
        modalEvent.warning("등록", "콘텐츠 카테고리를 선택하세요.");
        return;
    }

    if(true != fn_emptyCheck(categoryCode)) {
        modalEvent.warning("등록", "콘텐츠 카테고리를 선택하세요.");
        return;
    }

    if(true != fn_emptyCheck(file)) {
        modalEvent.warning("등록", "섬네일 정보가 없습니다.");
        return;
    }

    if(true != fn_emptyCheck(file2)) {
        modalEvent.warning("등록", "섬네일2 정보가 없습니다.");
        return;
    }

    modalEvent.info("등록", "콘텐츠 정보를 등록하시겠습니까?", function(){
        let formData = new FormData();
        formData.append("menuClass", menuClass);
        formData.append("title", title);
        formData.append("content", content);
        formData.append("detail", detail);
        formData.append("categoryName", categoryName);
        formData.append("categoryCode", categoryCode);
        formData.append("file", file);
        formData.append("file2", file2);

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

            },
            complete:function(){

            }
        });
    });
}

/****************************************************************************
 * html 에디터 이미지 업로드시
 ****************************************************************************/
function uploadSummernoteImageFileNoticeInsert(files, editor){
    Object.values(files).forEach(file => {
        let formData = new FormData();
        formData.append('menuClass', menuClass);
        formData.append('file', file);
        $.ajax({
            url: encodeURI('/webappcontents/uploadFile.do'),
            data: formData,
            dataType: "json",
            processData: false,
            contentType: false,
            type: 'POST',
            async: true,
            success: function (data) {
                if ('0' == data.msgCode) {
                    $(editor).summernote('insertImage', data.rows.filePath, function ($image) {
                    });
                }
            },
            error: function (xhr, status, error) {
                modalEvent.danger('오류', '이미지 업로드 중 오류가 발생했습니다.');
            },
            beforeSend: function () {
                // 로딩열기
                $(".loading-image-layer").show();
            },
            complete: function () {
                // 로딩닫기
                $(".loading-image-layer").hide();
            }
        });
    })
}

/****************************************************************************
 * 섬네일 이미지 미리보기
 ****************************************************************************/
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(){
    $("#file").val('');
    $('.img_box').eq(0).html('');
}

/****************************************************************************
 * 섬네일 이미지 미리보기2
 ****************************************************************************/
function fn_filePreview2(){
   const file =  $("#file2")[0].files[0];
   if(file){
       $('.img_box').eq(1).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 = '170px';
           $('.img_box').eq(1).append(img);
       };

       // 파일을 읽기 시작
       reader.readAsDataURL(file);
   }
}
/****************************************************************************
 * 섬네일 이미지 삭제
 ****************************************************************************/
function fn_removePreview2(){
    $("#file2").val('');
    $('.img_box').eq(1).html('');
}

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

/****************************************************************************
 * 페이지 init
 ****************************************************************************/
function fn_pageInit(){
    // 날짜 datepicker
    fn_searchDatePicker("#eventStartDate", "#eventEndDate");

    $('#summernote').summernote({
        height: 540,
        callbacks: {	//여기 부분이 이미지를 첨부하는 부분
            onImageUpload : function(files) {
                uploadSummernoteImageFileNoticeInsert(files, this);
            }
        },
    });
}

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

    $('.btnSave').on("click", function(){
        fn_insertAppContents();
    });
    $('#delete_btn').on("click", function(){
        fn_removePreview();
    });
    $('#file').on('change', function(e) {
        fn_filePreview();
    })
    $('#delete_btn2').on("click", function(){
        fn_removePreview2();
    });
    $('#file2').on('change', function(e) {
        fn_filePreview2();
    })
    // 카테고리 선택 콤보 이벤트
    const categoryTarget = $("#appContentCategoryCode").siblings("ul.select_option_list");
    categoryTarget.find("li.option_list_item").click(function () {
        let selectIdArr = $(this).prop("id").split('_');
        let selectId    = selectIdArr[1];
        let selectName  = $(this).text();
        if(selectId.match("ALL")){
            selectId = '';
        }
        $(this).parent().siblings("button").text(selectName);
        $(this).parent().siblings("input").val(selectId);
    });
}

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

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