From c1550c8b525521251d8213740dc56371644dc708 Mon Sep 17 00:00:00 2001 From: dumpfmprod Date: Fri, 9 Aug 2013 09:33:40 -0400 Subject: Prod commit #2 --- static/irl/js/worldover.js | 426 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 426 insertions(+) create mode 100644 static/irl/js/worldover.js (limited to 'static/irl/js/worldover.js') diff --git a/static/irl/js/worldover.js b/static/irl/js/worldover.js new file mode 100644 index 0000000..f65f23e --- /dev/null +++ b/static/irl/js/worldover.js @@ -0,0 +1,426 @@ +/*SUPER SUBS + +/* + * 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 = $('').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 + + + + +/*SUPERSIZE + +/* +Supersized - Full Screen Background/Slideshow jQuery Plugin +supersized.1.0.js +February 2009 +By Sam Dunn +www.buildinternet.com / www.onemightyroar.com +*/ +(function($){ + + //Resize image on ready or resize + $.fn.supersized = function() { + + var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); + + if (options.slideshow == 1){ + setInterval("theslideshow()", options.slideinterval); + } + + $().ready(function() { + $('#supersize').resizenow(); + }); + $(window).bind("resize", function(){ + $('#supersize').resizenow(); + }); + }; + + //Adjust image size + $.fn.resizenow = function() { + + var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options); + + return this.each(function() { + + //Define image ratio & minimum dimensions + var minwidth = options.minsize*(options.startwidth); + var minheight = options.minsize*(options.startheight); + var ratio = options.startheight/options.startwidth; + + //Gather browser and current image size + var imagewidth = $(this).width(); + var imageheight = $(this).height(); + var browserwidth = $(window).width(); + var browserheight = $(window).height(); + + //Check for minimum dimensions + if ((browserheight < minheight) && (browserwidth < minwidth)){ + $(this).height(minheight); + $(this).width(minwidth); + } + else{ + //When browser is taller + if (browserheight > browserwidth){ + imageheight = browserheight; + $(this).height(browserheight); + imagewidth = browserheight/ratio; + $(this).width(imagewidth); + + if (browserwidth > imagewidth){ + imagewidth = browserwidth; + $(this).width(browserwidth); + imageheight = browserwidth * ratio; + $(this).height(imageheight); + } + + } + + //When browser is wider + if (browserwidth >= browserheight){ + imagewidth = browserwidth; + $(this).width(browserwidth); + imageheight = browserwidth * ratio; + $(this).height(imageheight); + + if (browserheight > imageheight){ + imageheight = browserheight; + $(this).height(browserheight); + imagewidth = browserheight/ratio; + $(this).width(imagewidth); + } + } + } + return false; + }); + }; + + $.fn.supersized.defaults = { + startwidth: 640, + startheight: 480, + minsize: .5, + slideshow: 1, + slideinterval: 5000 + }; + +})(jQuery); + +//Slideshow Add-on +function theslideshow() { + + var currentslide = $('#supersize .activeslide'); + + if ( currentslide.length == 0 ) currentslide = $('#supersize :last'); + + var nextslide = currentslide.next().length ? currentslide.next() : $('#supersize :first'); + + nextslide.addClass('activeslide'); + currentslide.removeClass('activeslide'); + +} + + + +/* + * 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 = $([' »'].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); + + +/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net) + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + * + * $LastChangedDate: 2007-06-19 20:25:28 -0500 (Tue, 19 Jun 2007) $ + * $Rev: 2111 $ + * + * Version 2.1 + */ +(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&parseInt($.browser.version)<=6){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='