/* * Superfish v1.3.1 - jQuery menu widget * * Copyright (c) 2007 Joel Birch * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html */ (function($){ $.fn.superfish = function(o){ var $sf = this, defaults = { hoverClass : 'sfHover', pathClass : 'overideThisToUse', delay : 800, animation : {opacity:'show'}, speed : 'normal' }, over = function(){ clearTimeout(this.sfTimer); clearTimeout($sf[0].sfTimer); $(this) .showSuperfishUl() .siblings() .hideSuperfishUl(); }, out = function(){ var $$ = $(this); if ( !$$.is('.'+o.bcClass) ) { this.sfTimer=setTimeout(function(){ $$.hideSuperfishUl(); if (!$('.'+o.hoverClass,$sf).length) { over.call($currents.hideSuperfishUl()); } },o.delay); } }; $.fn.extend({ hideSuperfishUl : function(){ return this .removeClass(o.hoverClass) .find('ul:visible') .hide() .end(); }, showSuperfishUl : function(){ return this .addClass(o.hoverClass) .find('>ul:hidden') .animate(o.animation,o.speed,function(){ $(this).removeAttr('style'); }) .end(); }, applySuperfishHovers : function(){ return this[($.fn.hoverIntent) ? 'hoverIntent' : 'hover'](over,out); } }); o = $.extend({bcClass:'sfbreadcrumb'},defaults,o || {}); var $currents = $('li:has(ul)',this).filter('.'+o.pathClass); if ($currents.length) { $currents.each(function(){ $(this).removeClass(o.pathClass).addClass(o.hoverClass+' '+o.bcClass); }); } var $sfHovAr=$('li:has(ul)',this).applySuperfishHovers(over,out) .find('a').each(function(){ var $a = $(this), $li = $a.parents('li'); $a.focus(function(){ over.call($li); return false; }).blur(function(){ $li.removeClass(o.hoverClass); }); }) .end() .not('.'+o.bcClass) .hideSuperfishUl() .end(); $(window).unload(function(){ $sfHovAr.unbind('mouseover').unbind('mouseout'); }); return this.addClass('superfish').blur(function(){ out.call(this); }); }; })(jQuery);