/* gnb */
(function($){
$.fn.gnb = function(opt){
var settings = $.extend({
dep1Wrap : '.gnb',
dep2Wrap : '.gnb_sub',
dep1 : null,
dep2 : null
},opt);
return $(this).each(function(){
var $gnbDep1 = $(this).find(settings.dep1Wrap);
var $gnbDep2 = $(this).find(settings.dep2Wrap);
var lastIdx;
var timer = null;
$gnbDep1.children('li')
.mouseenter(function(){
$gnbDep2.hide();
var curIdx = $(this).index();
$gnbDep1.find('img').each(function(){
if(this.src.indexOf('_.gif')>-1){
this.src =this.src.replace('_.gif','.gif')
}
})
var img = $(this).find('img')[0];
img.src =img.src.replace('.gif','_.gif')
if(lastIdx!=undefined){
$gnbDep2.eq(lastIdx).hide();
}
$gnbDep2.eq(curIdx).stop(true, true).slideDown('fast');
lastIdx = curIdx;
})
.mouseleave(function(){
var img = $(this).find('img')[0];
img.src =img.src.replace('_.gif','.gif')
});
$gnbDep1.mouseleave(function(){
timer = setTimeout(function(){
if(settings.dep1 != null){
$gnbDep1.children('li').eq(settings.dep1).mouseenter();
if(settings.dep2 != null){
$gnbDep2.eq(settings.dep1).find('li').eq(settings.dep2).find('img').mouseover()
}
} else {
$gnbDep2.stop(true, true).slideUp('fast');
}
},100);
});
$gnbDep2.find('img').hover(function(){
this.src = this.src.replace('.gif','_.gif')
},function(){
this.src = this.src.replace('_.gif','.gif')
});
$gnbDep2.mouseenter(function(){
if(timer != null) clearTimeout(timer)
var img = $gnbDep1.children('li').eq(lastIdx).find('img')[0];
img.src =img.src.replace('.gif','_.gif')
});
$gnbDep2.mouseleave(function(){
var img = $gnbDep1.children('li').eq(lastIdx).find('img')[0];
img.src =img.src.replace('_.gif','.gif')
if(settings.dep1 != null){
$gnbDep1.children('li').eq(settings.dep1).mouseenter()
if(settings.dep2 != null){
$gnbDep2.eq(settings.dep1).find('li').eq(settings.dep2).find('img').mouseover()
}
} else {
$(this).slideUp('fast');
}
});
if(settings.dep1 != null){
$gnbDep1.children('li').eq(settings.dep1).mouseenter()
if(settings.dep2 != null){
$gnbDep2.eq(settings.dep1).find('li').eq(settings.dep2).find('img').mouseover()
}
}
});
}
$.fn.lnb = function(opt){
var settings = $.extend({
data : null,
banner : null
},opt);
return $(this).each(function(){
var $this = $(this);
var data = settings.data;
var dep2Flag = false;
var genHTML = '
';
var lastIdx;
var timer = null
$.each(data,function(i){
genHTML += ' '
});
genHTML += '
';
$this.html(genHTML);
$('').appendTo(this).hide();
$('').appendTo(this);
if(settings.banner!=null){
$('#descImgWrap').html('');
}
$('>ul',this)
.mouseenter(function(){
$('#lnb2depWrap').stop(true,true).fadeIn(300)
})
.mouseleave(function(){
timer = setTimeout(function(){$('#lnb2depWrap').fadeOut()},10)
$('>li',this).find('img').each(function(){
this.src = this.src.replace('.gif','off.gif');
})
})
$('>ul>li',this)
.mouseenter(function(){
var idx = $(this).index();
lastIdx = idx;
$('#category').empty();
$('#lnb2dep').empty();
if(timer)clearTimeout(timer)
if(lastIdx!=undefined){
var allImg = $(this).parent().find('img');
allImg.each(function(){
this.src=this.src.replace('on','off');
});
}
var curImg = $(this).find('img')[0]
curImg.src = curImg.src.replace('off.gif','.gif');
$('# descImgWrap').html('');
$('#descImgWrap img').hide()
var curData = data[idx];
$('#descImgWrap').html('')
if(curData.hasMenu.length>0){
$.each(curData.hasMenu,function(i){
$('#category').append(''+this.name+'');
});
$('#category a').mouseover(function(){
$(this).siblings('a.on').removeClass('on').end().addClass('on');
$('#lnb2dep').empty();
var cur2DepList = curData.hasMenu[$(this).index()].items //array
var lis = ''
$.each(cur2DepList,function(j){
lis += '0?' class="hasChild"':'')+'>'+this.name+'';
if(this.hasMenu.length>0){
lis += '';
$.each(this.hasMenu,function(){
lis += '- '+this.name+'
'
})
lis += '
'
}
lis += '';
})
$('#lnb2dep').html(lis)
$('#lnb2dep li.hasChild ul').hide()
$('#lnb2dep li.hasChild').click(function(e){
e.preventDefault();
$(this).children('a').addClass('on');
$(this).siblings('li.hasChild').find('ul:visible').hide().end().find('a.on').removeClass('on')
$(this).find('ul').show();
}).eq(0).click();
$('#lnb2dep a').click(function(e){
e.preventDefault();
var szUrl = $(this).attr('href');
if(szUrl && szUrl != '#' && szUrl != ''){
document.location.href = szUrl;
}
});
}).eq(0).mouseover();
}
})
.mouseleave(function(){
$('#descImgWrap img').remove();
if(settings.banner!=null){
$('#descImgWrap').html('');
}
lastIdx=$(this).index();
});
$('#lnb2depWrap')
.mouseenter(function(){
if(timer) clearTimeout(timer);
var targetImg = $('#lnb1depWrap img').eq(lastIdx)[0]
targetImg.src = targetImg.src.replace('off.gif','.gif');
})
.mouseleave(function(){
var self = this;
timer = setTimeout(function(){
$(self).fadeOut(300);
$('#lnb1dep').find('img').each(function(){
//this.src=thissrc
});
},10);
});
})
}
})(jQuery);