/*  * Superfish v1.4.8 - jQuery menu widget  * Copyright (c) 2008 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  *  * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt  */  ;(function($){   $.fn.superfish = function(op){      var sf = $.fn.superfish,       c = sf.c,       $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),       over = function(){         var $$ = $(this), menu = getMenu($$);         clearTimeout(menu.sfTimer);         $$.showSuperfishUl().siblings().hideSuperfishUl();       },       out = function(){         var $$ = $(this), menu = getMenu($$), o = sf.op;         clearTimeout(menu.sfTimer);         menu.sfTimer=setTimeout(function(){           o.retainPath=($.inArray($$[0],o.$path)>-1);           $$.hideSuperfishUl();           if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}         },o.delay);         },       getMenu = function($menu){         var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];         sf.op = sf.o[menu.serial];         return menu;       },       addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };            return this.each(function() {       var s = this.serial = sf.o.length;       var o = $.extend({},sf.defaults,op);       o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){         $(this).addClass([o.hoverClass,c.bcClass].join(' '))           .filter('li:has(ul)').removeClass(o.pathClass);       });       sf.o[s] = sf.op = o;              $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {         if (o.autoArrows) addArrow( $('>a:first-child',this) );       })       .not('.'+c.bcClass)         .hideSuperfishUl();              var $a = $('a',this);       $a.each(function(i){         var $li = $a.eq(i).parents('li');         $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});       });       o.onInit.call(this);            }).each(function() {       var menuClasses = [c.menuClass];       if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);       $(this).addClass(menuClasses.join(' '));     });   };    var sf = $.fn.superfish;   sf.o = [];   sf.op = {};   sf.IE7fix = function(){     var o = sf.op;     if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)       this.toggleClass(sf.c.shadowClass+'-off');     };   sf.c = {     bcClass     : 'sf-breadcrumb',     menuClass   : 'sf-js-enabled',     anchorClass : 'sf-with-ul',     arrowClass  : 'sf-sub-indicator',     shadowClass : 'sf-shadow'   };   sf.defaults = {     hoverClass  : 'sfHover',     pathClass  : 'overideThisToUse',     pathLevels  : 1,     delay    : 800,     animation  : {opacity:'show'},     speed    : 'normal',     autoArrows  : true,     dropShadows : true,     disableHI  : false,    // true disables hoverIntent detection     onInit    : function(){}, // callback functions     onBeforeShow: function(){},     onShow    : function(){},     onHide    : function(){}   };   $.fn.extend({     hideSuperfishUl : function(){       var o = sf.op,         not = (o.retainPath===true) ? o.$path : '';       o.retainPath = false;       var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)           .find('>ul').hide().css('visibility','hidden');       o.onHide.call($ul);       return this;     },     showSuperfishUl : function(){       var o = sf.op,         sh = sf.c.shadowClass+'-off',         $ul = this.addClass(o.hoverClass)           .find('>ul:hidden').css('visibility','visible');       sf.IE7fix.call($ul);       o.onBeforeShow.call($ul);       $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });       return this;     }   });  })(jQuery);
