/****************************************************************************
 * 이벤트 조회
 ****************************************************************************/
function fn_selectWebTreatmentPetit(){
    if(true != fn_emptyCheck(postNo)) {
        modalEvent.warning("수정", "이벤트 정보가 없습니다.");
        return;
    }
    let formData = new FormData();
    formData.append("menuClass", menuClass);
	formData.append("categoryDivCd", categoryDivCd);
	formData.append("categoryNo", categoryNo);
	formData.append("postNo", postNo);
	
    $.ajax({
        url: encodeURI('/contentsBbs/getContentsBbs.do'),
        data: formData,
        dataType: "json",
        processData: false,
        contentType: false,
        type: 'POST',
        async: true,
        success: function(rst){
			if('0'==rst.msgCode){
                let data = rst.detail;      
				$("select[name=category]").val(data.categoryNo).prop("selected", true);
				$("#categoryNo").val(data.categoryNo);
                $("#title").val(data.title);
				$("#content").val(data.content);
				$("#hashtag").val(data.hashtag);
				$("#thumbnailBottomTxt").val(data.thumbnailBottomTxt);
				$("#thumbnailImg").attr("src", CDN_URL + data.thumbnailImgPath);
				$("#contentsImg").attr("src", CDN_URL + data.contentImgPath);
				$("#oldCrmItemId").val(data.oldCrmItemId);
				$("#ordNo").val(data.ordNo);

				var htmlstring = '';
				rst.treatmentList.forEach((item, i) => {
				  htmlstring += `<div id="treatment${i}">
				    <input type="checkbox" id="${item.muTreatmentProcedureId}" name="treatment">
				    <input type="hidden" name="treatmentprocedurelist" value="${item.muTreatmentProcedureId}">
				    <input type="hidden" name="treatmentlist" value="${item.muTreatmentId}">
				    <label for="${item.muTreatmentProcedureId}">${item.treatmentProcedureName} - ${num2won(item.price)} - ${num2won(item.discountPrice)}</label>
				  </div>`;
				});
				
				$('#treatmentlist').append(htmlstring);
            }
            else{
                modalEvent.danger("수정 오류", eventData.msgDesc);
            }
        },
        error : function(xhr, status, error) {
            modalEvent.danger("수정 오류", "수정 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
        },
        beforeSend:function(){

        },
        complete:function(){

        }
    });
}

function num2won(x){
	if (typeof x === 'undefined' || x === null) return '';
	return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}


/****************************************************************************
 * 이벤트 수정
 ****************************************************************************/
function fn_updateWebTreatmentPetit(){
	if("Y"!=insertUseYn){
	        modalEvent.warning("", "등록 권한이 없습니다.");
	        return false;
	    }

	    let title          = $("#title").val();
	    let content         = $("#content").val();
		let hashtag         = $("#hashtag").val();
		let thumbnailBottomTxt = $("#thumbnailBottomTxt").val();
		let categoryNo = $("#categoryNo").val();
		
		var treatmentlen = $("input[name=treatmentlist]").length;
		var treatmentlist = new Array(treatmentlen);
		for(var i=0; i<treatmentlen; i++){                          
			treatmentlist[i] = $("input[name=treatmentlist]").eq(i).val();        
		}
		
		var treatmentprocedurelen = $("input[name=treatmentprocedurelist]").length;
		var treatmentprocedurelist = new Array(treatmentlen);
		for(var i=0; i<treatmentprocedurelen; i++){                          
			treatmentprocedurelist[i] = $("input[name=treatmentprocedurelist]").eq(i).val();        
		}
		
	    //let eventStartDate  = $("#eventStartDate").val();
	    //let eventEndDate       = $("#eventEndDate").val();
	    let file            = $("#file")[0].files[0];
		let content_file            = $("#content_file")[0].files[0];

		if(true != fn_emptyCheck(categoryNo)) {
	        modalEvent.warning("등록", "카테고리를 입력하세요.");
	        return;
	    }
	    if(true != fn_emptyCheck(title)) {
	        modalEvent.warning("등록", "제목을 입력하세요.");
	        return;
	    }
		/** 20251024 이상우팀장 요청으로 인해 필수입력 validation 삭제
	    if(true != fn_emptyCheck(content)) {
	        modalEvent.warning("등록", "내용을 입력하세요.");
	        return;
	    }
		if(true != fn_emptyCheck(hashtag)) {
	        modalEvent.warning("등록", "해시태그를 입력하세요.");
	        return;
	    }
		if(true != fn_emptyCheck(thumbnailBottomTxt)) {
	        modalEvent.warning("등록", "썸네일 하단 내용을 입력하세요.");
	        return;
	    }

	    if(true != fn_emptyCheck(file)) {
			if($(".img_box > img").length > 0){
				
			}else{
				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;
	            }
	        }
	    }
		if(true != fn_emptyCheck(content_file)) {
				if($(".file_box").text() != ''){
					
				}else{
					modalEvent.warning("등록", "컨텐츠 정보가 없습니다.");
			        return;	
				}
		        
	    }else{
	        for(let i=0; i<content_file.length; i++){
	            let fileSize = content_file[i].size;
	            if(fileSize > fn_maxFileSize()){
	                modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다.");

	                return;
	            }
	        }
	    }
		*/
	    modalEvent.info("수정", categorytitle + " 정보를 수정하시겠습니까?", function(){
        let formData = new FormData();
        formData.append("menuClass", menuClass);
		formData.append("categoryDivCd", categoryDivCd);
		formData.append("categoryNo", categoryNo);
		formData.append("postNo", postNo);
		formData.append("title", title);
        formData.append("content", content);
		formData.append("hashtag", hashtag);
		formData.append("thumbnailBottomTxt", thumbnailBottomTxt);		
		formData.append("treatmentlist", treatmentlist);	
		formData.append("treatmentprocedurelist", treatmentprocedurelist);	
        //formData.append("eventStartDate", eventStartDate);
        //formData.append("eventEndDate", eventEndDate);
        formData.append("file", file);
		formData.append("content_file", content_file);
		formData.append("oldCrmItemId", $("#oldCrmItemId").val());
		formData.append("ordNo", $("#ordNo").val());

        $.ajax({
            url: encodeURI('/contentsBbs/modContentsBbs.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_selectListWebTreatmentPetitIntro();
                    });
                }
                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('/webtreatmentpetit/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(width, height, obj){
	let file = "";
	if(obj == '.img_box'){
		file =  $("#file")[0].files[0];
	} else {
		file =  $("#content_file")[0].files[0];
	}
	
   if(file){
       $(obj).html('');
       const reader = new FileReader();

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

       // 파일을 읽기 시작
       reader.readAsDataURL(file);
   }
}
/****************************************************************************
 * 배너 이미지 삭제
 ****************************************************************************/
function fn_removePreview(){
    $("#file").val('');
    $('.img_box').html('');
}


/****************************************************************************
 * 배너 이미지 미리보기
 ****************************************************************************/
function fn_fileContentPreview(){
   const file =  $("#content_file")[0].files[0];
   if(file){
       $('.file_box').html(file.name);
   }
}
/****************************************************************************
 * 배너 이미지 삭제
 ****************************************************************************/
function fn_removeContentPreview(){
    $("#content_file").val('');
    $('.file_box').html('');
}

/****************************************************************************
 * 리스트 화면으로 이동.
 ****************************************************************************/
function fn_selectListWebTreatmentPetitIntro(){
    if("Y"==selectUseYn){
        let pagingParam = "?menuClass="+menuClass;
		    pagingParam += "&categoryDivCd="+categoryDivCd;
        fn_leftFormAction("/contentsBbs/moveContentsBbsList.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);
            }
        },
    });
	fn_selectWebTreatmentPetit();
}

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

    $('.btnSave').on("click", function(){
        fn_updateWebTreatmentPetit();
    });
    $('#delete_btn').on("click", function(){
        fn_removePreview();
    });
    
	$('#file').on('change', function(e) {
	        fn_filePreview('800px', '450px', '.img_box');
    })
	$('#content_delete_btn').on("click", function(){
        fn_removeContentPreview();
    });
    $('#content_file').on('change', function(e) {
        fn_filePreview('100%', '100%', '.file_box');
    })
	
}

/****************************************************************************
 * 시술 목록 팝업
 ****************************************************************************/
function listOpen(){
    let reqParam = {};
    treatmentSelectModal.popup(function (obj, reqParam) {
		const childDivCount = $("#treatmentlist > div").length;
		if($("#" + obj.treatmentProcedureId).length > 0){
			modalEvent.warning("", "이미 시술정보가 있습니다.");
			return;
		}
		var htmlstring = `<div id="treatment`+childDivCount+`">
										<input type="checkbox" id="`+obj.treatmentProcedureId+`" name="treatment">
										<input type="hidden" name="treatmentprocedurelist" value="`+obj.treatmentProcedureId+`">
										<input type="hidden" name="treatmentlist" value="`+obj.treatmentId+`">
										<label for="`+obj.treatmentProcedureId+`">`+obj.treatmentNm + `-` + obj.price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + `-` + obj.discountPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") +`</label>
							</div>`;
		$('#treatmentlist').append(htmlstring);
    }, reqParam);
}
function fn_removeRow(){
	 $('input:checkbox[name="treatment"]').each(function() {      		
		if(this.checked){//checked 처리된 항목의 값            
			$(this).parent().remove();    
		} 
	});
	
}


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

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