summaryrefslogtreecommitdiff
path: root/rt/share/html/NoAuth/js/supersubs.js
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/NoAuth/js/supersubs.js')
-rw-r--r--rt/share/html/NoAuth/js/supersubs.js90
1 files changed, 0 insertions, 90 deletions
diff --git a/rt/share/html/NoAuth/js/supersubs.js b/rt/share/html/NoAuth/js/supersubs.js
deleted file mode 100644
index a6fce6524..000000000
--- a/rt/share/html/NoAuth/js/supersubs.js
+++ /dev/null
@@ -1,90 +0,0 @@
-
-/*
- * Supersubs v0.2b - jQuery plugin
- * 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
- *
- *
- * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
- * their longest list item children. If you use this, please expect bugs and report them
- * to the jQuery Google Group with the word 'Superfish' in the subject line.
- *
- */
-
-;(function($){ // $ will refer to jQuery within this closure
-
- $.fn.supersubs = function(options){
- var opts = $.extend({}, $.fn.supersubs.defaults, options);
- // return original object to support chaining
- return this.each(function() {
- // cache selections
- var $$ = $(this);
- // support metadata
- var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
- // get the font size of menu.
- // .css('fontSize') returns various results cross-browser, so measure an em dash instead
- var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
- 'padding' : 0,
- 'position' : 'absolute',
- 'top' : '-999em',
- 'width' : 'auto'
- }).appendTo($$).width(); //clientWidth is faster, but was incorrect here
- // remove em dash
- $('#menu-fontsize').remove();
- // cache all ul elements
- $ULs = $$.find('ul');
- // loop through each ul in menu
- $ULs.each(function(i) {
- // cache this ul
- var $ul = $ULs.eq(i);
- // get all (li) children of this ul
- var $LIs = $ul.children();
- // get all anchor grand-children
- var $As = $LIs.children('a');
- // force content to one line and save current float property
- var liFloat = $LIs.css('white-space','nowrap').css('float');
- // remove width restrictions and floats so elements remain vertically stacked
- var emWidth = $ul.add($LIs).add($As).css({
- 'float' : 'none',
- 'width' : 'auto'
- })
- // this ul will now be shrink-wrapped to longest li due to position:absolute
- // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
- .end().end()[0].clientWidth / fontsize;
- // add more width to ensure lines don't turn over at certain sizes in various browsers
- emWidth += o.extraWidth;
- // restrict to at least minWidth and at most maxWidth
- if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
- else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
- emWidth += 'em';
- // set ul to width in ems
- $ul.css('width',emWidth);
- // restore li floats to avoid IE bugs
- // set li width to full width of this ul
- // revert white-space to normal
- $LIs.css({
- 'float' : liFloat,
- 'width' : '100%',
- 'white-space' : 'normal'
- })
- // update offset position of descendant ul to reflect new width of parent
- .each(function(){
- var $childUl = $('>ul',this);
- var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
- $childUl.css(offsetDirection,emWidth);
- });
- });
-
- });
- };
- // expose defaults
- $.fn.supersubs.defaults = {
- minWidth : 9, // requires em unit.
- maxWidth : 25, // requires em unit.
- extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
- };
-
-})(jQuery); // plugin code ends