var is_topbtn_ani=false;
var is_btmbtn_ani=false;
var sb_btn_view=false;
var is_sb_btn_animate=false;
var top_show_scroll=50; //이 수치 이상 내려오면 top버튼 보임
var is_mb_sideview=false;
$(window).scroll(function(e){
	top_btn_show();
	bottom_btn_show();
});

$(window).resize(function(e){
	mb_side_view();
	top_btn_show();
	bottom_btn_show();
	button_resize();
});

$(document).ready(function(){
	button_resize();
	top_btn_show();
	bottom_btn_show();

	$("#btm-btn .top-up").on("click touchend",function(){
		$('html,body').animate({"scrollTop":$("body").offset().top},1000,"Power3.easeInOut");
	});

	$("#btm-btn .top-down").on("click touchend",function(){
		$('html,body').animate({"scrollTop":($(document).height() - $(window).height())},1000,"Power3.easeInOut");
	});

	$(".btn-mode-change").on("click touchend",function(){
		var mode_url=$(this).data("href");

		$.ajax({
			type:"POST",
			dataType:"HTML",
			url:g5_admin_url+"/mode.change.ajax.php",
			success:function(){
				$(location).attr("href",mode_url);
			}
		});
	});

	//사이드뷰 NEW
	$(document).on("click",".sw-mb-wrap",function(){
		var sw_mb_id=$(this).data("mb-id");
		if(sw_mb_id){
			$.ajax({
				type:"POST",
				dataType:"HTML",
				url:g5_admin_url+"/ajax.member.info.php",
				data:{mb_id:sw_mb_id},
				success:function(data){
					$(".adm-right").find(".adm-right-data").html(data);
					if(!is_mb_sideview) mb_side_view("open");
				}
			});
		}else{
			if(is_mb_sideview) mb_side_view("close");
		}
    });
	
	$(document).on("click focusin",function(e){
		var tg=$(e.target);

		if((!tg.hasClass("sw-mb-wrap") && !$(tg.prop("offsetParent")).hasClass("adm-right") && !$(tg.prop("offsetParent")).hasClass("adm-right-data") && !tg.hasClass("adm-right")) || tg.hasClass("adm-right-close")){
			mb_side_view("close");
		}
    });

	//원본 사이드뷰 이벤트
	/*
    var adm_sv_hide = false;
    $(document).on("click",".sw_sv_member, .sw_sv_guest",function(){
        $(".sv").removeClass("sw_sv_on");
        $(this).closest(".sw_sv_wrap").find(".sw_sv").addClass("sw_sv_on");
    });

    $(document).on({
		"mouseenter":function() {
            adm_sv_hide = false;
        },
		"mouseleave":function() {
            adm_sv_hide = true;
        }
    },".sw_sv, .sw_sv_wrap");

    $(document).on("focusin",".sw_sv_member, .sw_sv_guest",function(){
        adm_sv_hide = false;
        $(".sw_sv").removeClass("sw_sv_on");
        $(this).closest(".sw_sv_wrap").find(".sw_sv").addClass("sw_sv_on");
    });

    $(document).on("focusin",".sw_sv a",function() {
        adm_sv_hide = false;
    });

    $(document).on("focusout",".sw_sv a",function(){
        adm_sv_hide = true;
    });

    $(document).on("click",function() {
        if(adm_sv_hide) { // 사이드뷰 해제
            $(".sw_sv").removeClass("sw_sv_on");
        }
    });

    $(document).on("focusin",function() {
        if(adm_sv_hide) { // 사이드뷰 해제
            $(".sw_sv").removeClass("sw_sv_on");
        }
    });
	*/

	$('[data-toggle="tooltip"]').tooltip({container:'body'});

	//이미지를 img-over-animate 클래스로 감싸면 마우스 오버시 효과를 보여줍니다. (이미지 오버시 나타나는 푸른색 배경의 애니메이션)
	$(document).on("mouseenter",".img-over-animate",function(){
		var img_obj=$(this);
		var img_obj_w=img_obj.width();
		var img_obj_h=img_obj.height();

		var animate_item="<div class='animate-box'></div><div class='animate-arrow'><i class='fa fa-share'></i></div>";
		if(img_obj.find(".animate-box").length==0){
			img_obj.append(animate_item);
		}

		img_obj.find(".animate-box").css({"width":img_obj_w+"px","height":img_obj_h+"px"});

		var arw_top=(img_obj_h/2)-(img_obj.find(".animate-arrow").height()/2);
		var arw_left=(img_obj_w/2)-(img_obj.find(".animate-arrow").width()/2);

		img_obj.find(".animate-arrow").css({"top":arw_top+"px","left":arw_left+"px"});

		TweenLite.to(img_obj.find(".animate-box"),0.3,{
			"opacity":0.5,
			"onStart":function(){
				img_obj.find(".animate-box").css({"display":"block"});
			}
		});
		
		TweenLite.to($(this).find("img"),0.5,{
			"scale":1.2,
			ease:Power3.easeOut
		});
		
		TweenLite.fromTo(img_obj.find(".animate-arrow"),0.3,{
			"scale":"0.5",
			"opacity":0,
			"rotationZ":"-90deg"
		},{
			"transformOrigin":"center",
			"scale":"1",
			"opacity":1,
			"rotationZ":"0",
			ease:Power3.easeOut
		});
	});
	
	$(document).on("mouseleave",".img-over-animate",function(){
		var img_obj=$(this);

		TweenLite.to(img_obj.find(".animate-box"),0.4,{
			"opacity":0,
			"onComplete":function(){
				img_obj.find(".animate-box").remove();
			}
		});
		
		TweenLite.to(img_obj.find(".animate-arrow"),0.3,{
			"opacity":0,
			"scale":"0.5",
			"rotationZ":"-90deg",
			ease:Power3.easeOut
		});
		
		TweenLite.to($(this).find("img"),0.5,{
			"scale":1,
			ease:Power3.easeOut
		});
	});

	$(document).on("click",".img-over-animate",function(){
		var link=$(this).attr("data-link");
		$(location).attr('href',link);
	});
	//이미지 오버 애니메이션 종료

	//부트스트랩 패널 토글 (a 태그가 아닌 패널헤더 클릭시에도 작동되도록 - 기본은 모바일에서 작동이 안됨)
	$(document).on("click",".panel-toggle",function(){
		var targets=$(this).data("href");
		$(targets).collapse('toggle');
	});
	
	//하단 우측 추가 메뉴 버튼 토글
	$(".sb-btn-toggle").on("click",function(){
		if(!is_sb_btn_animate){
			toggle_btm_menu();

			if(!sb_btn_view){
				sb_btn_view=true;
			}else{
				sb_btn_view=false;
			}
		}
	});
	
	//하단 우측 추가 메뉴 버튼 토글 - 오버레이 클릭시 닫음
	$(".btm-menu-dummy").on("click",function(){
		if(!is_sb_btn_animate){
			toggle_btm_menu();
			sb_btn_view=false;
		}
	});

	$(".sb-btn-menu").on("click",function(){
		var type=$(this).find(".sb-btn").data("type");

		if(type=='layer-open'){
			var tg=$(this).find(".sb-btn").data("target");
			$(tg).eq(0).trigger("click");
		}else if(type=='move-area'){ //주문내역 폼의 상태변경 버튼들에 대한 스크립트
			var tg=$(this).find(".sb-btn").data("target");
			var offset = $(tg).offset();
			$('html, body').animate({scrollTop:offset.top-200},0);
			
			popover_set($(".sub-btn-box-view"),500,500,"변경하시려는 상태의 버튼을 눌러주세요.",'exclamation-circle','bottom',2000);

			$(".sub-btn-box-view").css({"border-size":"2px","border-color":"white","border-style":"solid"})
				.stop()
				.animate({"border-color":"red"},300)
				.animate({"border-color":"white"},300)
				.animate({"border-color":"red"},300)
				.animate({"border-color":"white"},300);
		}else if(type=='link'){
			//...일반적인 a 링크태그의 onclick으로 다이렉트 실행일 경우 스크립트단에서는 아무행동도 하지 않도록..
		}else{
			var tg=$(this).find(".sb-btn").data("target");
			$(tg).eq(0).trigger("click");
		}

		if(!is_sb_btn_animate){
			toggle_btm_menu();
			sb_btn_view=false;
		}
	});
});

