if (typeof console === "undefined" || console === null) { console = { log: function() {} }; } var APP = APP || {}; APP.register = function(ns_name){ var parts = ns_name.split('.'), parent = APP; for(var i = 0; i < parts.length; i += 1){ if(typeof parent[parts[i]] === "undefined"){ parent[parts[i]] = {}; } parent = parent[parts[i]]; } return parent; }; APP.isAlphaTween = true; var browser = navigator.userAgent; if(browser.toLowerCase().indexOf("msie 8")>0 || browser.toLowerCase().indexOf("msie 7")>0 ){ APP.isAlphaTween = false; } (function(ns, $,undefined){ ns.register('gnb'); ns.gnb = function(){ var element, element_con, depth2ConArr, depth1TotalNum, viewDepth2 = false, depth1Arr, depth2Arr=[], reSetTimer; var _init = function(){ var i, max; element = $('.webgnb'); element_con = $('.topNavWrap') depth1Arr = element.find('> li > a'); depth1TotalNum = depth1Arr.length; depth2ConArr = element.find('>li> ul'); depth1Arr.each(function(index, item){ $(item).attr('name', 'depth1_'+index); }); depth1Arr.on('mouseenter focusin mouseleave focusout', depth1Handler); for(i = 0, max = depth2ConArr.length; i li > a'); depth2Arr[i].on('mouseenter focusin mouseleave focusout', depth2Handler); depth2Arr[i].each(function(index, item){ $(item).attr('name', 'depth2_'+i+'_'+index); }); } }; var depth1Handler = function(e){ var num = e.currentTarget.getAttribute('name').substr(7,1); switch ( e.type ) { case 'mouseenter': case 'focusin': stopTimer(); depth1Over(num); break; case 'focusout': case 'mouseleave': startTimer(); break; } }; var depth1Over = function(num){ for(var i = 0; i < depth1TotalNum; i++){ if(num == i){ TweenLite.to(depth1Arr[num], 0.2, {css:{className:'+=on'}}); }else{ TweenLite.to(depth1Arr[i], 0.2, {css:{className:'-=on'}}); } } if(!viewDepth2){ $('header').css('z-index', '30'); TweenLite.to(element_con, 0.3, {css:{className:'+=on'}}); } viewDepth2 = true; }; var depth2Handler = function(e){ var num = e.currentTarget.getAttribute('name').substr(7,1); var num2 = e.currentTarget.getAttribute('name').slice(9); switch ( e.type ) { case 'mouseenter': case 'focusin': TweenLite.to($(e.currentTarget), 0.2, {css:{className:'+=on'}}); stopTimer(); depth1Over(num); break; case 'focusout': case 'mouseleave': TweenLite.to($(e.currentTarget), 0.2, {css:{className:'-=on'}}); startTimer(); break; } }; var startTimer = function(){ clearTimeout( reSetTimer ); reSetTimer = setTimeout (reSetMenu, 400 ); }; var stopTimer = function(){ clearTimeout( reSetTimer ); }; var reSetMenu = function(){ depth1Over(null); $('header').css('z-index', '10'); TweenLite.to(element_con, 0.3, {css:{className:'-=on'}}); viewDepth2 = false; }; return{ init:_init }; }(); }(APP || {}, jQuery));