var _EMPTY = 'javascript:void(0);';

var UI = (function () {
	return {
		init: function () {
			/*
			 * Android : 1.98 이상
			 * iOS : 2.0.12 이상
			 */
			var appVer = isMobile.FingerAppVersion();
			if ((isMobile.App() && appVer && ((isMobile.Android() && appVer >= 198) || (isMobile.iOS() && appVer >= 2012))) || !isMobile.App()) {
				$('.quick-nav').show();
			} else {
				$('.quick-nav').hide();
			}
			this.event();

			this.initCategory();
		},
		element: {
			layout: {
				wrap: '#wrap',
				header: '.header-top',
				lnb: '.lnb',
				nav: '.quick-nav',
				quick: '.quick-btn',
				footer: '.footer-wrap',
			},
			layer: {
				name: '.pop-layer',
				wrap: '.pop-wrap',
				btn: '.btn-close, .dim',
				playWrap: '.play-area'
			}
		},
		event: function () {
			var lThiz = this.element;
			var posY;

			var cont = $("#content").length > 0 ? $("#content") : $('#contents');
			var contTop = (cont.length > 0) ? cont.offset().top : 0;

			var sct = $(window).scrollTop();
			var sct2 = $(document).height();

			var prevScrollTop = $(window).scrollTop(),
				nowScrollTop = $(window).scrollTop(),

				nowDir = 'down',
				prevDir = 'down';

			nowDir = 'up';

			$(lThiz.layout.nav).removeClass('hide');
			$(lThiz.layout.header).removeClass('scroll-up');
			$(lThiz.layout.wrap).removeClass('scroll');
			$(window).on('scroll touchmove', function () {
				nowScrollTop = $(window).scrollTop();
				if (nowScrollTop < 0) {
					return false;
				}
				
				if (nowScrollTop > prevScrollTop) {
					nowDir = 'down';
					//$(lThiz.layout.nav).addClass('hide'); 2020-07-28
					$(lThiz.layout.wrap).removeClass('scroll-up');
					$(lThiz.layout.quick).css({'transform': 'translateY(-50px)'}); //2020-07-28
					$(".notify-banner").hide();

					if ($('#content.main').length > 0) {
						$(lThiz.layout.wrap).removeClass('scroll');
					} else {
						$(lThiz.layout.wrap).addClass('scroll');
						$(".disp_evtTabs .fixed, .gds_tabs").css({'top': '50px'});
//						$(".top_title.plan , .top_title.thema").removeClass("active");
//						$(".top_title.plan , .top_title.thema").addClass("on");
						$(".top_title.plan , .top_title.thema").removeClass("active");
						$(".top_title.plan , .top_title.thema").addClass("on");
					}

					if ($('.fixedBar').length > 0) {
						$(".fixedBar").css({"bottom":"0px"});
						$(lThiz.layout.quick).css({'transform': 'translateY(-44px)'});
					}
				} else if (nowScrollTop < prevScrollTop) {
					nowDir = 'up';
					//$(lThiz.layout.nav).removeClass('hide'); 2020-07-28
					$(lThiz.layout.wrap).removeClass('scroll');
					$(lThiz.layout.quick).css({'transform': 'translateY(-50px)'}); //2020-07-28

					if ($('#content.main').length > 0) {
						$(lThiz.layout.wrap).removeClass('scroll-up');
					} else {
						$(lThiz.layout.wrap).addClass('scroll-up');
						$(".disp_evtTabs .fixed, .gds_tabs").css({'top': '50px'});
						//$(".disp_keyMenu").css({'padding-top': '60px'});
						$(".top_title.plan , .top_title.thema").removeClass("on");
						$(".top_title.plan , .top_title.thema").addClass("active");
					}

					if ($('.fixedBar').length > 0) {
						//$(".fixedBar").css({"bottom":"76px"});
						$(".fixedBar").css({"bottom":"0"});
						$(lThiz.layout.quick).css({'transform': 'translateY(-44px)'});
						$(lThiz.layout.nav).addClass('hide');
					}
				}

				if (nowScrollTop === 0) {
					nowDir = 'up';
					//$(lThiz.layout.nav).removeClass('hide'); 2020-07-28
					$(lThiz.layout.wrap).removeClass('scroll');
					$(lThiz.layout.wrap).removeClass('scroll-up');
					$(lThiz.layout.quick).css({'transform': 'translateY(80px)'});

					if (!$(".notify-banner").hasClass("do-not-block")) {
						$(".notify-banner").show();
					}

					if ($('.fixedBar').length > 0) {
						$(lThiz.layout.nav).addClass('hide');
					}

					nowScrollTop = 0;
					
					$(".top_title.thema").removeClass("active");
				}

				prevDir = nowDir;
				prevScrollTop = nowScrollTop;
			});

			$(window).scroll(function () {
				if ($(window).scrollTop() == $(document).height() - $(window).height() || nowScrollTop > $(document).height() - $(window).height() - 100) {
					nowDir = 'down';
					$(lThiz.layout.nav).removeClass('hide');
					//$(lThiz.layout.quick).show().css({'transform': 'translateY(-100px)'});
					//$(lThiz.layout.footer).css({'padding-bottom': '76px'});

					if ($('.fixedBar').length > 0) {
						// $(".fixedBar").css({"bottom":"76px"});
						// $(lThiz.layout.quick).css({'transform': 'translateY(-155px)'});
						// $(lThiz.layout.footer).css({'padding-bottom': '120px'});

						$(lThiz.layout.nav).addClass('hide');
						$(".fixedBar").css({"bottom":"0"});
						$(lThiz.layout.quick).css({'transform': 'translateY(-80px)'});
						$(lThiz.layout.footer).css({'padding-bottom': '44px'});
					}
				} else {
					//$(lThiz.layout.quick).hide();
				}
			});

			//lnb
			$(".lnb-inner .item").on("click", function() {
				$(".lnb-inner .item").removeClass("active");
				$(this).addClass("active");
				$(".lnb-inner").scrollCenter(".active", 300);
			});

			if ($('#contents').length < 1) {
				$('.header-wrap .lnb').each(function(){
					//2020-07-28
					if ($(this).css('display') == 'none') {
						$("#content").css({"padding-top":"50px"});
						$("#wrap .header-wrap").css({"transform":"translateY(0px)"});
						$(".disp_ctgCtrl.fixed").css({"top":"50px"});
					}else{
						$(window).on('scroll touchmove', function () {
							if ($(".disp_ctgCtrl").hasClass('fixed')) {
								$(".disp_ctgCtrl").css({"top":"104px"});
							} else {
								$(".disp_ctgCtrl").css({"top":"inherit"});
							}
						});
					}
				});
			}

			//option box 2020-07-21
			$('.gds_ord button').on("click", function() {
				$(".gds_opt").addClass("active");
				$("html, body").css({"overflow":"hidden"});
			});
			$(".gds_opt .gd_cls").on("click", function() {
				//console.log("있음5");
				$(".gds_opt").removeClass("active");
				$("html, body").css({"overflow":"auto"});

			});

			//2depth category
			$(".cate-wrap .item").on("click", function() {
				$(".cate-wrap .item").removeClass("active");
				$(this).addClass("active");
				$(".cate-inner").scrollCenter(".active", 300);
			});

			//quick
			$('.quick-btn .btn-top').on('click', function (e) {
				$('html,body').animate({scrollTop: 0});
			});

			// 앱 최초 알림 닫기
			/*if ($('.notify-banner').length > 0) {
				$(".btn-close").on('click',function (e) {
					e.preventDefault();
					$(".notify-banner").addClass("do-not-block").hide();
				});
			}*/

			//spalsh
			if ($('#content.splash').length > 0) {
				var deviceheight = $(window).height();
				$("html,body").css({"height":deviceheight+"px"});
			}

			//toggle
			$('.btn-toggle').each(function () {
				if ($(this).hasClass('close')) {
					$($(this).attr('href')).hide();
				} else {
					$($(this).attr('href')).show();
				}

			});
			$('.btn-toggle').bind('click', function (e) {
				e.preventDefault();
				$(this).toggleClass('close');

				if ($(this).hasClass('close')) {
					$($(this).attr('href')).hide();
				} else {
					$($(this).attr('href')).show();
				}
			});

			//cart
			/*$('.btn-shop-cart').bind('click', function (e) {
				e.preventDefault();
				$(".cart-box").fadeIn();
				//$("html, body").addClass('fixed');
				setTimeout(function () {
					$(".cart-box").fadeOut();
					//$("html, body").removeClass('fixed');
				}, 1500);
			});*/

			/* 개발팀 추가 */
			//lnb (gnb)
			$("#header .lnb-inner .item").on("click", function() {
				var _this = $(this);
				var _type = $(this).find('a').data('type');

				// active change
				$(".lnb-inner .item").removeClass("active");
				_this.addClass("active");

				if (_type == "NEW" || _type == "BEST" || _type == "SALE" || _type == "BRAND" || _type == "ETC") {
					if(location.pathname.indexOf("/dispctg/initCtg") > -1) {
						// inner replace...
						$(".lnb-inner").scrollCenter(".active", 300);
					} else {
						// 통합 카테고리 이동 하기
						overpass.util.go(overpass.util.http('/dispctg/initCtg.action') + "?disp_type=" + _type);
					}
				} else {
					overpass.link(_type);
				}

			});

			//left category
			var _curScrollTop = 0;
			var _dataTypeInNavi = "";
			$('.quick-nav .nav-category').on("click", function() {
				var categoryEl = $('#content-category.category-wrap');

				if (categoryEl && categoryEl.length > 0) {

					if (categoryEl.css('display') == "none") {
						_curScrollTop = $(document).scrollTop();
						$('html,body').animate({scrollTop: 0}, 'fast');

						$('header#header').hide();
						$('#container section').hide();
						categoryEl.show();

						/*
						if (!$('#content-category .theme-slider').hasClass('slick-initialized')) {
							if (typeof $('#content-category .theme-slider').slick == "function") {
								//테마관 슬라이드
								$('#content-category .theme-slider').slick({
									slide: '.item',
									slidesToShow: 2.5,
									slidesToScroll: 1,
									arrows: false,
									dots: false,
									autoplay: false,
									infinite:false
								});
							} else {
								$('#content-category .theme-wrap').hide();
							}
						}
						*/

						$('#footer').hide();
						//$('.quick-nav').hide();
						if ($(".quick-nav li.active") && $(".quick-nav li.active").length > 0) {
							_dataTypeInNavi = $(".quick-nav li.active").attr('class').replace(' active', '');
						}
						$(".quick-nav li").removeClass("active");
						$(".quick-nav li.nav-category").addClass("active");

						$('body').bind('touchmove', function (e) { e.preventDefault(); });
						$('body').css('overflow-y', 'hidden');
						//if (varUA.indexOf("iphone") > -1 || varUA.indexOf("ipad") > -1 || varUA.indexOf("ipod") > -1) {
							$('#contents').hide();
						//}
					} else {
						$('header#header').show();
						$('#container section').show();
						$('#content-category').hide();
						$('#footer').show();
						//$('.quick-nav').show();
						$(".quick-nav li").removeClass("active");
						if (_dataTypeInNavi) {
							$(".quick-nav li." + _dataTypeInNavi).addClass("active");
						}

						$('html,body').animate({scrollTop: _curScrollTop}, 'slow');

						$('body').css('overflow-y', 'auto');
						//if (varUA.indexOf("iphone") > -1 || varUA.indexOf("ipad") > -1 || varUA.indexOf("ipod") > -1) {
							$('#contents').show();
						//}
						$('body').unbind('touchmove');
					}

				}

			});
			$('.category-inner .btn-back').on("click", function() {
				var categoryEl = $('#content-category.category-wrap');

				if (categoryEl && categoryEl.length > 0 && categoryEl.css('display') != "none") {
					$('header#header').show();
					$('#container section').show();
					categoryEl.hide();

					$('#footer').show();
					//$('.quick-nav').show();
					$(".quick-nav li").removeClass("active");
					if (_dataTypeInNavi) {
						$(".quick-nav li." + _dataTypeInNavi).addClass("active");
					}

					$('html,body').animate({scrollTop: _curScrollTop}, 'slow');

					$('body').css('overflow-y', 'auto');
					//if (varUA.indexOf("iphone") > -1 || varUA.indexOf("ipad") > -1 || varUA.indexOf("ipod") > -1) {
						$('#contents').show();
					//}
					$('body').unbind('touchmove');

				}
			});

			//LNB - 검색돋보기
			$('.category-inner .top .sch').on('click', function(){
				overpass.app.fnTabbar('hide');
				OpenLyrFull('lyr_search',this);

				//최근검색어
				overpass.search.getLatelyKeyword($('.layer_fullFix'));
			});

			//LNB - 장바구니
			$('.category-inner .top .crt').on('click', function(){
				overpass.link('CART');
			});

			//장바구니 액션
			/*$(document.body).on("click", "a.btn-shop-cart", function(e) {
				// Cart 처리
				e.preventDefault();
				var cartEl = $(".cart-box");

				if (cartEl.length > 0) {
					setTimeout(function(){
						$(".cart-box").fadeIn();
						//$("html, body").addClass('fixed');
						setTimeout(function() {
							$(".cart-box").fadeOut();
							//$("html, body").removeClass('fixed');
						},650);
					},400);
				}

			});*/
			
			//상품 Sold Out 임의로 클릭 이벤트 추가 
			$(document.body).on("click", ".prd-box.soldout", function(e) {
				var _tempEl = $(this).find('.thumb a');
				if (_tempEl && _tempEl.length > 0) {
					eval(_tempEl.attr('onclick'));
				}
			});
			/* //개발팀 추가  */
		},
		layerPopUp: function (pOption) {
			/*   pOption
			*  {
			*  	 state : 'open'  OR  'close'
			*  	 selId : Layer Selector
			*  }
			*/
			var lThiz = this;
			var lLayer = $(pOption.selId);
			var posY;
			var lLayerBox = $(pOption.selId).find(lThiz.element.layer.wrap);
			var main_ntc_lyr = $('#main_ntc_lyr').css('display');

			if (pOption.st !== 'close' && main_ntc_lyr != "none") {
				posY = $(window).scrollTop();
				lLayer.addClass('active');
				//$('.slick-slider').slick('setPosition');//slideSet
				$("html, body").addClass('fixed');
				$("#wrap").css("top", -posY);
			} else {
				//var posY = $("#wrap").css("top").replace(/[^-\d\.]/g, '');
				$("#wrap").css("top", 'auto');

				lLayer.removeClass('active');
				$("html, body").removeClass('fixed');
				$("html, body").animate({scrollTop: -posY}, 0);
			}

			lLayer.find('.dim').on("click", function (e) {
				e.preventDefault();
				var posY = $("#wrap").css("top").replace(/[^-\d\.]/g, '');
				lLayer.removeClass('active');
				$("#wrap").css("top", 'auto');
				$("html, body").removeClass('fixed');
				$("html, body").animate({scrollTop: -posY}, 0);
			});
		},
		setCategory: function () {
			// category
			(function($) {
				var Nav = {
					click: function(target, speed) {
						var _self = this,
						$target = $(target);
						_self.speed = speed || 200;

						$target.each(function() {
							if (findChildren($(this))) {
								return;
							}
							//$(this).addClass("noDepth");
						});

						function findChildren(obj) {
							return obj.find("> ul").length > 0;
						}

						$target.on("click", "a", function(e) {
							e.stopPropagation();
							var $this = $(this),
							$depthTarget = $this.next(),
							$siblings = $this.parent().siblings();

							$this
							.parent("li")
							.find("ul li")
							.removeClass("active");
							$siblings.removeClass("active");
							$siblings.find("ul").hide();

							if ($depthTarget.css("display") == "none") {
								_self.activeOn($this);
								$depthTarget.slideDown(_self.speed);
							} else {
								$depthTarget.slideUp(_self.speed);
								_self.activeOff($this);
							}
						});
					},
					activeOff: function($target) {
						$target.parent().removeClass("active");
					},
					activeOn: function($target) {
						$target.parent().addClass("active");
					}
				};

				// Call lnb UI
				$(function() {
					Nav.click(".category-list li", 200);
				});
			})(jQuery);
		},
		initCategory: function () {
			var _this = this;
			/*$.ajax({
				url: "/dispctg/searchCategoryCtgList.action",
				method: "POST",
				dataType: "JSON"
			})
			.done(function(res) {
				if (res && res.result == "200" && res.data && res.data.length > 0) {
					var tempElUl = $('<ul/>');
					$.each(res.data, function(i, v) {
						var tempLowerArr = ['<li><a href="' + _EMPTY + '" onclick="overpass.dispctg.goCtgList({disp_type:\'ETC\',disp_ctg_no:\'' + v.disp_ctg_no + '\'});">전체</a></li>'];
						$.each(v.lower_ctg, function(lIdx, lv) {
							tempLowerArr.push('<li><a href="' + _EMPTY + '" onclick="overpass.dispctg.goCtgList({disp_type:\'ETC\',disp_ctg_no:\'' + v.disp_ctg_no + '\',disp_sub_cate_no:\'' + lv.disp_ctg_no + '\'});">' + lv.disp_ctg_nm + '</a></li>');
						});
						
						if (tempLowerArr && tempLowerArr.length > 0 && tempLowerArr.length % 2 != 0) {
							tempLowerArr.push('<li/>');
						}

						tempElUl.append([
							'<li>',
								'<a href="' + _EMPTY + '" class="dep1">',
									'<span class="icon-box">',
										'<img src="' + v.img_off + '" alt="' + v.disp_ctg_nm + '" class="off">',
										'<img src="' + v.img_on + '" alt="' + v.disp_ctg_nm + '" class="on">',
									'</span>',
									'<span class="icon-ctg-nm">' + v.disp_ctg_nm + '</span>',
								'</a>',
								'<ul>',
									tempLowerArr.join(''),
								'</ul>',
							'</li>'
						].join(''));
					});

					if (tempElUl.find('li').length > 0) {
						$('#content-category .category-list').append(tempElUl);

						// Call lnb UI
						_this.setCategory();
					}
				}
			})
			.fail(function(p) {
				console.error("Faild is data load", p);
			});*/
			
			
			// Call lnb UI
			_this.setCategory();
			
		}
	};
})();

