From 9d0094ba776bef911250bb0fc9d96177e33bd99b Mon Sep 17 00:00:00 2001 From: Jack Lukic Date: Sat, 3 Aug 2013 12:58:26 -0400 Subject: [PATCH] Adds first demo examples of transition, adds self running code samples --- build/minified/modules/transition.js | 13 +++++- build/minified/modules/transition.min.js | 2 +- build/packaged/modules/transition.js | 13 +++++- build/packaged/semantic.min.js | 2 +- build/uncompressed/modules/transition.js | 13 +++++- node/src/documents/modules/transition.html | 39 +++++++++++++----- .../components/semantic/modules/transition.js | 5 ++- node/src/files/images/demo/vector.png | Bin 0 -> 115745 bytes node/src/files/javascript/semantic.js | 23 ++++++++--- src/modules/transition.js | 13 +++++- 10 files changed, 95 insertions(+), 28 deletions(-) create mode 100755 node/src/files/images/demo/vector.png diff --git a/build/minified/modules/transition.js b/build/minified/modules/transition.js index 183741bc2..bcd8beef4 100644 --- a/build/minified/modules/transition.js +++ b/build/minified/modules/transition.js @@ -106,6 +106,13 @@ $.fn.transition = function() { $module.addClass(className.animating); }, + direction: function() { + return $module.is(':visible') + ? 'out' + : 'in' + ; + } + loop: function() { $module .addClass(className.loop) @@ -263,7 +270,9 @@ $.fn.transition = function() { module.set.duration(); module.show(); module.originalClass = $module.attr('class'); + module.originalStyle = $module.attr('style'); module.repaint(); + module.set.direction(); module.set.animating(); $module .addClass(className.transition) @@ -285,7 +294,7 @@ $.fn.transition = function() { reset: function() { module.verbose('Resetting original class', module.originalClass); $module - .removeAttr('style') + .attr('style', module.originalStyle) .attr('class', module.originalClass) ; }, @@ -469,7 +478,7 @@ $.fn.transition.settings = { complete : function() {}, // animation duration (useful only with future js animations) - animation : 'fade in', + animation : 'fade', duration : '1s', className : { diff --git a/build/minified/modules/transition.min.js b/build/minified/modules/transition.min.js index 74d77e7fc..b7116a878 100644 --- a/build/minified/modules/transition.min.js +++ b/build/minified/modules/transition.min.js @@ -1 +1 @@ -!function(a,b,c,d){a.fn.transition=function(){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments,k=j[0],l=[].slice.call(arguments,1),m="string"==typeof k;return b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)},f.each(function(){var b,f,n,o,p,q,r,s,t,u=a(this),v=this;t={initialize:function(){b=t.get.settings.apply(v,j),t.verbose("Converted arguments into settings object",b),n=b.error,o=b.className,r=b.namespace,p=b.metadata,s="module-"+r,q=t.get.transitionEvent(),f=u.data(s),f===d&&t.instantiate(),m&&(e=t.invoke(k)),m&&e!==!1||t.animate()},instantiate:function(){t.verbose("Storing instance of module",t),f=t,u.data(s,f)},destroy:function(){t.verbose("Destroying previous module for",v),u.removeData(s)},repaint:function(a){t.verbose("Forcing repaint event"),a=v.offsetWidth},set:{animating:function(){u.addClass(o.animating)},loop:function(){u.addClass(o.loop)},duration:function(a){a=a||b.duration,t.verbose("Setting animation duration",a),u.css({"-webkit-animation-duration":a,"-moz-animation-duration":a,"-ms-animation-duration":a,"-o-animation-duration":a,"animation-duration":a})}},remove:{animating:function(){u.removeClass(o.animating)}},get:{settings:function(b,c,e){return a.isPlainObject(b)===d?a.extend(!0,{},a.fn.transition.settings,b):"function"==typeof e?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:e,duration:c}):"string"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,duration:c}):"object"==typeof c?a.extend(!0,{},a.fn.transition.settings,c,{animation:b}):"function"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:c}):a.extend(!0,{},a.fn.transition.settings,{animation:b})},transitionEvent:function(){var a,b=c.createElement("element"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return t.verbose("Determining animation end event",e[a]),e[a];return!1}},can:{animate:function(c){var d=a("
");return c=c||b.animation,d.addClass(o.transition).addClass(c),"none"!==d.css("animationName")}},is:{animating:function(){return u.hasClass(o.animating)}},hide:function(){t.verbose("Hiding element"),u.addClass(o.transition).addClass(o.hidden)},show:function(){t.verbose("Showing element"),u.removeClass(o.hidden)},start:function(){t.verbose("Starting animation"),u.removeClass(o.disabled)},stop:function(){t.debug("Stopping animation"),u.addClass(o.disabled)},toggle:function(){t.debug("Toggling play status"),u.toggleClass(o.disabled)},animate:function(a){return b=a||b,t.can.animate()?t.is.animating()?(t.queue(b.animation),!1):(t.set.duration(),t.show(),t.originalClass=u.attr("class"),t.repaint(),t.set.animating(),u.addClass(o.transition).addClass(b.animation).one(q,t.complete),t.debug("Beginning animation",b.animation,u.attr("class")),void 0):(t.error(n.noAnimation,b.animation),!1)},queue:function(a){t.debug("Queueing animation of",a),u.one(q,function(){t.animate.apply(this,b)})},reset:function(){t.verbose("Resetting original class",t.originalClass),u.removeAttr("style").attr("class",t.originalClass)},complete:function(){t.verbose("CSS animation complete",b.animation),u.hasClass(o.outward)?(t.reset(),t.hide()):u.hasClass(o.inward)?(t.reset(),t.show()):t.reset(),t.remove.animating(),t.repaint(),b.complete()},setting:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},internal:function(b,c){return c===d?t[b]:(a.isPlainObject(b)?a.extend(!0,t,b):t[b]=c,void 0)},debug:function(){b.debug&&(b.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},verbose:function(){b.verbose&&b.debug&&(b.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.error,console,b.moduleName+":")},performance:{log:function(a){var c,d,e;b.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100)},display:function(){var c=b.moduleName+":",e=0;h=!1,clearTimeout(t.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,e){var g,h,i=f;return c=c||l,e=v||e,"string"==typeof b&&i!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){return a.isPlainObject(i[c])&&b!=g?(i=i[c],!0):i[c]!==d?(h=i[c],!0):(t.error(n.method),!1)})),a.isFunction(h)?(f.verbose("Executing invoked function",h),h.apply(e,c)):h||!1}},t.initialize()}),e?e:this},a.fn.transition.settings={moduleName:"Transition",debug:!0,verbose:!0,performance:!0,namespace:"transition",complete:function(){},animation:"fade in",duration:"1s",className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",looping:"looping",outward:"out",transition:"ui transition"},error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"}}}(jQuery,window,document); \ No newline at end of file +!function(a,b,c,d){a.fn.transition=function(){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments,k=j[0],l=[].slice.call(arguments,1),m="string"==typeof k;return b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)},f.each(function(){var b,f,n,o,p,q,r,s,t,u=a(this),v=this;t={initialize:function(){b=t.get.settings.apply(v,j),t.verbose("Converted arguments into settings object",b),n=b.error,o=b.className,r=b.namespace,p=b.metadata,s="module-"+r,q=t.get.transitionEvent(),f=u.data(s),f===d&&t.instantiate(),m&&(e=t.invoke(k)),m&&e!==!1||t.animate()},instantiate:function(){t.verbose("Storing instance of module",t),f=t,u.data(s,f)},destroy:function(){t.verbose("Destroying previous module for",v),u.removeData(s)},repaint:function(a){t.verbose("Forcing repaint event"),a=v.offsetWidth},set:{animating:function(){u.addClass(o.animating)},loop:function(){u.addClass(o.loop)},duration:function(a){a=a||b.duration,t.verbose("Setting animation duration",a),u.css({"-webkit-animation-duration":a,"-moz-animation-duration":a,"-ms-animation-duration":a,"-o-animation-duration":a,"animation-duration":a})}},remove:{animating:function(){u.removeClass(o.animating)}},get:{settings:function(b,c,e){return a.isPlainObject(b)===d?a.extend(!0,{},a.fn.transition.settings,b):"function"==typeof e?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:e,duration:c}):"string"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,duration:c}):"object"==typeof c?a.extend(!0,{},a.fn.transition.settings,c,{animation:b}):"function"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:c}):a.extend(!0,{},a.fn.transition.settings,{animation:b})},transitionEvent:function(){var a,b=c.createElement("element"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return t.verbose("Determining animation end event",e[a]),e[a];return!1}},can:{animate:function(c){var d=a("
");return c=c||b.animation,d.addClass(o.transition).addClass(c),"none"!==d.css("animationName")}},is:{animating:function(){return u.hasClass(o.animating)}},hide:function(){t.verbose("Hiding element"),u.addClass(o.transition).addClass(o.hidden)},show:function(){t.verbose("Showing element"),u.removeClass(o.hidden)},start:function(){t.verbose("Starting animation"),u.removeClass(o.disabled)},stop:function(){t.debug("Stopping animation"),u.addClass(o.disabled)},toggle:function(){t.debug("Toggling play status"),u.toggleClass(o.disabled)},animate:function(a){return b=a||b,t.can.animate()?t.is.animating()?(t.queue(b.animation),!1):(t.set.duration(),t.show(),t.originalClass=u.attr("class"),t.originalStyle=u.attr("style"),t.repaint(),t.set.animating(),u.addClass(o.transition).addClass(b.animation).one(q,t.complete),t.debug("Beginning animation",b.animation,u.attr("class")),void 0):(t.error(n.noAnimation,b.animation),!1)},queue:function(a){t.debug("Queueing animation of",a),u.one(q,function(){t.animate.apply(this,b)})},reset:function(){t.verbose("Resetting original class",t.originalClass),u.attr("style",t.originalStyle).attr("class",t.originalClass)},complete:function(){t.verbose("CSS animation complete",b.animation),u.hasClass(o.outward)?(t.reset(),t.hide()):u.hasClass(o.inward)?(t.reset(),t.show()):t.reset(),t.remove.animating(),t.repaint(),b.complete()},setting:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},internal:function(b,c){return c===d?t[b]:(a.isPlainObject(b)?a.extend(!0,t,b):t[b]=c,void 0)},debug:function(){b.debug&&(b.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},verbose:function(){b.verbose&&b.debug&&(b.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.error,console,b.moduleName+":")},performance:{log:function(a){var c,d,e;b.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100)},display:function(){var c=b.moduleName+":",e=0;h=!1,clearTimeout(t.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,e){var g,h,i=f;return c=c||l,e=v||e,"string"==typeof b&&i!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){return a.isPlainObject(i[c])&&b!=g?(i=i[c],!0):i[c]!==d?(h=i[c],!0):(t.error(n.method),!1)})),a.isFunction(h)?(f.verbose("Executing invoked function",h),h.apply(e,c)):h||!1}},t.initialize()}),e?e:this},a.fn.transition.settings={moduleName:"Transition",debug:!0,verbose:!0,performance:!0,namespace:"transition",complete:function(){},animation:"fade",duration:"1s",className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",looping:"looping",outward:"out",transition:"ui transition"},error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"}}}(jQuery,window,document); \ No newline at end of file diff --git a/build/packaged/modules/transition.js b/build/packaged/modules/transition.js index 183741bc2..bcd8beef4 100644 --- a/build/packaged/modules/transition.js +++ b/build/packaged/modules/transition.js @@ -106,6 +106,13 @@ $.fn.transition = function() { $module.addClass(className.animating); }, + direction: function() { + return $module.is(':visible') + ? 'out' + : 'in' + ; + } + loop: function() { $module .addClass(className.loop) @@ -263,7 +270,9 @@ $.fn.transition = function() { module.set.duration(); module.show(); module.originalClass = $module.attr('class'); + module.originalStyle = $module.attr('style'); module.repaint(); + module.set.direction(); module.set.animating(); $module .addClass(className.transition) @@ -285,7 +294,7 @@ $.fn.transition = function() { reset: function() { module.verbose('Resetting original class', module.originalClass); $module - .removeAttr('style') + .attr('style', module.originalStyle) .attr('class', module.originalClass) ; }, @@ -469,7 +478,7 @@ $.fn.transition.settings = { complete : function() {}, // animation duration (useful only with future js animations) - animation : 'fade in', + animation : 'fade', duration : '1s', className : { diff --git a/build/packaged/semantic.min.js b/build/packaged/semantic.min.js index 3933b0941..b58e89f27 100644 --- a/build/packaged/semantic.min.js +++ b/build/packaged/semantic.min.js @@ -12,4 +12,4 @@ !function(a,b,c,d){a.fn.accordion=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.accordion.settings,b):a.fn.accordion.settings,g=f.className,h=f.namespace,i=f.selector,j=f.errors,k="."+h,l="module-"+h,m=e.selector||"",n=(new Date).getTime(),o=[],p=arguments[0],q="string"==typeof p,r=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),h=e.find(i.title),s=(e.find(i.icon),e.find(i.content)),t=this,u=e.data(l);b={initialize:function(){b.debug("Initializing accordion with bound events",e),h.on("click"+k,b.event.click),b.instantiate()},instantiate:function(){e.data(l,b)},destroy:function(){b.debug("Destroying previous accordion for",e),e.off(k).removeData(l)},event:{click:function(){b.verbose("Title clicked",this);var c=a(this),d=h.index(c);b.toggle(d)},resetStyle:function(){b.verbose("Resetting styles on element",this),a(this).removeAttr("style").children().removeAttr("style")}},toggle:function(a){b.debug("Toggling content content at index",a);var c=h.eq(a),d=c.hasClass(g.active);d?f.collapsible?b.close(a):b.debug("Cannot close accordion content collapsing is disabled"):b.open(a)},open:function(c){var d=h.eq(c),e=d.next(s),i=h.filter("."+g.active),j=i.next(h),k=i.size()>0;e.is(":animated")||(b.debug("Opening accordion content",d),f.exclusive&&k&&(i.removeClass(g.active),j.stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){j.removeClass(g.active).removeAttr("style").children().removeAttr("style")})),d.addClass(g.active),e.stop().children().removeAttr("style").end().slideDown(f.speed,f.easing,function(){e.addClass(g.active).removeAttr("style"),a.proxy(f.onOpen,e)(),a.proxy(f.onChange,e)()}))},close:function(c){var d=h.eq(c),e=d.next(s);b.debug("Closing accordion content",d),d.removeClass(g.active),e.removeClass(g.active).show().stop().children().animate({opacity:0},f.speed,b.event.resetStyle).end().slideUp(f.speed,f.easing,function(){e.removeAttr("style"),a.proxy(f.onClose,e)(),a.proxy(f.onChange,e)()})},setting:function(c,e){return b.debug("Changing setting",c,e),e===d?f[c]:(a.isPlainObject(c)?a.extend(!0,f,c):f[c]=e,void 0)},internal:function(c,e){return b.debug("Changing internal",c,e),e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=n||c,d=c-e,n=c,o.push({Element:t,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;n=!1,clearTimeout(b.performance.timer),a.each(o,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",m&&(c+=" '"+m+"'"),(console.group!==d||console.table!==d)&&o.length>0&&(console.groupCollapsed(c),console.table?console.table(o):a.each(o,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),o=[]}},invoke:function(c,e,f){var g,h;return e=e||r,f=t||f,"string"==typeof c&&u!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(u[e])&&c!=g?(u=u[e],!0):u[e]!==d?(h=u[e],!0):(b.error(j.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},q?(u===d&&b.initialize(),c=b.invoke(p)):(u!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.accordion.settings={moduleName:"Accordion",debug:!0,verbose:!0,performance:!0,exclusive:!0,collapsible:!0,onOpen:function(){},onClose:function(){},onChange:function(){},error:{method:"The method you called is not defined"},className:{active:"active",hover:"hover"},selector:{title:".title",icon:".icon",content:".content"},speed:500,easing:"easeInOutQuint"}}(jQuery,window,document),function(a,b,c,d){a.animationSettings=function(b,c,e,f){return b=c===d?b:"object"==typeof c?a.extend({},b,c):"function"==typeof e?a.extend({},b,{duration:c,complete:e}):"object"==typeof e?a.extend(!0,{},b,{duration:c},e):a.extend({},b,{duration:c,easing:e,complete:f})},a.fn.popIn=function(b,c,d){var e=a.animationSettings(a.fn.popIn.settings,b,c,d),f=a(this),g=f.size(),h=0,i=function(){0==f.filter(":animated").size(),h++,a(this).css("transform","").removeClass(e.className.init),a.proxy(e.eachComplete,this)(),h==g&&a.proxy(e.complete,f)()},j=function(b){a(this).delay(e.delay*b).animate({opacity:e.endOpacity,transform:"scale("+e.endScale+")"},e.duration,e.easing,i)};return e.isLegacyBrowser?f.show():f.addClass(e.className.init).show().css({opacity:e.startOpacity,transform:"scale("+e.startScale+")"}).each(j),a(this)},a.fn.popOut=function(b,c,d){var e=a.animationSettings(a.fn.popIn.settings,b,c,d),f={complete:function(){a(this).hide(),a.proxy(e.complete,this)()},startOpacity:e.endOpacity,endOpacity:0,startScale:e.endScale,endScale:e.startScale},g=a.extend(!0,{},e,f);a(this).popIn(g)},a.fn.popIn.settings={isLegacyBrowser:!1,className:{init:"init"},duration:450,easing:"easeOutExpo",delay:100,startOpacity:0,endOpacity:1,startScale:.7,endScale:1,eachComplete:function(){},complete:function(){}},a.fn.kenBurns=function(b,c,e){var f=a.animationSettings(a.fn.kenBurns.settings,b,c,e),g={randomPosition:function(a,b,c){var c=c!==d?c:b,e=Math.random()*(a+c-(a-b))+(a-b);return parseInt(e,10)},animate:function(){var b={},c={};b=f.useStartPosition?{x:parseInt(a(this).css("background-position-x"),10),y:parseInt(a(this).css("background-position-y"),10)}:{x:g.randomPosition(50,f.xRange),y:g.randomPosition(50,f.yRange)},c.x=b.x>50?g.randomPosition(b.x,f.xMaxTravelDistance,-f.xMinTravelDistance):g.randomPosition(b.x,-f.xMinTravelDistance,f.xMaxTravelDistance),c.y=b.y>50?g.randomPosition(b.y,f.yMaxTravelDistance,-f.yMinTravelDistance):g.randomPosition(b.y,-f.yMinTravelDistance,f.yMaxTravelDistance),a(this).css({backgroundPosition:b.x+"%",backgroundPositionY:b.y+"%"}).stop().animate({backgroundPosition:c.x+"%",backgroundPositionY:c.y+"%"},f.duration,f.easing,f.complete)}};return f.isLegacyBrowser||a(this).each(g.animate),a(this)},a.fn.kenBurns.settings={isLegacyBrowser:!1,duration:1e4,easing:"linear",useStartPosition:!1,xRange:40,yRange:20,xMinTravelDistance:30,xMaxTravelDistance:60,yMinTravelDistance:20,yMaxTravelDistance:40,scale:.1,complete:function(){}}}(jQuery,window,document),function(a,b,c,d){a.api=a.fn.api=function(c){var e,f,g=a.extend(!0,{},a.api.settings,c),h="function"!=typeof this?this:a("
"),i=g.stateContext?a(g.stateContext):a(h),j="object"==typeof this?a(h):i,k=this,l=(new Date).getTime(),m=[],n=j.selector||"",o=g.namespace+"-module",p=g.className,q=g.metadata,r=g.errors,s=j.data(o),t=arguments[0],u=s!==d&&"string"==typeof t,v=[].slice.call(arguments,1);return e={initialize:function(){var c,f,h,k,l,m,n=(new Date).getTime(),o={},r={},s=g.errors;return g.serializeForm&&a(this).toJSON()!==d&&(o=e.get.formData(),e.debug("Adding form data to API Request",o),a.extend(!0,g.data,o)),c=a.proxy(g.beforeSend,j)(g),c===d||c?(k=e.get.url(e.get.templateURL()))?(h=a.Deferred().always(function(){g.stateContext&&i.removeClass(p.loading),a.proxy(g.complete,j)()}).done(function(b){e.debug("API request successful"),"json"==g.dataType?b.error!==d?a.proxy(g.failure,i)(b.error,g,j):a.isArray(b.errors)?a.proxy(g.failure,i)(b.errors[0],g,j):a.proxy(g.success,i)(b,g,j):a.proxy(g.success,i)(b,g,j)}).fail(function(b,c,f){var h,j=g.errors[c]!==d?g.errors[c]:f;if(b!==d)if(b.readyState!==d&&4==b.readyState){if(200!=b.status&&f!==d&&""!==f)e.error(s.statusMessage+f);else if("error"==c&&"json"==g.dataType)try{h=a.parseJSON(b.responseText),h&&h.error!==d&&(j=h.error)}catch(k){e.error(s.JSONParse)}i.removeClass(p.loading).addClass(p.error),g.errorLength>0&&setTimeout(function(){i.removeClass(p.error)},g.errorLength),e.debug("API Request error:",j),a.proxy(g.failure,i)(j,g,this)}else e.debug("Request Aborted (Most likely caused by page change)")}),a.extend(!0,r,g,{success:function(){},failure:function(){},complete:function(){},type:g.method||g.type,data:l,url:k,beforeSend:g.beforeXHR}),g.stateContext&&i.addClass(p.loading),g.progress&&(e.verbose("Adding progress events"),a.extend(!0,r,{xhr:function(){var c=new b.XMLHttpRequest;return c.upload.addEventListener("progress",function(b){var c;b.lengthComputable&&(c=Math.round(1e4*(b.loaded/b.total))/100+"%",a.proxy(g.progress,i)(c,b))},!1),c.addEventListener("progress",function(b){var c;b.lengthComputable&&(c=Math.round(1e4*(b.loaded/b.total))/100+"%",a.proxy(g.progress,i)(c,b))},!1),c}})),e.verbose("Creating AJAX request with settings: ",r),m=a.ajax(r).always(function(){f=g.loadingLength-((new Date).getTime()-n),g.loadingDelay=0>f?0:f}).done(function(a){var b=this;setTimeout(function(){h.resolveWith(b,[a])},g.loadingDelay)}).fail(function(a,b,c){var d=this;"abort"!=b?setTimeout(function(){h.rejectWith(d,[a,b,c])},g.loadingDelay):i.removeClass(p.error).removeClass(p.loading)}),g.stateContext&&j.data(q.promise,h).data(q.xhr,m),void 0):(e.error(s.missingURL),e.reset(),void 0):(e.error(s.beforeSend),e.reset(),void 0)},get:{formData:function(){return j.closest("form").toJSON()},templateURL:function(){var a,b=j.data(g.metadata.action)||g.action||!1;return b&&(e.debug("Creating url for: ",b),g.api[b]!==d?a=g.api[b]:e.error(r.missingAction)),g.url&&(a=g.url,e.debug("Getting url",a)),a},url:function(b,c){var f;return b&&(f=b.match(g.regExpTemplate),c=c||g.urlData,f&&(e.debug("Looking for URL variables",f),a.each(f,function(g,h){var i=h.substr(2,h.length-3),k=a.isPlainObject(c)&&c[i]!==d?c[i]:j.data(i)!==d?j.data(i):c[i];if(e.verbose("Looking for variable",i,j,j.data(i),c[i]),k===!1)e.debug("Removing variable from URL",f),b=b.replace("/"+h,"");else{if(k===d||!k)return e.error(r.missingParameter+i),b=!1,!1;b=b.replace(h,k)}}))),b}},reset:function(){j.data(q.promise,!1).data(q.xhr,!1),i.removeClass(p.error).removeClass(p.loading)},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(b,c){return c===d?e[b]:(a.isPlainObject(b)?a.extend(!0,e,b):e[b]=c,void 0)},debug:function(){g.debug&&(g.performance?e.performance.log(arguments):e.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?e.performance.log(arguments):e.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){e.error=Function.prototype.bind.call(console.error,console,g.moduleName+":")},performance:{log:function(a){var b,c,d;g.performance&&(b=(new Date).getTime(),d=l||b,c=b-d,l=b,m.push({Element:k,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(e.performance.timer),e.performance.timer=setTimeout(e.performance.display,100)},display:function(){var b=g.moduleName+":",c=0;clearTimeout(e.performance.timer),l=!1,a.each(m,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",n&&(b+=" '"+n+"'"),(console.group!==d||console.table!==d)&&m.length>0&&(console.groupCollapsed(b),console.table?console.table(m):a.each(m,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),m=[]}},invoke:function(b,c,f){var g,h;return c=c||v,f=k||f,"string"==typeof b&&s!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){a.isPlainObject(s[c])&&b!=g?s=s[c]:s[c]!==d?h=s[c]:e.error(r.method)})),a.isFunction(h)?(e.verbose("Executing invoked function",h),h.apply(f,c)):h||!1}},u?(s===d&&e.initialize(),f=e.invoke(t)):(s!==d&&e.destroy(),e.initialize()),f?f:this},a.fn.apiButton=function(b){return a(this).each(function(){var c,d=a(this),e=a(this).selector||"",f=a.isFunction(b)?a.extend(!0,{},a.api.settings,a.fn.apiButton.settings,{stateContext:this,success:b}):a.extend(!0,{},a.api.settings,a.fn.apiButton.settings,{stateContext:this},b);c={initialize:function(){f.context&&""!==e?a(f.context).on(e,"click."+f.namespace,c.click):d.on("click."+f.namespace,c.click)},click:function(){f.filter&&0!==a(this).filter(f.filter).size()||a.proxy(a.api,this)(f)}},c.initialize()}),this},a.api.settings={moduleName:"API",namespace:"api",debug:!0,verbose:!0,performance:!0,api:{},beforeSend:function(a){return a},beforeXHR:function(){},success:function(){},complete:function(){},failure:function(){},progress:!1,errors:{missingAction:"API action used but no url was defined",missingURL:"URL not specified for the API action",missingParameter:"Missing an essential URL parameter: ",timeout:"Your request timed out",error:"There was an error with your request",parseError:"There was an error parsing your request",JSONParse:"JSON could not be parsed during error handling",statusMessage:"Server gave an error: ",beforeSend:"The before send function has aborted the request",exitConditions:"API Request Aborted. Exit conditions met"},className:{loading:"loading",error:"error"},metadata:{action:"action",promise:"promise",xhr:"xhr"},regExpTemplate:/\{\$([A-z]+)\}/g,action:!1,url:!1,urlData:!1,serializeForm:!1,stateContext:!1,method:"get",data:{},dataType:"json",cache:!0,loadingLength:200,errorLength:2e3},a.fn.apiButton.settings={filter:".disabled, .loading",context:!1,stateContext:!1}}(jQuery,window,document),function(a,b,c,d){a.fn.colorize=function(b){var c=a.extend(!0,{},a.fn.colorize.settings,b),e=arguments||!1;return a(this).each(function(b){var f,g,h,i,j,k,l,m,n=a(this),o=a("")[0],p=a("")[0],q=a("")[0],r=new Image,s=c.colors,t=(c.paths,c.namespace),u=c.errors,v=n.data("module-"+t);return m={checkPreconditions:function(){return m.debug("Checking pre-conditions"),!a.isPlainObject(s)||a.isEmptyObject(s)?(m.error(u.undefinedColors),!1):!0},async:function(a){c.async?setTimeout(a,0):a()},getMetadata:function(){m.debug("Grabbing metadata"),i=n.data("image")||c.image||d,j=n.data("name")||c.name||b,k=c.width||n.width(),l=c.height||n.height(),(0===k||0===l)&&m.error(u.undefinedSize)},initialize:function(){m.debug("Initializing with colors",s),m.checkPreconditions()&&m.async(function(){m.getMetadata(),m.canvas.create(),m.draw.image(function(){m.draw.colors(),m.canvas.merge()}),n.data("module-"+t,m)})},redraw:function(){m.debug("Redrawing image"),m.async(function(){m.canvas.clear(),m.draw.colors(),m.canvas.merge()})},change:{color:function(a,b){return m.debug("Changing color",a),s[a]===d?(m.error(u.missingColor),!1):(s[a]=b,m.redraw(),void 0)}},canvas:{create:function(){m.debug("Creating canvases"),o.width=k,o.height=l,p.width=k,p.height=l,q.width=k,q.height=l,f=o.getContext("2d"),g=p.getContext("2d"),h=q.getContext("2d"),n.append(o),f=n.children("canvas")[0].getContext("2d")},clear:function(){m.debug("Clearing canvas"),h.fillStyle="#FFFFFF",h.fillRect(0,0,k,l)},merge:function(){return a.isFunction(f.blendOnto)?(f.putImageData(g.getImageData(0,0,k,l),0,0),h.blendOnto(f,"multiply"),void 0):(m.error(u.missingPlugin),void 0)}},draw:{image:function(a){m.debug("Drawing image"),a=a||function(){},i?(r.src=i,r.onload=function(){g.drawImage(r,0,0),a()}):(m.error(u.noImage),a())},colors:function(){m.debug("Drawing color overlays",s),a.each(s,function(a,b){c.onDraw(h,j,a,b)})}},debug:function(a,b){c.debug&&(b!==d?console.info(c.moduleName+": "+a,b):console.info(c.moduleName+": "+a))},error:function(a){console.warn(c.moduleName+": "+a)},invoke:function(b,e,f){var g;return f=f||Array.prototype.slice.call(arguments,2),"string"==typeof b&&v!==d&&(b=b.split("."),a.each(b,function(b,d){return a.isPlainObject(v[d])?(v=v[d],!0):a.isFunction(v[d])?(g=v[d],!0):(m.error(c.errors.method),!1)})),a.isFunction(g)?g.apply(e,f):!1}},v!==d&&e?("invoke"==e[0]&&(e=Array.prototype.slice.call(e,1)),m.invoke(e[0],this,Array.prototype.slice.call(e,1))):(m.initialize(),void 0)}),this},a.fn.colorize.settings={moduleName:"Image Colorizer",debug:!0,namespace:"colorize",onDraw:function(){},async:!0,colors:{},metadata:{image:"image",name:"name"},errors:{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(a,b,c,d){a.fn.form=function(b,c){var e,f=a(this),g=a.extend(!0,{},a.fn.form.settings,c),h=a.extend({},a.fn.form.settings.defaults,b),i=g.namespace,j=g.metadata,k=g.selector,l=g.className,m=g.error,n="."+i,o="module-"+i,p=f.selector||"",q=(new Date).getTime(),r=[],s=arguments[0],t="string"==typeof s,u=[].slice.call(arguments,1);return f.each(function(){var b,c=a(this),f=a(this).find(k.field),i=a(this).find(k.group),v=a(this).find(k.message),w=(a(this).find(k.prompt),a(this).find(k.submit)),x=[],y=this,z=c.data(o);b={initialize:function(){b.verbose("Initializing form validation",c,h,g),g.keyboardShortcuts&&f.on("keydown"+n,b.event.field.keydown),c.on("submit"+n,b.validate.form),f.on("blur"+n,b.event.field.change),w.on("click"+n,b.submit),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),z=b,c.data(o,b)},destroy:function(){b.verbose("Destroying previous module",z),c.off(n).removeData(o)},refresh:function(){b.verbose("Refreshing selector cache"),f=c.find(k.field)},submit:function(){b.verbose("Submitting form",c),c.submit()},event:{field:{keydown:function(c){var d=a(this),e=c.which,f={enter:13,escape:27};return e==f.escape&&(b.verbose("Escape key pressed blurring field"),d.blur()),e==f.enter&&d.is(k.input)?(b.debug("Enter key pressed, submitting form"),w.addClass(l.down),d.one("keyup"+n,b.event.field.keyup),c.preventDefault(),!1):void 0},keyup:function(){b.verbose("Doing keyboard shortcut form submit"),w.removeClass(l.down),b.submit()},change:function(){var c=a(this),d=c.closest(i);d.hasClass(l.error)?(b.debug("Revalidating field",c,b.get.validation(c)),b.validate.field(b.get.validation(c))):"change"==g.on&&b.validate.field(b.get.validation(c))}}},get:{field:function(c){return b.verbose("Finding field with identifier",c),f.filter("#"+c).size()>0?f.filter("#"+c):f.filter('[name="'+c+'"]').size()>0?f.filter('[name="'+c+'"]'):f.filter("[data-"+j.validate+'="'+c+'"]').size()>0?f.filter("[data-"+j.validate+'="'+c+'"]'):a("")},validation:function(c){var d;return a.each(h,function(a,e){b.get.field(e.identifier).get(0)==c.get(0)&&(d=e)}),d||!1}},has:{field:function(a){return b.verbose("Checking for existence of a field with identifier",a),f.filter("#"+a).size()>0?!0:f.filter('[name="'+a+'"]').size()>0?!0:f.filter("[data-"+j.validate+'="'+a+'"]').size()>0?!0:!1}},add:{prompt:function(a,c){var d=b.get.field(a.identifier),e=d.closest(i),f=e.find(k.prompt),h=0!==f.size();b.verbose("Adding inline validation prompt"),e.addClass(l.error),g.inlineError&&(h||(f=g.templates.prompt(c),f.appendTo(e).hide()),f.html(c[0]),f.is(":not(:visible)")&&f.fadeIn(g.animateSpeed))},errors:function(a){b.debug("Adding form error messages",a),v.html(g.templates.error(a))}},remove:{prompt:function(a){var c=b.get.field(a.identifier),d=c.closest(i),e=d.find(k.prompt);d.removeClass(l.error),g.inlineError&&e.hide()}},validate:{form:function(d){var e=!0;return x=[],a.each(h,function(a,c){b.validate.field(c)||(e=!1)}),e?(b.debug("Form has no validation errors, submitting"),c.removeClass(l.error).addClass(l.success),a.proxy(g.onSuccess,this)(d),void 0):(b.debug("Form has errors"),c.addClass(l.error),g.inlineError||b.add.errors(x),a.proxy(g.onFailure,this)(x))},field:function(c){var e=b.get.field(c.identifier),f=!0,h=[];return c.rules!==d&&a.each(c.rules,function(a,d){b.has.field(c.identifier)&&!b.validate.rule(c,d)&&(b.debug("Field is invalid",c.identifier,d.type),h.push(d.prompt),f=!1)}),f?(b.remove.prompt(c,h),a.proxy(g.onValid,e)(),!0):(x=x.concat(h),b.add.prompt(c,h),a.proxy(g.onInvalid,e)(h),!1)},rule:function(e,f){var h,i,j=b.get.field(e.identifier),k=f.type,l=j.val(),m=/\[(.*?)\]/i,n=m.exec(k),o=!0;return n!==d&&null!==n?(h=n[1],i=k.replace(n[0],""),o=a.proxy(g.rules[i],c)(l,h)):o="checked"==k?j.filter(":checked").size()>0:g.rules[k](l),o}},setting:function(c,e){return b.debug("Changing setting",c,e),e===d?g[c]:(a.isPlainObject(c)?a.extend(!0,g,c):g[c]=e,void 0)},internal:function(c,e){return b.debug("Changing internal",c,e),e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){g.debug&&(g.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,g.moduleName+":")},performance:{log:function(a){var c,d,e;g.performance&&(c=(new Date).getTime(),e=q||c,d=c-e,q=c,r.push({Element:y,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=g.moduleName+":",e=0;q=!1,clearTimeout(b.performance.timer),a.each(r,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",p&&(c+=" '"+p+"'"),(console.group!==d||console.table!==d)&&r.length>0&&(console.groupCollapsed(c),console.table?console.table(r):a.each(r,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),r=[]}},invoke:function(c,e,f){var g,h;return e=e||u,f=y||f,"string"==typeof c&&z!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(z[e])&&c!=g?(z=z[e],!0):z[e]!==d?(h=z[e],!0):(b.error(m.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},t?(z===d&&b.initialize(),e=b.invoke(s)):(z!==d&&b.destroy(),b.initialize())}),e?e:this},a.fn.form.settings={moduleName:"Form",debug:!0,verbose:!0,performance:!0,namespace:"form",keyboardShortcuts:!0,on:"submit",animateSpeed:150,inlineError:!1,onValid:function(){},onInvalid:function(){},onSuccess:function(){return!0},onFailure:function(){return!1},metadata:{validate:"validate"},selector:{message:".error.message",field:"input, textarea, select",group:".field",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(b){var c='
    ';return a.each(b,function(a,b){c+="
  • "+b+"
  • "}),c+="
",a(c)},prompt:function(b){return a("
").addClass("ui red pointing prompt label").html(b[0])}},rules:{empty:function(a){return!(a===d||""===a)},email:function(a){var b=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])?");return b.test(a)},length:function(a,b){return a!==d?a.length>=b:!1},not:function(a,b){return a!=b},is:function(a,b){return a==b},maxLength:function(a,b){return a!==d?a.length<=b:!1},match:function(b,c){var e,f=a(this);return f.find("#"+c).size()>0?e=f.find("#"+c).val():f.find("[name="+c+"]").size()>0?e=f.find("[name="+c+"]").val():f.find('[data-validate="'+c+'"]').size()>0&&(e=f.find('[data-validate="'+c+'"]').val()),e!==d?b.toString()==e.toString():!1},url:function(a){var b=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return b.test(a)}}}}(jQuery,window,document),function(a,b,c,d){a.fn.state=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.state.settings,b),g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1),m=f.errors,n=f.metadata,o=f.className,p=f.namespace,q=f.states,r=f.text,s="."+p,t=p+"-module";return e.each(function(){var p,u=a(this),v=this,w=u.data(t);p={initialize:function(){p.verbose("Initializing module"),f.automatic&&p.add.defaults(),f.context&&""!==g?(p.allows("hover")&&a(v,f.context).on(g,"mouseenter"+s,p.enable.hover).on(g,"mouseleave"+s,p.disable.hover),p.allows("down")&&a(v,f.context).on(g,"mousedown"+s,p.enable.down).on(g,"mouseup"+s,p.disable.down),p.allows("focus")&&a(v,f.context).on(g,"focus"+s,p.enable.focus).on(g,"blur"+s,p.disable.focus),a(f.context).on(g,"mouseenter"+s,p.change.text).on(g,"mouseleave"+s,p.reset.text).on(g,"click"+s,p.toggle.state)):(p.allows("hover")&&u.on("mouseenter"+s,p.enable.hover).on("mouseleave"+s,p.disable.hover),p.allows("down")&&u.on("mousedown"+s,p.enable.down).on("mouseup"+s,p.disable.down),p.allows("focus")&&u.on("focus"+s,p.enable.focus).on("blur"+s,p.disable.focus),u.on("mouseenter"+s,p.change.text).on("mouseleave"+s,p.reset.text).on("click"+s,p.toggle.state)),p.instantiate()},instantiate:function(){p.verbose("Storing instance of module",p),w=p,u.data(t,p)},destroy:function(){p.verbose("Destroying previous module",w),u.off(s).removeData(t)},refresh:function(){p.verbose("Refreshing selector cache"),u=a(v)},add:{defaults:function(){var c=b&&a.isPlainObject(b.states)?b.states:{};a.each(f.defaults,function(b,e){p.is[b]!==d&&p.is[b]()&&(p.verbose("Adding default states",b,v),a.extend(f.states,e,c))})}},is:{active:function(){return u.hasClass(o.active)},loading:function(){return u.hasClass(o.loading)},inactive:function(){return!u.hasClass(o.active)},enabled:function(){return!u.is(f.filter.active)},disabled:function(){return u.is(f.filter.active)},textEnabled:function(){return!u.is(f.filter.text)},button:function(){return u.is(".button:not(a, .submit)")},input:function(){return u.is("input")}},allow:function(a){p.debug("Now allowing state",a),q[a]=!0},disallow:function(a){p.debug("No longer allowing",a),q[a]=!1},allows:function(a){return q[a]||!1},enable:{state:function(a){p.allows(a)&&u.addClass(o[a])},focus:function(){u.addClass(o.focus)},hover:function(){u.addClass(o.hover)},down:function(){u.addClass(o.down)}},disable:{state:function(a){p.allows(a)&&u.removeClass(o[a])},focus:function(){u.removeClass(o.focus)},hover:function(){u.removeClass(o.hover)},down:function(){u.removeClass(o.down)}},toggle:{state:function(){var a=u.data(n.promise);p.allows("active")&&p.is.enabled()&&(p.refresh(),a!==d?p.listenTo(a):p.change.state())}},textFor:function(a){return r[a]||!1},listenTo:function(b){p.debug("API request detected, waiting for state signal",b),b?(r.loading&&p.update.text(r.loading),a.when(b).then(function(){"resolved"==b.state()?(p.debug("API request succeeded"),f.activateTest=function(){return!0},f.deactivateTest=function(){return!0}):(p.debug("API request failed"),f.activateTest=function(){return!1},f.deactivateTest=function(){return!1}),p.change.state()})):(f.activateTest=function(){return!1},f.deactivateTest=function(){return!1})},change:{state:function(){p.debug("Determining state change direction"),p.is.inactive()?p.activate():p.deactivate(),f.sync&&p.sync(),a.proxy(f.onChange,v)()},text:function(){p.is.textEnabled()&&(p.is.active()?r.hover?(p.verbose("Changing text to hover text",r.hover),p.update.text(r.hover)):r.disable&&(p.verbose("Changing text to disable text",r.disable),p.update.text(r.disable)):r.hover?(p.verbose("Changing text to hover text",r.disable),p.update.text(r.hover)):r.enable&&(p.verbose("Changing text to enable text",r.enable),p.update.text(r.enable)))}},activate:function(){a.proxy(f.activateTest,v)()&&(p.debug("Setting state to active"),u.addClass(o.active),p.update.text(r.active)),a.proxy(f.onActivate,v)()},deactivate:function(){a.proxy(f.deactivateTest,v)()&&(p.debug("Setting state to inactive"),u.removeClass(o.active),p.update.text(r.inactive)),a.proxy(f.onDeactivate,v)()},sync:function(){p.verbose("Syncing other buttons to current state"),p.is.active()?e.not(u).state("activate"):e.not(u).state("deactivate")},get:{text:function(){return f.selector.text?u.find(f.selector.text).text():u.html()}},flash:{text:function(a,b){var c=p.get.text();p.debug("Flashing text message",a,b),a=a||f.text.flash,b=b||f.flashDuration,p.update.text(a),setTimeout(function(){p.update.text(c)},b)}},reset:{text:function(){var a=r.active||u.data(n.storedText),b=r.inactive||u.data(n.storedText);p.is.textEnabled()&&(p.is.active()&&a?(p.verbose("Resetting active text",a),p.update.text(a)):b&&(p.verbose("Resetting inactive text",a),p.update.text(b)))}},update:{text:function(a){var b=p.get.text();a&&a!==b?(p.debug("Updating text",a),f.selector.text?u.data(n.storedText,a).find(f.selector.text).text(a):u.data(n.storedText,a).html(a)):p.debug("Text is already sane, ignoring update",a)}},setting:function(b,c){return p.debug("Changing setting",b,c),c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(b,c){return p.debug("Changing internal",b,c),c===d?p[b]:(a.isPlainObject(b)?a.extend(!0,p,b):p[b]=c,void 0)},debug:function(){f.debug&&(f.performance?p.performance.log(arguments):p.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?p.performance.log(arguments):p.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){p.error=Function.prototype.bind.call(console.log,console,f.moduleName+":")},performance:{log:function(a){var b,c,d;f.performance&&(b=(new Date).getTime(),d=h||b,c=b-d,h=b,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(p.performance.timer),p.performance.timer=setTimeout(p.performance.display,100)},display:function(){var b=f.moduleName+":",c=0;h=!1,clearTimeout(p.performance.timer),a.each(i,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,e){var f,g;return c=c||l,e=v||e,"string"==typeof b&&w!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){return a.isPlainObject(w[c])&&b!=f?(w=w[c],!0):w[c]!==d?(g=w[c],!0):(p.error(m.method),!1)})),a.isFunction(g)?g.apply(e,c):g||!1}},k?(w===d&&p.initialize(),c=p.invoke(j)):(w!==d&&p.destroy(),p.initialize())}),c?c:this},a.fn.state.settings={moduleName:"State",debug:!0,verbose:!0,namespace:"state",performance:!0,onActivate:function(){},onDeactivate:function(){},onChange:function(){},activateTest:function(){return!0},deactivateTest:function(){return!0},automatic:!0,sync:!1,flashDuration:3e3,filter:{text:".loading, .disabled",active:".disabled"},context:!1,errors:{method:"The method you called is not defined."},metadata:{promise:"promise",storedText:"stored-text"},className:{focus:"focus",hover:"hover",down:"down",active:"active",loading:"loading"},selector:{text:!1},defaults:{input:{hover:!0,focus:!0,down:!0,loading:!1,active:!1},button:{hover:!0,focus:!1,down:!0,active:!1,loading:!0}},states:{hover:!0,focus:!0,down:!0,loading:!1,active:!1},text:{flash:!1,hover:!1,active:!1,inactive:!1,enable:!1,disable:!1}}}(jQuery,window,document),function(a,b,c,d){a.fn.carousel=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.carousel.settings,b),g=("."+f.namespace,"module-"+f.namespace,e.selector||""),h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return e.each(function(){var b,m=a(this),n=(a(f.selector.arrows),a(f.selector.leftArrow)),o=a(f.selector.rightArrow),p=a(f.selector.content),q=(a(f.selector.navigation),a(f.selector.navItem)),r=(m.selector||"",this),s=m.data("module-"+f.namespace),t=f.className,u=f.namespace,v=f.errors;b={initialize:function(){b.openingAnimation(),b.marquee.autoAdvance(),n.on("click",b.marquee.left),o.on("click",b.marquee.right),q.on("click",b.marquee.change)},destroy:function(){b.verbose("Destroying previous module for",m),m.off(u)},left:function(){var a=p.filter("."+t.active),b=p.index(a),c=p.size(),d=-1!=b-1?b-1:c-1;q.eq(d).trigger("click")},right:function(){var a=p.filter("."+t.active),b=p.index(a),c=p.size(),d=b+1!=c?b+1:0;q.eq(d).trigger("click")},change:function(){var c=a(this),d=q.index(c),e=p.eq(d); b.marquee.autoAdvance(),c.addClass("active").siblings().removeClass("active"),e.addClass("active animated fadeIn").siblings("."+t.active).removeClass("animated fadeIn scaleIn").animate({opacity:0},500,function(){a(this).removeClass("active").removeAttr("style")})},autoAdvance:function(){clearInterval(b.timer),b.timer=setInterval(b.marquee.right,f.duration)},setting:function(c,e){return e===d?f[c]:(a.isPlainObject(c)?(b.verbose("Modifying settings object",c,e),a.extend(!0,f,c)):(b.verbose("Modifying setting",c,e),f[c]=e),void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?(b.verbose("Modifying internal property",c,e),a.extend(!0,b,c)):(b.verbose("Changing internal method to",e),b[c]=e),void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:r,Name:a[0],Arguments:a[1]||"None","Execution Time":d}),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100))},display:function(){var b=f.moduleName,c=(f.moduleName+": "+g+"("+e.size()+" elements)",0);g&&(b+=" Performance ("+g+")"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(b),console.table?(a.each(i,function(a,b){c+=b["Execution Time"]}),console.table(i)):a.each(i,function(a,b){c+=b["Execution Time"],console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.log("Total Execution Time:",c+"ms"),console.groupEnd(),i=[],h=!1)}},invoke:function(c,e,f){var g,h;return e=e||l,f=r||f,"string"==typeof c&&s!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(s[e])&&c!=g?(s=s[e],!0):s[e]!==d?(h=s[e],!0):(b.error(v.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(s===d&&b.initialize(),c=b.invoke(j)):(s!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.carousel.settings={moduleName:"Carousel",namespace:"carousel",verbose:!0,debug:!0,performance:!0,duration:5e3,errors:{method:"The method you called is not defined."},selector:{arrows:".arrow",leftArrow:".left.arrow",rightArrow:".right.arrow",content:".content",navigation:".navigation",navItem:".navigation .icon"},className:{active:"active"}}}(jQuery,window,document),function(a,b,c,d){a.fn.chat=function(b,c,e){var f=a.extend(!0,{},a.fn.chat.settings,e),g=arguments||!1;return a(this).each(function(){var e,h,i,j,k,l,m,n=a(this),o=n.find(f.selector.expandButton),p=n.find(f.selector.userListButton),q=n.find(f.selector.userList),r=(n.find(f.selector.room),n.find(f.selector.userCount)),s=n.find(f.selector.log),t=(n.find(f.selector.message),n.find(f.selector.messageInput)),u=n.find(f.selector.messageButton),v=n.data("module"),w=f.className,x=f.namespace,y="",z={};return m={width:{log:s.width(),userList:q.outerWidth()},initialize:function(){return Pusher===d&&m.error(f.errors.pusher),b===d||c===d?(m.error(f.errors.key),!1):f.endpoint.message||f.endpoint.authentication?(l=new Pusher(b),Pusher.channel_auth_endpoint=f.endpoint.authentication,e=l.subscribe(c),e.bind("pusher:subscription_succeeded",m.user.list.create),e.bind("pusher:subscription_error",m.error),e.bind("pusher:member_added",m.user.joined),e.bind("pusher:member_removed",m.user.left),e.bind("update_messages",m.message.receive),a.each(f.customEvents,function(a,b){e.bind(a,b)}),p.on("click."+x,m.event.toggleUserList),o.on("click."+x,m.event.toggleExpand),t.on("keydown."+x,m.event.input.keydown).on("keyup."+x,m.event.input.keyup),u.on("mouseenter."+x,m.event.hover).on("mouseleave."+x,m.event.hover).on("click."+x,m.event.submit),s.animate({scrollTop:s.prop("scrollHeight")},400),n.data("module",m).addClass(w.loading),void 0):(m.error(f.errors.endpoint),!1)},refresh:function(){p.removeClass(w.active),m.width={log:s.width(),userList:q.outerWidth()},p.hasClass(w.active)&&m.user.list.hide(),n.data("module",m)},user:{updateCount:function(){f.userCount&&(z=n.data("users"),j=0,a.each(z,function(){j++}),r.html(f.templates.userCount(j)))},joined:function(b){z=n.data("users"),"anonymous"!=b.id&&z[b.id]===d&&(z[b.id]=b.info,f.randomColor&&b.info.color===d&&(b.info.color=f.templates.color(b.id)),y=f.templates.userList(b.info),b.info.isAdmin?a(y).prependTo(q):a(y).appendTo(q),f.partingMessages&&(s.append(f.templates.joined(b.info)),m.message.scroll.test()),m.user.updateCount())},left:function(a){z=n.data("users"),a!==d&&"anonymous"!==a.id&&(delete z[a.id],n.data("users",z),q.find("[data-id="+a.id+"]").remove(),f.partingMessages&&(s.append(f.templates.left(a.info)),m.message.scroll.test()),m.user.updateCount())},list:{create:function(b){z={},b.each(function(a){"anonymous"!==a.id&&"undefined"!==a.id&&(f.randomColor&&a.info.color===d&&(a.info.color=f.templates.color(a.id)),y=a.info.isAdmin?f.templates.userList(a.info)+y:y+f.templates.userList(a.info),z[a.id]=a.info)}),n.data("users",z).data("user",z[b.me.id]).removeClass(w.loading),q.html(y),m.user.updateCount(),a.proxy(f.onJoin,q.children())()},show:function(){s.animate({width:m.width.log-m.width.userList},{duration:f.speed,easing:f.easing,complete:m.message.scroll.move})},hide:function(){s.stop().animate({width:m.width.log},{duration:f.speed,easing:f.easing,complete:m.message.scroll.move})}}},message:{scroll:{test:function(){k=s.prop("scrollHeight")-s.height(),Math.abs(s.scrollTop()-k)'+a.user.name+": ":''+a.user.name+": ",b+=""+a.text+"

"+"
"},joined:function(a){return typeof a.name!==d?'
'+a.name+" has joined the chat.
":!1},left:function(a){return typeof a.name!==d?'
'+a.name+" has left the chat.
":!1},userList:function(a){var b="";return a.isAdmin&&(a.color="#55356A"),b+='
'+'
'+' '+"
",b+=a.color!==d?'

'+a.name+"

":'

'+a.name+"

",b+="
"}}}}(jQuery,window,document),function(a,b,c,d){a.fn.checkbox=function(b){var c,e=a(this),f=a.extend(!0,{},a.fn.checkbox.settings,b),g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),m=a(this).next(f.selector.label).first(),n=a(this).find(f.selector.input),o="."+f.namespace,p="module-"+f.namespace,q=e.selector||"",r=this,s=e.data(p),t=f.className,u=f.namespace,v=f.errors;b={initialize:function(){b.verbose("Initializing checkbox"),f.context&&""!==q?(b.verbose("Adding delegated events"),a(r,f.context).on(q,"click"+o,b.toggle).on(q+" + "+f.selector.label,"click"+o,b.toggle)):(e.on("click"+o,b.toggle).data(p,b),m.on("click"+o,b.toggle)),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),s=b,e.data(p,b)},destroy:function(){b.verbose("Destroying previous module"),e.off(u)},is:{radio:function(){return e.hasClass(t.radio)}},can:{disable:function(){return"boolean"==typeof f.required?f.required:!b.is.radio()}},enable:function(){b.debug("Enabling checkbox"),e.addClass(t.active),n.prop("checked",!0),a.proxy(f.onChange,n.get())(),a.proxy(f.onEnable,n.get())()},disable:function(){b.debug("Disabling checkbox"),e.removeClass(t.active),n.prop("checked",!1),a.proxy(f.onChange,n.get())(),a.proxy(f.onDisable,n.get())()},toggle:function(c){b.verbose("Determining new checkbox state",a(c.target)),n.prop("checked")!==d&&n.prop("checked")?b.can.disable()&&b.disable():b.enable()},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:r,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;h=!1,clearTimeout(b.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=r||f,"string"==typeof c&&s!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(s[e])&&c!=g?s=s[e]:s[e]!==d?h=s[e]:b.error(v.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(s===d&&b.initialize(),c=b.invoke(j)):(s!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.checkbox.settings={moduleName:"Checkbox",namespace:"checkbox",verbose:!0,debug:!0,performance:!0,context:!1,required:"auto",onChange:function(){},onEnable:function(){},onDisable:function(){},errors:{method:"The method you called is not defined."},selector:{input:"input",label:"label"},className:{active:"active",radio:"radio"}}}(jQuery,window,document),function(a,b,c,d){a.fn.dimmer=function(b){var e,f=a(this),g=a.isPlainObject(b)?a.extend(!0,{},a.fn.dimmer.settings,b):a.fn.dimmer.settings,h=g.selector,i=g.namespace,j=g.className,k=g.error,l="."+i,m="module-"+i,n=f.selector||"",o=(new Date).getTime(),p=[],q=arguments[0],r="string"==typeof q,s=[].slice.call(arguments,1);return f.each(function(){var b,f=a(this),t=f.children(h.dimmer).first(),u=this,v=t.data(m);b={initialize:function(){b.is.dimmer()?(t=f,f=t.parent(),b.debug("Module initialized as dimmer")):(b.has.dimmer()?(t=f.find(h.dimmer),b.debug("Module initialized with found dimmer")):(t=g.template.dimmer(),t.appendTo(f),b.debug("Module initialized with created dimmer")),"hover"==g.on?f.on("mouseenter"+l,b.show).on("mouseleave"+l,b.hide):"click"==g.on&&f.on("click"+l,b.toggle)),f.addClass(j.dimmable),g.closable&&t.on("click",b.event.click),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module"),v=b,t.data(m,v)},destroy:function(){b.verbose("Destroying previous module"),f.off(i)},event:{click:function(c){b.verbose("Determining if event occured on dimmer",c),(0===t.find(c.target).size()||a(c.target).is(h.content))&&b.hide()}},animate:{show:function(){b.set.dimmed(),"css"==g.animation.show?(b.verbose("Showing dimmer animation with css"),t.one(b.get.animationEndEvent(),function(){b.set.active(),t.removeClass(j.show)}).addClass(j.show)):"fade"==g.animation.show&&(b.verbose("Showing dimmer animation with javascript"),t.stop().css({opacity:0,width:"100%",height:"100%"}).fadeTo(g.duration,1,function(){t.removeAttr("style"),b.set.active()}))},hide:function(){b.remove.dimmed(),"css"==g.animation.hide?(b.verbose("Hiding dimmer with css"),t.one(b.get.animationEndEvent(),function(){b.remove.active(),t.removeClass(j.hide)}).addClass(j.hide)):"fade"==g.animation.hide?(b.verbose("Hiding dimmer with javascript"),t.stop().fadeOut(.75*g.duration,function(){t.removeAttr("style"),b.remove.active()})):a.isFunction(g.animation.hide)&&a.proxy(g.animation.hide,t)()}},get:{animationEndEvent:function(){var a,b=c.createElement("element"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return e[a]}},has:{dimmer:function(){return f.children(h.dimmer).size()>0}},is:{animating:function(){return t.hasClass(j.show)||t.hasClass(j.hide)||t.is(":animated")},dimmer:function(){return f.is(h.dimmer)},pageDimmer:function(){return f.is(h.pageDimmer)},dimmable:function(){return f.is(h.dimmable)},enabled:function(){return!f.hasClass(j.disabled)},disabled:function(){return f.hasClass(j.disabled)},active:function(){return t.hasClass(j.active)}},can:{show:function(){return!t.hasClass(j.disabled)}},set:{active:function(){t.addClass(j.active)},dimmed:function(){f.addClass(j.dimmed)},disabled:function(){t.addClass(j.disabled)}},remove:{active:function(){t.removeClass(j.active)},dimmed:function(){f.removeClass(j.dimmed)},disabled:function(){t.removeClass(j.disabled)}},show:function(){b.debug("Showing dimmer",t),b.is.active()&&!b.is.animating()||!b.is.enabled()?b.debug("Dimmer is already shown or disabled"):(b.animate.show(),a.proxy(g.onShow,u)(),a.proxy(g.onChange,u)())},hide:function(){b.is.active()||b.is.animating()?(b.debug("Hiding dimmer",t),b.animate.hide(),a.proxy(g.onHide,u)(),a.proxy(g.onChange,u)()):b.debug("Dimmer is not visible")},toggle:function(){b.verbose("Toggling dimmer visibility",t),b.is.hidden()?b.show():b.hide()},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){g.debug&&(g.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,g.moduleName+":")},performance:{log:function(a){var c,d,e;g.performance&&(c=(new Date).getTime(),e=o||c,d=c-e,o=c,p.push({Element:u,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=g.moduleName+":",e=0;o=!1,clearTimeout(b.performance.timer),a.each(p,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",n&&(c+=" '"+n+"'"),(console.group!==d||console.table!==d)&&p.length>0&&(console.groupCollapsed(c),console.table?console.table(p):a.each(p,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),p=[]}},invoke:function(c,e,f){var g,h;return e=e||s,f=u||f,"string"==typeof c&&v!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(v[e])&&c!=g?v=v[e]:v[e]!==d?h=v[e]:b.error(k.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},r?(v===d&&b.initialize(),e=b.invoke(q)):(v!==d&&b.destroy(),b.initialize())}),e?e:this},a.fn.dimmer.settings={moduleName:"Dimmer",namespace:"dimmer",verbose:!0,debug:!0,performance:!0,animation:{show:"css",hide:"css"},on:!1,closable:!0,duration:500,onChange:function(){},onShow:function(){},onHide:function(){},error:{method:"The method you called is not defined."},selector:{dimmable:".ui.dimmable",dimmer:".ui.dimmer",content:".ui.dimmer > .content, .ui.dimmer > .content > .center"},template:{dimmer:function(){return a("
").attr("class","ui dimmer")}},className:{active:"active",animating:"animating",dimmable:"ui dimmable",dimmed:"dimmed",disabled:"disabled",hide:"hide",show:"show"}}}(jQuery,window,document),function(a,b,c,d){a.fn.dropdown=function(b){var e,f=a(this),g=a(c),h=a.isPlainObject(b)?a.extend(!0,{},a.fn.dropdown.settings,b):a.fn.dropdown.settings,i=h.className,j=h.metadata,k=h.namespace,l=h.animation,m=h.selector,n=h.errors,o="."+k,p="module-"+k,q=f.selector||"",r=(new Date).getTime(),s=[],t=arguments[0],u="string"==typeof t,v=[].slice.call(arguments,1);return f.each(function(){var b,w=a(this),x=a(this).find(m.menu),y=a(this).find(m.item),z=a(this).find(m.text),A=a(this).find(m.input),B="ontouchstart"in c.documentElement,C=this,D=w.data(p);b={initialize:function(){b.debug("Initializing dropdown with bound events",w),B?w.on("touchstart"+o,b.event.test.toggle):"click"==h.on?w.on("click"+o,b.event.test.toggle):"hover"==h.on?w.on("mouseenter"+o,b.delay.show).on("mouseleave"+o,b.delay.hide):w.on(h.on+o,b.toggle),"form"==h.action&&b.set.selected(),y.on(b.get.selectEvent()+o,b.event.item.click),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),w.data(p,b)},destroy:function(){b.verbose("Destroying previous module for",w),w.off(k).removeData(p)},event:{stopPropagation:function(a){a.stopPropagation()},test:{toggle:function(a){b.intent.test(a,b.toggle),a.stopPropagation()},hide:function(a){b.intent.test(a,b.hide),a.stopPropagation()}},item:{click:function(c){var d=a(this),e=d.data(j.text)||d.text(),f=d.data(j.value)||e;b.verbose("Adding active state to selected item"),y.removeClass(i.active),d.addClass(i.active),b.action.determine(e,f),a.proxy(h.onChange,w.get())(f,e),c.stopPropagation()}},resetStyle:function(){a(this).removeAttr("style")}},intent:{test:function(c,d){b.debug("Determining whether event occurred in dropdown",c.target),d=d||function(){},0===a(c.target).closest(x).size()?(b.verbose("Triggering event",d),d()):b.verbose("Event occurred in dropdown, canceling callback")},bind:function(){b.verbose("Binding hide intent event to document"),g.on(b.get.selectEvent(),b.event.test.hide)},unbind:function(){b.verbose("Removing hide intent event from document"),g.off(b.get.selectEvent())}},action:{determine:function(c,d){a.isFunction(b.action[h.action])?(b.verbose("Triggering preset action",h.action),b.action[h.action](c,d)):a.isFunction(h.action)?(b.verbose("Triggering user action",h.action),h.action(c,d)):b.error(n.action)},none:function(){},hide:function(){b.hide()},changeText:function(a){b.set.text(a),b.hide()},form:function(a,c){b.set.text(a),b.set.value(c),b.hide()}},get:{selectEvent:function(){return B?"touchstart":"click"},text:function(){return z.text()},value:function(){return A.val()},item:function(b){var c;return b=b||A.val(),y.each(function(){a(this).data(j.value)==b&&(c=a(this))}),c||!1}},set:{text:function(a){b.debug("Changing text",a,z),z.removeClass(i.placeholder),z.text(a)},value:function(a){b.debug("Adding selected value to hidden input",a,A),A.val(a)},selected:function(a){var c,d=b.get.item(a);d&&(b.debug("Setting selected menu item to",d),c=d.data(j.text)||d.text(),y.removeClass(i.active),d.addClass(i.active),b.set.text(c))}},is:{visible:function(){return x.is(":visible")},hidden:function(){return x.is(":not(:visible)")}},can:{click:function(){return B||"click"==h.on},show:function(){return!w.hasClass(i.disabled)}},animate:{show:function(){b.verbose("Doing menu showing animation"),"none"==l.show?x.show():"fade"==l.show?x.hide().clearQueue().fadeIn(150,b.event.resetStyle):"slide"==l.show?x.hide().clearQueue().children().clearQueue().css("opacity",0).delay(50).animate({opacity:1},200,"easeOutQuad",b.event.resetStyle).end().slideDown(100,"easeOutQuad",b.event.resetStyle):b.error(n.animation)},hide:function(){b.verbose("Doing menu hiding animation"),"none"==l.hide?x.hide():"fade"==l.hide?x.show().clearQueue().fadeOut(150,b.event.resetStyle):"slide"==l.hide?x.show().clearQueue().children().clearQueue().css("opacity",1).animate({opacity:0},100,"easeOutQuad",b.event.resetStyle).end().delay(50).slideUp(100,"easeOutQuad",b.event.resetStyle):b.error(n.animation)}},show:function(){b.debug("Checking if dropdown can show"),b.is.visible()||(b.hideOthers(),w.addClass(i.visible),b.animate.show(),b.can.click()&&b.intent.bind(),a.proxy(h.onShow,w.get())())},hide:function(){b.is.hidden()||(b.debug("Hiding dropdown"),w.removeClass(i.visible),b.can.click()&&b.intent.unbind(),b.animate.hide(),a.proxy(h.onHide,w.get())())},delay:{show:function(){b.verbose("Delaying show event to ensure user intent"),clearTimeout(b.graceTimer),b.graceTimer=setTimeout(b.show,h.delay.show)},hide:function(){b.verbose("Delaying hide event to ensure user intent"),clearTimeout(b.graceTimer),b.graceTimer=setTimeout(b.hide,h.delay.hide)}},hideOthers:function(){b.verbose("Finding other dropdowns to hide"),f.not(w).has(m.menu+":visible").dropdown("hide")},toggle:function(){b.verbose("Toggling menu visibility"),b.is.hidden()?b.show():b.hide()},setting:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){h.debug&&(h.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},verbose:function(){h.verbose&&h.debug&&(h.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.log,console,h.moduleName+":")},performance:{log:function(a){var c,d,e;h.performance&&(c=(new Date).getTime(),e=r||c,d=c-e,r=c,s.push({Element:C,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=h.moduleName+":",e=0;r=!1,clearTimeout(b.performance.timer),a.each(s,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",q&&(c+=" '"+q+"'"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(c),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(c,e,f){var g,h;return e=e||v,f=C||f,"string"==typeof c&&D!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(D[e])&&c!=g?D=D[e]:D[e]!==d?h=D[e]:b.error(n.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},u?(D===d&&b.initialize(),e=b.invoke(t)):(D!==d&&b.destroy(),b.initialize())}),e?e:this},a.fn.dropdown.settings={moduleName:"Dropdown",namespace:"dropdown",verbose:!0,debug:!0,performance:!0,on:"click",action:"hide",delay:{show:50,hide:300},animation:{show:"slide",hide:"slide"},onChange:function(){},onShow:function(){},onHide:function(){},errors:{action:"You called a dropdown action that was not defined",method:"The method you called is not defined.",animation:"The requested animation was not found"},metadata:{text:"text",value:"value"},selector:{menu:".menu",item:".menu > .item",text:"> .text",input:'> input[type="hidden"]'},className:{active:"active",placeholder:"default",disabled:"disabled",visible:"visible"}}}(jQuery,window,document),function(a,b,c,d){a.dimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{dim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0,g=e.css("opacity");return f||(e=a("
").attr("id","dimmer").html('
'),d.append(e)),g!=c.opacity&&(e.one("click",function(){c.unDim(),a.unDimScreen()}),0===c.duration?(e.css({visibility:"visible"}).find(".content").css({opacity:c.opacity,visibility:"visible"}),c.dim()):e.css({visibility:"visible"}).find(".content").css({opacity:0,visibility:"visible"}).fadeTo(c.duration,c.opacity,c.dim)),this},a.unDimScreen=function(b){var c="function"==typeof b?a.extend({},a.fn.modal.settings,{unDim:b}):a.extend({},a.fn.modal.settings,b),d=a(c.context),e=d.children(c.selector.dimmer),f=e.size()>0;return f&&(c.unDim(),0===c.duration?e.css({visibility:"hidden"}).remove():e.find(".content").fadeTo(c.duration,0,function(){e.remove()})),this},a.fn.modal=function(e){var f,g=a.extend(!0,{},a.fn.modal.settings,e),h=arguments[0],i=[].slice.call(arguments,1);return a(this).each(function(){var e,j=a(this),k=j.find(g.selector.closeButton),l=(a(g.context).find(g.selector.dimmer),a(g.context).children(g.selector.modal)),m=l.not(j),n=j.data("module-"+g.namespace),o="string"==typeof h,p=(g.className,g.namespace);e={initialize:function(){j.on("modalShow."+p,e.show).on("modalHide."+p,e.hide).data("module-"+p,e)},show:function(){var e,f,h,i,l=j.outerHeight(),n=a(b).height(),o=l>n,q=o?"absolute":"fixed";j.removeClass("absolute fixed").addClass(q),e=o?"0":"50%",f=o?n/8:-((l-g.closeSpacing)/2),h="absolute"==j.css("position")?f+a(b).prop("pageYOffset"):f,i=h+g.animationOffset,a.fn.popIn!==d?j.css({display:"block",opacity:0,top:e,marginTop:h+"px"}).popIn():j.css({display:"block",opacity:0,top:e,marginTop:i+"px"}).animate({opacity:1,marginTop:h+"px"},g.duration+300,g.easing),m.is(":visible")&&m.filter(":visible").hide(),a.dimScreen({context:g.context,duration:0,dim:function(){a(c).on("keyup."+p,function(a){var b=a.which,c=27;switch(b){case c:j.modal("hide"),a.preventDefault()}}),k.one("click",function(){j.modal("hide")}),g.dim()},unDim:function(){j.modal("hide"),k.unbind("click")}})},hide:function(){a(c).off("keyup."+p),a.unDimScreen({duration:0,unDim:function(){j.popOut(200),g.unDim()}})},setting:function(a,b){return b===d?g[a]:(g[a]=b,void 0)},debug:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.info||console.log||function(){};g.debug&&(a.push(b),d.apply(console,a.concat(c)))},error:function(){var a=[],b=g.moduleName+": "+arguments[0],c=[].slice.call(arguments,1),d=console.warn||console.log||function(){};g.debug&&(a.push(b),a.concat(c),d.apply(console,a.concat(c)))},invoke:function(b,c,f){var h,i;return f=f||[].slice.call(arguments,2),"string"==typeof b&&n!==d&&(b=b.split(/[\. ]/),h=b.length-1,a.each(b,function(b,c){return a.isPlainObject(n[c])&&b!=h?(n=n[c],!0):n[c]!==d?(i=n[c],!0):(e.error(g.errors.method),!1)})),a.isFunction(i)?i.apply(c,f):i}},o?f=e.invoke(h,this,i):e.initialize()}),f?f:this},a.fn.modal.settings={moduleName:"Modal",debug:!1,namespace:"modal",errors:{method:"The method you called is not defined"},dim:function(){},unDim:function(){},hide:function(){},show:function(){},context:"body",opacity:.8,closeSpacing:25,animationOffset:15,duration:400,easing:"easeOutExpo",selector:{dimmer:"#dimmer",modal:".modal",closeButton:".close"}}}(jQuery,window,document),function(a,b,c,d){a.fn.nag=function(c){var e,f=a(this),g=a.extend(!0,{},a.fn.nag.settings,c),h=g.className,i=g.selector,j=g.errors,k=g.namespace,l="."+k,m=k+"-module",n=f.selector||"",o=(new Date).getTime(),p=[],q=arguments[0],r="string"==typeof q,s=[].slice.call(arguments,1);return a(this).each(function(){var c,f,k,t,u,v,w,x,y,z=a(this),A=z.find(i.close),B=a(g.context),C=this,D=z.data(m),E=b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)};y={initialize:function(){y.verbose("Initializing element"),c=z.offset(),f=z.outerHeight(),k=B.outerWidth(),t=B.outerHeight(),u=B.offset(),z.data(m,y),A.on("click"+l,y.dismiss),g.context==b&&"fixed"==g.position&&z.addClass(h.fixed),g.sticky&&(y.verbose("Adding scroll events"),"absolute"==g.position?B.on("scroll"+l,y.event.scroll).on("resize"+l,y.event.scroll):a(b).on("scroll"+l,y.event.scroll).on("resize"+l,y.event.scroll),a.proxy(y.event.scroll,this)()),g.displayTime>0&&setTimeout(y.hide,g.displayTime),y.should.show()?z.is(":visible")||y.show():y.hide()},destroy:function(){y.verbose("Destroying instance"),z.removeData(m).off(l),g.sticky&&B.off(l)},refresh:function(){y.debug("Refreshing cached calculations"),c=z.offset(),f=z.outerHeight(),k=B.outerWidth(),t=B.outerHeight(),u=B.offset()},show:function(){y.debug("Showing nag",g.animation.show),"fade"==g.animation.show?z.fadeIn(g.duration,g.easing):z.slideDown(g.duration,g.easing)},hide:function(){y.debug("Showing nag",g.animation.hide),"fade"==g.animation.show?z.fadeIn(g.duration,g.easing):z.slideUp(g.duration,g.easing)},onHide:function(){y.debug("Removing nag",g.animation.hide),z.remove(),g.onHide&&g.onHide()},stick:function(){if(y.refresh(),"fixed"==g.position){var c=a(b).prop("pageYOffset")||a(b).scrollTop(),d=z.hasClass(h.bottom)?u.top+(t-f)-c:u.top-c;z.css({position:"fixed",top:d,left:u.left,width:k-g.scrollBarWidth})}else z.css({top:w})},unStick:function(){z.css({top:""})},dismiss:function(a){g.storageMethod&&y.storage.set(g.storedKey,g.storedValue),y.hide(),a.stopImmediatePropagation(),a.preventDefault()},should:{show:function(){return g.persist?(y.debug("Persistent nag is set, can show nag"),!0):y.storage.get(g.storedKey)!=g.storedValue?(y.debug("Stored value is not set, can show nag",y.storage.get(g.storedKey)),!0):(y.debug("Stored value is set, cannot show nag",y.storage.get(g.storedKey)),!1)},stick:function(){return v=B.prop("pageYOffset")||B.scrollTop(),w=z.hasClass(h.bottom)?t-z.outerHeight()+v:v,w>c.top?!0:"fixed"==g.position?!0:!1 }},storage:{set:function(c,e){y.debug("Setting stored value",c,e,g.storageMethod),"local"==g.storageMethod&&b.store!==d?b.store.set(c,e):a.cookie!==d?a.cookie(c,e):y.error(j.noStorage)},get:function(c){return y.debug("Getting stored value",c,g.storageMethod),"local"==g.storageMethod&&b.store!==d?b.store.get(c):a.cookie!==d?a.cookie(c):(y.error(j.noStorage),void 0)}},event:{scroll:function(){x!==d&&clearTimeout(x),x=setTimeout(function(){y.should.stick()?E(y.stick):y.unStick()},g.lag)}},setting:function(b,c){return y.debug("Changing setting",b,c),c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(b,c){return y.debug("Changing internal",b,c),c===d?y[b]:(a.isPlainObject(b)?a.extend(!0,y,b):y[b]=c,void 0)},debug:function(){g.debug&&(g.performance?y.performance.log(arguments):y.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?y.performance.log(arguments):y.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){y.error=Function.prototype.bind.call(console.log,console,g.moduleName+":")},performance:{log:function(a){var b,c,d;g.performance&&(b=(new Date).getTime(),d=o||b,c=b-d,o=b,p.push({Element:C,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(y.performance.timer),y.performance.timer=setTimeout(y.performance.display,100)},display:function(){var b=g.moduleName+":",c=0;o=!1,clearTimeout(y.performance.timer),a.each(p,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",n&&(b+=" '"+n+"'"),(console.group!==d||console.table!==d)&&p.length>0&&(console.groupCollapsed(b),console.table?console.table(p):a.each(p,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),p=[]}},invoke:function(b,c,e){var f,g;return c=c||s,e=C||e,"string"==typeof b&&D!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){return a.isPlainObject(D[c])&&b!=f?(D=D[c],!0):D[c]!==d?(g=D[c],!0):(y.error(j.method),!1)})),a.isFunction(g)?g.apply(e,c):g||!1}},r?(D===d&&y.initialize(),e=y.invoke(q)):(D!==d&&y.destroy(),y.initialize())}),e?e:this},a.fn.nag.settings={moduleName:"Nag",verbose:!0,debug:!0,performance:!0,namespace:"Nag",persist:!1,displayTime:0,animation:{show:"slide",hide:"slide"},position:"fixed",scrollBarWidth:18,storageMethod:"cookie",storedKey:"nag",storedValue:"dismiss",sticky:!1,lag:0,context:b,error:{noStorage:"Neither $.cookie or store is defined. A storage solution is required for storing state",method:"The method you called is not defined."},className:{bottom:"bottom",fixed:"fixed"},selector:{close:".icon.close"},speed:500,easing:"easeOutQuad",onHide:function(){}}}(jQuery,window,document),function(a,b,c,d){a.fn.popup=function(e){var f,g=a(this),h=a.isPlainObject(e)?a.extend(!0,{},a.fn.popup.settings,e):a.fn.popup.settings,i=g.selector||"",j=(new Date).getTime(),k=[],l=arguments[0],m="string"==typeof l,n=[].slice.call(arguments,1);return g.each(function(){var e,g=a(this),o=a(b),p=g.offsetParent(),q=h.inline?g.next(h.selector.popup):o.children(h.selector.popup).last(),r=0,s="."+h.namespace,t=h.namespace+"-module",u=h.selector,v=h.className,w=h.error,x=h.metadata,y=h.namespace,z=this,A=g.data(t);e={initialize:function(){e.debug("Initializing module",g),"hover"==h.on?g.on("mouseenter"+s,e.event.mouseenter).on("mouseleave"+s,e.event.mouseleave):g.on(h.on+""+s,e.event[h.on]),o.on("resize"+s,e.event.resize),e.instantiate()},instantiate:function(){e.verbose("Storing instance of module",e),A=e,g.data(t,A)},refresh:function(){q=h.inline?g.next(u.popup):o.children(u.popup).last(),p=g.offsetParent()},destroy:function(){e.debug("Destroying previous module"),g.off(s).removeData(t)},event:{mouseenter:function(b){var c=this;e.timer=setTimeout(function(){a.proxy(e.toggle,c)(),a(c).hasClass(v.visible)&&b.stopPropagation()},h.delay)},mouseleave:function(){clearTimeout(e.timer),g.is(":visible")&&e.hide()},click:function(b){a.proxy(e.toggle,this)(),a(this).hasClass(v.visible)&&b.stopPropagation()},resize:function(){q.is(":visible")&&e.position()}},create:function(){e.debug("Creating pop-up html");var b=g.data(x.html)||h.html,c=g.data(x.variation)||h.variation,d=g.data(x.title)||h.title,f=g.data(x.content)||g.attr("title")||h.content;b||f||d?(b||(b=h.template({title:d,content:f})),q=a("
").addClass(v.popup).addClass(c).html(b),h.inline?(e.verbose("Inserting popup element inline"),q.insertAfter(g)):(e.verbose("Appending popup element to body"),q.appendTo(a("body"))),a.proxy(h.onInit,q)()):e.error(w.content)},remove:function(){e.debug("Removing popup"),q.remove()},get:{offstagePosition:function(){var c={top:a(b).scrollTop(),bottom:a(b).scrollTop()+a(b).height(),left:0,right:a(b).width()},d={width:q.width(),height:q.outerHeight(),position:q.offset()},e={},f=[];return d.position&&(e={top:d.position.topc.bottom,right:d.position.left+d.width>c.right,left:d.position.left0?f.join(" "):!1},nextPosition:function(a){switch(a){case"top left":a="bottom left";break;case"bottom left":a="top right";break;case"top right":a="bottom right";break;case"bottom right":a="top center";break;case"top center":a="bottom center";break;case"bottom center":a="right center";break;case"right center":a="left center";break;case"left center":a="top center"}return a}},toggle:function(){g=a(this),e.debug("Toggling pop-up"),e.refresh(),g.hasClass(v.visible)?e.hide():(e.hideAll(),e.show())},position:function(c,d){var f,i,j=(a(b).width(),a(b).height(),g.outerWidth()),k=g.outerHeight(),l=q.width(),m=q.outerHeight(),n=h.inline?g.position():g.offset(),s=h.inline?p.outerWidth():o.outerWidth(),t=h.inline?p.outerHeight():o.outerHeight();switch(c=c||g.data(x.position)||h.position,d=d||g.data(x.arrowOffset)||h.arrowOffset,e.debug("Calculating offset for position",c),c){case"top left":f={top:"auto",bottom:t-n.top+h.distanceAway,left:n.left+d};break;case"top center":f={bottom:t-n.top+h.distanceAway,left:n.left+j/2-l/2+d,top:"auto",right:"auto"};break;case"top right":f={bottom:t-n.top+h.distanceAway,right:s-n.left-j-d,top:"auto",left:"auto"};break;case"left center":f={top:n.top+k/2-m/2,right:s-n.left+h.distanceAway-d,left:"auto",bottom:"auto"};break;case"right center":f={top:n.top+k/2-m/2,left:n.left+j+h.distanceAway+d,bottom:"auto",right:"auto"};break;case"bottom left":f={top:n.top+k+h.distanceAway,left:n.left+d,bottom:"auto",right:"auto"};break;case"bottom center":f={top:n.top+k+h.distanceAway,left:n.left+j/2-l/2+d,bottom:"auto",right:"auto"};break;case"bottom right":f={top:n.top+k+h.distanceAway,right:s-n.left-j-d,left:"auto",bottom:"auto"}}return a.extend(f,{width:q.width()+1}),q.removeAttr("style").removeClass("top right bottom left center").css(f).addClass(c).addClass(v.loading),i=e.get.offstagePosition(),i?(e.debug("Element is outside boundaries ",i),r0&&(console.groupCollapsed(b),console.table?console.table(k):a.each(k,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),k=[]}},invoke:function(b,c,f){var g,h;return c=c||n,f=z||f,"string"==typeof b&&A!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){a.isPlainObject(A[c])&&b!=g?A=A[c]:A[c]!==d?h=A[c]:e.error(w.method)})),a.isFunction(h)?h.apply(f,c):h||!1}},m?(A===d&&e.initialize(),f=e.invoke(l)):(A!==d&&e.destroy(),e.initialize())}),f?f:this},a.fn.popup.settings={moduleName:"Popup",debug:!0,verbose:!0,performance:!0,namespace:"popup",onInit:function(){},onShow:function(){},onHide:function(){},variation:"",content:!1,html:!1,title:!1,on:"hover",clicktoClose:!0,position:"top center",delay:150,inline:!0,duration:250,easing:"easeOutQuint",animation:"pop",distanceAway:0,arrowOffset:0,maxSearchDepth:10,error:{content:"Your popup has no content specified",method:"The method you called is not defined.",recursion:"Popup attempted to reposition element to fit, but could not find an adequate position."},metadata:{arrowOffset:"arrowOffset",content:"content",html:"html",position:"position",title:"title",variation:"variation"},className:{popup:"ui popup",visible:"visible",loading:"loading"},selector:{popup:".ui.popup"},template:function(a){var b="";return typeof a!==d&&(typeof a.title!==d&&a.title&&(b+='
'+a.title+'
'),typeof a.content!==d&&a.content&&(b+='
'+a.content+"
")),b}}}(jQuery,window,document),function(a,b,c,d){a.fn.search=function(c,e){var f,g=a(this),h=a.extend(!0,{},a.fn.search.settings,e),i=h.className,j=h.selector,k=h.errors,l=h.namespace,m="."+l,n=l+"-module",o=g.selector||"",p=(new Date).getTime(),q=[],r=arguments[0],s="string"==typeof r,t=[].slice.call(arguments,1);return a(this).each(function(){var e,g=a(this),l=g.find(j.prompt),u=g.find(j.searchButton),v=g.find(j.results),w=(g.find(j.result),g.find(j.category),this),x=g.data(n);e={initialize:function(){e.verbose("Initializing module");var a=l[0],b=a.oninput!==d?"input":a.onpropertychange!==d?"propertychange":"keyup";l.on("focus"+m,e.event.focus).on("blur"+m,e.event.blur).on("keydown"+m,e.handleKeyboard),h.automatic&&l.on(b+m,e.search.throttle),u.on("click"+m,e.search.query),v.on("click"+m,j.result,e.results.select),e.instantiate()},instantiate:function(){e.verbose("Storing instance of module",e),x=e,g.data(n,e)},destroy:function(){e.verbose("Destroying instance"),g.removeData(n)},event:{focus:function(){g.addClass(i.focus),e.results.show()},blur:function(){e.search.cancel(),g.removeClass(i.focus),e.results.hide()}},handleKeyboard:function(b){var c,d=g.find(j.result),f=g.find(j.category),h=b.which,k={backspace:8,enter:13,escape:27,upArrow:38,downArrow:40},m=i.active,n=d.index(d.filter("."+m)),o=d.size();if(h==k.escape&&(e.verbose("Escape key pressed, blurring search field"),l.trigger("blur")),v.filter(":visible").size()>0)if(h==k.enter){if(e.verbose("Enter key pressed, selecting active result"),d.filter("."+m).exists())return a.proxy(e.results.select,d.filter("."+m))(),b.preventDefault(),!1}else h==k.upArrow?(e.verbose("Up key pressed, changing active result"),c=0>n-1?n:n-1,f.removeClass(m),d.removeClass(m).eq(c).addClass(m).closest(f).addClass(m),b.preventDefault()):h==k.downArrow&&(e.verbose("Down key pressed, changing active result"),c=n+1>=o?n:n+1,f.removeClass(m),d.removeClass(m).eq(c).addClass(m).closest(f).addClass(m),b.preventDefault());else h==k.enter&&(e.verbose("Enter key pressed, executing query"),e.search.query(),u.addClass(i.down),l.one("keyup",function(){u.removeClass(i.down)}))},search:{cancel:function(){var a=g.data("xhr")||!1;a&&"resolved"!=a.state()&&(e.debug("Cancelling last search"),a.abort())},throttle:function(){var a=l.val(),b=a.length;clearTimeout(e.timer),b>=h.minCharacters?e.timer=setTimeout(e.search.query,h.searchThrottle):e.results.hide()},query:function(){var b=l.val(),d=e.search.cache.read(b);d?(e.debug("Reading result for '"+b+"' from cache"),e.results.add(d)):(e.debug("Querying for '"+b+"'"),"object"==typeof c?e.search.local(b):e.search.remote(b),a.proxy(h.onSearchQuery,g)(b))},local:function(b){var d,f=[],j=[],k=a.isArray(h.searchFields)?h.searchFields:[h.searchFields],l=new RegExp("(?:s|^)"+b,"i"),m=new RegExp(b,"i");g.addClass(i.loading),a.each(k,function(b,d){a.each(c,function(b,c){"string"==typeof c[d]&&-1==a.inArray(c,f)&&-1==a.inArray(c,j)&&(l.test(c[d])?f.push(c):m.test(c[d])&&j.push(c))})}),d=e.results.generate({results:a.merge(f,j)}),g.removeClass(i.loading),e.search.cache.write(b,d),e.results.add(d)},remote:function(b){var d,f={stateContext:g,url:c,urlData:{query:b},success:function(a){d=e.results.generate(a),e.search.cache.write(b,d),e.results.add(d)},failure:e.error};e.search.cancel(),e.debug("Executing search"),a.extend(!0,f,h.apiSettings),a.api(f)},cache:{read:function(a){var b=g.data("cache");return h.cache&&"object"==typeof b&&b[a]!==d?b[a]:!1},write:function(a,b){var c=g.data("cache")!==d?g.data("cache"):{};c[a]=b,g.data("cache",c)}}},results:{generate:function(b){e.debug("Generating html from response",b);var c=h.templates[h.type],d="";return a.isPlainObject(b.results)&&!a.isEmptyObject(b.results)||a.isArray(b.results)&&b.results.length>0?(h.maxResults>0&&(b.results=a.makeArray(b.results).slice(0,h.maxResults)),b.results.length>0&&(a.isFunction(c)?d=c(b):e.error(k.noTemplate,!1))):d=e.message(k.noResults,"empty"),a.proxy(h.onResults,g)(b),d},add:function(b){("default"==h.onResultsAdd||"default"==a.proxy(h.onResultsAdd,v)(b))&&v.html(b),e.results.show()},show:function(){0===v.filter(":visible").size()&&l.filter(":focus").size()>0&&""!==v.html()&&(v.stop().fadeIn(200),a.proxy(h.onResultsOpen,v)())},hide:function(){v.filter(":visible").size()>0&&(v.stop().fadeOut(200),a.proxy(h.onResultsClose,v)())},select:function(c){e.debug("Search result selected");var d=a(this),f=d.find(".title"),g=f.html();if("default"==h.onSelect||"default"==a.proxy(h.onSelect,this)(c)){var i=d.find("a[href]").eq(0),j=i.attr("href")||!1,k=i.attr("target")||!1;e.results.hide(),l.val(g),j&&("_blank"==k||c.ctrlKey?b.open(j):b.location.href=j)}}},setting:function(b,c){return e.debug("Changing setting",b,c),c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},internal:function(b,c){return e.debug("Changing internal",b,c),c===d?e[b]:(a.isPlainObject(b)?a.extend(!0,e,b):e[b]=c,void 0)},debug:function(){h.debug&&(h.performance?e.performance.log(arguments):e.debug=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},verbose:function(){h.verbose&&h.debug&&(h.performance?e.performance.log(arguments):e.verbose=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},error:function(){e.error=Function.prototype.bind.call(console.log,console,h.moduleName+":")},performance:{log:function(a){var b,c,d;h.performance&&(b=(new Date).getTime(),d=p||b,c=b-d,p=b,q.push({Element:w,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(e.performance.timer),e.performance.timer=setTimeout(e.performance.display,100)},display:function(){var b=h.moduleName+":",c=0;p=!1,clearTimeout(e.performance.timer),a.each(q,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",o&&(b+=" '"+o+"'"),(console.group!==d||console.table!==d)&&q.length>0&&(console.groupCollapsed(b),console.table?console.table(q):a.each(q,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),q=[]}},invoke:function(b,c,f){var g,h;return c=c||t,f=w||f,"string"==typeof b&&x!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){return a.isPlainObject(x[c])&&b!=g?(x=x[c],!0):x[c]!==d?(h=x[c],!0):(e.error(k.method),!1)})),a.isFunction(h)?h.apply(f,c):h||!1}},s?(x===d&&e.initialize(),f=e.invoke(r)):(x!==d&&e.destroy(),e.initialize())}),f?f:this},a.fn.search.settings={moduleName:"Search Module",namespace:"search",debug:!0,verbose:!0,performance:!0,onSelect:"default",onResultsAdd:"default",onSearchQuery:function(){},onResults:function(){},onResultsOpen:function(){},onResultsClose:function(){},automatic:"true",type:"simple",minCharacters:3,searchThrottle:300,maxResults:7,cache:!0,searchFields:["title","description"],apiSettings:{},className:{active:"active",down:"down",focus:"focus",empty:"empty",loading:"loading"},errors:{noResults:"Your search returned no results",logging:"Error in debug logging, exiting.",noTemplate:"A valid template name was not specified.",serverError:"There was an issue with querying the server.",method:"The method you called is not defined."},selector:{prompt:".prompt",searchButton:".search.button",results:".results",category:".category",result:".result"},templates:{message:function(a,b){var c="";return a!==d&&b!==d&&(c+='
',c+="empty"==b?'
No Results
'+a+'
':'
'+a+"
",c+="
"),c},categories:function(b){var c="";return b.results!==d?(a.each(b.results,function(b,e){e.results!==d&&e.results.length>0&&(c+='
'+e.name+"
",a.each(e.results,function(a,b){c+='
',c+='',b.image!==d&&(c+='
'+"
"),c+='
',b.price!==d&&(c+='
'+b.price+"
"),b.title!==d&&(c+='
'+b.title+"
"),b.description!==d&&(c+='
'+b.description+"
"),c+="
"}),c+="
")}),b.resultPage&&(c+=''+b.resultPage.text+""),c):!1},simple:function(b){var c="";return b.results!==d?(a.each(b.results,function(a,b){c+='',b.image!==d&&(c+='
'+"
"),c+='
',b.price!==d&&(c+='
'+b.price+"
"),b.title!==d&&(c+='
'+b.title+"
"),b.description!==d&&(c+='
'+b.description+"
"),c+="
"}),b.resultPage&&(c+=''+b.resultPage.text+""),c):!1}}}}(jQuery,window,document),function(a,b,c,d){a.fn.shape=function(b){var e,f=a(this),g=f.selector||"",h=a.extend(!0,{},a.fn.shape.settings,b),i=h.namespace,j=h.selector,k=h.error,l=h.className,m="."+i,n="module-"+i,o=(new Date).getTime(),p=[],q=arguments[0],r="string"==typeof q,s=[].slice.call(arguments,1);return f.each(function(){var b,f,i,t=a(this),u=t.find(j.sides),v=t.find(j.side),w=this,x=t.data(n);i={initialize:function(){i.verbose("Initializing module for",w),i.set.defaultSide()},instantiate:function(){i.verbose("Storing instance of module",i),x=i,t.data(n,x)},destroy:function(){i.verbose("Destroying previous module for",w),t.removeData(n).off(m)},refresh:function(){i.verbose("Refreshing selector cache for",w),t=a(w),u=a(this).find(j.shape),v=a(this).find(j.side)},repaint:function(){i.verbose("Forcing repaint event");var a=u.get(0)||c.createElement("div");a.offsetWidth},animate:function(a,c){i.verbose("Animating box with properties",a),c=c||function(a){i.verbose("Executing animation callback"),a!==d&&a.stopPropagation(),i.reset(),i.set.active()},h.useCSS?i.get.transitionEvent()?(i.verbose("Starting CSS animation"),t.addClass(l.animating),i.set.stageSize(),i.repaint(),t.addClass(l.css),b.addClass(l.hidden),u.css(a).one(i.get.transitionEvent(),c)):c():(i.verbose("Starting javascript animation"),t.addClass(l.animating).removeClass(l.css),i.set.stageSize(),i.repaint(),b.animate({opacity:0},h.duration,h.easing),u.animate(a,h.duration,h.easing,c))},queue:function(a){i.debug("Queueing animation of",a),u.one(i.get.transitionEvent(),function(){i.debug("Executing queued animation"),setTimeout(function(){t.shape(a)},0)})},reset:function(){i.verbose("Animating states reset"),t.removeClass(l.css).removeClass(l.animating).attr("style","").removeAttr("style"),u.attr("style","").removeAttr("style"),v.attr("style","").removeAttr("style").removeClass(l.hidden),f.removeClass(l.animating).attr("style","").removeAttr("style")},is:{animating:function(){return t.hasClass(l.animating)}},get:{transform:{up:function(){var a={y:-((b.outerHeight()-f.outerHeight())/2),z:-(b.outerHeight()/2)};return{transform:"translateY("+a.y+"px) translateZ("+a.z+"px) rotateX(-90deg)"}},down:function(){var a={y:-((b.outerHeight()-f.outerHeight())/2),z:-(b.outerHeight()/2)};return{transform:"translateY("+a.y+"px) translateZ("+a.z+"px) rotateX(90deg)"}},left:function(){var a={x:-((b.outerWidth()-f.outerWidth())/2),z:-(b.outerWidth()/2)};return{transform:"translateX("+a.x+"px) translateZ("+a.z+"px) rotateY(90deg)"}},right:function(){var a={x:-((b.outerWidth()-f.outerWidth())/2),z:-(b.outerWidth()/2)};return{transform:"translateX("+a.x+"px) translateZ("+a.z+"px) rotateY(-90deg)"}},over:function(){var a={x:-((b.outerWidth()-f.outerWidth())/2)};return{transform:"translateX("+a.x+"px) rotateY(180deg)"}},back:function(){var a={x:-((b.outerWidth()-f.outerWidth())/2)};return{transform:"translateX("+a.x+"px) rotateY(-180deg)"}}},transitionEvent:function(){var a,b=c.createElement("element"),e={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(a in e)if(b.style[a]!==d)return e[a]},nextSide:function(){return b.next(j.side).size()>0?b.next(j.side):t.find(j.side).first()}},set:{defaultSide:function(){b=t.find("."+h.className.active),f=b.next(j.side).size()>0?b.next(j.side):t.find(j.side).first(),i.verbose("Active side set to",b),i.verbose("Next side set to",f)},stageSize:function(){var a={width:f.outerWidth(),height:f.outerHeight()};i.verbose("Resizing stage to fit new content",a),t.css({width:a.width,height:a.height})},nextSide:function(a){f=t.find(a),0===f.size()&&i.error(k.side),i.verbose("Next side manually set to",f)},active:function(){i.verbose("Setting new side to active",f),v.removeClass(l.active),f.addClass(l.active),a.proxy(h.onChange,f)(),i.set.defaultSide()}},flip:{up:function(){i.debug("Flipping up",f),i.is.animating()?i.queue("flip up"):(i.stage.above(),i.animate(i.get.transform.up()))},down:function(){i.debug("Flipping down",f),i.is.animating()?i.queue("flip down"):(i.stage.below(),i.animate(i.get.transform.down()))},left:function(){i.debug("Flipping left",f),i.is.animating()?i.queue("flip left"):(i.stage.left(),i.animate(i.get.transform.left()))},right:function(){i.debug("Flipping right",f),i.is.animating()?i.queue("flip right"):(i.stage.right(),i.animate(i.get.transform.right()))},over:function(){i.debug("Flipping over",f),i.is.animating()?i.queue("flip over"):(i.stage.behind(),i.animate(i.get.transform.over()))},back:function(){i.debug("Flipping back",f),i.is.animating()?i.queue("flip back"):(i.stage.behind(),i.animate(i.get.transform.back()))}},stage:{above:function(){var a={origin:(b.outerHeight()-f.outerHeight())/2,depth:{active:f.outerHeight()/2,next:b.outerHeight()/2}};i.verbose("Setting the initial animation position as above",f,a),b.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),f.addClass(l.animating).css({display:"block",top:a.origin+"px",transform:"rotateX(90deg) translateZ("+a.depth.next+"px)"})},below:function(){var a={origin:(b.outerHeight()-f.outerHeight())/2,depth:{active:f.outerHeight()/2,next:b.outerHeight()/2}};i.verbose("Setting the initial animation position as below",f,a),b.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),f.addClass(l.animating).css({display:"block",top:a.origin+"px",transform:"rotateX(-90deg) translateZ("+a.depth.next+"px)"})},left:function(){var a={origin:(b.outerWidth()-f.outerWidth())/2,depth:{active:f.outerWidth()/2,next:b.outerWidth()/2}};i.verbose("Setting the initial animation position as left",f,a),b.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),f.addClass(l.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(-90deg) translateZ("+a.depth.next+"px)"})},right:function(){var a={origin:(b.outerWidth()-f.outerWidth())/2,depth:{active:f.outerWidth()/2,next:b.outerWidth()/2}};i.verbose("Setting the initial animation position as left",f,a),b.css({transform:"rotateY(0deg) translateZ("+a.depth.active+"px)"}),f.addClass(l.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(90deg) translateZ("+a.depth.next+"px)"})},behind:function(){var a={origin:(b.outerWidth()-f.outerWidth())/2,depth:{active:f.outerWidth()/2,next:b.outerWidth()/2}};i.verbose("Setting the initial animation position as behind",f,a),b.css({transform:"rotateY(0deg)"}),f.addClass(l.animating).css({display:"block",left:a.origin+"px",transform:"rotateY(-180deg)"})}},setting:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},internal:function(b,c){return c===d?i[b]:(a.isPlainObject(b)?a.extend(!0,i,b):i[b]=c,void 0)},debug:function(){h.debug&&(h.performance?i.performance.log(arguments):i.debug=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},verbose:function(){h.verbose&&h.debug&&(h.performance?i.performance.log(arguments):i.verbose=Function.prototype.bind.call(console.info,console,h.moduleName+":"))},error:function(){i.error=Function.prototype.bind.call(console.error,console,h.moduleName+":")},performance:{log:function(a){var b,c,d;h.performance&&(b=(new Date).getTime(),d=o||b,c=b-d,o=b,p.push({Element:w,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(i.performance.timer),i.performance.timer=setTimeout(i.performance.display,100)},display:function(){var b=h.moduleName+":",c=0;o=!1,clearTimeout(i.performance.timer),a.each(p,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",g&&(b+=" '"+g+"'"),(console.group!==d||console.table!==d)&&p.length>0&&(console.groupCollapsed(b),console.table?console.table(p):a.each(p,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),p=[]}},invoke:function(b,c,e){var f,g,h=x;return c=c||s,e=w||e,"string"==typeof b&&h!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){return a.isPlainObject(h[c])&&b!=f?(h=h[c],!0):h[c]!==d?(g=h[c],!0):(i.error(k.method),!1)})),a.isFunction(g)?g.apply(e,c):g||!1}},r?(x===d&&i.initialize(),e=i.invoke(q)):(x!==d&&i.destroy(),i.initialize())}),e?e:this},a.fn.shape.settings={moduleName:"Shape Module",debug:!0,verbose:!0,performance:!0,namespace:"shape",beforeChange:function(){},onChange:function(){},useCSS:!0,duration:1e3,easing:"easeInOutQuad",error:{side:"You tried to switch to a side that does not exist.",method:"The method you called is not defined"},className:{css:"css",animating:"animating",hidden:"hidden",active:"active"},selector:{sides:".sides",side:".side"}}}(jQuery,window,document),function(a,b,c,d){a.fn.starReview=function(b){var c,e=a(this),f=e.selector||"",g=a.extend(!0,{},a.fn.starReview.settings,b),h=g.namespace,i=g.className,j=g.selector,k=g.error,l="."+h,m="module-"+h,n=(new Date).getTime(),o=[],p=arguments[0],q="string"==typeof p,r=[].slice.call(arguments,1);return e.each(function(){var b,e=a(this),h=e.find(j.star),s=this,t=e.data(m);b={initialize:function(){g.rateable&&(a.fn.state!==d&&(e.state(),h.state()),h.bind("mouseenter"+l,b.event.mouseenter).bind("mouseleave"+l,b.event.mouseleave).bind("click"+l,b.event.click)),e.addClass(i.initialize),b.instantiate()},instantiate:function(){e.data(m,b)},setRating:function(b){var c=h.eq(b-1);e.removeClass(i.hover),h.removeClass(i.hover),c.nextAll().removeClass(i.active),c.addClass(i.active).prevAll().addClass(i.active),a.proxy(g.onRate,e)()},event:{mouseenter:function(){var b=a(this);b.nextAll().removeClass(i.hover),e.addClass(i.hover),b.addClass(i.hover).prevAll().addClass(i.hover)},mouseleave:function(){h.removeClass(i.hover)},click:function(){var c=a(this);b.setRating(h.index(c)+1)}},setting:function(b,c){return c===d?g[b]:(a.isPlainObject(b)?a.extend(!0,g,b):g[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){g.debug&&(g.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},verbose:function(){g.verbose&&g.debug&&(g.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,g.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.error,console,g.moduleName+":")},performance:{log:function(a){var c,d,e;g.performance&&(c=(new Date).getTime(),e=n||c,d=c-e,n=c,o.push({Element:s,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=g.moduleName+":",e=0;n=!1,clearTimeout(b.performance.timer),a.each(o,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",f&&(c+=" '"+f+"'"),(console.group!==d||console.table!==d)&&o.length>0&&(console.groupCollapsed(c),console.table?console.table(o):a.each(o,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),o=[]}},invoke:function(c,e,f){var g,h,i=t;return e=e||r,f=s||f,"string"==typeof c&&i!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){return a.isPlainObject(i[e])&&c!=g?(i=i[e],!0):i[e]!==d?(h=i[e],!0):(b.error(k.method),!1)})),a.isFunction(h)?h.apply(f,e):h||!1}},q?(t===d&&b.initialize(),c=b.invoke(p)):(t!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.starReview.settings={moduleName:"Star",namespace:"star",rateable:!0,onRate:function(){},error:{method:"The method you called is not defined"},className:{initialize:"initialize",loading:"loading",active:"active",hover:"hover",down:"down"},selector:{star:"i"}}}(jQuery,window,document),function(a,b,c,d){a.fn.tab=function(c){var e,f,g,h,i,j=a.extend(!0,{},a.fn.tab.settings,c),k=a(this),l=a(j.context).find(j.selector.tabs),m=k.selector||"",n={},o=!0,p=0,q=this,r=(new Date).getTime(),s=[],t=j.className,u=j.metadata,v=j.errors,w="."+j.namespace,x=j.namespace+"-module",y=k.data(x),z=arguments[0],A=y!==d&&"string"==typeof z,B=[].slice.call(arguments,1);return h={initialize:function(){if(h.debug("Initializing Tabs",k),j.history){if(a.address===d)return h.error(v.state),!1;if(j.path===!1)return h.error(v.path),!1;j.auto&&(j.apiSettings={url:j.path+"/{$tab}"}),h.verbose("Address library found adding state change event"),a.address.state(j.path).unbind("change").bind("change",h.event.history.change)}a.isWindow(q)||k.on("click"+w,h.event.click),h.instantiate()},instantiate:function(){h.verbose("Storing instance of module",h),k.data(x,h)},destroy:function(){h.debug("Destroying tabs",k),k.off(w)},event:{click:function(){h.debug("Navigation clicked");var b=a(this).data(u.tab);b!==d?j.history?a.address.value(b):h.change(b):h.debug("No tab specified")},history:{change:function(b){var c=b.pathNames.join("/")||h.get.initialPath(),e=j.templates.determineTitle(c)||!1;h.debug("History change event",c,b),g=b,c!==d&&h.change(c),e&&a.address.title(e)}}},refresh:function(){e&&(h.debug("Refreshing tab",e),h.change(e)) -},cache:{read:function(a){return a!==d?n[a]:!1},add:function(a,b){a=a||e,h.debug("Adding cached content for",a),n[a]=b},remove:function(a){a=a||e,h.debug("Removing cached content for",a),delete n[a]}},change:function(c){var d=b.history&&b.history.pushState,i=d&&j.ignoreFirstLoad&&o,k=j.auto||a.isPlainObject(j.apiSettings),l=k&&!i?h.utils.pathToArray(c):h.get.defaultPathArray(c),c=h.utils.arrayToPath(l);h.deactivate.all(),a.each(l,function(b,d){var m,n,p,q=l.slice(0,b+1),r=h.utils.arrayToPath(q),s=h.is.tab(r),t=b+1==l.length,u=h.get.tabElement(r);return h.verbose("Looking for tab",d),s?(h.verbose("Tab was found",d),e=r,f=h.utils.filterArray(l,q),t?p=!0:(m=l.slice(0,b+2),n=h.utils.arrayToPath(m),p=!h.is.tab(n),p&&h.verbose("Tab parameters found",m)),p&&k?(i?(h.debug("Ignoring remote content on first tab load",r),o=!1,h.cache.add(c,u.html()),h.activate.all(r),a.proxy(j.onTabInit,u)(r,f,g),a.proxy(j.onTabLoad,u)(r,f,g)):(h.activate.navigation(r),h.content.fetch(r,c)),!1):(h.debug("Opened local tab",r),h.activate.all(r),a.proxy(j.onTabLoad,u)(r,f,g),void 0)):(h.error(v.missingTab,d),!1)})},content:{fetch:function(b,c){var i=h.get.tabElement(b),c=c||b,k=h.cache.read(c),l={dataType:"html",stateContext:i,success:function(d){h.cache.add(c,d),h.content.update(b,d),b==e?(h.debug("Content loaded",b),h.activate.tab(b)):h.debug("Content loaded in background",b),a.proxy(j.onTabInit,i)(b,f,g),a.proxy(j.onTabLoad,i)(b,f,g)},urlData:{tab:c}},m=i.data(u.promise)||!1,n=m&&"pending"===m.state();j.cache&&k?(h.debug("Showing existing content",c),h.content.update(b,k),h.activate.tab(b),a.proxy(j.onTabLoad,i)(b,f,g)):n?(h.debug("Content is already loading",c),i.addClass(t.loading)):a.api!==d?(h.debug("Retrieving remote content",c),a.api(a.extend(!0,{headers:{"X-Remote":!0}},j.apiSettings,l))):h.error(v.api)},update:function(a,b){h.debug("Updating html for",a);var c=h.get.tabElement(a);c.html(b)}},activate:{all:function(a){h.activate.tab(a),h.activate.navigation(a)},tab:function(a){var b=h.get.tabElement(a);h.verbose("Showing tab content for",b),b.addClass(t.active)},navigation:function(a){var b=h.get.navElement(a);h.verbose("Activating tab navigation for",b,a),b.addClass(t.active)}},deactivate:{all:function(){h.deactivate.navigation(),h.deactivate.tabs()},navigation:function(){k.removeClass(t.active)},tabs:function(){l.removeClass(t.active+" "+t.loading)}},is:{tab:function(a){return a!==d?h.get.tabElement(a).size()>0:!1}},get:{initialPath:function(){return k.eq(0).data(u.tab)||l.eq(0).data(u.tab)},path:function(){return a.address.value()},defaultPathArray:function(a){return h.utils.pathToArray(h.get.defaultPath(a))},defaultPath:function(a){var b=k.filter("[data-"+u.tab+'^="'+a+'/"]').eq(0),c=b.data(u.tab)||!1;if(c){if(h.debug("Found default tab",c),p0?b:c},tab:function(){return e}},utils:{filterArray:function(b,c){return a.grep(b,function(b){return-1==a.inArray(b,c)})},last:function(b){return a.isArray(b)?b[b.length-1]:!1},pathToArray:function(a){return a===d&&(a=e),"string"==typeof a?a.split("/"):[a]},arrayToPath:function(b){return a.isArray(b)?b.join("/"):!1}},setting:function(b,c){return c===d?j[b]:(a.isPlainObject(b)?a.extend(!0,j,b):j[b]=c,void 0)},internal:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},debug:function(){j.debug&&(j.performance?h.performance.log(arguments):h.debug=Function.prototype.bind.call(console.info,console,j.moduleName+":"))},verbose:function(){j.verbose&&j.debug&&(j.performance?h.performance.log(arguments):h.verbose=Function.prototype.bind.call(console.info,console,j.moduleName+":"))},error:function(){h.error=Function.prototype.bind.call(console.error,console,j.moduleName+":")},performance:{log:function(a){var b,c,d;j.performance&&(b=(new Date).getTime(),d=r||b,c=b-d,r=b,s.push({Element:q,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(h.performance.timer),h.performance.timer=setTimeout(h.performance.display,100)},display:function(){var b=j.moduleName+":",c=0;r=!1,clearTimeout(h.performance.timer),a.each(s,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",m&&(b+=" '"+m+"'"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(b),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(b,c,e){var f,g;return c=c||B,e=q||e,"string"==typeof b&&y!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){a.isPlainObject(y[c])&&b!=f?y=y[c]:y[c]!==d?g=y[c]:h.error(v.method)})),a.isFunction(g)?(h.verbose("Executing invoked function",g),g.apply(e,c)):g||!1}},A?(y===d&&h.initialize(),i=h.invoke(z)):(y!==d&&h.destroy(),h.initialize()),i?i:this},a.tab=function(c){a(b).tab(c)},a.fn.tab.settings={moduleName:"Tab",verbose:!0,debug:!0,performance:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},auto:!1,history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!0,alwaysRefresh:!1,cache:!0,apiSettings:!1,errors:{api:"You attempted to load content without API module",noContent:"The tab you specified is missing a content url.",method:"The method you called is not defined",state:"The state library has not been initialized",missingTab:"Tab cannot be found",path:"History enabled, but no path was specified",recursion:"Max recursive depth reached"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".tab"}}}(jQuery,window,document),function(a,b,c,d){a.fn.transition=function(){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments,k=j[0],l=[].slice.call(arguments,1),m="string"==typeof k;return b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)},f.each(function(){var b,f,n,o,p,q,r,s,t,u=a(this),v=this;t={initialize:function(){b=t.get.settings.apply(v,j),t.verbose("Converted arguments into settings object",b),n=b.error,o=b.className,r=b.namespace,p=b.metadata,s="module-"+r,q=t.get.transitionEvent(),f=u.data(s),f===d&&t.instantiate(),m&&(e=t.invoke(k)),m&&e!==!1||t.animate()},instantiate:function(){t.verbose("Storing instance of module",t),f=t,u.data(s,f)},destroy:function(){t.verbose("Destroying previous module for",v),u.removeData(s)},repaint:function(a){t.verbose("Forcing repaint event"),a=v.offsetWidth},set:{animating:function(){u.addClass(o.animating)},loop:function(){u.addClass(o.loop)},duration:function(a){a=a||b.duration,t.verbose("Setting animation duration",a),u.css({"-webkit-animation-duration":a,"-moz-animation-duration":a,"-ms-animation-duration":a,"-o-animation-duration":a,"animation-duration":a})}},remove:{animating:function(){u.removeClass(o.animating)}},get:{settings:function(b,c,e){return a.isPlainObject(b)===d?a.extend(!0,{},a.fn.transition.settings,b):"function"==typeof e?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:e,duration:c}):"string"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,duration:c}):"object"==typeof c?a.extend(!0,{},a.fn.transition.settings,c,{animation:b}):"function"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:c}):a.extend(!0,{},a.fn.transition.settings,{animation:b})},transitionEvent:function(){var a,b=c.createElement("element"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return t.verbose("Determining animation end event",e[a]),e[a];return!1}},can:{animate:function(c){var d=a("
");return c=c||b.animation,d.addClass(o.transition).addClass(c),"none"!==d.css("animationName")}},is:{animating:function(){return u.hasClass(o.animating)}},hide:function(){t.verbose("Hiding element"),u.addClass(o.transition).addClass(o.hidden)},show:function(){t.verbose("Showing element"),u.removeClass(o.hidden)},start:function(){t.verbose("Starting animation"),u.removeClass(o.disabled)},stop:function(){t.debug("Stopping animation"),u.addClass(o.disabled)},toggle:function(){t.debug("Toggling play status"),u.toggleClass(o.disabled)},animate:function(a){return b=a||b,t.can.animate()?t.is.animating()?(t.queue(b.animation),!1):(t.set.duration(),t.show(),t.originalClass=u.attr("class"),t.repaint(),t.set.animating(),u.addClass(o.transition).addClass(b.animation).one(q,t.complete),t.debug("Beginning animation",b.animation,u.attr("class")),void 0):(t.error(n.noAnimation,b.animation),!1)},queue:function(a){t.debug("Queueing animation of",a),u.one(q,function(){t.animate.apply(this,b)})},reset:function(){t.verbose("Resetting original class",t.originalClass),u.removeAttr("style").attr("class",t.originalClass)},complete:function(){t.verbose("CSS animation complete",b.animation),u.hasClass(o.outward)?(t.reset(),t.hide()):u.hasClass(o.inward)?(t.reset(),t.show()):t.reset(),t.remove.animating(),t.repaint(),b.complete()},setting:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},internal:function(b,c){return c===d?t[b]:(a.isPlainObject(b)?a.extend(!0,t,b):t[b]=c,void 0)},debug:function(){b.debug&&(b.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},verbose:function(){b.verbose&&b.debug&&(b.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.error,console,b.moduleName+":")},performance:{log:function(a){var c,d,e;b.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100)},display:function(){var c=b.moduleName+":",e=0;h=!1,clearTimeout(t.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,e){var g,h,i=f;return c=c||l,e=v||e,"string"==typeof b&&i!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){return a.isPlainObject(i[c])&&b!=g?(i=i[c],!0):i[c]!==d?(h=i[c],!0):(t.error(n.method),!1)})),a.isFunction(h)?(f.verbose("Executing invoked function",h),h.apply(e,c)):h||!1}},t.initialize()}),e?e:this},a.fn.transition.settings={moduleName:"Transition",debug:!0,verbose:!0,performance:!0,namespace:"transition",complete:function(){},animation:"fade in",duration:"1s",className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",looping:"looping",outward:"out",transition:"ui transition"},error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"}}}(jQuery,window,document),function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.fn.video.settings,g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1),m=f.selector,n=f.className,o=f.error,p=f.metadata,q=f.namespace,r="."+q,s=q+"-module";return e.each(function(){var b,e=a(this),q=e.find(m.placeholder),t=e.find(m.playButton),u=e.find(m.embed),v=this,w=e.data(s);b={initialize:function(){b.debug("Initializing video"),q.on("click"+r,b.play),t.on("click"+r,b.play),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),w=b,e.data(s,b)},destroy:function(){b.verbose("Destroying previous instance of video"),e.removeData(s).off(r)},change:function(a,c,d){b.debug("Changing video to ",a,c,d),e.data(p.source,a).data(p.id,c).data(p.url,d),f.onChange()},reset:function(){b.debug("Clearing video embed and showing placeholder"),e.removeClass(n.active),u.html(" "),q.show(),f.onReset()},play:function(){b.debug("Playing video");var a=e.data(p.source)||!1,c=e.data(p.url)||!1,d=e.data(p.id)||!1;u.html(b.generate.html(a,d,c)),e.addClass(n.active),f.onPlay()},generate:{html:function(a,c,d){b.debug("Generating embed html");var g,h="auto"==f.width?e.width():f.width,i="auto"==f.height?e.height():f.height;return a&&c?"vimeo"==a?g='':"youtube"==a&&(g=''):d?g='':b.error(o.noVideo),g},url:function(a){var b=f.api?1:0,c=f.autoplay?1:0,d=f.hd?1:0,e=f.showUI?1:0,g=f.showUI?0:1,h="";return"vimeo"==a&&(h="api="+b+"&title="+e+"&byline="+e+"&portrait="+e+"&autoplay="+c,f.color&&(h+="&color="+f.color)),"ustream"==a?(h="autoplay="+c,f.color&&(h+="&color="+f.color)):"youtube"==a&&(h="enablejsapi="+b+"&autoplay="+c+"&autohide="+g+"&hq="+d+"&modestbranding=1",f.color&&(h+="&color="+f.color)),h}},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;h=!1,clearTimeout(b.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=v||f,"string"==typeof c&&w!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(w[e])&&c!=g?w=w[e]:w[e]!==d?h=w[e]:b.error(o.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(w===d&&b.initialize(),c=b.invoke(j)):(w!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document); \ No newline at end of file +},cache:{read:function(a){return a!==d?n[a]:!1},add:function(a,b){a=a||e,h.debug("Adding cached content for",a),n[a]=b},remove:function(a){a=a||e,h.debug("Removing cached content for",a),delete n[a]}},change:function(c){var d=b.history&&b.history.pushState,i=d&&j.ignoreFirstLoad&&o,k=j.auto||a.isPlainObject(j.apiSettings),l=k&&!i?h.utils.pathToArray(c):h.get.defaultPathArray(c),c=h.utils.arrayToPath(l);h.deactivate.all(),a.each(l,function(b,d){var m,n,p,q=l.slice(0,b+1),r=h.utils.arrayToPath(q),s=h.is.tab(r),t=b+1==l.length,u=h.get.tabElement(r);return h.verbose("Looking for tab",d),s?(h.verbose("Tab was found",d),e=r,f=h.utils.filterArray(l,q),t?p=!0:(m=l.slice(0,b+2),n=h.utils.arrayToPath(m),p=!h.is.tab(n),p&&h.verbose("Tab parameters found",m)),p&&k?(i?(h.debug("Ignoring remote content on first tab load",r),o=!1,h.cache.add(c,u.html()),h.activate.all(r),a.proxy(j.onTabInit,u)(r,f,g),a.proxy(j.onTabLoad,u)(r,f,g)):(h.activate.navigation(r),h.content.fetch(r,c)),!1):(h.debug("Opened local tab",r),h.activate.all(r),a.proxy(j.onTabLoad,u)(r,f,g),void 0)):(h.error(v.missingTab,d),!1)})},content:{fetch:function(b,c){var i=h.get.tabElement(b),c=c||b,k=h.cache.read(c),l={dataType:"html",stateContext:i,success:function(d){h.cache.add(c,d),h.content.update(b,d),b==e?(h.debug("Content loaded",b),h.activate.tab(b)):h.debug("Content loaded in background",b),a.proxy(j.onTabInit,i)(b,f,g),a.proxy(j.onTabLoad,i)(b,f,g)},urlData:{tab:c}},m=i.data(u.promise)||!1,n=m&&"pending"===m.state();j.cache&&k?(h.debug("Showing existing content",c),h.content.update(b,k),h.activate.tab(b),a.proxy(j.onTabLoad,i)(b,f,g)):n?(h.debug("Content is already loading",c),i.addClass(t.loading)):a.api!==d?(h.debug("Retrieving remote content",c),a.api(a.extend(!0,{headers:{"X-Remote":!0}},j.apiSettings,l))):h.error(v.api)},update:function(a,b){h.debug("Updating html for",a);var c=h.get.tabElement(a);c.html(b)}},activate:{all:function(a){h.activate.tab(a),h.activate.navigation(a)},tab:function(a){var b=h.get.tabElement(a);h.verbose("Showing tab content for",b),b.addClass(t.active)},navigation:function(a){var b=h.get.navElement(a);h.verbose("Activating tab navigation for",b,a),b.addClass(t.active)}},deactivate:{all:function(){h.deactivate.navigation(),h.deactivate.tabs()},navigation:function(){k.removeClass(t.active)},tabs:function(){l.removeClass(t.active+" "+t.loading)}},is:{tab:function(a){return a!==d?h.get.tabElement(a).size()>0:!1}},get:{initialPath:function(){return k.eq(0).data(u.tab)||l.eq(0).data(u.tab)},path:function(){return a.address.value()},defaultPathArray:function(a){return h.utils.pathToArray(h.get.defaultPath(a))},defaultPath:function(a){var b=k.filter("[data-"+u.tab+'^="'+a+'/"]').eq(0),c=b.data(u.tab)||!1;if(c){if(h.debug("Found default tab",c),p0?b:c},tab:function(){return e}},utils:{filterArray:function(b,c){return a.grep(b,function(b){return-1==a.inArray(b,c)})},last:function(b){return a.isArray(b)?b[b.length-1]:!1},pathToArray:function(a){return a===d&&(a=e),"string"==typeof a?a.split("/"):[a]},arrayToPath:function(b){return a.isArray(b)?b.join("/"):!1}},setting:function(b,c){return c===d?j[b]:(a.isPlainObject(b)?a.extend(!0,j,b):j[b]=c,void 0)},internal:function(b,c){return c===d?h[b]:(a.isPlainObject(b)?a.extend(!0,h,b):h[b]=c,void 0)},debug:function(){j.debug&&(j.performance?h.performance.log(arguments):h.debug=Function.prototype.bind.call(console.info,console,j.moduleName+":"))},verbose:function(){j.verbose&&j.debug&&(j.performance?h.performance.log(arguments):h.verbose=Function.prototype.bind.call(console.info,console,j.moduleName+":"))},error:function(){h.error=Function.prototype.bind.call(console.error,console,j.moduleName+":")},performance:{log:function(a){var b,c,d;j.performance&&(b=(new Date).getTime(),d=r||b,c=b-d,r=b,s.push({Element:q,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":c})),clearTimeout(h.performance.timer),h.performance.timer=setTimeout(h.performance.display,100)},display:function(){var b=j.moduleName+":",c=0;r=!1,clearTimeout(h.performance.timer),a.each(s,function(a,b){c+=b["Execution Time"]}),b+=" "+c+"ms",m&&(b+=" '"+m+"'"),(console.group!==d||console.table!==d)&&s.length>0&&(console.groupCollapsed(b),console.table?console.table(s):a.each(s,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),s=[]}},invoke:function(b,c,e){var f,g;return c=c||B,e=q||e,"string"==typeof b&&y!==d&&(b=b.split(/[\. ]/),f=b.length-1,a.each(b,function(b,c){a.isPlainObject(y[c])&&b!=f?y=y[c]:y[c]!==d?g=y[c]:h.error(v.method)})),a.isFunction(g)?(h.verbose("Executing invoked function",g),g.apply(e,c)):g||!1}},A?(y===d&&h.initialize(),i=h.invoke(z)):(y!==d&&h.destroy(),h.initialize()),i?i:this},a.tab=function(c){a(b).tab(c)},a.fn.tab.settings={moduleName:"Tab",verbose:!0,debug:!0,performance:!0,namespace:"tab",onTabInit:function(){},onTabLoad:function(){},templates:{determineTitle:function(){}},auto:!1,history:!1,path:!1,context:"body",maxDepth:25,ignoreFirstLoad:!0,alwaysRefresh:!1,cache:!0,apiSettings:!1,errors:{api:"You attempted to load content without API module",noContent:"The tab you specified is missing a content url.",method:"The method you called is not defined",state:"The state library has not been initialized",missingTab:"Tab cannot be found",path:"History enabled, but no path was specified",recursion:"Max recursive depth reached"},metadata:{tab:"tab",loaded:"loaded",promise:"promise"},className:{loading:"loading",active:"active"},selector:{tabs:".tab"}}}(jQuery,window,document),function(a,b,c,d){a.fn.transition=function(){var e,f=a(this),g=f.selector||"",h=(new Date).getTime(),i=[],j=arguments,k=j[0],l=[].slice.call(arguments,1),m="string"==typeof k;return b.requestAnimationFrame||b.mozRequestAnimationFrame||b.webkitRequestAnimationFrame||b.msRequestAnimationFrame||function(a){setTimeout(a,0)},f.each(function(){var b,f,n,o,p,q,r,s,t,u=a(this),v=this;t={initialize:function(){b=t.get.settings.apply(v,j),t.verbose("Converted arguments into settings object",b),n=b.error,o=b.className,r=b.namespace,p=b.metadata,s="module-"+r,q=t.get.transitionEvent(),f=u.data(s),f===d&&t.instantiate(),m&&(e=t.invoke(k)),m&&e!==!1||t.animate()},instantiate:function(){t.verbose("Storing instance of module",t),f=t,u.data(s,f)},destroy:function(){t.verbose("Destroying previous module for",v),u.removeData(s)},repaint:function(a){t.verbose("Forcing repaint event"),a=v.offsetWidth},set:{animating:function(){u.addClass(o.animating)},loop:function(){u.addClass(o.loop)},duration:function(a){a=a||b.duration,t.verbose("Setting animation duration",a),u.css({"-webkit-animation-duration":a,"-moz-animation-duration":a,"-ms-animation-duration":a,"-o-animation-duration":a,"animation-duration":a})}},remove:{animating:function(){u.removeClass(o.animating)}},get:{settings:function(b,c,e){return a.isPlainObject(b)===d?a.extend(!0,{},a.fn.transition.settings,b):"function"==typeof e?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:e,duration:c}):"string"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,duration:c}):"object"==typeof c?a.extend(!0,{},a.fn.transition.settings,c,{animation:b}):"function"==typeof c?a.extend(!0,{},a.fn.transition.settings,{animation:b,complete:c}):a.extend(!0,{},a.fn.transition.settings,{animation:b})},transitionEvent:function(){var a,b=c.createElement("element"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd"};for(a in e)if(b.style[a]!==d)return t.verbose("Determining animation end event",e[a]),e[a];return!1}},can:{animate:function(c){var d=a("
");return c=c||b.animation,d.addClass(o.transition).addClass(c),"none"!==d.css("animationName")}},is:{animating:function(){return u.hasClass(o.animating)}},hide:function(){t.verbose("Hiding element"),u.addClass(o.transition).addClass(o.hidden)},show:function(){t.verbose("Showing element"),u.removeClass(o.hidden)},start:function(){t.verbose("Starting animation"),u.removeClass(o.disabled)},stop:function(){t.debug("Stopping animation"),u.addClass(o.disabled)},toggle:function(){t.debug("Toggling play status"),u.toggleClass(o.disabled)},animate:function(a){return b=a||b,t.can.animate()?t.is.animating()?(t.queue(b.animation),!1):(t.set.duration(),t.show(),t.originalClass=u.attr("class"),t.originalStyle=u.attr("style"),t.repaint(),t.set.animating(),u.addClass(o.transition).addClass(b.animation).one(q,t.complete),t.debug("Beginning animation",b.animation,u.attr("class")),void 0):(t.error(n.noAnimation,b.animation),!1)},queue:function(a){t.debug("Queueing animation of",a),u.one(q,function(){t.animate.apply(this,b)})},reset:function(){t.verbose("Resetting original class",t.originalClass),u.attr("style",t.originalStyle).attr("class",t.originalClass)},complete:function(){t.verbose("CSS animation complete",b.animation),u.hasClass(o.outward)?(t.reset(),t.hide()):u.hasClass(o.inward)?(t.reset(),t.show()):t.reset(),t.remove.animating(),t.repaint(),b.complete()},setting:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},internal:function(b,c){return c===d?t[b]:(a.isPlainObject(b)?a.extend(!0,t,b):t[b]=c,void 0)},debug:function(){b.debug&&(b.performance?t.performance.log(arguments):t.debug=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},verbose:function(){b.verbose&&b.debug&&(b.performance?t.performance.log(arguments):t.verbose=Function.prototype.bind.call(console.info,console,b.moduleName+":"))},error:function(){t.error=Function.prototype.bind.call(console.error,console,b.moduleName+":")},performance:{log:function(a){var c,d,e;b.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(t.performance.timer),t.performance.timer=setTimeout(t.performance.display,100)},display:function(){var c=b.moduleName+":",e=0;h=!1,clearTimeout(t.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(b,c,e){var g,h,i=f;return c=c||l,e=v||e,"string"==typeof b&&i!==d&&(b=b.split(/[\. ]/),g=b.length-1,a.each(b,function(b,c){return a.isPlainObject(i[c])&&b!=g?(i=i[c],!0):i[c]!==d?(h=i[c],!0):(t.error(n.method),!1)})),a.isFunction(h)?(f.verbose("Executing invoked function",h),h.apply(e,c)):h||!1}},t.initialize()}),e?e:this},a.fn.transition.settings={moduleName:"Transition",debug:!0,verbose:!0,performance:!0,namespace:"transition",complete:function(){},animation:"fade",duration:"1s",className:{animating:"animating",disabled:"disabled",hidden:"hidden",inward:"in",looping:"looping",outward:"out",transition:"ui transition"},error:{noAnimation:"There is no css animation matching the one you specified.",method:"The method you called is not defined"}}}(jQuery,window,document),function(a,b,c,d){a.fn.video=function(b){var c,e=a(this),f=a.isPlainObject(b)?a.extend(!0,{},a.fn.video.settings,b):a.fn.video.settings,g=e.selector||"",h=(new Date).getTime(),i=[],j=arguments[0],k="string"==typeof j,l=[].slice.call(arguments,1),m=f.selector,n=f.className,o=f.error,p=f.metadata,q=f.namespace,r="."+q,s=q+"-module";return e.each(function(){var b,e=a(this),q=e.find(m.placeholder),t=e.find(m.playButton),u=e.find(m.embed),v=this,w=e.data(s);b={initialize:function(){b.debug("Initializing video"),q.on("click"+r,b.play),t.on("click"+r,b.play),b.instantiate()},instantiate:function(){b.verbose("Storing instance of module",b),w=b,e.data(s,b)},destroy:function(){b.verbose("Destroying previous instance of video"),e.removeData(s).off(r)},change:function(a,c,d){b.debug("Changing video to ",a,c,d),e.data(p.source,a).data(p.id,c).data(p.url,d),f.onChange()},reset:function(){b.debug("Clearing video embed and showing placeholder"),e.removeClass(n.active),u.html(" "),q.show(),f.onReset()},play:function(){b.debug("Playing video");var a=e.data(p.source)||!1,c=e.data(p.url)||!1,d=e.data(p.id)||!1;u.html(b.generate.html(a,d,c)),e.addClass(n.active),f.onPlay()},generate:{html:function(a,c,d){b.debug("Generating embed html");var g,h="auto"==f.width?e.width():f.width,i="auto"==f.height?e.height():f.height;return a&&c?"vimeo"==a?g='':"youtube"==a&&(g=''):d?g='':b.error(o.noVideo),g},url:function(a){var b=f.api?1:0,c=f.autoplay?1:0,d=f.hd?1:0,e=f.showUI?1:0,g=f.showUI?0:1,h="";return"vimeo"==a&&(h="api="+b+"&title="+e+"&byline="+e+"&portrait="+e+"&autoplay="+c,f.color&&(h+="&color="+f.color)),"ustream"==a?(h="autoplay="+c,f.color&&(h+="&color="+f.color)):"youtube"==a&&(h="enablejsapi="+b+"&autoplay="+c+"&autohide="+g+"&hq="+d+"&modestbranding=1",f.color&&(h+="&color="+f.color)),h}},setting:function(b,c){return c===d?f[b]:(a.isPlainObject(b)?a.extend(!0,f,b):f[b]=c,void 0)},internal:function(c,e){return e===d?b[c]:(a.isPlainObject(c)?a.extend(!0,b,c):b[c]=e,void 0)},debug:function(){f.debug&&(f.performance?b.performance.log(arguments):b.debug=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},verbose:function(){f.verbose&&f.debug&&(f.performance?b.performance.log(arguments):b.verbose=Function.prototype.bind.call(console.info,console,f.moduleName+":"))},error:function(){b.error=Function.prototype.bind.call(console.warn,console,f.moduleName+":")},performance:{log:function(a){var c,d,e;f.performance&&(c=(new Date).getTime(),e=h||c,d=c-e,h=c,i.push({Element:v,Name:a[0],Arguments:[].slice.call(a,1)||"","Execution Time":d})),clearTimeout(b.performance.timer),b.performance.timer=setTimeout(b.performance.display,100)},display:function(){var c=f.moduleName+":",e=0;h=!1,clearTimeout(b.performance.timer),a.each(i,function(a,b){e+=b["Execution Time"]}),c+=" "+e+"ms",g&&(c+=" '"+g+"'"),(console.group!==d||console.table!==d)&&i.length>0&&(console.groupCollapsed(c),console.table?console.table(i):a.each(i,function(a,b){console.log(b.Name+": "+b["Execution Time"]+"ms")}),console.groupEnd()),i=[]}},invoke:function(c,e,f){var g,h;return e=e||l,f=v||f,"string"==typeof c&&w!==d&&(c=c.split(/[\. ]/),g=c.length-1,a.each(c,function(c,e){a.isPlainObject(w[e])&&c!=g?w=w[e]:w[e]!==d?h=w[e]:b.error(o.method)})),a.isFunction(h)?h.apply(f,e):h||!1}},k?(w===d&&b.initialize(),c=b.invoke(j)):(w!==d&&b.destroy(),b.initialize())}),c?c:this},a.fn.video.settings={moduleName:"Video",namespace:"video",debug:!0,verbose:!0,performance:!0,metadata:{source:"source",id:"id",url:"url"},onPlay:function(){},onReset:function(){},onChange:function(){},onPause:function(){},onStop:function(){},width:"auto",height:"auto",autoplay:!1,color:"#442359",hd:!0,showUI:!1,api:!0,error:{noVideo:"No video specified",method:"The method you called is not defined"},className:{active:"active"},selector:{embed:".embed",placeholder:".placeholder",playButton:".play"}}}(jQuery,window,document); \ No newline at end of file diff --git a/build/uncompressed/modules/transition.js b/build/uncompressed/modules/transition.js index 183741bc2..bcd8beef4 100644 --- a/build/uncompressed/modules/transition.js +++ b/build/uncompressed/modules/transition.js @@ -106,6 +106,13 @@ $.fn.transition = function() { $module.addClass(className.animating); }, + direction: function() { + return $module.is(':visible') + ? 'out' + : 'in' + ; + } + loop: function() { $module .addClass(className.loop) @@ -263,7 +270,9 @@ $.fn.transition = function() { module.set.duration(); module.show(); module.originalClass = $module.attr('class'); + module.originalStyle = $module.attr('style'); module.repaint(); + module.set.direction(); module.set.animating(); $module .addClass(className.transition) @@ -285,7 +294,7 @@ $.fn.transition = function() { reset: function() { module.verbose('Resetting original class', module.originalClass); $module - .removeAttr('style') + .attr('style', module.originalStyle) .attr('class', module.originalClass) ; }, @@ -469,7 +478,7 @@ $.fn.transition.settings = { complete : function() {}, // animation duration (useful only with future js animations) - animation : 'fade in', + animation : 'fade', duration : '1s', className : { diff --git a/node/src/documents/modules/transition.html b/node/src/documents/modules/transition.html index c346c0ef5..bf7a59b5a 100755 --- a/node/src/documents/modules/transition.html +++ b/node/src/documents/modules/transition.html @@ -30,23 +30,42 @@ type : 'UI Module'

Introduction

-

Transitions allows for use of CSS transitions with similar syntax to jQuery's - animate -

+

UI Transitions provide a wrapper for using css transitions in javascript without having to manually manage class names and state.

Usage

- -

Initializing a transition

-
- $('.test.button') + +

Using transition

+

Transitions use similar argument shorthand as animate.

+ +
+ $('.dog.image') + // default everything + .transition() + // ok ill specify an animation + .transition('fade in') + // no that was way too quick + .transition('fade out', '2s') + .transition('fade in', function() { + window.alert('Aha you sat through them all!'); + }) + ; +
+ +

A transition can be called multiple times to create an animation queue.

+
+ $('.dog.image') .transition('flip out y', '500ms') .transition('flip in y', '500ms', function() { console.log('done!'); }) ;
-
- Hello -
+ + +

Variations

+ + + +

Behavior

diff --git a/node/src/files/components/semantic/modules/transition.js b/node/src/files/components/semantic/modules/transition.js index 183741bc2..d066f867b 100644 --- a/node/src/files/components/semantic/modules/transition.js +++ b/node/src/files/components/semantic/modules/transition.js @@ -263,6 +263,7 @@ $.fn.transition = function() { module.set.duration(); module.show(); module.originalClass = $module.attr('class'); + module.originalStyle = $module.attr('style'); module.repaint(); module.set.animating(); $module @@ -285,7 +286,7 @@ $.fn.transition = function() { reset: function() { module.verbose('Resetting original class', module.originalClass); $module - .removeAttr('style') + .attr('style', module.originalStyle) .attr('class', module.originalClass) ; }, @@ -469,7 +470,7 @@ $.fn.transition.settings = { complete : function() {}, // animation duration (useful only with future js animations) - animation : 'fade in', + animation : 'fade', duration : '1s', className : { diff --git a/node/src/files/images/demo/vector.png b/node/src/files/images/demo/vector.png new file mode 100755 index 0000000000000000000000000000000000000000..a7629cb3b07154a9684400c59cb5bf709c928e12 GIT binary patch literal 115745 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 a0R{jKZoUdsdGLM!0000o literal 0 HcmV?d00001 diff --git a/node/src/files/javascript/semantic.js b/node/src/files/javascript/semantic.js index 0105bd714..080e12ea9 100755 --- a/node/src/files/javascript/semantic.js +++ b/node/src/files/javascript/semantic.js @@ -166,10 +166,10 @@ semantic.ready = function() { initializeCode: function() { var $code = $(this), - $label = $('
').addClass('ui label'), code = $code.html(), contentType = $code.data('type') || 'javascript', title = $code.data('title') || false, + demo = $code.data('demo') || false, label = $code.data('label') || false, displayType = { html : 'HTML', @@ -179,6 +179,7 @@ semantic.ready = function() { sh : 'Command Line' }, whiteSpace = new RegExp('\\n\\s{4}', 'g'), + $label, padding = 4, label, editor, @@ -218,19 +219,29 @@ semantic.ready = function() { ; // add label if(title) { - $label - .addClass('attached top') + $('
') + .addClass('ui attached top label') .html('' + title + '' + '' + (displayType[contentType] || contentType) + '') .prependTo( $(this).parent() ) ; } - else if(label) { - $label - .addClass('pointing below') + if(label) { + $('
') + .addClass('ui pointing below label') .html(displayType[contentType] || contentType) .insertBefore ( $(this).parent() ) ; } + if(demo) { + $('') + .addClass('ui pointing below black label') + .html('Run Code') + .on('click', function() { + eval(code); + }) + .insertBefore ( $(this).parent() ) + ; + } editor.resize(); }, diff --git a/src/modules/transition.js b/src/modules/transition.js index 183741bc2..813990405 100755 --- a/src/modules/transition.js +++ b/src/modules/transition.js @@ -106,6 +106,13 @@ $.fn.transition = function() { $module.addClass(className.animating); }, + direction: function() { + return $module.is(':visible') + ? 'out' + : 'in' + ; + }, + loop: function() { $module .addClass(className.loop) @@ -263,7 +270,9 @@ $.fn.transition = function() { module.set.duration(); module.show(); module.originalClass = $module.attr('class'); + module.originalStyle = $module.attr('style'); module.repaint(); + module.set.direction(); module.set.animating(); $module .addClass(className.transition) @@ -285,7 +294,7 @@ $.fn.transition = function() { reset: function() { module.verbose('Resetting original class', module.originalClass); $module - .removeAttr('style') + .attr('style', module.originalStyle) .attr('class', module.originalClass) ; }, @@ -469,7 +478,7 @@ $.fn.transition.settings = { complete : function() {}, // animation duration (useful only with future js animations) - animation : 'fade in', + animation : 'fade', duration : '1s', className : {