var page = 1;
var delayTime = 0;
var fadeTime = 0;

function del(href)
{
    if(confirm("Are you sure you want to delete this file?")) 
	{
        var iev = -1;
        if (navigator.appName == 'Microsoft Internet Explorer') 
		{
            var ua = navigator.userAgent;
            var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
            if (re.exec(ua) != null)
                iev = parseFloat(RegExp.$1);
        }

        // IE6 이하에서 한글깨짐 방지
        if (iev != -1 && iev < 7) 
		{
            document.location.href = encodeURI(href);
        } 
		else 
		{
            document.location.href = href;
        }
    }

	return false;

}

function wrapWindowByMask()
{ 
	var maskHeight = $(document).height(); 
	var maskWidth = $(window).width(); 
	$('#mask').css({'width':maskWidth,'height':maskHeight}); 
	$('#mask').fadeTo(100,0.8); 
} 

function upload_close()
{
	$("#upload_div").hide();
	$('#mask').hide(); 
}

function js_sleep(ms) 
{
  return new Promise((resolve) => setTimeout(resolve, ms))
}

function upload_open()
{
	$("#upload_div").toggle();
	wrapWindowByMask();
}

function msgAlert(id,msg,delayTime,fadeTime)
{
	$('#'+id).empty();	
	if(delayTime)
	{
		$('#'+id).html(msg).show().delay(delayTime).fadeOut(fadeTime);
	}
	else
	{
		$('#'+id).append(msg).show();
	}
}

function ajax_print()
{
	var a_code = getUdidCode();
	var url = "/ajax/ajax.history.php?code="+a_code;

	var list_data  = '';
	$(document).ready(function(){
	$.ajax({
	type: "GET",
	url: url,
	dataType: "json",
	success: function(data) {
	$.each(data, function(i, post){
		list_data += post.list;		
	});
	$('#boxlist').html(list_data);
	}

	});
	});
}

function text_reset(id)
{
	$('#'+id).val('');
}


function insta_main2_blank(v)
{		
		var or_text = $('textarea#instagram_or_text').val();
		
		if(v == "blank_change_tab" && !or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			return false;
		}

		if(v == "blank_change_tab" && or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			return false;
		}

		if(v == "blank_change" && !or_text)  
		{
			msgAlert('msg_div','enter text to convert!!',600,1000);	
			return false;
		}

		if(v == "blank_change")
		{
			$("#instagram_change").submit();
		}
		//$('#'+v+'_menu').addClass('sub_select');
		//$('#'+v).show();
}

function insta_main_blank(v)
{		
		var or_text = $('textarea#instagram_or_text').val();
		
		if(v == "blank_change_tab" && !or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			return false;
		}

		if(v == "blank_change_tab" && or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			return false;
		}

		if(v == "blank_change" && !or_text)  
		{
			msgAlert('msg_div','enter text to convert!!',600,1000);	
			return false;
		}

		if(v == "blank_change")
		{
			$("#instagram_change").submit();
		}
		//$('#'+v+'_menu').addClass('sub_select');
		//$('#'+v).show();
}

function insta_blank(v)
{		
		var or_text = $('textarea#instagram_or_text').val();
		
		if(v == "blank_change_tab" && !or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			//$('#blank_or_text_menu').addClass('sub_select');
			return false;
		}

		if(v == "blank_change_tab" && or_text)  
		{
			msgAlert('msg_div','Press convert button',600,1000);	
			//$('#blank_or_text_menu').addClass('sub_select');
			return false;
		}

		if(v == "blank_change" && !or_text)  
		{
			msgAlert('msg_div','enter text to convert!',600,1000);	
			$('#blank_or_text_menu').addClass('sub_select');
			$('#blank_change_menu').removeClass('sub_select');
			return false;
		}

		$('#blank_char, #blank_change, #blank_or_text, #blank_help, #blank_load, #history_list, #upload_btn, #upload_view, #board').hide();
		$('#blank_change_menu, #blank_char_menu, #blank_or_text_menu, #blank_help_menu, #blank_load_menu, #blank_upload_menu, #blank_board_menu').removeClass('sub_select');


		if(v == "blank_change")
		{
			$("#instagram_change").submit();
		}

		$('#'+v+'_menu').addClass('sub_select');
		$('#'+v).show();
}

