You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
202 KiB

10 years ago
10 years ago
  1. /*
  2. * # Semantic UI
  3. * https://github.com/Semantic-Org/Semantic-UI
  4. * http://beta.semantic-ui.com/
  5. *
  6. * Copyright 2014 Contributors
  7. * Released under the MIT license
  8. * http://opensource.org/licenses/MIT
  9. *
  10. */
  11. !function(e,t,n,i){"use strict";e.fn.accordion=function(n){{var o,a=e(this),r=(new Date).getTime(),s=[],c=arguments[0],l="string"==typeof c,u=[].slice.call(arguments,1);t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,0)}}return a.each(function(){var t,d,m=e.isPlainObject(n)?e.extend(!0,{},e.fn.accordion.settings,n):e.extend({},e.fn.accordion.settings),f=m.className,g=m.namespace,p=m.selector,v=(m.error,"."+g),h="module-"+g,b=a.selector||"",y=e(this),x=y.find(p.title),w=y.find(p.content),C=this,T=y.data(h);d={initialize:function(){d.debug("Initializing accordion with bound events",y),y.on("click"+v,p.title,d.event.click),d.observeChanges(),d.instantiate()},instantiate:function(){T=d,y.data(h,d)},destroy:function(){d.debug("Destroying previous accordion for",y),y.removeData(h),x.off(v)},refresh:function(){x=y.find(p.title),w=y.find(p.content)},observeChanges:function(){MutationObserver!==i&&(t=new MutationObserver(function(){d.debug("DOM tree modified, updating selector cache"),d.refresh()}),t.observe(C,{childList:!0,subtree:!0}),d.debug("Setting up mutation observer",t))},event:{click:function(){e.proxy(d.toggle,this)()}},toggle:function(t){var n=t!==i?"number"==typeof t?x.eq(t):e(t):e(this),o=n.next(w),a=o.is(":visible");d.debug("Toggling visibility of content",n),a?m.collapsible?e.proxy(d.close,n)():d.debug("Cannot close accordion content collapsing is disabled"):e.proxy(d.open,n)()},open:function(t){var n=t!==i?"number"==typeof t?x.eq(t):e(t):e(this),o=n.next(w),a=o.is(":animated"),r=o.hasClass(f.active);a||r||(d.debug("Opening accordion content",n),m.exclusive&&e.proxy(d.closeOthers,n)(),n.addClass(f.active),o.stop().children().stop().animate({opacity:1},m.duration,d.reset.display).end().slideDown(m.duration,m.easing,function(){o.addClass(f.active),e.proxy(d.reset.display,this)(),e.proxy(m.onOpen,this)(),e.proxy(m.onChange,this)()}))},close:function(t){var n=t!==i?"number"==typeof t?x.eq(t):e(t):e(this),o=n.next(w),a=o.hasClass(f.active);a&&(d.debug("Closing accordion content",o),n.removeClass(f.active),o.removeClass(f.active).show().stop().children().stop().animate({opacity:0},m.duration,d.reset.opacity).end().slideUp(m.duration,m.easing,function(){e.proxy(d.reset.display,this)(),e.proxy(m.onClose,this)(),e.proxy(m.onChange,this)()}))},closeOthers:function(t){var n,o,a,r=t!==i?x.eq(t):e(this),s=r.parents(p.content).prev(p.title),c=r.closest(p.accordion),l=p.title+"."+f.active+":visible",u=p.content+"."+f.active+":visible";m.closeNested?(n=c.find(l).not(s),a=n.next(w)):(n=c.find(l).not(s),o=c.find(u).find(l).not(s),n=n.not(o),a=n.next(w)),n.size()>0&&(d.debug("Exclusive enabled, closing other content",n),n.removeClass(f.active),a.stop().children().stop().animate({opacity:0},m.duration,d.resetOpacity).end().slideUp(m.duration,m.easing,function(){e(this).removeClass(f.active),e.proxy(d.reset.display,this)()}))},reset:{display:function(){d.verbose("Removing inline display from element",this),e(this).css("display",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")},opacity:function(){d.verbose("Removing inline opacity from element",this),e(this).css("opacity",""),""===e(this).attr("style")&&e(this).attr("style","").removeAttr("style")}},setting:function(t,n){if(d.debug("Changing setting",t,n),e.isPlainObject(t))e.extend(!0,m,t);else{if(n===i)return m[t];m[t]=n}},internal:function(t,n){return d.debug("Changing internal",t,n),n===i?d[t]:void(e.isPlainObject(t)?e.extend(!0,d,t):d[t]=n)},debug:function(){m.debug&&(m.performance?d.performance.log(arguments):(d.debug=Function.prototype.bind.call(console.info,console,m.name+":"),d.debug.apply(console,arguments)))},verbose:function(){m.verbose&&m.debug&&(m.performance?d.performance.log(arguments):(d.verbose=Function.prototype.bind.call(console.info,console,m.name+":"),d.verbose.apply(console,arguments)))},error:function(){d.error=Function.prototype.bind.call(console.error,console,m.name+":"),d.error.apply(console,arguments)},performance:{log:function(e){var t,n,i;m.p
  12. }),this},e.fn.colorize.settings={name:"Image Colorizer",debug:!0,namespace:"colorize",onDraw:function(){},async:!0,colors:{},metadata:{image:"image",name:"name"},error:{noImage:"No tracing image specified",undefinedColors:"No default colors specified.",missingColor:"Attempted to change color that does not exist",missingPlugin:"Blend onto plug-in must be included",undefinedHeight:"The width or height of image canvas could not be automatically determined. Please specify a height."}}}(jQuery,window,document),function(e,t,n,i){e.fn.dimmer=function(t){var o,a=e(this),r=(new Date).getTime(),s=[],c=arguments[0],l="string"==typeof c,u=[].slice.call(arguments,1);return a.each(function(){var d,m,f,g=e.isPlainObject(t)?e.extend(!0,{},e.fn.dimmer.settings,t):e.extend({},e.fn.dimmer.settings),p=g.selector,v=g.namespace,h=g.className,b=(g.error,"."+v),y="module-"+v,x=a.selector||"",w="ontouchstart"in n.documentElement?"touchstart":"click",C=e(this),T=this,k=C.data(y);f={preinitialize:function(){f.is.dimmer()?(m=C.parent(),d=C):(m=C,d=f.has.dimmer()?g.dimmerName?m.children(p.dimmer).filter("."+g.dimmerName):m.children(p.dimmer):f.create())},initialize:function(){f.debug("Initializing dimmer",g),"hover"==g.on?m.on("mouseenter"+b,f.show).on("mouseleave"+b,f.hide):"click"==g.on&&m.on(w+b,f.toggle),f.is.page()&&(f.debug("Setting as a page dimmer",m),f.set.pageDimmer()),f.is.closable()&&(f.verbose("Adding dimmer close event",d),d.on(w+b,f.event.click)),f.set.dimmable(),f.instantiate()},instantiate:function(){f.verbose("Storing instance of module",f),k=f,C.data(y,k)},destroy:function(){f.verbose("Destroying previous module",d),C.removeData(y),m.off(b),d.off(b)},event:{click:function(t){f.verbose("Determining if event occured on dimmer",t),(0===d.find(t.target).size()||e(t.target).is(p.content))&&(f.hide(),t.stopImmediatePropagation())}},addContent:function(t){var n=e(t);f.debug("Add content to dimmer",n),n.parent()[0]!==d[0]&&n.detach().appendTo(d)},create:function(){var t=e(g.template.dimmer());return g.variation&&(f.debug("Creating dimmer with variation",g.variation),t.addClass(h.variation)),g.dimmerName&&(f.debug("Creating named dimmer",g.dimmerName),t.addClass(g.dimmerName)),t.appendTo(m),t},show:function(t){t=e.isFunction(t)?t:function(){},f.debug("Showing dimmer",d,g),f.is.dimmed()&&!f.is.animating()||!f.is.enabled()?f.debug("Dimmer is already shown or disabled"):(f.animate.show(t),e.proxy(g.onShow,T)(),e.proxy(g.onChange,T)())},hide:function(t){t=e.isFunction(t)?t:function(){},f.is.dimmed()||f.is.animating()?(f.debug("Hiding dimmer",d),f.animate.hide(t),e.proxy(g.onHide,T)(),e.proxy(g.onChange,T)()):f.debug("Dimmer is not visible")},toggle:function(){f.verbose("Toggling dimmer visibility",d),f.is.dimmed()?f.hide():f.show()},animate:{show:function(t){t=e.isFunction(t)?t:function(){},g.useCSS&&e.fn.transition!==i&&d.transition("is supported")?d.transition({animation:g.transition+" in",queue:!1,duration:f.get.duration(),onStart:function(){f.set.dimmed()},onComplete:function(){f.set.active(),t()}}):(f.verbose("Showing dimmer animation with javascript"),f.set.dimmed(),d.stop().css({opacity:0,width:"100%",height:"100%"}).fadeTo(f.get.duration(),1,function(){d.removeAttr("style"),f.set.active(),t()}))},hide:function(t){t=e.isFunction(t)?t:function(){},g.useCSS&&e.fn.transition!==i&&d.transition("is supported")?(f.verbose("Hiding dimmer with css"),d.transition({animation:g.transition+" out",queue:!1,duration:f.get.duration(),onStart:function(){f.remove.dimmed()},onComplete:function(){f.remove.active(),t()}})):(f.verbose("Hiding dimmer with javascript"),f.remove.dimmed(),d.stop().fadeOut(f.get.duration(),function(){f.remove.active(),d.removeAttr("style"),t()}))}},get:{dimmer:function(){return d},duration:function(){return"object"==typeof g.duration?f.is.active()?g.duration.hide:g.duration.show:g.duration}},has:{dimmer:function(){return g.dimmerName?C.children(p.dimmer).filter("."+g.dimmerName).size()>0:C.children(p.dimmer).size()>0}},is:{active:function(){return d.hasClass(h.active)},animating:function(){return d.is(":animated")||d.hasClass(h
  13. },onFailure:function(){return!1},metadata:{validate:"validate"},selector:{message:".error.message",field:"input, textarea, select",group:".field",checkbox:'input[type="checkbox"], input[type="radio"]',input:"input",prompt:".prompt",submit:".submit"},className:{error:"error",success:"success",down:"down",label:"ui label prompt"},error:{method:"The method you called is not defined."},templates:{error:function(t){var n='<ul class="list">';return e.each(t,function(e,t){n+="<li>"+t+"</li>"}),n+="</ul>",e(n)},prompt:function(t){return e("<div/>").addClass("ui red pointing prompt label").html(t[0])}},rules:{checked:function(){return e(this).filter(":checked").size()>0},empty:function(e){return!(e===i||""===e)},email:function(e){var t=new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?","i");return t.test(e)},length:function(e,t){return e!==i?e.length>=t:!1},not:function(e,t){return e!=t},contains:function(e,t){return t=t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),-1!==e.search(t)},is:function(e,t){return e==t},maxLength:function(e,t){return e!==i?e.length<=t:!1},match:function(t,n){var o,a=e(this);return a.find("#"+n).size()>0?o=a.find("#"+n).val():a.find("[name="+n+"]").size()>0?o=a.find("[name="+n+"]").val():a.find('[data-validate="'+n+'"]').size()>0&&(o=a.find('[data-validate="'+n+'"]').val()),o!==i?t.toString()==o.toString():!1},url:function(e){var t=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return t.test(e)},integer:function(e,t){var n,o,a,r=/^\-?\d+$/;return t===i||""===t||".."===t||(-1==t.indexOf("..")?r.test(t)&&(n=o=t-0):(a=t.split("..",2),r.test(a[0])&&(n=a[0]-0),r.test(a[1])&&(o=a[1]-0))),r.test(e)&&(n===i||e>=n)&&(o===i||o>=e)}}}}(jQuery,window,document),function(e,t,n,i){"use strict";e.fn.modal=function(o){var a,r=e(this),s=e(t),c=e(n),l=e("body"),u=r.selector||"",d=(new Date).getTime(),m=[],f=arguments[0],g="string"==typeof f,p=[].slice.call(arguments,1),v=t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(e){setTimeout(e,0)};return r.each(function(){var r,h,b,y,x,w,C=e.isPlainObject(o)?e.extend(!0,{},e.fn.modal.settings,o):e.extend({},e.fn.modal.settings),T=C.selector,k=C.className,S=C.namespace,z=C.error,A="."+S,P="module-"+S,E=e(this),F=e(C.context),O=E.find(T.close),D=this,R=E.data(P);w={initialize:function(){return w.verbose("Initializing dimmer",F),e.fn.dimmer===i?void w.error(z.dimmer):(y=F.dimmer({debug:C.debug,dimmerName:"modals",closable:!1,useCSS:!0,duration:{show:.9*C.duration,hide:1.1*C.duration}}),C.detachable&&y.dimmer("add content",E),x=y.dimmer("get dimmer"),h=E.siblings(T.modal),r=h.add(E),w.verbose("Attaching close events",O),O.on("click"+A,w.event.close),s.on("resize"+A,w.event.resize),void w.instantiate())},instantiate:function(){w.verbose("Storing instance of modal"),R=w,E.data(P,R)},destroy:function(){w.verbose("Destroying previous modal"),E.removeData(P).off(A),O.off(A),F.dimmer("destroy")},refresh:function(){w.remove.scrolling(),w.cacheSizes(),w.set.screenHeight(),w.set.type(),w.set.position()},attachEvents:function(t,n){var i=e(t);n=e.isFunction(w[n])?w[n]:w.toggle,i.size()>0?(w.debug("Attaching modal events to element",t,n),i.off(A).on("click"+A,n)):w.error(z.notFound,t)},event:{close:function(){w.verbose("Closing element pressed"),e(this).is(T.approve)?e.proxy(C.onApprove,D)()!==!1?w.hide():w.verbose("Approve callback returned false cancelling hide"):e(this).is(T.deny)?e.proxy(C.onDeny,D)()!==!1?w.hide():w.verbose("Deny callback returned false cancelling hide"):w.hide()},click:function(t){0===e(t.target).closest(T.modal).size()&&(w.debug("Dimmer clicked, hiding all modals"),C.allowMultiple?w.hide():w.hideAll(),t.stopImmediatePropagation())},debounce:function(e,t){clearTimeout(w.timer),w.timer=setTimeout(e,t)},keyboard:function(e){var t=e.which,n=27;t==n&&(C.closable?(w.debug("Escape key pressed hiding modal"),w.hide()):w.debug("Escape key pressed, but closable is set to f
  14. },error:function(){n.verbose("Removing error state"),b.removeClass(m.error)}},set:{barWidth:function(e){e>100&&n.error(v.tooHigh,e),y.css("width",e+"%")},initials:function(){a.value&&(n.verbose("Current value set in settings",a.value),n.value=a.value),a.total&&(n.verbose("Current total set in settings",a.total),n.total=a.total),a.percent&&(n.verbose("Current percent set in settings",a.percent),n.percent=a.percent),n.percent?n.set.percent(n.percent):n.value&&n.set.progress(n.value)},percent:function(t){t="string"==typeof t?+t.replace("%",""):t,t>0&&1>t&&(n.verbose("Module percentage passed as decimal, converting"),t=100*t),t=Math.round(0===a.precision?t:10*t*a.precision/(10*a.precision)),n.percent=t,n.total&&(n.value=Math.round(t/100*n.total)),n.set.barWidth(t),n.set.barLabel(),100===t?!a.autoSuccess||n.is.warning()||n.is.error()?n.remove.active():(n.set.success(),n.debug("Automatically triggering success at 100%")):n.set.active(),e.proxy(a.onChange,C)(t,n.value,n.total)},label:function(e){e=e||"",e&&(e=n.get.text(e),n.debug("Setting label to text",e),w.text(e))},barLabel:function(e){e!==i?x.text(n.get.text(e)):"ratio"==a.label&&n.total?(n.debug("Adding ratio to bar label"),x.text(n.get.text(a.text.ratio))):"percent"==a.label&&(n.debug("Adding percentage to bar label"),x.text(n.get.text(a.text.percent)))},active:function(e){e=e||a.text.active,n.debug("Setting active state"),a.showActivity&&b.addClass(m.active),n.remove.warning(),n.remove.error(),n.remove.success(),e&&n.set.label(e)},success:function(e){e=e||a.text.success,n.debug("Setting success state"),b.addClass(m.success),n.remove.active(),n.remove.warning(),n.remove.error(),n.complete(),e&&n.set.label(e)},warning:function(e){e=e||a.text.warning,n.debug("Setting warning state"),b.addClass(m.warning),n.remove.active(),n.remove.success(),n.remove.error(),n.complete(),e&&n.set.label(e)},error:function(e){e=e||a.text.error,n.debug("Setting error state"),b.addClass(m.error),n.remove.active(),n.remove.success(),n.remove.warning(),n.complete(),e&&n.set.label(e)},total:function(e){n.total=e},progress:function(e){var t,i="string"==typeof e?""!==e.replace(/[^\d.]/g,"")?+e.replace(/[^\d.]/g,""):!1:e;i||n.error(v.nonNumeric),n.total?(n.value=i,t=i/n.total*100,n.debug("Calculating percent complete from total",t),n.set.percent(t)):(t=i,n.debug("Setting value to exact percentage value",t),n.set.percent(t))}},setting:function(t,o){if(n.debug("Changing setting",t,o),e.isPlainObject(t))e.extend(!0,a,t);else{if(o===i)return a[t];a[t]=o}},internal:function(t,o){if(e.isPlainObject(t))e.extend(!0,n,t);else{if(o===i)return n[t];n[t]=o}},debug:function(){a.debug&&(a.performance?n.performance.log(arguments):(n.debug=Function.prototype.bind.call(console.info,console,a.name+":"),n.debug.apply(console,arguments)))},verbose:function(){a.verbose&&a.debug&&(a.performance?n.performance.log(arguments):(n.verbose=Function.prototype.bind.call(console.info,console,a.name+":"),n.verbose.apply(console,arguments)))},error:function(){n.error=Function.prototype.bind.call(console.error,console,a.name+":"),n.error.apply(console,arguments)},performance:{log:function(e){var t,i,o;a.performance&&(t=(new Date).getTime(),o=s||t,i=t-o,s=t,c.push({Name:e[0],Arguments:[].slice.call(e,1)||"",Element:C,"Execution Time":i})),clearTimeout(n.performance.timer),n.performance.timer=setTimeout(n.performance.display,100)},display:function(){var t=a.name+":",o=0;s=!1,clearTimeout(n.performance.timer),e.each(c,function(e,t){o+=t["Execution Time"]}),t+=" "+o+"ms",r&&(t+=" '"+r+"'"),(console.group!==i||console.table!==i)&&c.length>0&&(console.groupCollapsed(t),console.table?console.table(c):e.each(c,function(e,t){console.log(t.Name+": "+t["Execution Time"]+"ms")}),console.groupEnd()),c=[]}},invoke:function(t,a,r){var s,c,l,u=T;return a=a||d,r=C||r,"string"==typeof t&&u!==i&&(t=t.split(/[\. ]/),s=t.length-1,e.each(t,function(o,a){var r=o!=s?a+t[o+1].charAt(0).toUpperCase()+t[o+1].slice(1):t;if(e.isPlainObject(u[r])&&o!=s)u=u[r];else{if(u[r]!==i)return c=u[r],!1;if(!e.isPlainObject(u[a])||o==s)return u[a]!==i?(c=u[a],!1):(n.error(v
  15. }},unbind:{clickaway:function(){S.off(C),A.off(C),e(n).off(C),e(t).off(C)}},add:{bodyCSS:function(){var t=k.outerWidth(),n=k.outerHeight(),i='<style title="'+x+'"> .ui.visible.left.sidebar ~ .fixed, .ui.visible.left.sidebar ~ .pusher { -webkit-transform: translate3d('+t+"px, 0, 0); transform: translate3d("+t+"px, 0, 0); } .ui.visible.right.sidebar ~ .fixed, .ui.visible.right.sidebar ~ .pusher { -webkit-transform: translate3d(-"+t+"px, 0, 0); transform: translate3d(-"+t+"px, 0, 0); } .ui.visible.top.sidebar ~ .fixed, .ui.visible.top.sidebar ~ .pusher { -webkit-transform: translate3d(0, "+n+"px, 0); transform: translate3d(0, "+n+"px, 0); } .ui.visible.bottom.sidebar ~ .fixed, .ui.visible.bottom.sidebar ~ .pusher { -webkit-transform: translate3d(0, -"+n+"px, 0); transform: translate3d(0, -"+n+"px, 0); }</style>";S.append(i),r=e("style[title="+x+"]"),v.debug("Adding sizing css to head",r)}},refresh:function(){v.verbose("Refreshing selector cache"),S=e(h.context),z=S.children(b.sidebar),A=S.children(b.pusher)},repaint:function(){v.verbose("Forcing repaint event"),P.style.display="none",P.offsetHeight,P.scrollTop=P.scrollTop,P.style.display=""},setup:{layout:function(){0===S.find(b.pusher).size()&&(v.debug("Adding wrapper element for sidebar"),A=e('<div class="pusher" />'),S.children().not(b.omitted).not(z).wrapAll(A),v.refresh()),k.nextAll(b.pusher)[0]!==A[0]&&(v.debug("Moved sidebar to correct parent element"),k.detach().prependTo(S),v.refresh()),v.set.pushable(),v.set.direction()}},attachEvents:function(t,n){var i=e(t);n=e.isFunction(v[n])?v[n]:v.toggle,i.size()>0?(v.debug("Attaching sidebar events to element",t,n),i.on("click"+C,n)):v.error(w.notFound,t)},show:function(t){var n=h.useLegacy?v.legacyPushPage:v.pushPage;t=e.isFunction(t)?t:function(){},v.is.closed()?(h.overlay&&(v.error(w.overlay),h.transition="overlay"),v.refresh(),v.othersVisible()&&"overlay"!=v.get.transition()&&(v.debug("Other sidebars currently open"),h.exclusive&&v.hideOthers()),n(function(){e.proxy(t,P)(),e.proxy(h.onShow,P)()}),e.proxy(h.onChange,P)(),e.proxy(h.onVisible,P)()):v.debug("Sidebar is already visible")},hide:function(t){var n=h.useLegacy?v.legacyPullPage:v.pullPage;t=e.isFunction(t)?t:function(){},(v.is.visible()||v.is.animating())&&(v.debug("Hiding sidebar",t),n(function(){e.proxy(t,P)(),e.proxy(h.onHidden,P)()}),e.proxy(h.onChange,P)(),e.proxy(h.onHide,P)())},othersVisible:function(){return z.not(k).filter("."+y.visible).size()>0},othersActive:function(){return z.not(k).filter("."+y.active).size()>0},hideOthers:function(e){var t=z.not(k).filter("."+y.visible),e=e||function(){},n=t.size(),i=0;t.sidebar("hide",function(){i++,i==n&&e()})},toggle:function(){v.verbose("Determining toggled direction"),v.is.closed()?v.show():v.hide()},pushPage:function(t){var n,i,o=v.get.transition(),a="safe"==o?S:"overlay"==o||v.othersActive()?k:A;t=e.isFunction(t)?t:function(){},("scale down"==h.transition||v.is.mobile()&&"overlay"!==o)&&v.scrollToTop(),v.add.bodyCSS(),v.set.transition(),v.repaint(),n=function(){v.set.animating(),f(function(){v.set.visible(),v.othersActive()||h.dimPage&&A.addClass(y.dimmed)})},i=function(n){n.target==a[0]&&(a.off(p+C,i),v.remove.animating(),v.bind.clickaway(),e.proxy(t,P)())},a.on(p+C,i),f(n)},pullPage:function(t){var n,i,o=v.get.transition(),a="safe"==o?S:"overlay"==o||v.othersActive()?k:A;t=e.isFunction(t)?t:function(){},v.verbose("Removing context push state",v.get.direction()),v.othersActive()||v.unbind.clickaway(),n=function(){v.set.animating(),v.remove.visible(),h.dimPage&&!v.othersActive()&&A.removeClass(y.dimmed)},i=function(n){n.target==a[0]&&(a.off(p+C,i),v.remove.animating(),v.remove.transition(),v.remove.bodyCSS(),("scale down"==o||h.returnScroll&&"overlay"!==o&&v.is.mobile())&&v.scrollBack(),e.proxy(t,P)())},a.on(p+C,i),f(n)},legacyPushPage:function(t){var n=k.width(),i=v.get.direction(),o={};n=n||k.width(),t=e.isFunction(t)?t:function(){},o[i]=n,v.debug("Using javascript to push context",o),v.set.visible(),v.set.transition(),v.set.animating(),h.dimPage&&A.addClass
  16. if(e.isPlainObject(l[a])&&n!=r)l=l[a];else{if(l[a]!==i)return s=l[a],!1;if(!e.isPlainObject(l[o])||n==r)return l[o]!==i?(s=l[o],!1):!1;l=l[o]}})),e.isFunction(s)?c=s.apply(a,n):s!==i&&(c=s),e.isArray(o)?o.push(c):o!==i?o=[o,c]:c!==i&&(o=c),s}},u?(k===i&&f.initialize(),f.invoke(l)):(k!==i&&f.destroy(),f.initialize())}),o!==i?o:this},e.fn.sticky.settings={name:"Sticky",namespace:"sticky",debug:!1,verbose:!1,performance:!1,pushing:!1,context:!1,scrollContext:t,offset:0,onReposition:function(){},onScroll:function(){},onStick:function(){},onUnstick:function(){},onTop:function(){},onBottom:function(){},error:{container:"Sticky element must be inside a relative container",visible:"Element is hidden, you must call refresh after element becomes visible",method:"The method you called is not defined.",invalidContext:"Context specified does not exist",elementSize:"Sticky element is larger than its container, cannot create sticky."},className:{bound:"bound",fixed:"fixed",supported:"native",top:"top",bottom:"bottom"}}}(jQuery,window,document),function(e,t,n,i){"use strict";e.tab=e.fn.tab=function(n){var o,a,r=e(e.isFunction(this)?t:this),s=e.isPlainObject(n)?e.extend(!0,{},e.fn.tab.settings,n):e.extend({},e.fn.tab.settings),c=r.selector||"",l=(new Date).getTime(),u=[],d=arguments[0],m="string"==typeof d,f=[].slice.call(arguments,1);return r.each(function(){var n,g,p,v,h=s.className,b=s.metadata,y=s.selector,x=s.error,w="."+s.namespace,C="module-"+s.namespace,T=e(this),k=e(y.tabs),S={},z=!0,A=0,P=this,E=T.data(C);o={initialize:function(){o.debug("Initializing tab menu item",T),s.context&&(o.determineTabs(),o.debug("Using only tabs inside context",s.context,k)),s.auto&&(o.verbose("Setting up automatic tab retrieval from server"),s.apiSettings={url:s.path+"/{$tab}"}),e.isWindow(P)||(o.debug("Attaching tab activation events to element",T),T.on("click"+w,o.event.click)),o.instantiate()},determineTabs:function(){var t;"parent"===s.context?(T.closest("."+h.ui).size()>0?(t=T.closest("."+h.ui),o.verbose("Using closest UI element for determining parent",t)):t=T,n=t.parent(),o.verbose("Determining parent element for creating context",n)):(n=e(s.context),o.verbose("Using selector for tab context",s.context,n)),s.childrenOnly?(k=n.children(y.tabs),o.debug("Searching tab context children for tabs",n,k)):(k=n.find(y.tabs),o.debug("Searching tab context for tabs",n,k))},initializeHistory:function(){if(s.history){if(o.debug("Initializing page state"),e.address===i)return o.error(x.state),!1;if("state"==s.historyType){if(o.debug("Using HTML5 to manage state"),s.path===!1)return o.error(x.path),!1;e.address.history(!0).state(s.path)}e.address.bind("change",o.event.history.change)}},instantiate:function(){o.verbose("Storing instance of module",o),T.data(C,o)},destroy:function(){o.debug("Destroying tabs",T),T.removeData(C).off(w)},event:{click:function(t){var n=e(this).data(b.tab);n!==i?(s.history?(o.verbose("Updating page state",t),e.address.value(n)):(o.verbose("Changing tab",t),o.changeTab(n)),t.preventDefault()):o.debug("No tab specified")},history:{change:function(t){var n=t.pathNames.join("/")||o.get.initialPath(),a=s.templates.determineTitle(n)||!1;o.performance.display(),o.debug("History change event",n,t),v=t,n!==i&&o.changeTab(n),a&&e.address.title(a)}}},refresh:function(){g&&(o.debug("Refreshing tab",g),o.changeTab(g))},cache:{read:function(e){return e!==i?S[e]:!1},add:function(e,t){e=e||g,o.debug("Adding cached content for",e),S[e]=t},remove:function(e){e=e||g,o.debug("Removing cached content for",e),delete S[e]}},set:{state:function(t){e.address.value(t)}},changeTab:function(n){var i=t.history&&t.history.pushState,a=i&&s.ignoreFirstLoad&&z,r=s.auto||e.isPlainObject(s.apiSettings),c=r&&!a?o.utilities.pathToArray(n):o.get.defaultPathArray(n);n=o.utilities.arrayToPath(c),e.each(c,function(t,i){var l,u,d,m,f=c.slice(0,t+1),h=o.utilities.arrayToPath(f),b=o.is.tab(h),y=t+1==c.length,w=o.get.tabElement(h);return o.verbose("Looking for tab",i),b?(o.verbose("Tab was found",i),g=h,p=o.utilities.filterArray(c,f),y?m=!0:(u=c.slice(0,t+2),d=o.utilities.a
  17. },bottomVisibleReverse:function(e){var t=r.get.elementCalculations(),n=e||f.onBottomVisibleReverse,o="bottomVisibleReverse";return e&&(r.debug("Adding callback for bottom visible reverse",e),f.onBottomVisibleReverse=e),t.bottomVisible?f.once||r.remove.occurred(o):r.get.occurred("bottomVisible")&&r.execute(n,o),e===i?!t.bottomVisible:void 0},topPassedReverse:function(e){var t=r.get.elementCalculations(),n=e||f.onTopPassedReverse,o="topPassedReverse";return e&&(r.debug("Adding callback for top passed reverse",e),f.onTopPassedReverse=e),t.topPassed?f.once||r.remove.occurred(o):r.get.occurred("topPassed")&&r.execute(n,o),e===i?!t.onTopPassed:void 0},bottomPassedReverse:function(e){var t=r.get.elementCalculations(),n=e||f.onBottomPassedReverse,o="bottomPassedReverse";return e&&(r.debug("Adding callback for bottom passed reverse",e),f.onBottomPassedReverse=e),t.bottomPassed?f.once||r.remove.occurred(o):r.get.occurred("bottomPassed")&&r.execute(n,o),e===i?!t.bottomPassed:void 0},execute:function(t,n){var i=r.get.elementCalculations(),o=r.get.screenCalculations();t=t||!1,t&&(f.continuous?(r.debug("Callback being called continuously",n,i),e.proxy(t,T)(i,o)):r.get.occurred(n)||(r.debug("Conditions met",n,i),e.proxy(t,T)(i,o))),r.save.occurred(n)},remove:{occurred:function(e){e?r.cache.occurred[e]!==i&&r.cache.occurred[e]===!0&&(r.debug("Callback can now be called again",e),r.cache.occurred[e]=!1):r.cache.occurred={}}},save:{occurred:function(e){e&&(r.cache.occurred[e]===i||r.cache.occurred[e]!==!0)&&(r.verbose("Saving callback occurred",e),r.cache.occurred[e]=!0)},scroll:function(){r.cache.scroll=x.scrollTop()+f.offset},direction:function(){var e,t=r.get.scroll(),n=r.get.lastScroll();return e=t>n&&n?"down":n>t&&n?"up":"static",r.cache.direction=e,r.cache.direction},elementPosition:function(){var t=r.get.screenSize();return r.verbose("Saving element position"),e.extend(r.cache.element,{margin:{top:parseInt(y.css("margin-top"),10),bottom:parseInt(y.css("margin-bottom"),10)},fits:T.height<t.height,offset:y.offset(),width:y.outerWidth(),height:y.outerHeight()}),r.cache.element},elementCalculations:function(){var t=r.get.screenCalculations(),n=r.get.elementPosition();f.includeMargin?e.extend(r.cache.element,{top:n.offset.top-n.margin.top,bottom:n.offset.top+n.height+n.margin.bottom}):e.extend(r.cache.element,{top:n.offset.top,bottom:n.offset.top+n.height}),e.extend(r.cache.element,{topVisible:t.bottom>=n.top,topPassed:t.top>=n.top,bottomVisible:t.bottom>=n.bottom,bottomPassed:t.top>=n.bottom,pixelsPassed:0,percentagePassed:0}),e.extend(r.cache.element,{visible:r.cache.element.topVisible||r.cache.element.bottomVisible,passing:r.cache.element.topPassed&&!r.cache.element.bottomPassed,hidden:!r.cache.element.topVisible&&!r.cache.element.bottomVisible}),r.cache.element.passing&&(r.cache.element.pixelsPassed=t.top-n.top,r.cache.element.percentagePassed=(t.top-n.top)/n.height),r.verbose("Updated element calculations",r.cache.element)},screenCalculations:function(){var t=x.scrollTop()+f.offset;return r.cache.scroll===i&&(r.cache.scroll=x.scrollTop()+f.offset),r.save.direction(),e.extend(r.cache.screen,{top:t,bottom:t+r.cache.screen.height}),r.cache.screen},screenSize:function(){r.verbose("Saving window position"),r.cache.screen={height:x.height()}},position:function(){r.save.screenSize(),r.save.elementPosition()}},get:{pixelsPassed:function(e){var t=r.get.elementCalculations();return e.search("%")>-1?t.height*(parseInt(e,10)/100):parseInt(e,10)},occurred:function(e){return r.cache.occurred!==i?r.cache.occurred[e]||!1:!1},direction:function(){return r.cache.direction===i&&r.save.direction(),r.cache.direction},elementPosition:function(){return r.cache.element===i&&r.save.elementPosition(),r.cache.element},elementCalculations:function(){return r.cache.element===i&&r.save.elementCalculations(),r.cache.element},screenCalculations:function(){return r.cache.screen===i&&r.save.screenCalculations(),r.cache.screen},screenSize:function(){return r.cache.screen===i&&r.save.screenSize(),r.cache.screen},scroll:function(){return r.cache.scroll===i&&r.save.sc