function sw_delete_confirm(el){
    if(confirm("한번 삭제한 자료는 복구할 방법이 없습니다.\n\n정말 삭제하시겠습니까?")) {
        var token = get_ajax_token();
        var href = el.attr("href").replace(/&token=.+$/g, "");
        if(!token) {
            alert("토큰 정보가 올바르지 않습니다.");
            return false;
        }
        el.attr("href",href+"&token="+token);
        return true;
    } else {
        return false;
    }
}

function toggle_btm_menu(){
	var bottom=0;

	is_sb_btn_animate=true;

	if(!sb_btn_view){
		$(".btm-menu-dummy").show().stop().animate({"opacity":0.8},300,"Power3.easeOut");
		
		TweenLite.fromTo($(".sb-btn-toggle").find(".fa-ellipsis-v"),0.3,{
			"opacity":1,
			"rotationZ":0
		},{
			"opacity":0,
			"rotationZ":"360deg",
			ease:Power3.easeOut
		});

		TweenLite.fromTo($(".sb-btn-toggle").find(".fa-times"),0.3,{
			"opacity":0,
			"display":"none",
			"rotationZ":0
		},{
			"opacity":1,
			"display":"block",
			"rotationZ":"360deg",
			ease:Power3.easeOut
		});
	}else{
		$(".btm-menu-dummy").stop().animate({"opacity":0},300,"Power3.easeOut",function(){
			$(this).hide();
		});
		
		TweenLite.fromTo($(".sb-btn-toggle").find(".fa-ellipsis-v"),0.3,{
			"opacity":0,
			"rotationZ":"360deg"
		},{
			"opacity":1,
			"rotationZ":"0",
			ease:Power3.easeOut
		});

		TweenLite.fromTo($(".sb-btn-toggle").find(".fa-times"),0.3,{
			"opacity":1,
			"display":"block",
			"rotationZ":"360deg"
		},{
			"opacity":0,
			"rotationZ":0,
			ease:Power3.easeOut
		});
	}

	$(".sb-btn-menu").each(function(){
		if(!sb_btn_view){
			bottom+=60;

			var type=$(this).find(".sb-btn").data("type");
			var name=$(this).find(".sb-btn").data("title");

			var obj_html="<div class='m-sb-title'>"+name+"</div>";

			$(this).find(".m-sb-title").remove();
			$(this).append(obj_html);

			$(this).stop().animate({"bottom":bottom+"px"},500,"Power3.easeOut");
			$(this).find(".m-sb-title").stop().animate({"opacity":1},500,"Power3.easeOut",function(){
				is_sb_btn_animate=false;
			});
		}else{

			$(this).stop().animate({"bottom":"0"},500,"Power3.easeOut");
			$(this).find(".m-sb-title").stop().animate({"opacity":0},500,"Power3.easeOut",function(){
				$(this).remove();
				is_sb_btn_animate=false;
			});
		}
	});
}