function insta_load()
{
	var uq_code = $('#uq_code').val();
	var url = "/ajax/ajax_text_load.php?code="+uq_code;

	var list_data  = '';
	$(document).ready(function(){
	$.ajax({
	type: "GET",
	url: url,
	dataType: "html",
	success: function(data) {
		var split_res = data.split('|^!#!^|');
			switch(split_res[0])
			{
			case "300":
				msgAlert('msg_div',split_res[1],600,1000);
				insta_blank('blank_load');
				break;
			case "200":
				$('#instagram_load_text').val(split_res[1]);
				break;
			default:
				alert("Error!!");
				break;
			}
	}

	});
	});
}

function new_print(mode,mpage)
{
	
	$('#blank_char, #blank_change, #blank_or_text, #blank_help, #blank_load, #history_list, #upload_btn, #upload_view, #blank_todayjirum').hide();
	$('#blank_change_menu, #blank_char_menu, #blank_or_text_menu, #blank_help_menu, #blank_load_menu, #blank_upload_menu, #blank_todayjirum_menu').removeClass('sub_select');
	
	

	var comment_print = "";
	if(!mode) var mode = 'hotdeal';
	if(!type) var type = 'notencode';

	if(mpage) 
	{
		page =1;
	
		$('#nextwait_hotdeal_page_one').show();
	}
	else
	{
		$('#nextwait_hotdeal_page_one').hide();
		$('#nextwait_'+mode).show();
	}

	var url = "/action/ajax.todayjirum.php?mode="+mode+"&page="+page+"&type="+type;

	var list_new  = '';
	$(document).ready(function(){
	$.ajax({
	type: "GET",
	url: url,
	dataType: "json",
	success: function(data) {

	$.each(data, function(i, post){
	$('#nextwait_'+mode).hide();

	if(post.wr_comment)
	{
		comment_print = "<span class='badge' style='border: 1px solid #aaa;background-color:#fff;color:#cc0000'>"+post.wr_comment+"</span>";
	}
	else
	{
		comment_print = "";
	}

		list_new += "<tr class='touchitem' style='max-height:100px;border-top: 1px solid #ccc;padding-top:7px;padding-left:5px'>";

		if(post.thumb_image != "")
		{
			list_new += "<td width='100' class='text-center'><a href='"+post.href+"'>"+post.thumb_image+"</a></td>";
		}
		list_new += "<td "+post.list_colspan+" style='word-break:break-all'>"+
		"<a href='"+post.href+"'><div style='padding-bottom:3px;width:100%;color:#555;padding-top:3px'>"+post.bo_top_title+" "+post.hotdeal_site+" <span class='"+post.hotdeal_subject+"' style='font-size:14px'>"+post.wr_subject+"  "+post.wr_comment_print+" "+post.hotdeal_end+"</span></div>"+
		"<div style='margin-top:5px'>"+post.hotdeal_price+post.ship_info+post.promo_code+"</div>"+
		"<div style='color:#8e8e8e;padding-top:10px' class='list_info'><span style='color:#888888;font-weight:none;font-size:12px'>"+post.nickname+"</span> <span>"+post.datetime2+"</span><span style='padding-left:4px'><i class='far fa-eye fa-sm'></i> "+post.wr_hit+"</span><span style='padding-left:6px'><i class='far fa-thumbs-up fa-sm'></i> "+post.wr_good+"</span></div>"+
		"</a>"+
		"</td>";

		list_new += "</tr>";
	});

	
	
	if(mpage) 
	{
		$('#bbs_list_'+mode).html(list_new);
	}
	else
	{
		$('#bbs_list_'+mode).append(list_new);
	}

	page++;
	$('#nextwait_hotdeal_page_one').hide();
	}

	});
	});

	$('#blank_todayjirum_menu').addClass('sub_select');
	$('#blank_todayjirum').show();

}

