$(document).ready(function(){

	App.MainGnb.init();

	if($(document).has('.slideMenu').length > 0){
		App.MobileMenu.init({
			mSearchBtn: '.search-btn',
			mGnbWrap: '.slideMenu', // 클릭 시 슬라이드되는 모바일메뉴의 최상위 div의 class
			mGnbBox: '.m-gnb', // 모바일메뉴 ul을 감싸는 div의 class
			btnOpen: '.btn-m-menu', // 모바일메뉴를 여는 버튼 class
			btnClose: '.slide-close', // 모바일메뉴를 닫는 버튼 class
			depthClass: '.dep', // 각 뎁스를 의미하는 class (1depth = depthClass + 1, 2depth = depthClass + 2, ...)
			direction: 'right', // 모바일메뉴가 나오는 방향 지정
			dep02slide: 'N' // 2뎁스메뉴 슬라이드 효과 여부
		});
	}

	$('.search-btn').click(function(){
		$(this).parents('.m-search-box').toggleClass('on');
	});
});

//------------------------------------------------------
// MainGnb
//------------------------------------------------------
App.MainGnb = function () {
	var self, depth02Arr;
	var stickyTop;
	return {
		init: function () {
			self = this;
			depth02Arr = new Array();
			stickyTop = $('.bottom-header-wrap').offset().top;

			$(window).scroll(function(){
				if($(this).scrollTop() > stickyTop){
					$('.bottom-header-wrap').addClass('fixed');
				}else{
					$('.bottom-header-wrap').removeClass('fixed');
				}
			});

			$('.gnb-bg').css({height: 'auto'});

			if($('.sub-mn-box .sub-mn > li').find('a').hasClass('active')){
				$('.sub-mn-box .sub-mn > li a.active').parents('li').addClass('active');
			}

			$('.gnb-ul > li > a').on('mouseenter focusin', self.onMouseOver);
			$('.sub-mn-box .sub-mn > li:last-of-type .sub-mn02 > li:last-of-type > a').on('focusout', self.onMouseLeave);
			$('.gnb-box').on('mouseleave', self.onMouseLeave);
			$('.sub-mn03 > li > a').on('click', self.onClickDepth);

			$('.gnb-ul li, .m-gnb li, .path-depth li').each(function(){
				var $list = $(this);
				if($list.children('a').hasClass('menu-hide')){
					$list.addClass('menu-hide');
					$(this).parent().append($list);
				}
			});

			// 사이트맵
			$('.btn-sitemap').on('click', function(){
				$('body').addClass('over-hidden');
				$('.sitemap-wrap').addClass('on');
			});
			$('.btn-sitemap-close').on('click', function(){
				$('body').removeClass('over-hidden');
				$('.sitemap-wrap').removeClass('on');
			});

			$(window).resize(function(){
				if($(window).width() <= 1024){
					$('.btn-sitemap-close').trigger('click');
				}
			});
		},
		onMouseOver: function () {
			var subMnBox = $(this).next('.sub-mn-box');
			var subMnHeight = subMnBox.outerHeight();

			$('.bottom-header-wrap').addClass('on');
			$('.gnb-bg').height(subMnHeight);
			$('.sub-mn-box, .gnb-bg').hide();
			$('.gnb-ul > li').removeClass('on');
			$(this).parent('li').addClass('on');
			if(subMnBox.find('.sub-mn > li').length > 0){
				subMnBox.stop(true, true).delay(100).show();
				$('.gnb-bg').stop(true, true).delay(100).show();
			}
		},
		onMouseLeave: function () {
			$('.bottom-header-wrap').removeClass('on');
			$('.gnb-bg').css({height: 'auto'});
			$('.gnb-ul > li').removeClass('on');
			$('.sub-mn-box, .gnb-bg').stop(true, true).delay(100).hide();
		},
		onClickDepth: function(e) {
			if($(this).siblings('ul').length > 0){
				e.preventDefault();
			}

			if(!$(this).next('ul').is(':visible')){
				$(this).parent('li').siblings('li').find('ul').slideUp();
				$(this).next('ul').slideDown();
			}else{
				$(this).next('ul').slideUp();
			}
		}
	}
}();