if (!jQuery.uaMatch){
jQuery.uaMatch = function(ua){
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];
return {
browser: match[1] || '',
version: match[2] || '0'
};
};
}
if (!jQuery.browser){
matched = jQuery.uaMatch(navigator.userAgent);
browser = {};
if (matched.browser){
browser[matched.browser] = true;
browser.version = matched.version;
}
if (browser.chrome) browser.webkit = true;
else if (browser.webkit) browser.safari = true;
jQuery.browser = browser;
}
jQuery(function() {
var $ = jQuery;
// retarder
$.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;
};
// base rules
$('#menu').addClass('js-active');
if ($.browser.msie && parseInt($.browser.version) == 7) $('#menu').addClass('ie7');
$('ul div', '#menu').css('visibility', 'hidden');
$('.menu>li', '#menu').hover(
function(){
var ul = $('div:first', this);
if (ul.length){
if (!ul[0].hei) ul[0].hei = ul.height();
ul.css({height: 1, overflow: 'hidden'}).retarder(150, function(i){
$('#menu').removeClass('js-active');
$('a:first', ul[0].parentNode).addClass('over');
$('#menu>ul>li.back').css('display', 'none');
if ($.browser.msie) i.css('visibility', 'visible').animate({height: ul[0].hei}, {duration: 200, complete : function(){ ul.css('overflow', 'visible'); }});
else i.css({visibility: 'visible', opacity: 0}).animate({height: ul[0].hei, opacity: 1}, {duration: 200, complete : function(){ ul.css('overflow', 'visible'); }});
});
}
},
function(){
var ul = $('div:first', this);
if (ul.length){
var css = {visibility: 'hidden', height: ul[0].hei};
$('#menu>ul>li.back').css('display', 'block');
$('#menu').addClass('js-active');
$('a:first', ul[0].parentNode).removeClass('over');
ul.stop().retarder(50, function(i){
if ($.browser.msie) i.animate({height: 1}, {duration: 150, complete : function(){ ul.css(css); }});
else i.css({opacity: 1}).animate({height: 1, opacity: 0}, {duration: 150, complete : function(){ ul.css(css); }});
});
}
}
);
$('ul ul li', '#menu').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(100, function(i){
if ($.browser.msie || $.browser.opera) i.css('visibility', 'visible').animate({width: ul[0].wid}, {duration: 200, complete : function(){ ul.css('overflow', 'visible'); }});
else i.css({visibility: 'visible', opacity: 0}).animate({width: ul[0].wid, opacity: 1}, {duration: 200, complete : function(){ ul.css('overflow', 'visible'); }});
});
}
},
function(){
var ul = $('div:first', this);
if (ul.length){
var css = {visibility: 'hidden', width: ul[0].wid};
ul.stop().retarder(50, function(i){
if ($.browser.msie || $.browser.opera) i.animate({width: 1}, {duration: 150, complete : function(){ ul.css(css); }});
else i.css({opacity: 1}).animate({width: 1, opacity: 0}, {duration: 150, complete : function(){ ul.css(css); }});
});
}
}
);
// lava lamp
$('#menu ul.menu').lavaLamp({ speed: 400 });
// color animation
});