function hotdeal_print(mode,categoryId)
{
	$('#blank_char, #blank_change, #blank_or_text, #blank_help, #blank_load, #history_list, #upload_btn, #upload_view, #blank_todayjirum').hide();
	$('#blank_change_menu, #blank_char_menu, #blank_or_text_menu, #blank_help_menu, #blank_load_menu, #blank_upload_menu, #blank_todayjirum_menu').removeClass('sub_select');
	$('#coupang_menu_0,#coupang_menu_1001,#coupang_menu_1002,#coupang_menu_1006, #coupang_menu_1012,#coupang_menu_1014,#coupang_menu_1016,#coupang_menu_1011,#coupang_menu_1008,#coupang_menu_1010,#coupang_menu_1021,#coupang_menu_1024').removeClass('sub_select');
	$('#nextwait_hotdeal_page_one').show();

	var comment_print = "";
	if(categoryId)
	{
		var url = "/action/ajax.hotdeal.php?mode="+mode+"&categoryId="+categoryId;
	}
	else
	{
		var url = "/action/ajax.hotdeal.php?mode="+mode;
	}

	var list_new  = '';
	$(document).ready(function(){
	$.ajax({
	type: "GET",
	url: url,
	dataType: "html",
	success: function(data) {
			$('#hotdeal_list').html(data);
			$('#nextwait_hotdeal_page_one').hide();
	}
	});
	});

	$('#coupang_menu_'+categoryId).addClass('sub_select');
	$('#blank_todayjirum_menu').addClass('sub_select');
	$('#blank_todayjirum').show();

}

function bootmsg(msg,size,targeturl)
{
	if (targeturl == undefined) 
	{
        targeturl = 0;
    }
	if(!size) var size = 'small';
	bootbox.alert({
    message: msg,
	size:size,
    callback: function (result) {
		if(targeturl)
		{
			$(location).attr('href',targeturl);
		}
	}
	});
}

function bootmsg_auto_close(msg,size,targeturl)
{
	if (targeturl == 'undefined') 
	{
        targeturl = 0;
    }
	if(!size) var size = 'small';
	var dialog = bootbox.dialog({
    message: msg,
    closeButton: false,
	size:size,
    callback: function (result) {

	}
	});
	
	dialog.init(function(){
    setTimeout(function(){
		dialog.modal('hide');
	    }, 800);
	});

		if(targeturl)
		{
			$(location).attr('href',targeturl);
		}

}

function insta_save_blank()
{
//msgAlert('msg_div','Load code - Copy Success!!',500,500);

	var or_text = $("textarea#instagram_change_text").val();
	var url = '/ajax/ajax_instagram_save.php';
	$('#loading_save').html("<img src='/img/wait_icon.gif' style='width:15px'>");
	$.ajax({
	url: url,
	type:'POST',
    data:{
          instagram_or_text: or_text,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			alert("일시적인 통신장애 - 다시 시도해주세요");
			$('#loading_save').html('');
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			bootmsg('<strong>저장완료!!</strong><br><br>"불러옴" 메뉴에서 불러올 수 있습니다. (쿠키 초기화 전까지 불러오기 가능)<br><br><a class="btn btn-sm btn-default" href="/?act=member.join">회원가입</a>을 하시면 편하게 불러올 수 있습니다.','small');
			$('#loading_save').html('');
			break;
			case "300" :
			bootmsg(split_res[1],'small');
			$('#loading_save').html('');
			break;
			default:
			alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요.");
			$('#loading_save').html('');
			break;
		}
	}
	});
}

