You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iota.apache.org by no...@apache.org on 2016/05/11 11:34:32 UTC
[08/21] incubator-iota-site git commit: Website Upload
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/html5shiv.min.js
----------------------------------------------------------------------
diff --git a/js/html5shiv.min.js b/js/html5shiv.min.js
new file mode 100644
index 0000000..2b5c225
--- /dev/null
+++ b/js/html5shiv.min.js
@@ -0,0 +1,4 @@
+/**
+* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function a(e,t){var n=y.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),y.elements=n+" "+e,m(t)}function c(e){var t=E[e[p]];return t||(t={},v++,e[p]=v,E[v]=t),t}function o(e,n,r){if(n||(n=t),u)return n.createElement(e);r||(r=c(n));var a;return a=r.cache[e]?r.cache[e].cloneNode():g.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e),!a.canHaveChildren||f.test(e)||a.tagUrn?a:r.frag.appendChild(a)}function i(e,n){if(e||(e=t),u)return e.createDocumentFragment();n=n||c(e);for(var a=n.frag.cloneNode(),o=0,i=r(),l=i.length;l>o;o++)a.createElement(i[o]);return a}function l(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag
()),e.createElement=function(n){return y.shivMethods?o(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function m(e){e||(e=t);var r=c(e);return!y.shivCSS||s||r.hasCSS||(r.hasCSS=!!n(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),u||l(e,r),e}var s,u,d="3.7.2",h=e.html5||{},f=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,g=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",v=0,E={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",s="hidden"in e,u=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"
==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){s=!0,u=!0}}();var y={elements:h.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:d,shivCSS:h.shivCSS!==!1,supportsUnknownElements:u,shivMethods:h.shivMethods!==!1,type:"default",shivDocument:m,createElement:o,createDocumentFragment:i,addElements:a};e.html5=y,m(t)}(this,document);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/isotope.pkgd.min.js
----------------------------------------------------------------------
diff --git a/js/isotope.pkgd.min.js b/js/isotope.pkgd.min.js
new file mode 100644
index 0000000..4b6ce60
--- /dev/null
+++ b/js/isotope.pkgd.min.js
@@ -0,0 +1,8 @@
+/**
+ * @module Isotope PACKAGED
+ * @version v2.2.2
+ * @license GPLv3
+ * @see http://isotope.metafizzy.co
+ */
+!function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){
function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){"use strict";function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanc
eof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return th
is.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEv
ent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:e.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty
=b}(window),function(a,b){function c(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function d(){}function e(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=h.length;c>b;b++){var d=h[b];a[d]=0}return a}function f(b){function d(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||g("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=b("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var f=document.body||document.documentElement;f.appendChild(e);var h=j(e);l=200===c(h.width),f.removeChild(e)}}}function f(a){if(d(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){
var b=j(a);if("none"===b.display)return e();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var g=f.isBorderBox=!(!k||!b[k]||"border-box"!==b[k]),m=0,n=h.length;n>m;m++){var o=h[m],p=b[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=g&&l,y=c(b.width);y!==!1&&(f.width=y+(x?0:r+v));var z=c(b.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return f}var g="undefined"==typeof console?d:function(a){console.error(a)},h=["paddingLeft","paddingRight","paddin
gTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],f):"object"==typeof exports?module.exports=f(require("desandro-get-style-property")):a.getSize=f(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){"use
strict";function b(a,b){return a[g](b)}function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}function e(a,d){return c(a),b(a,d)}var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"use strict";"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-
ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"
innerText"),a[b]=c}var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var
k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){"use strict";function f(a){for(var b in a)return!1;return b=null,!0}function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}function h(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}var i=a.getComputed
Style,j=i?function(a){return i(a,null)}:function(a){return a.currentStyle},k=d("transition"),l=d("transform"),m=k&&l,n=!!d("perspective"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[k],p=["transform","transition","transitionDuration","transitionProperty"],q=function(){for(var a={},b=0,c=p.length;c>b;b++){var e=p[b],f=d(e);f&&f!==e&&(a[e]=f)}return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=q[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=j(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=a[c?"left":"right"],f=a[d?"top":"bottom"],g=this.layout.size,h=-1!=
e.indexOf("%")?parseFloat(e)/100*g.width:parseInt(e,10),i=-1!=f.indexOf("%")?parseFloat(f)/100*g.height:parseInt(f,10);h=isNaN(h)?0:h,i=isNaN(i)?0:i,h-=c?g.paddingLeft:g.paddingRight,i-=d?g.paddingTop:g.paddingBottom,this.position.x=h,this.position.y=i},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];c[e]=this.getXValue(g),c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];c[i]=this.getYValue(k),c[j]="",this.css(c),this.emitEvent("layout",[this])},g.prototype.getXValue=function(a){var b=this.layout.options;return b.percentPosition&&!b.isHorizontal?a/this.layout.size.width*100+"%":a+"px"},g.prototype.getYValue=function(a){var b=this.layout.options;return b.percentPosition&&b.isHorizontal?a/this.layout.size.height*100+"%":a+"
px"},g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={};j.transform=this.getTranslate(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.getTranslate=function(a,b){var c=this.layout.options;return a=c.isOriginLeft?a:-a,b=c.isOriginTop?b:-b,n?"translate3d("+a+"px, "+b+"px, 0)":"translate("+a+"px, "+b+"px)"},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=m?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.protot
ype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r="opacity,"+h(q.transform||"transform");g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(o,this,!1))},g.prototype.transition=g.prototype[k?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target=
==this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(o,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!k||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()}
,g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:
"",transform:""})},g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){"use strict";function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults
={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(th
is.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isIn
stant=b||f.isLayoutInstant,c.push(g)}this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.dispatchEvent(a+"C
omplete",null,[b])}function d(){g++,g===f&&c()}var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.dispatchEvent=function(a,b,c){var d=b?[b].concat(c):c;if(this.emitEvent(a,d),i)if(this.$element=this.$element||i(this.element),b){var e=i.Event(b);e.type=a,this.$element.trigger(e,c)}else this.$element.trigger(a,c)},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&
&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1
},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){t
his._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,
this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.Item=b(a.Outlayer))}(window,function(a){"use strict";function b(){a.Item.apply(this,arguments)}b.prototype=new a.Item,b.prototype._create=function(){this.id=this.layout.itemGUID++,a.Item.prototype._create.call(this),this.sortData={}},b.prototype.updateSort
Data=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var a=this.layout.options.getSortData,b=this.layout._sorters;for(var c in a){var d=b[c];this.sortData[c]=d(this.element,this)}}};var c=b.prototype.destroy;return b.prototype.destroy=function(){c.apply(this,arguments),this.css({display:""})},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("get-size"),require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.LayoutMode=b(a.getSize,a.Outlayer))}(window,function(a,b){"use strict";function c(a){this.isotope=a,a&&(this.options=a.options[this.namespace],this.element=a.element,this.items=a.filteredItems,this.size=a.size)}return function(){function a(a){return function(){return b.prototype[a].apply(this.isotope,arguments)}}for(var d=["_resetLayout","_getItemLayoutP
osition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],e=0,f=d.length;f>e;e++){var g=d[e];c.prototype[g]=a(g)}}(),c.prototype.needsVerticalResizeLayout=function(){var b=a(this.isotope.element),c=this.isotope.size&&b;return c&&b.innerHeight!=this.isotope.size.innerHeight},c.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},c.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},c.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},c.prototype.getSegmentSize=function(a,b){var c=a+b,d="outer"+b;if(this._getMeasurement(c,d),!this[c]){var e=this.getFirstItemSize();this[c]=e&&e[d]||this.isotope.size["inner"+b]}},c.prototype.getFirstItemSize=function(){var b=this.isotope.filteredItems[0];return b&&b.element&&a(b.element)},c.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},c.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size}
,c.modes={},c.create=function(a,b){function d(){c.apply(this,arguments)}return d.prototype=new c,b&&(d.options=b),d.prototype.namespace=a,c.modes[a]=d,d},c}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}var d=this.columnWidth+=this.gutter,e=this.container
Width+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.
floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],b):"object"==typeof exports?module.exports=b(require("../layout-mode"),require("masonry-layout")):b(a.Isotope.LayoutMode,a.Masonry)}(window,function(a,b){"use strict";function c(a,b){for(var c in b)a
[c]=b[c];return a}var d=a.create("masonry"),e=d.prototype._getElementOffset,f=d.prototype.layout,g=d.prototype._getMeasurement;
+c(d.prototype,b.prototype),d.prototype._getElementOffset=e,d.prototype.layout=f,d.prototype._getMeasurement=g;var h=d.prototype.measureColumns;d.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,h.call(this)};var i=d.prototype._manageStamp;return d.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,i.apply(this,arguments)},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("fitRows");return b.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth+this.gutter,c=this.isotope.size.innerWidth+this.gutter;0!==th
is.x&&b+this.x>c&&(this.x=0,this.y=this.maxY);var d={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+a.size.outerHeight),this.x+=b,d},b.prototype._getContainerSize=function(){return{height:this.maxY}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("vertical",{horizontalAlignment:0});return b.prototype._resetLayout=function(){this.y=0},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=(this.isotope.size.innerWidth-a.size.outerWidth)*this.options.horizontalAlignment,c=this.y;return this.y+=a.size.outerHeight,{x:b,y:c}},b.prototype._getContainerSize=function(){return{height:this.y}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","
fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(c,d,e,f,g,h){return b(a,c,d,e,f,g,h)}):"object"==typeof exports?module.exports=b(a,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):a.Isotope=b(a,a.Outlayer,a.getSize,a.matchesSelector,a.fizzyUIUtils,a.Isotope.Item,a.Isotope.LayoutMode)}(window,function(a,b,c,d,e,f,g){function h(a,b){return function(c,d){for(var e=0,f=a.length;f>e;e++){var g=a[e],h=c.sortData[g],i=d.sortData[g];if(h>i||i>h){var j=void 0!==b[g]?b[g]:b,k=j?1:-1;return(h>i?1:-1)*k}}return 0}}var i=a.jQuery,j=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s+|\s+$/g,"")},k=document.documentElement,l=k.textConten
t?function(a){return a.textContent}:function(a){return a.innerText},m=b.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});m.Item=f,m.LayoutMode=g,m.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),b.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var a in g.modes)this._initLayoutMode(a)},m.prototype.reloadItems=function(){this.itemGUID=0,b.prototype.reloadItems.call(this)},m.prototype._itemize=function(){for(var a=b.prototype._itemize.apply(this,arguments),c=0,d=a.length;d>c;c++){var e=a[c];e.id=this.itemGUID++}return this._updateItemsSortData(a),a},m.prototype._initLayoutMode=function(a){var b=g.modes[a],c=this.options[a]||{};this.options[a]=b.options?e.extend(b.options,c):c,this.modes[a]=new b(this)},m.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?void this.arrange():void this._layout()},m.prototype._layout=function(){va
r a=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,a),this._isLayoutInited=!0},m.prototype.arrange=function(a){function b(){d.reveal(c.needReveal),d.hide(c.needHide)}this.option(a),this._getIsInstant();var c=this._filter(this.items);this.filteredItems=c.matches;var d=this;this._bindArrangeComplete(),this._isInstant?this._noTransition(b):b(),this._sort(),this._layout()},m.prototype._init=m.prototype.arrange,m.prototype._getIsInstant=function(){var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=a,a},m.prototype._bindArrangeComplete=function(){function a(){b&&c&&d&&e.dispatchEvent("arrangeComplete",null,[e.filteredItems])}var b,c,d,e=this;this.once("layoutComplete",function(){b=!0,a()}),this.once("hideComplete",function(){c=!0,a()}),this.once("revealComplete",function(){d=!0,a()})},m.prototype._filter=function(a){var b=this.options.filter;b=b||"*";for(var c=[],d=[],e=[]
,f=this._getFilterTest(b),g=0,h=a.length;h>g;g++){var i=a[g];if(!i.isIgnored){var j=f(i);j&&c.push(i),j&&i.isHidden?d.push(i):j||i.isHidden||e.push(i)}}return{matches:c,needReveal:d,needHide:e}},m.prototype._getFilterTest=function(a){return i&&this.options.isJQueryFiltering?function(b){return i(b.element).is(a)}:"function"==typeof a?function(b){return a(b.element)}:function(b){return d(b.element,a)}},m.prototype.updateSortData=function(a){var b;a?(a=e.makeArray(a),b=this.getItems(a)):b=this.items,this._getSorters(),this._updateItemsSortData(b)},m.prototype._getSorters=function(){var a=this.options.getSortData;for(var b in a){var c=a[b];this._sorters[b]=n(c)}},m.prototype._updateItemsSortData=function(a){for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.updateSortData()}};var n=function(){function a(a){if("string"!=typeof a)return a;var c=j(a).split(" "),d=c[0],e=d.match(/^\[(.+)\]$/),f=e&&e[1],g=b(f,d),h=m.sortDataParsers[c[1]];return a=h?function(a){return a&&h(g(a))}:function(a){
return a&&g(a)}}function b(a,b){var c;return c=a?function(b){return b.getAttribute(a)}:function(a){var c=a.querySelector(b);return c&&l(c)}}return a}();m.sortDataParsers={parseInt:function(a){return parseInt(a,10)},parseFloat:function(a){return parseFloat(a)}},m.prototype._sort=function(){var a=this.options.sortBy;if(a){var b=[].concat.apply(a,this.sortHistory),c=h(b,this.options.sortAscending);this.filteredItems.sort(c),a!=this.sortHistory[0]&&this.sortHistory.unshift(a)}},m.prototype._mode=function(){var a=this.options.layoutMode,b=this.modes[a];if(!b)throw new Error("No layout mode: "+a);return b.options=this.options[a],b},m.prototype._resetLayout=function(){b.prototype._resetLayout.call(this),this._mode()._resetLayout()},m.prototype._getItemLayoutPosition=function(a){return this._mode()._getItemLayoutPosition(a)},m.prototype._manageStamp=function(a){this._mode()._manageStamp(a)},m.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},m.prototype.needsRe
sizeLayout=function(){return this._mode().needsResizeLayout()},m.prototype.appended=function(a){var b=this.addItems(a);if(b.length){var c=this._filterRevealAdded(b);this.filteredItems=this.filteredItems.concat(c)}},m.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){this._resetLayout(),this._manageStamps();var c=this._filterRevealAdded(b);this.layoutItems(this.filteredItems),this.filteredItems=c.concat(this.filteredItems),this.items=b.concat(this.items)}},m.prototype._filterRevealAdded=function(a){var b=this._filter(a);return this.hide(b.needHide),this.reveal(b.matches),this.layoutItems(b.matches,!0),b.matches},m.prototype.insert=function(a){var b=this.addItems(a);if(b.length){var c,d,e=b.length;for(c=0;e>c;c++)d=b[c],this.element.appendChild(d.element);var f=this._filter(b).matches;for(c=0;e>c;c++)b[c].isLayoutInstant=!0;for(this.arrange(),c=0;e>c;c++)delete b[c].isLayoutInstant;this.reveal(f)}};var o=m.prototype.remove;return m.prototype.remove=function(a){a=e.ma
keArray(a);var b=this.getItems(a);o.call(this,a);var c=b&&b.length;if(c)for(var d=0;c>d;d++){var f=b[d];e.removeFrom(this.filteredItems,f)}},m.prototype.shuffle=function(){for(var a=0,b=this.items.length;b>a;a++){var c=this.items[a];c.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},m.prototype._noTransition=function(a){var b=this.options.transitionDuration;this.options.transitionDuration=0;var c=a.call(this);return this.options.transitionDuration=b,c},m.prototype.getFilteredItemElements=function(){for(var a=[],b=0,c=this.filteredItems.length;c>b;b++)a.push(this.filteredItems[b].element);return a},m});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/jQuery.MagnifierRentgen.min.js
----------------------------------------------------------------------
diff --git a/js/jQuery.MagnifierRentgen.min.js b/js/jQuery.MagnifierRentgen.min.js
new file mode 100644
index 0000000..4c63197
--- /dev/null
+++ b/js/jQuery.MagnifierRentgen.min.js
@@ -0,0 +1 @@
+$.fn.magnifierRentgen=function(){return this.each(function(){var i=$(this),e=i.data("image"),n=i.data("image-zoom"),t=i.data("size");i.addClass("magnifierRentgen").resize(function(){i.find(".data-image, .magnifier-loupe img").css({width:i.width()})}).append("\r\n <img class='data-image' src='"+e+"'>\r\n <div class='magnifier-loupe'>\r\n <img src='"+n+"'>\r\n ").hover(function(){i.find(".magnifier-loupe").stop().fadeIn()},function(){i.find(".magnifier-loupe").stop().fadeOut()}).find(".data-image").css({width:i.width()}).parent().find(".magnifier-loupe").css({width:t,height:t}).find("img").css({position:"absolute",width:i.width()}),i.mousemove(function(e){var n={},a=i.offset();n={left:e.pageX-a.left-t/2,top:e.pageY-a.top-t/2},i.find(".magnifier-loupe").css({top:n.top,left:n.left}).find("img").css({top:-n.top,left:-n.left,width:i.width()})}),$(window).resize(function(){$(".magnifierRentgen").resize()})})};
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/jquery.countTo.js
----------------------------------------------------------------------
diff --git a/js/jquery.countTo.js b/js/jquery.countTo.js
new file mode 100644
index 0000000..2d33383
--- /dev/null
+++ b/js/jquery.countTo.js
@@ -0,0 +1,7 @@
+/**
+ * @module jQuery Count To
+ * @author Matt Huggins
+ * @see https://github.com/mhuggins/jquery-countTo
+ * @license MIT License
+ */
+!function(t){function e(t,e){return t.toFixed(e.decimals)}var o=function(e,i){this.$element=t(e),this.options=t.extend({},o.DEFAULTS,this.dataOptions(),i),this.init()};o.DEFAULTS={from:0,to:0,speed:1e3,refreshInterval:100,decimals:0,formatter:e,onUpdate:null,onComplete:null},o.prototype.init=function(){this.value=this.options.from,this.loops=Math.ceil(this.options.speed/this.options.refreshInterval),this.loopCount=0,this.increment=(this.options.to-this.options.from)/this.loops},o.prototype.dataOptions=function(){var t={from:this.$element.data("from"),to:this.$element.data("to"),speed:this.$element.data("speed"),refreshInterval:this.$element.data("refresh-interval"),decimals:this.$element.data("decimals")},e=Object.keys(t);for(var o in e){var i=e[o];"undefined"==typeof t[i]&&delete t[i]}return t},o.prototype.update=function(){this.value+=this.increment,this.loopCount++,this.render(),"function"==typeof this.options.onUpdate&&this.options.onUpdate.call(this.$element,this.value),this.lo
opCount>=this.loops&&(clearInterval(this.interval),this.value=this.options.to,"function"==typeof this.options.onComplete&&this.options.onComplete.call(this.$element,this.value))},o.prototype.render=function(){var t=this.options.formatter.call(this.$element,this.value,this.options);this.$element.text(t)},o.prototype.restart=function(){this.stop(),this.init(),this.start()},o.prototype.start=function(){this.stop(),this.render(),this.interval=setInterval(this.update.bind(this),this.options.refreshInterval)},o.prototype.stop=function(){this.interval&&clearInterval(this.interval)},o.prototype.toggle=function(){this.interval?this.stop():this.start()},t.fn.countTo=function(e){return this.each(function(){var i=t(this),n=i.data("countTo"),s=!n||"object"==typeof e,r="object"==typeof e?e:{},a="string"==typeof e?e:"start";s&&(n&&n.stop(),i.data("countTo",n=new o(this,r))),n[a].call(n)})}}(jQuery);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/jquery.countdown.js
----------------------------------------------------------------------
diff --git a/js/jquery.countdown.js b/js/jquery.countdown.js
new file mode 100644
index 0000000..811844a
--- /dev/null
+++ b/js/jquery.countdown.js
@@ -0,0 +1,885 @@
+/* http://keith-wood.name/countdown.html
+ Countdown for jQuery v2.0.2.
+ Written by Keith Wood (kbwood{at}iinet.com.au) January 2008.
+ Available under the MIT (http://keith-wood.name/licence.html) license.
+ Please attribute the author if you use it. */
+
+(function($) { // Hide scope, no $ conflict
+
+ var pluginName = 'countdown';
+
+ var Y = 0; // Years
+ var O = 1; // Months
+ var W = 2; // Weeks
+ var D = 3; // Days
+ var H = 4; // Hours
+ var M = 5; // Minutes
+ var S = 6; // Seconds
+
+ /** Create the countdown plugin.
+ <p>Sets an element to show the time remaining until a given instant.</p>
+ <p>Expects HTML like:</p>
+ <pre><div></div></pre>
+ <p>Provide inline configuration like:</p>
+ <pre><div data-countdown="name: 'value'"></div></pre>
+ @module Countdown
+ @augments JQPlugin
+ @example $(selector).countdown({until: +300}) */
+ $.JQPlugin.createPlugin({
+
+ /** The name of the plugin. */
+ name: pluginName,
+
+ /** Countdown expiry callback.
+ Triggered when the countdown expires.
+ @callback expiryCallback */
+
+ /** Countdown server synchronisation callback.
+ Triggered when the countdown is initialised.
+ @callback serverSyncCallback
+ @return {Date} The current date/time on the server as expressed in the local timezone. */
+
+ /** Countdown tick callback.
+ Triggered on every <code>tickInterval</code> ticks of the countdown.
+ @callback tickCallback
+ @param periods {number[]} The breakdown by period (years, months, weeks, days,
+ hours, minutes, seconds) of the time remaining/passed. */
+
+ /** Countdown which labels callback.
+ Triggered when the countdown is being display to determine which set of labels
+ (<code>labels</code>, <code>labels1</code>, ...) are to be used for the current period value.
+ @callback whichLabelsCallback
+ @param num {number} The current period value.
+ @return {number} The suffix for the label set to use. */
+
+ /** Default settings for the plugin.
+ @property until {Date|number|string} The date/time to count down to, or number of seconds
+ offset from now, or string of amounts and units for offset(s) from now:
+ 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
+ @example until: new Date(2013, 12-1, 25, 13, 30)
+ until: +300
+ until: '+1O -2D'
+ @property [since] {Date|number|string} The date/time to count up from, or
+ number of seconds offset from now, or string for unit offset(s):
+ 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
+ @example since: new Date(2013, 1-1, 1)
+ since: -300
+ since: '-1O +2D'
+ @property [timezone=null] {number} The timezone (hours or minutes from GMT) for the target times,
+ or null for client local timezone.
+ @example timezone: +10
+ timezone: -60
+ @property [serverSync=null] {serverSyncCallback} A function to retrieve the current server time
+ for synchronisation.
+ @property [format='dHMS'] {string} The format for display - upper case for always, lower case only if non-zero,
+ 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
+ @property [layout=''] {string} Build your own layout for the countdown.
+ @example layout: '{d<}{dn} {dl}{d>} {hnn}:{mnn}:{snn}'
+ @property [compact=false] {boolean} True to display in a compact format, false for an expanded one.
+ @property [padZeroes=false] {boolean} True to add leading zeroes
+ @property [significant=0] {number} The number of periods with non-zero values to show, zero for all.
+ @property [description=''] {string} The description displayed for the countdown.
+ @property [expiryUrl=''] {string} A URL to load upon expiry, replacing the current page.
+ @property [expiryText=''] {string} Text to display upon expiry, replacing the countdown. This may be HTML.
+ @property [alwaysExpire=false] {boolean} True to trigger <code>onExpiry</code> even if target time has passed.
+ @property [onExpiry=null] {expiryCallback} Callback when the countdown expires -
+ receives no parameters and <code>this</code> is the containing division.
+ @example onExpiry: function() {
+ ...
+ }
+ @property [onTick=null] {tickCallback} Callback when the countdown is updated -
+ receives <code>number[7]</code> being the breakdown by period
+ (years, months, weeks, days, hours, minutes, seconds - based on
+ <code>format</code>) and <code>this</code> is the containing division.
+ @example onTick: function(periods) {
+ var secs = $.countdown.periodsToSeconds(periods);
+ if (secs < 300) { // Last five minutes
+ ...
+ }
+ }
+ @property [tickInterval=1] {number} The interval (seconds) between <code>onTick</code> callbacks. */
+ defaultOptions: {
+ until: null,
+ since: null,
+ timezone: null,
+ serverSync: null,
+ format: 'dHMS',
+ layout: '',
+ compact: false,
+ padZeroes: false,
+ significant: 0,
+ description: '',
+ expiryUrl: '',
+ expiryText: '',
+ alwaysExpire: false,
+ onExpiry: null,
+ onTick: null,
+ tickInterval: 1
+ },
+
+ /** Localisations for the plugin.
+ Entries are objects indexed by the language code ('' being the default US/English).
+ Each object has the following attributes.
+ @property [labels=['Years','Months','Weeks','Days','Hours','Minutes','Seconds']] {string[]}
+ The display texts for the counter periods.
+ @property [labels1=['Year','Month','Week','Day','Hour','Minute','Second']] {string[]}
+ The display texts for the counter periods if they have a value of 1.
+ Add other <code>labels<em>n</em></code> attributes as necessary to
+ cater for other numeric idiosyncrasies of the localisation.
+ @property [compactLabels=['y','m','w','d']] {string[]} The compact texts for the counter periods.
+ @property [whichLabels=null] {whichLabelsCallback} A function to determine which
+ <code>labels<em>n</em></code> to use.
+ @example whichLabels: function(num) {
+ return (num > 1 ? 0 : 1);
+ }
+ @property [digits=['0','1',...,'9']] {number[]} The digits to display (0-9).
+ @property [timeSeparator=':'] {string} Separator for time periods in the compact layout.
+ @property [isRTL=false] {boolean} True for right-to-left languages, false for left-to-right. */
+ regionalOptions: { // Available regional settings, indexed by language/country code
+ '': { // Default regional settings - English/US
+ labels: ['Years', 'Months', 'Weeks', 'Days', 'Hours', 'Minutes', 'Seconds'],
+ labels1: ['Year', 'Month', 'Week', 'Day', 'Hour', 'Minute', 'Second'],
+ compactLabels: ['y', 'm', 'w', 'd'],
+ whichLabels: null,
+ digits: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
+ timeSeparator: ':',
+ isRTL: false
+ }
+ },
+
+ /** Names of getter methods - those that can't be chained. */
+ _getters: ['getTimes'],
+
+ /* Class name for the right-to-left marker. */
+ _rtlClass: pluginName + '-rtl',
+ /* Class name for the countdown section marker. */
+ _sectionClass: pluginName + '-section',
+ /* Class name for the period amount marker. */
+ _amountClass: pluginName + '-amount',
+ /* Class name for the period name marker. */
+ _periodClass: pluginName + '-period',
+ /* Class name for the countdown row marker. */
+ _rowClass: pluginName + '-row',
+ /* Class name for the holding countdown marker. */
+ _holdingClass: pluginName + '-holding',
+ /* Class name for the showing countdown marker. */
+ _showClass: pluginName + '-show',
+ /* Class name for the description marker. */
+ _descrClass: pluginName + '-descr',
+
+ /* List of currently active countdown elements. */
+ _timerElems: [],
+
+ /** Additional setup for the countdown.
+ Apply default localisations.
+ Create the timer. */
+ _init: function() {
+ var self = this;
+ this._super();
+ this._serverSyncs = [];
+ var now = (typeof Date.now == 'function' ? Date.now :
+ function() { return new Date().getTime(); });
+ var perfAvail = (window.performance && typeof window.performance.now == 'function');
+ // Shared timer for all countdowns
+ function timerCallBack(timestamp) {
+ var drawStart = (timestamp < 1e12 ? // New HTML5 high resolution timer
+ (perfAvail ? (performance.now() + performance.timing.navigationStart) : now()) :
+ // Integer milliseconds since unix epoch
+ timestamp || now());
+ if (drawStart - animationStartTime >= 1000) {
+ self._updateElems();
+ animationStartTime = drawStart;
+ }
+ requestAnimationFrame(timerCallBack);
+ }
+ var requestAnimationFrame = window.requestAnimationFrame ||
+ window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame ||
+ window.oRequestAnimationFrame || window.msRequestAnimationFrame || null;
+ // This is when we expect a fall-back to setInterval as it's much more fluid
+ var animationStartTime = 0;
+ if (!requestAnimationFrame || $.noRequestAnimationFrame) {
+ $.noRequestAnimationFrame = null;
+ setInterval(function() { self._updateElems(); }, 980); // Fall back to good old setInterval
+ }
+ else {
+ animationStartTime = window.animationStartTime ||
+ window.webkitAnimationStartTime || window.mozAnimationStartTime ||
+ window.oAnimationStartTime || window.msAnimationStartTime || now();
+ requestAnimationFrame(timerCallBack);
+ }
+ },
+
+ /** Convert a date/time to UTC.
+ @param tz {number} The hour or minute offset from GMT, e.g. +9, -360.
+ @param year {Date|number} the date/time in that timezone or the year in that timezone.
+ @param [month] {number} The month (0 - 11) (omit if <code>year</code> is a <code>Date</code>).
+ @param [day] {number} The day (omit if <code>year</code> is a <code>Date</code>).
+ @param [hours] {number} The hour (omit if <code>year</code> is a <code>Date</code>).
+ @param [mins] {number} The minute (omit if <code>year</code> is a <code>Date</code>).
+ @param [secs] {number} The second (omit if <code>year</code> is a <code>Date</code>).
+ @param [ms] {number} The millisecond (omit if <code>year</code> is a <code>Date</code>).
+ @return {Date} The equivalent UTC date/time.
+ @example $.countdown.UTCDate(+10, 2013, 12-1, 25, 12, 0)
+ $.countdown.UTCDate(-7, new Date(2013, 12-1, 25, 12, 0)) */
+ UTCDate: function(tz, year, month, day, hours, mins, secs, ms) {
+ if (typeof year == 'object' && year.constructor == Date) {
+ ms = year.getMilliseconds();
+ secs = year.getSeconds();
+ mins = year.getMinutes();
+ hours = year.getHours();
+ day = year.getDate();
+ month = year.getMonth();
+ year = year.getFullYear();
+ }
+ var d = new Date();
+ d.setUTCFullYear(year);
+ d.setUTCDate(1);
+ d.setUTCMonth(month || 0);
+ d.setUTCDate(day || 1);
+ d.setUTCHours(hours || 0);
+ d.setUTCMinutes((mins || 0) - (Math.abs(tz) < 30 ? tz * 60 : tz));
+ d.setUTCSeconds(secs || 0);
+ d.setUTCMilliseconds(ms || 0);
+ return d;
+ },
+
+ /** Convert a set of periods into seconds.
+ Averaged for months and years.
+ @param periods {number[]} The periods per year/month/week/day/hour/minute/second.
+ @return {number} The corresponding number of seconds.
+ @example var secs = $.countdown.periodsToSeconds(periods) */
+ periodsToSeconds: function(periods) {
+ return periods[0] * 31557600 + periods[1] * 2629800 + periods[2] * 604800 +
+ periods[3] * 86400 + periods[4] * 3600 + periods[5] * 60 + periods[6];
+ },
+
+ /** Resynchronise the countdowns with the server.
+ @example $.countdown.resync() */
+ resync: function() {
+ var self = this;
+ $('.' + this._getMarker()).each(function() { // Each countdown
+ var inst = $.data(this, self.name);
+ if (inst.options.serverSync) { // If synced
+ var serverSync = null;
+ for (var i = 0; i < self._serverSyncs.length; i++) {
+ if (self._serverSyncs[i][0] == inst.options.serverSync) { // Find sync details
+ serverSync = self._serverSyncs[i];
+ break;
+ }
+ }
+ if (serverSync[2] == null) { // Recalculate if missing
+ var serverResult = ($.isFunction(inst.options.serverSync) ?
+ inst.options.serverSync.apply(this, []) : null);
+ serverSync[2] =
+ (serverResult ? new Date().getTime() - serverResult.getTime() : 0) - serverSync[1];
+ }
+ if (inst._since) { // Apply difference
+ inst._since.setMilliseconds(inst._since.getMilliseconds() + serverSync[2]);
+ }
+ inst._until.setMilliseconds(inst._until.getMilliseconds() + serverSync[2]);
+ }
+ });
+ for (var i = 0; i < self._serverSyncs.length; i++) { // Update sync details
+ if (self._serverSyncs[i][2] != null) {
+ self._serverSyncs[i][1] += self._serverSyncs[i][2];
+ delete self._serverSyncs[i][2];
+ }
+ }
+ },
+
+ _instSettings: function(elem, options) {
+ return {_periods: [0, 0, 0, 0, 0, 0, 0]};
+ },
+
+ /** Add an element to the list of active ones.
+ @private
+ @param elem {Element} The countdown element. */
+ _addElem: function(elem) {
+ if (!this._hasElem(elem)) {
+ this._timerElems.push(elem);
+ }
+ },
+
+ /** See if an element is in the list of active ones.
+ @private
+ @param elem {Element} The countdown element.
+ @return {boolean} True if present, false if not. */
+ _hasElem: function(elem) {
+ return ($.inArray(elem, this._timerElems) > -1);
+ },
+
+ /** Remove an element from the list of active ones.
+ @private
+ @param elem {Element} The countdown element. */
+ _removeElem: function(elem) {
+ this._timerElems = $.map(this._timerElems,
+ function(value) { return (value == elem ? null : value); }); // delete entry
+ },
+
+ /** Update each active timer element.
+ @private */
+ _updateElems: function() {
+ for (var i = this._timerElems.length - 1; i >= 0; i--) {
+ this._updateCountdown(this._timerElems[i]);
+ }
+ },
+
+ _optionsChanged: function(elem, inst, options) {
+ if (options.layout) {
+ options.layout = options.layout.replace(/</g, '<').replace(/>/g, '>');
+ }
+ this._resetExtraLabels(inst.options, options);
+ var timezoneChanged = (inst.options.timezone != options.timezone);
+ $.extend(inst.options, options);
+ this._adjustSettings(elem, inst,
+ options.until != null || options.since != null || timezoneChanged);
+ var now = new Date();
+ if ((inst._since && inst._since < now) || (inst._until && inst._until > now)) {
+ this._addElem(elem[0]);
+ }
+ this._updateCountdown(elem, inst);
+ },
+
+ /** Redisplay the countdown with an updated display.
+ @private
+ @param elem {Element|jQuery} The containing division.
+ @param inst {object} The current settings for this instance. */
+ _updateCountdown: function(elem, inst) {
+ elem = elem.jquery ? elem : $(elem);
+ inst = inst || this._getInst(elem);
+ if (!inst) {
+ return;
+ }
+ elem.html(this._generateHTML(inst)).toggleClass(this._rtlClass, inst.options.isRTL);
+ if ($.isFunction(inst.options.onTick)) {
+ var periods = inst._hold != 'lap' ? inst._periods :
+ this._calculatePeriods(inst, inst._show, inst.options.significant, new Date());
+ if (inst.options.tickInterval == 1 ||
+ this.periodsToSeconds(periods) % inst.options.tickInterval == 0) {
+ inst.options.onTick.apply(elem[0], [periods]);
+ }
+ }
+ var expired = inst._hold != 'pause' &&
+ (inst._since ? inst._now.getTime() < inst._since.getTime() :
+ inst._now.getTime() >= inst._until.getTime());
+ if (expired && !inst._expiring) {
+ inst._expiring = true;
+ if (this._hasElem(elem[0]) || inst.options.alwaysExpire) {
+ this._removeElem(elem[0]);
+ if ($.isFunction(inst.options.onExpiry)) {
+ inst.options.onExpiry.apply(elem[0], []);
+ }
+ if (inst.options.expiryText) {
+ var layout = inst.options.layout;
+ inst.options.layout = inst.options.expiryText;
+ this._updateCountdown(elem[0], inst);
+ inst.options.layout = layout;
+ }
+ if (inst.options.expiryUrl) {
+ window.location = inst.options.expiryUrl;
+ }
+ }
+ inst._expiring = false;
+ }
+ else if (inst._hold == 'pause') {
+ this._removeElem(elem[0]);
+ }
+ },
+
+ /** Reset any extra labelsn and compactLabelsn entries if changing labels.
+ @private
+ @param base {object} The options to be updated.
+ @param options {object} The new option values. */
+ _resetExtraLabels: function(base, options) {
+ for (var n in options) {
+ if (n.match(/[Ll]abels[02-9]|compactLabels1/)) {
+ base[n] = options[n];
+ }
+ }
+ for (var n in base) { // Remove custom numbered labels
+ if (n.match(/[Ll]abels[02-9]|compactLabels1/) && typeof options[n] === 'undefined') {
+ base[n] = null;
+ }
+ }
+ },
+
+ /** Calculate internal settings for an instance.
+ @private
+ @param elem {jQuery} The containing division.
+ @param inst {object} The current settings for this instance.
+ @param recalc {boolean} True if until or since are set. */
+ _adjustSettings: function(elem, inst, recalc) {
+ var serverEntry = null;
+ for (var i = 0; i < this._serverSyncs.length; i++) {
+ if (this._serverSyncs[i][0] == inst.options.serverSync) {
+ serverEntry = this._serverSyncs[i][1];
+ break;
+ }
+ }
+ if (serverEntry != null) {
+ var serverOffset = (inst.options.serverSync ? serverEntry : 0);
+ var now = new Date();
+ }
+ else {
+ var serverResult = ($.isFunction(inst.options.serverSync) ?
+ inst.options.serverSync.apply(elem[0], []) : null);
+ var now = new Date();
+ var serverOffset = (serverResult ? now.getTime() - serverResult.getTime() : 0);
+ this._serverSyncs.push([inst.options.serverSync, serverOffset]);
+ }
+ var timezone = inst.options.timezone;
+ timezone = (timezone == null ? -now.getTimezoneOffset() : timezone);
+ if (recalc || (!recalc && inst._until == null && inst._since == null)) {
+ inst._since = inst.options.since;
+ if (inst._since != null) {
+ inst._since = this.UTCDate(timezone, this._determineTime(inst._since, null));
+ if (inst._since && serverOffset) {
+ inst._since.setMilliseconds(inst._since.getMilliseconds() + serverOffset);
+ }
+ }
+ inst._until = this.UTCDate(timezone, this._determineTime(inst.options.until, now));
+ if (serverOffset) {
+ inst._until.setMilliseconds(inst._until.getMilliseconds() + serverOffset);
+ }
+ }
+ inst._show = this._determineShow(inst);
+ },
+
+ /** Remove the countdown widget from a div.
+ @param elem {jQuery} The containing division.
+ @param inst {object} The current instance object. */
+ _preDestroy: function(elem, inst) {
+ this._removeElem(elem[0]);
+ elem.empty();
+ },
+
+ /** Pause a countdown widget at the current time.
+ Stop it running but remember and display the current time.
+ @param elem {Element} The containing division.
+ @example $(selector).countdown('pause') */
+ pause: function(elem) {
+ this._hold(elem, 'pause');
+ },
+
+ /** Pause a countdown widget at the current time.
+ Stop the display but keep the countdown running.
+ @param elem {Element} The containing division.
+ @example $(selector).countdown('lap') */
+ lap: function(elem) {
+ this._hold(elem, 'lap');
+ },
+
+ /** Resume a paused countdown widget.
+ @param elem {Element} The containing division.
+ @example $(selector).countdown('resume') */
+ resume: function(elem) {
+ this._hold(elem, null);
+ },
+
+ /** Toggle a paused countdown widget.
+ @param elem {Element} The containing division.
+ @example $(selector).countdown('toggle') */
+ toggle: function(elem) {
+ var inst = $.data(elem, this.name) || {};
+ this[!inst._hold ? 'pause' : 'resume'](elem);
+ },
+
+ /** Toggle a lapped countdown widget.
+ @param elem {Element} The containing division.
+ @example $(selector).countdown('toggleLap') */
+ toggleLap: function(elem) {
+ var inst = $.data(elem, this.name) || {};
+ this[!inst._hold ? 'lap' : 'resume'](elem);
+ },
+
+ /** Pause or resume a countdown widget.
+ @private
+ @param elem {Element} The containing division.
+ @param hold {string} The new hold setting. */
+ _hold: function(elem, hold) {
+ var inst = $.data(elem, this.name);
+ if (inst) {
+ if (inst._hold == 'pause' && !hold) {
+ inst._periods = inst._savePeriods;
+ var sign = (inst._since ? '-' : '+');
+ inst[inst._since ? '_since' : '_until'] =
+ this._determineTime(sign + inst._periods[0] + 'y' +
+ sign + inst._periods[1] + 'o' + sign + inst._periods[2] + 'w' +
+ sign + inst._periods[3] + 'd' + sign + inst._periods[4] + 'h' +
+ sign + inst._periods[5] + 'm' + sign + inst._periods[6] + 's');
+ this._addElem(elem);
+ }
+ inst._hold = hold;
+ inst._savePeriods = (hold == 'pause' ? inst._periods : null);
+ $.data(elem, this.name, inst);
+ this._updateCountdown(elem, inst);
+ }
+ },
+
+ /** Return the current time periods.
+ @param elem {Element} The containing division.
+ @return {number[]} The current periods for the countdown.
+ @example var periods = $(selector).countdown('getTimes') */
+ getTimes: function(elem) {
+ var inst = $.data(elem, this.name);
+ return (!inst ? null : (inst._hold == 'pause' ? inst._savePeriods : (!inst._hold ? inst._periods :
+ this._calculatePeriods(inst, inst._show, inst.options.significant, new Date()))));
+ },
+
+ /** A time may be specified as an exact value or a relative one.
+ @private
+ @param setting {string|number|Date} The date/time value as a relative or absolute value.
+ @param defaultTime {Date} The date/time to use if no other is supplied.
+ @return {Date} The corresponding date/time. */
+ _determineTime: function(setting, defaultTime) {
+ var self = this;
+ var offsetNumeric = function(offset) { // e.g. +300, -2
+ var time = new Date();
+ time.setTime(time.getTime() + offset * 1000);
+ return time;
+ };
+ var offsetString = function(offset) { // e.g. '+2d', '-4w', '+3h +30m'
+ offset = offset.toLowerCase();
+ var time = new Date();
+ var year = time.getFullYear();
+ var month = time.getMonth();
+ var day = time.getDate();
+ var hour = time.getHours();
+ var minute = time.getMinutes();
+ var second = time.getSeconds();
+ var pattern = /([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;
+ var matches = pattern.exec(offset);
+ while (matches) {
+ switch (matches[2] || 's') {
+ case 's': second += parseInt(matches[1], 10); break;
+ case 'm': minute += parseInt(matches[1], 10); break;
+ case 'h': hour += parseInt(matches[1], 10); break;
+ case 'd': day += parseInt(matches[1], 10); break;
+ case 'w': day += parseInt(matches[1], 10) * 7; break;
+ case 'o':
+ month += parseInt(matches[1], 10);
+ day = Math.min(day, self._getDaysInMonth(year, month));
+ break;
+ case 'y':
+ year += parseInt(matches[1], 10);
+ day = Math.min(day, self._getDaysInMonth(year, month));
+ break;
+ }
+ matches = pattern.exec(offset);
+ }
+ return new Date(year, month, day, hour, minute, second, 0);
+ };
+ var time = (setting == null ? defaultTime :
+ (typeof setting == 'string' ? offsetString(setting) :
+ (typeof setting == 'number' ? offsetNumeric(setting) : setting)));
+ if (time) time.setMilliseconds(0);
+ return time;
+ },
+
+ /** Determine the number of days in a month.
+ @private
+ @param year {number} The year.
+ @param month {number} The month.
+ @return {number} The days in that month. */
+ _getDaysInMonth: function(year, month) {
+ return 32 - new Date(year, month, 32).getDate();
+ },
+
+ /** Default implementation to determine which set of labels should be used for an amount.
+ Use the <code>labels</code> attribute with the same numeric suffix (if it exists).
+ @private
+ @param num {number} The amount to be displayed.
+ @return {number} The set of labels to be used for this amount. */
+ _normalLabels: function(num) {
+ return num;
+ },
+
+ /** Generate the HTML to display the countdown widget.
+ @private
+ @param inst {object} The current settings for this instance.
+ @return {string} The new HTML for the countdown display. */
+ _generateHTML: function(inst) {
+ var self = this;
+ // Determine what to show
+ inst._periods = (inst._hold ? inst._periods :
+ this._calculatePeriods(inst, inst._show, inst.options.significant, new Date()));
+ // Show all 'asNeeded' after first non-zero value
+ var shownNonZero = false;
+ var showCount = 0;
+ var sigCount = inst.options.significant;
+ var show = $.extend({}, inst._show);
+ for (var period = Y; period <= S; period++) {
+ shownNonZero |= (inst._show[period] == '?' && inst._periods[period] > 0);
+ show[period] = (inst._show[period] == '?' && !shownNonZero ? null : inst._show[period]);
+ showCount += (show[period] ? 1 : 0);
+ sigCount -= (inst._periods[period] > 0 ? 1 : 0);
+ }
+ var showSignificant = [false, false, false, false, false, false, false];
+ for (var period = S; period >= Y; period--) { // Determine significant periods
+ if (inst._show[period]) {
+ if (inst._periods[period]) {
+ showSignificant[period] = true;
+ }
+ else {
+ showSignificant[period] = sigCount > 0;
+ sigCount--;
+ }
+ }
+ }
+ var labels = (inst.options.compact ? inst.options.compactLabels : inst.options.labels);
+ var whichLabels = inst.options.whichLabels || this._normalLabels;
+ var showCompact = function(period) {
+ var labelsNum = inst.options['compactLabels' + whichLabels(inst._periods[period])];
+ return (show[period] ? self._translateDigits(inst, inst._periods[period]) +
+ (labelsNum ? labelsNum[period] : labels[period]) + ' ' : '');
+ };
+ var minDigits = (inst.options.padZeroes ? 2 : 1);
+ var showFull = function(period) {
+ var labelsNum = inst.options['labels' + whichLabels(inst._periods[period])];
+ return ((!inst.options.significant && show[period]) ||
+ (inst.options.significant && showSignificant[period]) ?
+ '<span class="' + self._sectionClass + '">' +
+ '<span class="' + self._amountClass + '">' +
+ self._minDigits(inst, inst._periods[period], minDigits) + '</span>' +
+ '<span class="' + self._periodClass + '">' +
+ (labelsNum ? labelsNum[period] : labels[period]) + '</span></span>' : '');
+ };
+ return (inst.options.layout ? this._buildLayout(inst, show, inst.options.layout,
+ inst.options.compact, inst.options.significant, showSignificant) :
+ ((inst.options.compact ? // Compact version
+ '<span class="' + this._rowClass + ' ' + this._amountClass +
+ (inst._hold ? ' ' + this._holdingClass : '') + '">' +
+ showCompact(Y) + showCompact(O) + showCompact(W) + showCompact(D) +
+ (show[H] ? this._minDigits(inst, inst._periods[H], 2) : '') +
+ (show[M] ? (show[H] ? inst.options.timeSeparator : '') +
+ this._minDigits(inst, inst._periods[M], 2) : '') +
+ (show[S] ? (show[H] || show[M] ? inst.options.timeSeparator : '') +
+ this._minDigits(inst, inst._periods[S], 2) : '') :
+ // Full version
+ '<span class="' + this._rowClass + ' ' + this._showClass + (inst.options.significant || showCount) +
+ (inst._hold ? ' ' + this._holdingClass : '') + '">' +
+ showFull(Y) + showFull(O) + showFull(W) + showFull(D) +
+ showFull(H) + showFull(M) + showFull(S)) + '</span>' +
+ (inst.options.description ? '<span class="' + this._rowClass + ' ' + this._descrClass + '">' +
+ inst.options.description + '</span>' : '')));
+ },
+
+ /** Construct a custom layout.
+ @private
+ @param inst {object} The current settings for this instance.
+ @param show {boolean[]} Flags indicating which periods are requested.
+ @param layout {string} The customised layout.
+ @param compact {boolean} True if using compact labels.
+ @param significant {number} The number of periods with values to show, zero for all.
+ @param showSignificant {boolean[]} Other periods to show for significance.
+ @return {string} The custom HTML. */
+ _buildLayout: function(inst, show, layout, compact, significant, showSignificant) {
+ var labels = inst.options[compact ? 'compactLabels' : 'labels'];
+ var whichLabels = inst.options.whichLabels || this._normalLabels;
+ var labelFor = function(index) {
+ return (inst.options[(compact ? 'compactLabels' : 'labels') +
+ whichLabels(inst._periods[index])] || labels)[index];
+ };
+ var digit = function(value, position) {
+ return inst.options.digits[Math.floor(value / position) % 10];
+ };
+ var subs = {desc: inst.options.description, sep: inst.options.timeSeparator,
+ yl: labelFor(Y), yn: this._minDigits(inst, inst._periods[Y], 1),
+ ynn: this._minDigits(inst, inst._periods[Y], 2),
+ ynnn: this._minDigits(inst, inst._periods[Y], 3), y1: digit(inst._periods[Y], 1),
+ y10: digit(inst._periods[Y], 10), y100: digit(inst._periods[Y], 100),
+ y1000: digit(inst._periods[Y], 1000),
+ ol: labelFor(O), on: this._minDigits(inst, inst._periods[O], 1),
+ onn: this._minDigits(inst, inst._periods[O], 2),
+ onnn: this._minDigits(inst, inst._periods[O], 3), o1: digit(inst._periods[O], 1),
+ o10: digit(inst._periods[O], 10), o100: digit(inst._periods[O], 100),
+ o1000: digit(inst._periods[O], 1000),
+ wl: labelFor(W), wn: this._minDigits(inst, inst._periods[W], 1),
+ wnn: this._minDigits(inst, inst._periods[W], 2),
+ wnnn: this._minDigits(inst, inst._periods[W], 3), w1: digit(inst._periods[W], 1),
+ w10: digit(inst._periods[W], 10), w100: digit(inst._periods[W], 100),
+ w1000: digit(inst._periods[W], 1000),
+ dl: labelFor(D), dn: this._minDigits(inst, inst._periods[D], 1),
+ dnn: this._minDigits(inst, inst._periods[D], 2),
+ dnnn: this._minDigits(inst, inst._periods[D], 3), d1: digit(inst._periods[D], 1),
+ d10: digit(inst._periods[D], 10), d100: digit(inst._periods[D], 100),
+ d1000: digit(inst._periods[D], 1000),
+ hl: labelFor(H), hn: this._minDigits(inst, inst._periods[H], 1),
+ hnn: this._minDigits(inst, inst._periods[H], 2),
+ hnnn: this._minDigits(inst, inst._periods[H], 3), h1: digit(inst._periods[H], 1),
+ h10: digit(inst._periods[H], 10), h100: digit(inst._periods[H], 100),
+ h1000: digit(inst._periods[H], 1000),
+ ml: labelFor(M), mn: this._minDigits(inst, inst._periods[M], 1),
+ mnn: this._minDigits(inst, inst._periods[M], 2),
+ mnnn: this._minDigits(inst, inst._periods[M], 3), m1: digit(inst._periods[M], 1),
+ m10: digit(inst._periods[M], 10), m100: digit(inst._periods[M], 100),
+ m1000: digit(inst._periods[M], 1000),
+ sl: labelFor(S), sn: this._minDigits(inst, inst._periods[S], 1),
+ snn: this._minDigits(inst, inst._periods[S], 2),
+ snnn: this._minDigits(inst, inst._periods[S], 3), s1: digit(inst._periods[S], 1),
+ s10: digit(inst._periods[S], 10), s100: digit(inst._periods[S], 100),
+ s1000: digit(inst._periods[S], 1000)};
+ var html = layout;
+ // Replace period containers: {p<}...{p>}
+ for (var i = Y; i <= S; i++) {
+ var period = 'yowdhms'.charAt(i);
+ var re = new RegExp('\\{' + period + '<\\}([\\s\\S]*)\\{' + period + '>\\}', 'g');
+ html = html.replace(re, ((!significant && show[i]) ||
+ (significant && showSignificant[i]) ? '$1' : ''));
+ }
+ // Replace period values: {pn}
+ $.each(subs, function(n, v) {
+ var re = new RegExp('\\{' + n + '\\}', 'g');
+ html = html.replace(re, v);
+ });
+ return html;
+ },
+
+ /** Ensure a numeric value has at least n digits for display.
+ @private
+ @param inst {object} The current settings for this instance.
+ @param value {number} The value to display.
+ @param len {number} The minimum length.
+ @return {string} The display text. */
+ _minDigits: function(inst, value, len) {
+ value = '' + value;
+ if (value.length >= len) {
+ return this._translateDigits(inst, value);
+ }
+ value = '0000000000' + value;
+ return this._translateDigits(inst, value.substr(value.length - len));
+ },
+
+ /** Translate digits into other representations.
+ @private
+ @param inst {object} The current settings for this instance.
+ @param value {string} The text to translate.
+ @return {string} The translated text. */
+ _translateDigits: function(inst, value) {
+ return ('' + value).replace(/[0-9]/g, function(digit) {
+ return inst.options.digits[digit];
+ });
+ },
+
+ /** Translate the format into flags for each period.
+ @private
+ @param inst {object} The current settings for this instance.
+ @return {string[]} Flags indicating which periods are requested (?) or
+ required (!) by year, month, week, day, hour, minute, second. */
+ _determineShow: function(inst) {
+ var format = inst.options.format;
+ var show = [];
+ show[Y] = (format.match('y') ? '?' : (format.match('Y') ? '!' : null));
+ show[O] = (format.match('o') ? '?' : (format.match('O') ? '!' : null));
+ show[W] = (format.match('w') ? '?' : (format.match('W') ? '!' : null));
+ show[D] = (format.match('d') ? '?' : (format.match('D') ? '!' : null));
+ show[H] = (format.match('h') ? '?' : (format.match('H') ? '!' : null));
+ show[M] = (format.match('m') ? '?' : (format.match('M') ? '!' : null));
+ show[S] = (format.match('s') ? '?' : (format.match('S') ? '!' : null));
+ return show;
+ },
+
+ /** Calculate the requested periods between now and the target time.
+ @private
+ @param inst {object} The current settings for this instance.
+ @param show {string[]} Flags indicating which periods are requested/required.
+ @param significant {number} The number of periods with values to show, zero for all.
+ @param now {Date} The current date and time.
+ @return {number[]} The current time periods (always positive)
+ by year, month, week, day, hour, minute, second. */
+ _calculatePeriods: function(inst, show, significant, now) {
+ // Find endpoints
+ inst._now = now;
+ inst._now.setMilliseconds(0);
+ var until = new Date(inst._now.getTime());
+ if (inst._since) {
+ if (now.getTime() < inst._since.getTime()) {
+ inst._now = now = until;
+ }
+ else {
+ now = inst._since;
+ }
+ }
+ else {
+ until.setTime(inst._until.getTime());
+ if (now.getTime() > inst._until.getTime()) {
+ inst._now = now = until;
+ }
+ }
+ // Calculate differences by period
+ var periods = [0, 0, 0, 0, 0, 0, 0];
+ if (show[Y] || show[O]) {
+ // Treat end of months as the same
+ var lastNow = this._getDaysInMonth(now.getFullYear(), now.getMonth());
+ var lastUntil = this._getDaysInMonth(until.getFullYear(), until.getMonth());
+ var sameDay = (until.getDate() == now.getDate() ||
+ (until.getDate() >= Math.min(lastNow, lastUntil) &&
+ now.getDate() >= Math.min(lastNow, lastUntil)));
+ var getSecs = function(date) {
+ return (date.getHours() * 60 + date.getMinutes()) * 60 + date.getSeconds();
+ };
+ var months = Math.max(0,
+ (until.getFullYear() - now.getFullYear()) * 12 + until.getMonth() - now.getMonth() +
+ ((until.getDate() < now.getDate() && !sameDay) ||
+ (sameDay && getSecs(until) < getSecs(now)) ? -1 : 0));
+ periods[Y] = (show[Y] ? Math.floor(months / 12) : 0);
+ periods[O] = (show[O] ? months - periods[Y] * 12 : 0);
+ // Adjust for months difference and end of month if necessary
+ now = new Date(now.getTime());
+ var wasLastDay = (now.getDate() == lastNow);
+ var lastDay = this._getDaysInMonth(now.getFullYear() + periods[Y],
+ now.getMonth() + periods[O]);
+ if (now.getDate() > lastDay) {
+ now.setDate(lastDay);
+ }
+ now.setFullYear(now.getFullYear() + periods[Y]);
+ now.setMonth(now.getMonth() + periods[O]);
+ if (wasLastDay) {
+ now.setDate(lastDay);
+ }
+ }
+ var diff = Math.floor((until.getTime() - now.getTime()) / 1000);
+ var extractPeriod = function(period, numSecs) {
+ periods[period] = (show[period] ? Math.floor(diff / numSecs) : 0);
+ diff -= periods[period] * numSecs;
+ };
+ extractPeriod(W, 604800);
+ extractPeriod(D, 86400);
+ extractPeriod(H, 3600);
+ extractPeriod(M, 60);
+ extractPeriod(S, 1);
+ if (diff > 0 && !inst._since) { // Round up if left overs
+ var multiplier = [1, 12, 4.3482, 7, 24, 60, 60];
+ var lastShown = S;
+ var max = 1;
+ for (var period = S; period >= Y; period--) {
+ if (show[period]) {
+ if (periods[lastShown] >= max) {
+ periods[lastShown] = 0;
+ diff = 1;
+ }
+ if (diff > 0) {
+ periods[period]++;
+ diff = 0;
+ lastShown = period;
+ max = 1;
+ }
+ }
+ max *= multiplier[period];
+ }
+ }
+ if (significant) { // Zero out insignificant periods
+ for (var period = Y; period <= S; period++) {
+ if (significant && periods[period]) {
+ significant--;
+ }
+ else if (!significant) {
+ periods[period] = 0;
+ }
+ }
+ }
+ return periods;
+ }
+ });
+
+})(jQuery);
http://git-wip-us.apache.org/repos/asf/incubator-iota-site/blob/9b5251fe/js/jquery.counter.js
----------------------------------------------------------------------
diff --git a/js/jquery.counter.js b/js/jquery.counter.js
new file mode 100644
index 0000000..b5133b1
--- /dev/null
+++ b/js/jquery.counter.js
@@ -0,0 +1,35 @@
+;(function($) {
+ $.fn.counter = function(options) {
+ // Set default values
+ var defaults = {
+ start: 0,
+ end: 10,
+ time: 10,
+ step: 1000,
+ callback: function() { }
+ }
+ var options = $.extend(defaults, options);
+ var _this = $(this);
+ // The actual function that does the counting
+ function counterFunc(el, increment, end){
+ var value = parseInt(el.html(), 10) + increment;
+ if(value >= end) {
+ el.html(Math.round(end));
+ options.callback();
+ } else {
+ el.html(Math.round(value));
+ setTimeout(function () {
+ counterFunc(el, increment, end)
+ },options.step);
+ }
+ }
+
+ $(this).html(Math.round(options.start));
+
+ var increment = (options.end - options.start) / ((1000 / options.step) * options.time);
+
+ setTimeout(function () {
+ counterFunc(_this, increment, options.end)
+ },options.step);
+ }
+})(jQuery);
\ No newline at end of file