//회원 정보 레이어
function mb_side_view(m){
	var page=$(".adm-content");
	var win_h=$(window).height();
	var m_h=win_h-$(".adm-top-menu").height();
	if(g5_is_mobile=='1') m_h=$(window).height();
	var obj=$(".adm-right");
	
	obj.css({"min-height":m_h+"px"});
	obj.find(".adm-right-data").css({"min-height":m_h+"px"});

	if(m=='open'){
		is_mb_sideview=true;
		obj.find(".adm-right-close").show();
		obj.stop().animate({"right":0},300,"Power3.easeOut");
	}else if(m=='close'){
		is_mb_sideview=false;
		obj.find(".adm-right-close").hide();
		obj.stop().animate({"right":"-"+obj.width()+"px"},300,"Power3.easeOut");
	}
}

function top_btn_show(){
	var bsc_top=$(window).scrollTop();

	if(bsc_top>=top_show_scroll){
		if(is_topbtn_ani==false){
			is_topbtn_ani=true;

			TweenLite.fromTo($("#btm-btn").find(".top-up"),0.3,{
				"display":"block",
				"opacity":0
			},{
				"margin-bottom":0,
				"opacity":1,
				ease:Power3.easeIn
			});
		}
	}else{
		is_topbtn_ani=false;

		TweenLite.to($("#btm-btn").find(".top-up"),0.3,{
			"margin-bottom":"-55px",
			"opacity":0,
			ease:Power3.easeIn,
			onComplete:function(){
				$("#btm-btn").find(".top-up").css({"display":"none"});
			}
		});
	}
}