// hashtag make 관리
function insta_tag_make_manager(text_id)
{
	var size_v = eModal.size.lg;
	var code_f = 'ajax.instagram.hashtag.manager.php?text_id='+text_id;
	var title = '해시태그 생성기';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

// tag 관리
function insta_tag_load(text_id,q)
{
	if(q == undefined)
	{
		var q = '';
	}

	if(text_id == undefined)
	{
		var text_id = '';
	}

	var modal_title = '확인';
	var size_v = eModal.size.lg;
	var code_f = 'ajax_insta_tag_list.php?text_id='+text_id+'&q='+q;
	var title = '해시태그 관리';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

// tag 저장
function insta_tag_save_blank()
{
	var or_text = $("textarea#instagram_change_text").val();
	var url = '/ajax/ajax_insta_tag_save.php';
	$('#loading_save').html("<img src='/img/wait_icon.gif' style='width:15px'>");
	$.ajax({
	url: url,
	type:'POST',
    data:{
          instagram_or_text: or_text,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			alert("일시적인 통신장애 - 다시 시도해주세요");
			$('#loading_save').html('');
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			bootmsg('<strong>저장완료!!</strong><br><br>"불러옴" 메뉴에서 불러올 수 있습니다. (쿠키 초기화 전까지 불러오기 가능)<br><br><a class="btn btn-sm btn-default" href="/?act=member.join">회원가입</a>을 하시면 편하게 불러올 수 있습니다.','small');
			$('#loading_save').html('');
			break;
			case "300" :
			bootmsg(split_res[1],'small');
			$('#loading_save').html('');
			break;
			default:
			alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요.");
			$('#loading_save').html('');
			break;
		}
	}
	});
}

//인스타계정 등록창
function instagram_write_open(mode)
{
	var modal_title = '인스타그램 사용자 계정 등록';
	var size_v = eModal.size.lg;
	if(mode == "test")
	{
		var code_f = 'ajax_instagram_write_v2.php';
	}
	else if(mode == "test2")
	{
		var code_f = 'ajax_instagram_write_v2_test.php';
	}
	else
	{
		var code_f = 'ajax_instagram_write.php';		
	}
	var title = '인스타그램 사용자 등록';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

//인스타계정 등록
function insta_username_write(mode)
{
	var username = $("#in_username").val();
	var in_user_text = $("#in_user_text").val();
	
	if(mode == "test")
	{
		var url = '/ajax/ajax_insta_username_test_update.php';
	}
	else
	{
		var url = '/ajax/ajax_insta_username_update.php';
	}

	$('#instagram_loading').html("<img src='/img/wait_icon.gif' style='width:15px'>");
	$.ajax({
	url: url,
	type:'POST',
    data:{
          username: username,
          in_user_text: in_user_text,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			alert("일시적인 통신장애 - 다시 시도해주세요");
			$('#instagram_loading').html('');
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			bootmsg('<strong>'+split_res[1]+'</strong>','small');
			instagram_print(1);
			$('#instagram_loading').html('');
			break;
			case "300" :
			bootmsg(split_res[1],'small');
			$('#instagram_loading').html('');
			break;
			default:
			alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요.");
			$('#instagram_loading').html('');
			break;
		}
	}
	});
}

// 자동생성된 tag 저장
function insta_tag_make_save(id,mode,viewtype)
{
	var or_text = $("#"+id).text();
	if(viewtype  == "vertical")
	{
	}
	//or_text = nl2br(or_text,true);

	var url = '/ajax/ajax_insta_tag_save.php';
	$('#loading_save').html("<img src='/img/wait_icon.gif' style='width:15px'>");
	$.ajax({
	url: url,
	type:'POST',
    data:{
          tag_text: or_text,
          mode: mode,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			alert("일시적인 통신장애 - 다시 시도해주세요");
			$('#loading_save').html('');
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			bootmsg('<strong>저장완료!!</strong><br><br>"#해시태그"관리에서 불러오거나 삭제활 수 있습니다.','small');
			$('#loading_save').html('');
			break;
			case "300" :
			bootmsg(split_res[1],'small');
			$('#loading_save').html('');
			break;
			default:
			alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요.");
			$('#loading_save').html('');
			break;
		}
	}
	});
}

function insta_delete_process(v)
{
	var url = '/ajax/ajax_insta_delete_process.php?v='+v;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];

		switch(split_res[0])
		{
			case "200":
			var num  =  split_res[1];
			$('#insta_save_list_'+num).css("background-color",'#ffffcc').fadeOut(900);
			break;
			case "300":alert(split_res[2]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요."); break;
		}
	}
	});
}

function insta_text_delete(v)
{
	var dialog = bootbox.dialog({
	title: '',
	message: '<div><div style="padding:10px">선택한 정보를 삭제할까요?<br></div></div>',
	size: 'small',
	buttons: {
	    cancel: {
	        label: '<i class="far fa-trash-alt" aria-hidden="true"></i> 삭제',
	        className: 'btn-danger',
	        callback: function(){
				insta_delete_process(v);
	        }
	    },
	    noclose: {
	        label: "취소",
	        className: 'btn-default',
	        callback: function(){
	            //eModal.close();
	        }
	    }
	}
	});
}