$(document).ready(function () {
	// init - lnb hide
	if ($('#container').length < 1) {
		$('.lnb').hide();
	}
	
	var top_title = $('#contents .top_title');
	var top_tabs = $('.disp_evtTabs');
	var theme_class=$(".disp_keyMenu");
	if ((top_title.length > 0 && top_title.css('display') != "none") || (top_tabs.length > 0 && top_tabs.css('display') != "none"))  {
		$('#contents').addClass('small-top');
		if(theme_class.length > 0){
			$('.top_title').addClass('thema');
		}
	}

	UI.init();

	jQuery.fn.scrollCenter = function(elem, speed) {
		var active = jQuery(this).find(elem); // active element
		if (!active || active.length < 1) {
			return false;
		}
		
		var activeWidth = active.width() / 2;
		var pos = active.position().left + activeWidth;
		var elpos = jQuery(this).scrollLeft();
		var elW = jQuery(this).width();
		pos = pos + elpos - elW / 2;

		jQuery(this).animate({
			scrollLeft: pos
		}, speed == undefined ? 1000 : speed);
		return this;
	};
	jQuery.fn.scrollCenterORI = function(elem, speed) {
		jQuery(this).animate({
			scrollLeft: jQuery(this).scrollLeft() - jQuery(this).offset().left + jQuery(elem).offset().left
		}, speed == undefined ? 1000 : speed);
		return this;
	};
});