function bottom_btn_show(){
	var btsc_top=$(window).scrollTop();
	var btsc_btm=$(document).height()-$(window).height();

	if(btsc_btm>btsc_top){
		if(is_btmbtn_ani==false){
			TweenLite.fromTo($("#btm-btn").find(".top-down"),0.3,{
				"display":"block"
			},{
				"margin-bottom":0,
				"opacity":1,
				ease:Power3.easeIn
			});
			
			is_btmbtn_ani=true;
		}
	}else{
		TweenLite.to($("#btm-btn").find(".top-down"),0.3,{
			"margin-bottom":"-55px",
			"opacity":0,
			ease:Power3.easeIn,
			onComplete:function(){
				$("#btm-btn").find(".top-down").css({"display":"none"});
			}
		});
		
		is_btmbtn_ani=false;
	}
}

function win_zip_modal(frm_name, frm_zip, frm_addr1, frm_addr2, frm_addr3, frm_jibeon, zip_case) {
    if(typeof daum === 'undefined'){
        alert("다음 우편번호 postcode.v2.js 파일이 로드되지 않았습니다.");
        return false;
    }

	if(!zip_case) zip_case = 1;   //0이면 레이어, 1이면 페이지에 끼워 넣기, 2이면 새창, 3이면 부트스트랩 모달창, 4이면 iziModal

    var complete_fn = function(data){
        // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.

        // 각 주소의 노출 규칙에 따라 주소를 조합한다.
        // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
        var fullAddr = ''; // 최종 주소 변수
        var extraAddr = ''; // 조합형 주소 변수

        // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
        if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
            fullAddr = data.roadAddress;

        } else { // 사용자가 지번 주소를 선택했을 경우(J)
            fullAddr = data.jibunAddress;
        }

        // 사용자가 선택한 주소가 도로명 타입일때 조합한다.
        if(data.userSelectedType === 'R'){
            //법정동명이 있을 경우 추가한다.
            if(data.bname !== ''){
                extraAddr += data.bname;
            }
            // 건물명이 있을 경우 추가한다.
            if(data.buildingName !== ''){
                extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
            }
            // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
            extraAddr = (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
        }

        // 우편번호와 주소 정보를 해당 필드에 넣고, 커서를 상세주소 필드로 이동한다.
        var of = document[frm_name];

        of[frm_zip].value = data.zonecode;

        of[frm_addr1].value = fullAddr;
        of[frm_addr3].value = extraAddr;

        if(of[frm_jibeon] !== undefined){
            of[frm_jibeon].value = data.userSelectedType;
        }

        of[frm_addr2].focus();
    };

	switch(zip_case) {
        case 1 :    //iframe을 이용하여 페이지에 끼워 넣기
            var daum_pape_id = 'daum_juso_page'+frm_zip,
                element_wrap = document.getElementById(daum_pape_id),
                currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
            if (element_wrap == null) {
                element_wrap = document.createElement("div");
                element_wrap.setAttribute("id", daum_pape_id);
                element_wrap.style.cssText = 'display:none;border:1px solid;left:0;width:100%;height:300px;margin:5px 0;position:relative;-webkit-overflow-scrolling:touch;';
                element_wrap.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnFoldWrap" style="cursor:pointer;position:absolute;right:0px;top:-21px;z-index:1" class="close_daum_juso" alt="접기 버튼">';
                jQuery('form[name="'+frm_name+'"]').find('input[name="'+frm_addr1+'"]').before(element_wrap);
                jQuery("#"+daum_pape_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                    e.preventDefault();
                    jQuery(this).parent().hide();
                });
            }

            new daum.Postcode({
                oncomplete: function(data) {
                    complete_fn(data);
                    // iframe을 넣은 element를 안보이게 한다.
                    element_wrap.style.display = 'none';
                    // 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
                    document.body.scrollTop = currentScroll;
                },
                // 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분.
                // iframe을 넣은 element의 높이값을 조정한다.
                onresize : function(size) {
                    element_wrap.style.height = size.height + "px";
                },
                maxSuggestItems : g5_is_mobile ? 6 : 10,
                width : '100%',
                height : '100%'
            }).embed(element_wrap);

            // iframe을 넣은 element를 보이게 한다.
            element_wrap.style.display = 'block';
            break;
        case 2 :    //새창으로 띄우기
            new daum.Postcode({
                oncomplete: function(data) {
                    complete_fn(data);
                }
            }).open();
            break;
		case 3 :    //부트스트랩의 모달창을 이용하기
			var daum_pape_id = 'daum_juso_page_'+frm_zip,
				element_wrap = document.getElementById(daum_pape_id),
				is_modal_class='modal-desktop';
					
				if(g5_is_mobile==1){
					is_modal_class='';
				}

				var daum_modal="<div id='daum_modal' class='modal "+is_modal_class+" fade'>";
				daum_modal+="<div class='modal-dialog'>";
				daum_modal+="<div class='modal-content'>";
				daum_modal+="<div class='modal-header'>";
				daum_modal+="<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>";
				daum_modal+="<h4 class='modal-title'>주소검색</h4>";
				daum_modal+="</div>";
				daum_modal+="<div class='modal-body' id='daum_zip_body'></div>";
				daum_modal+="<div class='modal-footer'>";
				daum_modal+="<button type='button' class='btn btn-black btn-sm' data-dismiss='modal'>닫기</button>";
				daum_modal+="</div>";
				daum_modal+="</div>";
				daum_modal+="</div>";
				daum_modal+="</div>";

				$('body').remove("#daum_modal").prepend(daum_modal);

				var H=$(window).height()-200;

				element_wrap=document.createElement("div");
				element_wrap.setAttribute("id",daum_pape_id);
				element_wrap.style.cssText='width:100%;height:'+H+'px;';
				document.getElementById("daum_zip_body").appendChild(element_wrap);

			new daum.Postcode({
				oncomplete: function(data) {
					complete_fn(data);

					$('#daum_modal').modal('hide');
				},
				maxSuggestItems:6,
				width:'100%',
				height:'100%'
			}).embed(element_wrap);
			
			$("#daum_modal").modal();
			break;
		case 4 :    //iziModal 모달창을 이용하기 - iziModal 스크립트 필요
			var daum_pape_id = 'daum_juso_page_'+frm_zip,
				element_wrap = document.getElementById(daum_pape_id);

				var daum_modal="<div id='daum_modal' class='iziModal'></div>";

				$('body').remove("#daum_modal").prepend(daum_modal);

				$("#daum_modal").iziModal({
					title:"주소검색",
					overlayColor:'rgba(255, 255, 255, 0.4)',
					iconClass: 'icon-stack',
					width:900,
					overlayClose:true,
					overlayColor:'rgba(0, 0, 0, 0.4)',
					padding:20
				});

				$("#daum_modal").iziModal('resetContent');

				var H=$(window).height()-200;

				element_wrap=document.createElement("div");
				element_wrap.setAttribute("id",daum_pape_id);
				element_wrap.style.cssText='width:100%;height:'+H+'px;';

				document.getElementById("daum_modal").getElementsByClassName("iziModal-content")[0].appendChild(element_wrap);

			new daum.Postcode({
				oncomplete: function(data) {
					complete_fn(data);

					$('#daum_modal').iziModal('close');
				},
				maxSuggestItems:6,
				width:'100%',
				height:'100%'
			}).embed(element_wrap);
			
			$("#daum_modal").iziModal('open');
			break;
        default :   //iframe을 이용하여 레이어 띄우기
            var rayer_id = 'daum_juso_rayer'+frm_zip,
                element_layer = document.getElementById(rayer_id);
            if (element_layer == null) {
                element_layer = document.createElement("div");
                element_layer.setAttribute("id", rayer_id);
                element_layer.style.cssText = 'display:none;border:5px solid;position:fixed;width:300px;height:460px;left:50%;margin-left:-155px;top:50%;margin-top:-235px;overflow:hidden;-webkit-overflow-scrolling:touch;z-index:10000';
                element_layer.innerHTML = '<img src="//i1.daumcdn.net/localimg/localimages/07/postcode/320/close.png" id="btnCloseLayer" style="cursor:pointer;position:absolute;right:-3px;top:-3px;z-index:1" class="close_daum_juso" alt="닫기 버튼">';
                document.body.appendChild(element_layer);
                jQuery("#"+rayer_id).off("click", ".close_daum_juso").on("click", ".close_daum_juso", function(e){
                    e.preventDefault();
                    jQuery(this).parent().hide();
                });
            }

            new daum.Postcode({
                oncomplete: function(data) {
                    complete_fn(data);
                    // iframe을 넣은 element를 안보이게 한다.
                    element_layer.style.display = 'none';
                },
                maxSuggestItems : g5_is_mobile ? 6 : 10,
                width : '100%',
                height : '100%'
            }).embed(element_layer);

            // iframe을 넣은 element를 보이게 한다.
            element_layer.style.display = 'block';
    }
}