//링크 프로필 이미지 삭제 작동
function insta_link_profile_image_delete_process(in_no,mode)
{
	var url = '/ajax/ajax.insta.linkUpload.php?in_no='+in_no+'&mode='+mode;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];
		switch(split_res[0])
		{
			case "200":
			var in_no  =  split_res[1];
			var linkname  =  split_res[2];
			if(mode == "linkitemdelete")
			{
				$('#link-item-image-'+in_no).css("background-color",'#ffffcc').fadeOut(900);
				$('#item_logo_image_'+in_no).html('<img src="/img/default/profile-icon-free-300.png" class="logo_image" onClick="insta_link_image_upload(\''+linkname+'\','+in_no+',\'item\')">');
			}

			if(mode == "linkpagedelete")
			{
				$('#link-page-image-'+in_no).css("background-color",'#ffffcc').fadeOut(900);
				$('#page_logo_image').html('<img src="/img/default/profile-icon-free-300.png" class="user-logo-img" onClick="insta_link_image_upload(\''+linkname+'\',\'new\',\'page\')">');
			}
			break;
			case "300":alert(split_res[2]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요."); break;
		}
	}
	});
}

//링크 프로필 이미지 삭제
function insta_link_profile_image_delete(in_no,mode)
{
	var dialog = bootbox.dialog({
	title: '',
	message: '<div><div style="padding:10px">선택한 정보를 삭제할까요?<br></div></div>',
	size: 'small',
	buttons: {
	    cancel: {
	        label: '<i class="far fa-trash-alt" aria-hidden="true"></i> 삭제',
	        className: 'btn-danger',
	        callback: function(){
				insta_link_profile_image_delete_process(in_no,mode);
	        }
	    },
	    noclose: {
	        label: "취소",
	        className: 'btn-default',
	        callback: function(){
	            //eModal.close();
	        }
	    }
	}
	});
}


function insta_tag_delete_process(v,id)
{
	var url = '/ajax/ajax_insta_tag_delete_process.php?v='+v+'&id='+id;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];

		switch(split_res[0])
		{
			case "200":
			var num  =  split_res[1];			
			$('#insta_tag_list_'+id+'_'+num).css("background-color",'#ffffcc').fadeOut(900);
			break;
			case "300":alert(split_res[2]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요."); break;
		}
	}
	});
}

function insta_tag_text_delete(v,id)
{
	var dialog = bootbox.dialog({
	title: '',
	message: '<div><div style="padding:10px">선택한 정보를 삭제할까요?<br></div></div>',
	size: 'small',
	buttons: {
	    cancel: {
	        label: '<i class="far fa-trash-alt" aria-hidden="true"></i> 삭제',
	        className: 'btn-danger',
	        callback: function(){
				insta_tag_delete_process(v,id);
	        }
	    },
	    noclose: {
	        label: "취소",
	        className: 'btn-default',
	        callback: function(){
	            //eModal.close();
	        }
	    }
	}
	});
}

function board_delete_process(v,cat)
{
	var url = '/ajax/ajax.BoardDelete.php?n='+v+'&cat='+cat;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];
		var cat = split_res[2];

		switch(split_res[0])
		{
			case "200":
			$(location).attr('href','/?act=board.list&cat='+cat);
			break;
			case "300":alert(split_res[1]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요"); break;
		}
	}
	});
}


function board_delete(v,cat)
{
	var dialog = bootbox.dialog({
	title: '',
	message: '<div><div style="padding:10px">선택한 정보를 삭제할까요?<br></div></div>',
	size: 'small',
	buttons: {
	    cancel: {
	        label: '<i class="far fa-trash-alt" aria-hidden="true"></i> 삭제',
	        className: 'btn-danger',
	        callback: function(){
				board_delete_process(v,cat);
	        }
	    },
	    noclose: {
	        label: "취소",
	        className: 'btn-default',
	        callback: function(){
	            //eModal.close();
	        }
	    }
	}
	});
}


