/* * Superfish v1.3.4 - 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		: 100,			animation	: {height: 'toggle'},			speed		: 50,			onshow		: function(){} // in your function, 'this' is the revealed ul		},			over = function(){				clearTimeout(this.sfTimer);				$(this)				.showSuperfishUl(o)				.siblings()				.hideSuperfishUl(o);			},			out = function(){				var $$ = $(this);				if ( !$$.is('.'+o.bcClass) ) {					this.sfTimer=setTimeout(function(){						$$.hideSuperfishUl(o);						var sf = $$.parents('ul.superfish:first')[0];						if (!$('.'+o.hoverClass,sf).length) {							over.call(sf.o.$currents.hideSuperfishUl(o));						}					},o.delay);				}					};		$.fn.extend({			hideSuperfishUl : function(o){				/*$('li.'+o.hoverClass,this)				.andSelf()					.removeClass(o.hoverClass)					.find('>ul')						.hide()						.css('visibility','hidden');*/				$('li.'+o.hoverClass,this)				.andSelf()					.removeClass(o.hoverClass)					.find('>ul')						.slideUp(o.speed);				return this;			},			showSuperfishUl : function(o){				/*return this					.addClass(o.hoverClass)					.find('>ul:hidden')						.css('visibility','visible')						.animate(o.animation,o.speed,function(){							o.onshow.call(this);						})					.end();*/				return this					.addClass(o.hoverClass)					.find('>ul:hidden')						.slideDown(o.speed)					.end();			},			applySuperfishHovers : function(){				return this[($.fn.hoverIntent) ? 'hoverIntent' : 'hover'](over,out);			}		});				return this		.addClass('superfish')		.each(function(){			o = $.extend({bcClass:'sfbreadcrumb'},defaults,o);			o = $.extend(o,{$currents:$('li.'+o.pathClass,this)});			this.o = o;						if (o.$currents.length) {				o.$currents.each(function(){					$(this)					.addClass(o.hoverClass+' '+o.bcClass)					.filter(':has(ul)')						.removeClass(o.pathClass);				});			}						var $sfHovAr=$('li',this)				.applySuperfishHovers(over,out)				.not('.'+o.bcClass)					.hideSuperfishUl(o)				.end();						$('a',this).each(function(){				var $a = $(this), $li = $a.parents('li');				$a.focus(function(){					over.call($li);					return false;				}).blur(function(){					$li.removeClass(o.hoverClass);				});			});		});	};	$(window).unload(function(){		$('ul.superfish').each(function(){			$('li:has(ul)',this).unbind('mouseover').unbind('mouseout');			this.o = this.o.$currents = null; // clean up		});	});})(jQuery);
