|
-
- (function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}
- if(p==this){return false;}
- var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}
- if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> »</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,onInit:function(){},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);provide('wn.menus.superfish');wn.menus.superfish=function(parent,data){var _make_list=function(myparent,lst){var ul=wn.dom.add(myparent,'ul');$.each(lst,function(i,v){var li=wn.dom.add(ul,'li')
- var a=wn.dom.add(li,'a','','',v.label);a.action=v.action
- if(v.action){a.onclick=function(){window[action]();};}
- if(v.href){a.href=v.href;}
- if(v.subitems){_make_list(li,v.subitems);}})
- return ul;}
- ul=_make_list(parent,data);ul.className='sf-menu';$(ul).superfish();}
- wn.assets.handler.css('\
- /*** ESSENTIAL STYLES ***/\
- .sf-menu, .sf-menu * {\
- margin: 0;\
- padding: 0;\
- list-style: none;\
- }\
- .sf-menu {\
- line-height: 1.0;\
- }\
- .sf-menu ul {\
- position: absolute;\
- top: -999em;\
- width: 10em; /* left offset of submenus need to match (see below) */\
- }\
- .sf-menu ul li {\
- width: 100%;\
- }\
- .sf-menu li:hover {\
- visibility: inherit; /* fixes IE7 \'sticky bug\' */\
- }\
- .sf-menu li {\
- float: left;\
- position: relative;\
- }\
- .sf-menu a {\
- display: block;\
- position: relative;\
- }\
- .sf-menu li:hover ul,\
- .sf-menu li.sfHover ul {\
- left: 0;\
- top: 2.5em; /* match top ul list item height */\
- z-index: 99;\
- }\
- ul.sf-menu li:hover li ul,\
- ul.sf-menu li.sfHover li ul {\
- top: -999em;\
- }\
- ul.sf-menu li li:hover ul,\
- ul.sf-menu li li.sfHover ul {\
- left: 10em; /* match ul width */\
- top: 0;\
- }\
- ul.sf-menu li li:hover li ul,\
- ul.sf-menu li li.sfHover li ul {\
- top: -999em;\
- }\
- ul.sf-menu li li li:hover ul,\
- ul.sf-menu li li li.sfHover ul {\
- left: 10em; /* match ul width */\
- top: 0;\
- }\
- \
- /*** DEMO SKIN ***/\
- .sf-menu {\
- float: left;\
- margin-bottom: 1em;\
- }\
- .sf-menu a {\
- border-left: 1px solid #fff;\
- border-top: 1px solid #CFDEFF;\
- padding: .75em 1em;\
- text-decoration:none;\
- }\
- .sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/\
- color: #13a;\
- }\
- .sf-menu li {\
- background: #BDD2FF;\
- }\
- .sf-menu li li {\
- background: #AABDE6;\
- }\
- .sf-menu li li li {\
- background: #9AAEDB;\
- }\
- .sf-menu li:hover, .sf-menu li.sfHover,\
- .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {\
- background: #CFDEFF;\
- outline: 0;\
- }\
- \
- /*** arrows **/\
- .sf-menu a.sf-with-ul {\
- padding-right: 2.25em;\
- min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */\
- }\
- .sf-sub-indicator {\
- position: absolute;\
- display: block;\
- right: .75em;\
- top: 1.05em; /* IE6 only */\
- width: 10px;\
- height: 10px;\
- text-indent: -999em;\
- overflow: hidden;\
- background: url(\'assets/js/lib/superfish/images/arrows-ffffff.png\') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */\
- }\
- a > .sf-sub-indicator { /* give all except IE6 the correct values */\
- top: .8em;\
- background-position: 0 -100px; /* use translucent arrow for modern browsers*/\
- }\
- /* apply hovers to modern browsers */\
- a:focus > .sf-sub-indicator,\
- a:hover > .sf-sub-indicator,\
- a:active > .sf-sub-indicator,\
- li:hover > a > .sf-sub-indicator,\
- li.sfHover > a > .sf-sub-indicator {\
- background-position: -10px -100px; /* arrow hovers for modern browsers*/\
- }\
- \
- /* point right for anchors in subs */\
- .sf-menu ul .sf-sub-indicator { background-position: -10px 0; }\
- .sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }\
- /* apply hovers to modern browsers */\
- .sf-menu ul a:focus > .sf-sub-indicator,\
- .sf-menu ul a:hover > .sf-sub-indicator,\
- .sf-menu ul a:active > .sf-sub-indicator,\
- .sf-menu ul li:hover > a > .sf-sub-indicator,\
- .sf-menu ul li.sfHover > a > .sf-sub-indicator {\
- background-position: -10px 0; /* arrow hovers for modern browsers*/\
- }\
- \
- /*** shadows for all but IE6 ***/\
- .sf-shadow ul {\
- background: url(\'assets/js/lib/superfish/images/shadow.png\') no-repeat bottom right;\
- padding: 0 8px 9px 0;\
- -moz-border-radius-bottomleft: 17px;\
- -moz-border-radius-topright: 17px;\
- -webkit-border-top-right-radius: 17px;\
- -webkit-border-bottom-left-radius: 17px;\
- }\
- .sf-shadow ul.sf-shadow-off {\
- background: transparent;\
- }\
- ');wn.assets.handler.css('/*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/\
- .sf-vertical, .sf-vertical li {\
- width: 10em;\
- }\
- /* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */\
- .sf-vertical li:hover ul,\
- .sf-vertical li.sfHover ul {\
- left: 10em; /* match ul width */\
- top: 0;\
- }\
- \
- /*** alter arrow directions ***/\
- .sf-vertical .sf-sub-indicator { background-position: -10px 0; } /* IE6 gets solid image only */\
- .sf-vertical a > .sf-sub-indicator { background-position: 0 0; } /* use translucent arrow for modern browsers*/\
- \
- /* hover arrow direction for modern browsers*/\
- .sf-vertical a:focus > .sf-sub-indicator,\
- .sf-vertical a:hover > .sf-sub-indicator,\
- .sf-vertical a:active > .sf-sub-indicator,\
- .sf-vertical li:hover > a > .sf-sub-indicator,\
- .sf-vertical li.sfHover > a > .sf-sub-indicator {\
- background-position: -10px 0; /* arrow hovers for modern browsers*/\
- }');
|