function comment_delete_process(v,type,sitecode)
{
	var url = '/ajax/ajax.CommentDelete.php?n='+v+'&type='+type+'&sitecode='+sitecode;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];

		switch(split_res[0])
		{
			case "200":
			$('#comment_list_'+split_res[2]).css("background-color",'#ffffcc').fadeOut(900);
			break;
			case "300":alert(split_res[1]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요"); break;
		}
	}
	});
}

function comment_delete(v,type,sitecode)
{
	var dialog = bootbox.dialog({
	title: '',
	message: '<div><div style="padding:10px">선택한 정보를 삭제할까요?<br></div></div>',
	size: 'small',
	buttons: {
	    cancel: {
	        label: '<i class="far fa-trash-alt" aria-hidden="true"></i> 삭제',
	        className: 'btn-danger',
	        callback: function(){
				comment_delete_process(v,type,sitecode);
	        }
	    },
	    noclose: {
	        label: "취소",
	        className: 'btn-default',
	        callback: function(){
	            //eModal.close();
	        }
	    }
	}
	});
}

function comment_modify(v,type,sitecode)
{
	var modal_title = '댓글 수정하기';
	var size_v = eModal.size.lg;
	var code_f = 'ajax.CommentModify.php?n='+v+'&type='+type+'&sitecode='+sitecode;
	var title = '댓글 수정';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}




function board_ad_process(v,c)
{
	var url = '/ajax/ajax.ad_process.php?n='+v+'&c='+c;
	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 20000,
	error : function()
		{
		alert("일시적인 통신장애 - 다시 시도해주세요");
		},
		success: function(responseData, result){
		var split_res = responseData.split('|');
		var result = split_res[0];

		switch(split_res[0])
		{
			case "200":
			var num  =  split_res[1];
			$('#board_ad_msg').html("<span style='color:blue'>완료</span>").show().css("background-color",'#ffffcc').delay(100).fadeOut(900);
			break;
			case "300":alert(split_res[2]);break;
			default: alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요."); break;
		}
	}
	});
}

//ajax modal open
function ajax_modal_open(url,title,size)
{
    var params = {
	url: url,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

// 맞춤법
function insta_text_spelling(site)
{
	var modal_title = '맞춤법 검사';
	var size_v = eModal.size.lg;
	var code_f = 'ajax_insta_spelling.php?site='+site;
	var title = '저장된 텍스트';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
   crossOrigin : true,
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

function insta_text_load(text_id,q)
{
	if(q == undefined)
	{
		var q = '';
	}
	var modal_title = '확인';
	var size_v = eModal.size.lg;
	var code_f = 'ajax_insta_list.php?text_id='+text_id+'&q='+q;
	var title = '저장된 텍스트';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}

function emoticon_load(text_id,mode)
{
	if(mode == undefined)
	{
		var mode = '';
	}

	var modal_title = '확인';
	var size_v = eModal.size.lg;
	var code_f = 'ajax_emoticon_list.php?text_id='+text_id+'&mode='+mode;
	var title = '이모티콘 리스트 - ( ･_･)♡';
    var params = {
	url: '/ajax/'+code_f,
	buttons: [
		{ text: '닫기', close: true, style: 'danger'}
    ],
    size: size_v,
	fade: 0,
    title: title
     };
	eModal.setEModalOptions({
        loadingHtml: '<div class="text-center"><span class="fa fa-circle-o-notch fa-spin fa-3x" style="color:#cccccc"></span><br><span style="font-size:13px;color:#cccccc">로딩중..</span></div>',

    });
	eModal.ajax(params);
}


function decodeString(str)
{
	if(str.indexOf("+") > 0)
	{
		return unescape(decodeURI(str).replace(/\+/g, " "));
	}
	else
	{
		return unescape(decodeURI(str));
	}
}

function br2nl (str, replaceMode) 
{
  var replaceStr = (replaceMode) ? "\n" : '';
  // Includes <br>, <BR>, <br />, </br>
  return str.replace(/<\s*\/?br\s*[\/]?>/gi, replaceStr);
}

function nl2br (str, replaceMode, isXhtml) 
{
  var breakTag = (isXhtml) ? '<br />' : '<br>';
  var replaceStr = (replaceMode) ? '$1'+ breakTag : '$1'+ breakTag +'$2';
  return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, replaceStr);
}

function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}

function formatBytes(bytes) 
{
	
	var decimals=2;

    if (bytes === 0) 
	{
		return '0 Bytes';
	}

    const k = 1024;
    const dm = decimals < 0 ? 0 : decimals;
    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];

    const i = Math.floor(Math.log(bytes) / Math.log(k));
    return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}

