1(function () { var jQuery = this.template_ugly_jquery; var $ = this.template_ugly_jquery; 2 3 4 5/* 6 * Superfish v1.4.8 - jQuery menu widget 7 * Copyright (c) 2008 Joel Birch 8 * 9 * Dual licensed under the MIT and GPL licenses: 10 * http://www.opensource.org/licenses/mit-license.php 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt 14 */ 15 16;(function($){ 17 $.fn.superfish = function(op){ 18 19 var sf = $.fn.superfish, 20 c = sf.c, 21 $arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), 22 over = function(){ 23 var $$ = $(this), menu = getMenu($$); 24 clearTimeout(menu.sfTimer); 25 $$.showSuperfishUl().siblings().hideSuperfishUl(); 26 }, 27 out = function(){ 28 var $$ = $(this), menu = getMenu($$), o = sf.op; 29 clearTimeout(menu.sfTimer); 30 menu.sfTimer=setTimeout(function(){ 31 o.retainPath=($.inArray($$[0],o.$path)>-1); 32 $$.hideSuperfishUl(); 33 if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} 34 },o.delay); 35 }, 36 getMenu = function($menu){ 37 var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; 38 sf.op = sf.o[menu.serial]; 39 return menu; 40 }, 41 addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; 42 43 return this.each(function() { 44 var s = this.serial = sf.o.length; 45 var o = $.extend({},sf.defaults,op); 46 o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ 47 $(this).addClass([o.hoverClass,c.bcClass].join(' ')) 48 .filter('li:has(ul)').removeClass(o.pathClass); 49 }); 50 sf.o[s] = sf.op = o; 51 52 $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { 53 if (o.autoArrows) addArrow( $('>a:first-child',this) ); 54 }) 55 .not('.'+c.bcClass) 56 .hideSuperfishUl(); 57 58 var $a = $('a',this); 59 $a.each(function(i){ 60 var $li = $a.eq(i).parents('li'); 61 $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); 62 }); 63 o.onInit.call(this); 64 65 }).each(function() { 66 var menuClasses = [c.menuClass]; 67 if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); 68 $(this).addClass(menuClasses.join(' ')); 69 }); 70 }; 71 72 var sf = $.fn.superfish; 73 sf.o = []; 74 sf.op = {}; 75 sf.IE7fix = function(){ 76 var o = sf.op; 77 if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) 78 this.toggleClass(sf.c.shadowClass+'-off'); 79 }; 80 sf.c = { 81 bcClass : 'sf-breadcrumb', 82 menuClass : 'sf-js-enabled', 83 anchorClass : 'sf-with-ul', 84 arrowClass : 'sf-sub-indicator', 85 shadowClass : 'sf-shadow' 86 }; 87 sf.defaults = { 88 hoverClass : 'sfHover', 89 pathClass : 'overideThisToUse', 90 pathLevels : 1, 91 delay : 800, 92 animation : {opacity:'show'}, 93 speed : 'normal', 94 autoArrows : true, 95 dropShadows : false, 96 disableHI : false, // true disables hoverIntent detection 97 onInit : function(){}, // callback functions 98 onBeforeShow: function(){}, 99 onShow : function(){}, 100 onHide : function(){} 101 }; 102 $.fn.extend({ 103 hideSuperfishUl : function(){ 104 var o = sf.op, 105 not = (o.retainPath===true) ? o.$path : ''; 106 o.retainPath = false; 107 var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) 108 .find('>ul').hide().css('visibility','hidden'); 109 o.onHide.call($ul); 110 return this; 111 }, 112 showSuperfishUl : function(){ 113 var o = sf.op, 114 sh = sf.c.shadowClass+'-off', 115 $ul = this.addClass(o.hoverClass) 116 .find('>ul:hidden').css('visibility','visible'); 117 sf.IE7fix.call($ul); 118 o.onBeforeShow.call($ul); 119 $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); 120 return this; 121 } 122 }); 123 124})(jQuery); 125 126jQuery(document).ready(function() { 127 jQuery('ul.nav').superfish(); 128 jQuery('ul.topnav').superfish(); 129}); 130 131 132 133}.bind(this))()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.