$(window).on('load',function() {
	var urlParam = function(name) {
		var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
		if (results==null) {
			return null;
		}
		return decodeURI(results[1]) || 0;
	};

	// init - gnb active
	var dataType = "";
	var dataTypeInNavi = "";

    var disp_tg20221= "2208007427";
    var disp_tg20222= "2208007426";
    /*if(!chkServer()){
        disp_tg20221= "2208004980";
        disp_tg20222= "2208004979";
    }*/

	if(location.pathname.indexOf("/main/initMain") > -1) {
		dataType = "MAIN";
		dataTypeInNavi = "nav-home";
		$('.quick-btn .btn-back').hide();
	} else if(location.pathname.indexOf("/shop/initSevenDays") > -1) {
		dataType = "7DAY";
	} else if(location.pathname.indexOf("/shop/initRegularMenu") > -1) {
		dataType = "REGULARMENU";
    } else if(location.href.indexOf("/dispctg/initCtg.action?disp_type=ETC&disp_ctg_no="+disp_tg20221) > -1){
        dataType = "TG20221";
    } else if(location.href.indexOf("/dispctg/initCtg.action?disp_type=ETC&disp_ctg_no="+disp_tg20222) > -1){
        dataType = "TG20222";
    } else if(location.pathname.indexOf("/shop/initRegularDlv") > -1) {
		dataType = "REGULAR";
	// } else if(location.href.indexOf("/dispctg/initCtg.action?disp_type=ETC&disp_ctg_no=2009005475") > -1) {
	// 	dataType = "MEMORIALRITES";   // 추석기획
	} else if(location.pathname.indexOf("/dispctg/initCtg") > -1) {
		dataType = urlParam('disp_type');
	} else if(location.pathname.indexOf("/shop/initPlanShop.action?disp_ctg_no=2007005357") > -1) {
		dataType = "THEMEAT";   // the신선정육관 타입
	} else if(location.pathname.indexOf("/shop/initPlanShop.action?disp_ctg_no=2103005985") > -1) {
		dataType = "THISGOURMET";   // 이달의맛집 타입
	} else if(location.pathname.indexOf("/shop/initPlanShop.action?disp_ctg_no=2009005485") > -1) {
		dataType = "MEMORIALRITES";   // 2020 추석 사전예약 타입
	// } else if(location.pathname.indexOf("/dispctg/initCtg.action?disp_type=ETC&disp_ctg_no=2009005475") > -1) {
	// 	dataType = "NEWYEARGIFTS";   // 2022 설날기획전페이지
	} else if(location.pathname.indexOf("/mypage/initMypageMain.action") > -1) {
		dataTypeInNavi = "nav-my";
	} else if(location.pathname.indexOf("/mypage/initOrderList.action") > -1) {
		dataTypeInNavi = "nav-deli";
	} else if(location.pathname.indexOf("/mypage/initRecentPrd.action") > -1) {
		dataTypeInNavi = "nav-recent";
	} else if(location.pathname.indexOf("/shop/initLightingDeal.action") > -1) {
		dataType = "LIGHTINGDEAL";
    } else if(location.pathname.indexOf("/shop/initYugBaegJeom.action") > -1) {
		dataType = "600";
	}
	if (dataType) {
		$(".lnb-inner .item").removeClass("active");
		$('.lnb-inner').find('[data-type="' + dataType + '"]').parent('.item').addClass("active");
		$(".lnb-inner").scrollCenter(".active", 300);
	}

	if (dataTypeInNavi) {
		$(".quick-nav li").removeClass("active");
		$(".quick-nav li." + dataTypeInNavi).addClass("active");
	}
});