// 이모티콘

function emoticon_reset()
{
	$('#text_copy_emoticon').val('');

	//$('#text_copy_emoticon').removeClass('emoji_font_lg');
	//$('#text_copy_emoticon').addClass('emoji_font_sm');

}

function emoticon(v)
{
	$('#emoticon_tab_text, #emoticon_tab_emoji').removeClass('active');
	$('#emoticon_tab_'+v).addClass('active');
	if(v == "emoji")
	{
		$('#emoticon_text').hide();
		$('#emoticon_'+v).show();
	}

	if(v == "text")
	{
		$('#emoticon_emoji').hide();
		$('#emoticon_'+v).show();
	}
}

function emoticon_sub(v,mode)
{
	if(v == "emoji")
	{
		$('#emoticon_text').hide();
		$('#emoticon_'+v).show();
	}

	if(mode == "emoji")
	{

		$('#emoticon_sub_emoji_best, #emoticon_sub_emoji_smiley, #emoticon_sub_emoji_object, #emoticon_sub_emoji_nature, #emoticon_sub_emoji_symbol,#emoticon_sub_emoji_food, #emoticon_sub_emoji_animal, #emoticon_sub_emoji_tran, #emoticon_sub_emoji_sports, #emoticon_sub_emoji_building').removeClass('active');
		$('#emoticon_sub_emoji_'+v).addClass('active');

		$('#emoji_sub_box_best, #emoji_sub_box_smiley, #emoji_sub_box_object, #emoji_sub_box_nature, #emoji_sub_box_symbol, #emoji_sub_box_food, #emoji_sub_box_animal, #emoji_sub_box_tran, #emoji_sub_box_sports, #emoji_sub_box_building').hide();
		$('#emoji_sub_box_'+v).show();
	}

	if(mode == "text")
	{
		$('#emoticon_sub_default, #emoticon_sub_happy, #emoticon_sub_sad, #emoticon_sub_evil,#emoticon_sub_hangul, #emoticon_sub_textcon, #emoticon_sub_animals').removeClass('sub_item_select');
		$('#emoticon_sub_'+v).addClass('sub_item_select');
		

		$('#emoticon_sub_box_default, #emoticon_sub_box_happy, #emoticon_sub_box_sad, #emoticon_sub_box_evil, #emoticon_sub_box_hangul, #emoticon_sub_box_textcon, #emoticon_sub_box_animals').hide();
		$('#emoticon_sub_box_'+v).show();
	}
}


function bbsinsert(id,v)
{
	$('#'+id).val(v);
}

function get_image()
{
	var psurl = $("#get_url").val();
	//alert(psurl);
	var url = "/ajax/ajax.image.get.php?get_url="+encodeURIComponent(psurl);
   	$('#upload_loading_image').html("<img src='/img/wait_icon.gif' style='width:25px'>");

	$.ajax({
	url: url,
	type:'GET',
	dataType:'html',
	timeout : 200000,
	error : function()
	{
	alert("일시적인 통신장애 - 다시 시도해주세요");
    $('#upload_loading_image').empty();
	},
	success: function(responseData, result){
	var split_res = responseData.split('|');
	var result = split_res[0];
	switch(split_res[0])
	{
	case "200":
		//$kcal."|".$sodium."|".$sat_FAT."|".$sugars."|".$protein."|".$caffeine."|".$allergy."|".$content."|".$post_no;	
		bbsinsert('in_title',split_res[2]);
		var doc = split_res[1]+'';
		//imagepasteHTML(doc);
		const editor = $R('#content');
		editor.source.setCode(doc);

	break;
	case "400":
	alert(split_res[1]);
    $('#upload_loading_image').empty();
	break;

	default:
	alert("실패 하였습니다.\n잠시 후 다시 시도해 주세요.");
    $('#upload_loading_image').empty();
	}

    $('#upload_loading_image').empty();
   }
 });	

}