function button_resize(){
	var ww=$(window).width();

	if(ww>=768){
		$(".resize-group-btn").addClass("btn-group pull-right");
		$(".resize-group-btn").find(".btn").removeClass("btn-block");
		$(".resize-btn").find(".btn").removeClass("btn-block");
	}else{
		$(".resize-group-btn").removeClass("btn-group pull-right");
		$(".resize-group-btn").find(".btn").addClass("btn-block");
		$(".resize-btn").find(".btn").addClass("btn-block");
	}
}

//값유형이 json 인지 아닌지 체크
function set_json(data){
	var response=false;

	try{
		response=$.parseJSON(data);
	}catch(error){
		
	}

	if(response && typeof response =='object') {
		return response;
	}else{
		return "string";
	}
}

//부트스트랩의 팝오버를 컨트롤
function popover_set(obj,show,hide,context,fa,pos,delay){
	if(!show) show=500;
	if(!hide) hide=500;
	if(!context) context="<span class='text-warning'><i class='fa fa-exclamation-circle'></i></span> 이 항목은 필수 입니다.";
	if(!pos) pos='top';
	if(!delay) delay=1000;
	if(fa) fa="<span class='text-warning'><i class='fa fa-"+fa+"'></i></span> ";

	obj.popover({
		html:true,
		delay:{"show":show,"hide":hide},
		content:fa+context+" <span class='popover-close text-danger'><i class='fa fa-times'></i></span>",
		placement:pos
	});

	obj.popover('show');
	setTimeout(function(){
		obj.popover('destroy');
	},delay);

	$(".popover-close,.popover-content").on("click",function(){
		obj.popover('destroy');
	});
}