jQuery(function() {
var $ = jQuery;
var ie6 = ($.browser.msie && $.browser.version < 7);
$.fn.retarder = function(delay, method){
var node = this;
if (node.length){
if (node[0]._timer_) clearTimeout(node[0]._timer_);
node[0]._timer_ = setTimeout(function(){ method(node); }, delay);
}
return this;
};
$('#navi').addClass('js-active');
$('ul div', '#navi').css('visibility', 'hidden');
$('.navi>li', '#navi').hover(
function(){
var ul = $('div:first', this);
if (ul.length){
if (!ul[0].hei) ul[0].hei = ul.height();
ul.css({height: 0, overflow: 'hidden'}).retarder(500, function(i){
$('#navi').removeClass('js-active');
i.css('visibility', 'visible').animate({height: ul[0].hei}, {duration: 300, complete : function(){ ul.css('overflow', 'visible'); }});
});
}
else setTimeout(function(){ $('#navi').removeClass('js-active'); }, 500);
},
function(){
var ul  = $('div:first', this);
if (ul.length){
var css = {visibility: 'hidden', height: ul[0].hei};
ul.stop().retarder(1, function(i){ i.css(css); });
}
$('#navi').addClass('js-active');
}
);
$('ul ul li', '#navi').hover(
function(){
var ul = $('div:first', this);
if (ul.length){
if (!ul[0].wid) ul[0].wid = ul.width();
ul.css({width: 0, overflow: 'hidden'}).retarder(50, function(i){
i.css('visibility', 'visible').animate({width: ul[0].wid}, {duration: 300, complete : function(){ ul.css('overflow', 'visible'); }});
});
if (!ul[0].hei) ul[0].hei = ul.height();
}
},
function(){
var ul  = $('div:first', this);
if (ul.length){
var css = {visibility: 'hidden', width: ul[0].wid};
ul.stop().retarder(1, function(i){ i.css(css); });
}
}
);
});