function shuffle(array) 
{
	array.sort(() => Math.random() - 0.5); 
}

function rand(min, max)
{
    if(min == 0){
        return Math.floor((Math.random() * max) + 0);
    }else{
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
}

function round_js(num) 
{
    var m = Number((Math.abs(num) * 100).toPrecision(15));
    return Math.round(m) / 100 * Math.sign(num);
}

function create2DArray(rows, columns)
{
    var arr = new Array(rows);
    for (var i = 0; i < rows; i++) 
	{
        arr[i] = new Array(columns);
    }
    return arr;
}

function kakao_desc_send(title,desc,viewurl,imageurl)
{
	Kakao.Link.createDefaultButton({
      container: '#kakao-link-btn',
      objectType: 'feed',
      content: {
        title: title,
        description: desc,
        imageUrl: imageurl,
        link: {
          mobileWebUrl: viewurl,
          webUrl: viewurl
        }
      }
    });
}

function rollingCallback()
{
    //.prev 클래스 삭제
    document.querySelector('.rollingbanner .prev').classList.remove('prev');

    //.current -> .prev
    let current = document.querySelector('.rollingbanner .current');
    current.classList.remove('current');
    current.classList.add('prev');

    //.next -> .current
    let next = document.querySelector('.rollingbanner .next');
    //다음 목록 요소가 널인지 체크
    if(next.nextElementSibling == null){
        document.querySelector('.rollingbanner ul li:first-child').classList.add('next');
    }else{
    	//목록 처음 요소를 다음 요소로 선택
        next.nextElementSibling.classList.add('next');
    }
    next.classList.remove('next');
    next.classList.add('current');
}

function menu_more_open(v)
{
	$("#menu_more_div").toggle();
	wrapWindowByMask();
}

function menu_more_close()
{
	$("#menu_more_div").hide();
	$('#mask').hide();
}

function search_bbs_bar(e,mode,act)
{
	var tag = $("#bbsrq_bar").val();
	var ev =  e.keyCode;
	if(act == "jjalbang_multi")
	{
		var tag_url = "jjalbangMulti";
	}
	else if(act == "umjjal")
	{
		var tag_url = "umjjaltag";
	}
	else
	{
		var tag_url = "tag";
	}

	if((ev == 13 && mode == "key") || mode == "click")
	{
		$(location).attr('href','/'+tag_url+'/'+tag);
	}
}

function rank_list(testcode,day,limit)
{
	var url = '/ajax/ajax_rank_save.php';
	var process = 'list';

	if(!limit) limit = 50;

	$("span[id^='rank_"+testcode+"']").removeClass('btn_2');
	$('#rank_'+testcode+'_'+day).addClass('btn_2');
	rank_list_type = day;

	//$("span[id^='rank_']").addClass('btn_3');
	// $('#rank_realtime, #rank_day, #rank_week, #rank_mohth, #rank_all').removeClass('btn_1 btn_3');
	// $('#rank_'+day).removeClass('btn_3');

	$.ajax({
	url: url,
	type:'POST',
    data:{
          testcode: testcode,
		  process:process,
		  day:day,
		  limit:limit,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			$('#rank_'+testcode+'_list').html(split_res[1]);
			break;
			case "300" :
			break;
			default:
			break;
		}
	}
	});
}

function rank_post(testcode,rank)
{
	var url = '/ajax/ajax_rank_save.php';
	var process = 'rank';

	$.ajax({
	url: url,
	type:'POST',
    data:{
          testcode: testcode,
          rank: rank,
		  process:process,
        },
	dataType:'html',
	timeout : 20000,
	error : function()
		{
			return false;
		},
		success: function(responseData, resultdata){
		var split_res = responseData.split('|');
		switch(split_res[0])
		{
			case "200" :
			if(rank_list_type == "realtime")
			{
				$('#rank_'+testcode+'_list').prepend('<tr><td class="text-center">'+split_res[4]+'</td><td class="text-center">'+split_res[3]+'</td><td class="text-center">'+split_res[2]+'</td></tr>');
			}
			else
			{
				rank_list(split_res[1],'realtime');
			}
			break;
			case "300" :
			break;
			default:
			break;
		}
	}
	});
}