1// 2// vein 3// 4 5!function(e,t){"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("vein",t):this.vein=t()}(0,function(){var e=function(){},t=function(e,t,n){var s,r,l=[],i=[],u=t[document.all?"rules":"cssRules"],o=e.replace(/\s/g,"");for(s=0,r=u.length;s<r;s++)(u[s].selectorText===e||4===u[s].type&&u[s].cssText.replace(/\s/g,"").substring(0,o.length)==o)&&(null===n?i.push(s):l.push(u[s]));for(s=0,r=i.length;s<r;s++)t.deleteRule(i[s]);return l},n=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+": "+e[n]+";");return t.join("")};e.getStylesheet=function(){return this.element&&document.getElementById("vein")||(this.element=document.createElement("style"),this.element.setAttribute("type","text/css"),this.element.setAttribute("id","vein"),document.getElementsByTagName("head")[0].appendChild(this.element),this.stylesheet=this.element.sheet),this.stylesheet};var s=function(e){return e[document.all?"rules":"cssRules"]},r=function(e,t,n){var r=s(n);n.insertRule?n.insertRule(e+"{"+t+"}",r.length):n.addRule(e,t,r.length)};return e.inject=function(e,l,i){var u,o,h,f,c,a,y,d,g,p,m=(i=function(e){e=e||{};for(var t=1;t<arguments.length;t++)if(arguments[t])for(var n in arguments[t])arguments[t].hasOwnProperty(n)&&(e[n]=arguments[t][n]);return e}({},i)).stylesheet||this.getStylesheet();s(m);for("string"==typeof e&&(e=[e]),u=0,o=e.length;u<o;u++)if("object"==typeof e[u]&&m.insertRule)for(h in e[u])if(0===(f=t(h,m,l)).length)for(c=n(l),g=0,p=e[u][h].length;g<p;g++)r(h,e[u][h][g]+"{"+c+"}",m);else for(y=0,d=f.length;y<d;y++)this.inject(e[u][h],l,{stylesheet:f[y]});else{if(f=t(e[u],m,l),null===l)return;if(0===f.length)c=n(l),r(e[u],c,m);else for(y=0,d=f.length;y<d;y++)for(a in l)l.hasOwnProperty(a)&&(f[y].style.setProperty?f[y].style.setProperty(a,l[a],""):f[y].style.setAttribute(a,l[a],""))}return this},e}); 6 7 8// 9// jwlib-utils 10// 11 12(function($){"use strict";jQuery.fn.exists=function(){return jQuery(this).length>0;};jQuery.getParameterByName=function(name,url){if(!url)url=window.location.href;name=name.replace(/[[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^&#]*)|&|#|$)"),results=regex.exec(url);if(!results)return null;if(!results[2])return"";return decodeURIComponent(results[2].replace(/\+/g," "));};jQuery.debug=function(){if(window.debug===true)window.debug=1;var maxlevel=parseInt($.getParameterByName("debug")||window.debug)||0;if(maxlevel===0)return;var args=Array.prototype.slice.call(arguments),group="debug",loglevel=1;if(args.length>1&&typeof(args[args.length-1])==="number"){loglevel=args.pop();} 13if(loglevel>maxlevel)return;if(args.length>1&&typeof(args[0])==="string"){group=args.shift();} 14var debugGroup=$.getParameterByName("debugGroup")||window.debugGroup;if(debugGroup&&!group.match(debugGroup))return;console.group(group);args.forEach(function(arg){if(Array.isArray(arg)&&typeof arg[0]!=="object"){console.table(arg);} 15else{console.log(arg);}});console.groupEnd();};jQuery.isMobile=jQuery.isTouch=function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch||false;};if(jQuery.isTouch())document.documentElement.classList.add("touch");jQuery.clearBrowserCache=function(){$(window).on("pageshow",function(event){if(event.originalEvent.persisted){window.location.reload();}});};jQuery.preloadImages=function(){for(var i=0;i<arguments.length;i++){$("<img />").attr("src",arguments[i]);}};var triggerWindowResize=function(){$(window).trigger("resize");};if(typeof(orientationEvent)==undefined){var orientationEvent=0;} 16$(window).on(orientationEvent,triggerWindowResize).on("load",triggerWindowResize);})(jQuery); 17 18 19// 20// storageapi 21// 22 23/*! 24 * jQuery Cookie Plugin v1.4.1 25 * https://github.com/carhartl/jquery-cookie 26 * 27 * Copyright 2013 Klaus Hartl 28 * Released under the MIT license 29 */ 30!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(b){var c,d,e,f=arguments.length,g=window[b],h=arguments,i=h[1];if(2>f)throw new Error("Minimum 2 arguments must be given");if(a.isArray(i)){d={};for(var j in i){c=i[j];try{d[c]=JSON.parse(g.getItem(c))}catch(k){d[c]=g.getItem(c)}}return d}if(2!=f){try{d=JSON.parse(g.getItem(i))}catch(k){throw new ReferenceError(i+" is not defined in this storage")}for(var j=2;f-1>j;j++)if(d=d[h[j]],void 0===d)throw new ReferenceError([].slice.call(h,1,j+1).join(".")+" is not defined in this storage");if(a.isArray(h[j])){e=d,d={};for(var l in h[j])d[h[j][l]]=e[h[j][l]];return d}return d[h[j]]}try{return JSON.parse(g.getItem(i))}catch(k){return g.getItem(i)}}function c(b){var c,d,e=arguments.length,f=window[b],g=arguments,h=g[1],i=g[2],j={};if(2>e||!a.isPlainObject(h)&&3>e)throw new Error("Minimum 3 arguments must be given or second parameter must be an object");
30if(a.isPlainObject(h)){for(var k in h)c=h[k],a.isPlainObject(c)?f.setItem(k,JSON.stringify(c)):f.setItem(k,c);return h}if(3==e)return"object"==typeof i?f.setItem(h,JSON.stringify(i)):f.setItem(h,i),i;try{d=f.getItem(h),null!=d&&(j=JSON.parse(d))}catch(l){}d=j;for(var k=2;e-2>k;k++)c=g[k],d[c]&&a.isPlainObject(d[c])||(d[c]={}),d=d[c];return d[g[k]]=g[k+1],f.setItem(h,JSON.stringify(j)),j}function d(b){var c,d,e=arguments.length,f=window[b],g=arguments,h=g[1];if(2>e)throw new Error("Minimum 2 arguments must be given");if(a.isArray(h)){for(var i in h)f.removeItem(h[i]);return!0}if(2==e)return f.removeItem(h),!0;try{c=d=JSON.parse(f.getItem(h))}catch(j){throw new ReferenceError(h+" is not defined in this storage")}for(var i=2;e-1>i;i++)if(d=d[g[i]],void 0===d)throw new ReferenceError([].slice.call(g,1,i).join(".")+" is not defined in this storage");if(a.isArray(g[i]))for(var k in g[i])delete d[g[i][k]];else delete d[g[i]];return f.setItem(h,JSON.stringify(c)),!0}function e(b,c){var e=h(b);for(var f in e)d(b,e[f]);if(c)for(var f in a.namespaceStorages)i(f)}function f(c){var d=arguments.length,e=arguments,g=(window[c],e[1]);if(1==d)return 0==h(c).length;if(a.isArray(g)){for(var i=0;i<g.length;i++)if(!f(c,g[i]))return!1;return!0}try{var j=b.apply(this,arguments);a.isArray(e[d-1])||(j={totest:j});for(var i in j)if(!(a.isPlainObject(j[i])&&a.isEmptyObject(j[i])||a.isArray(j[i])&&!j[i].length)&&j[i])return!1;return!0}catch(k){return!0}}function g(c){var d=arguments.length,e=arguments,f=(window[c],e[1]);if(2>d)throw new Error("Minimum 2 arguments must be given");if(a.isArray(f)){for(var h=0;h<f.length;h++)if(!g(c,f[h]))return!1;return!0}try{var i=b.apply(this,arguments);a.isArray(e[d-1])||(i={totest:i});for(var h in i)if(void 0===i[h]||null===i[h])return!1;return!0}catch(j){return!1}}function h(c){var d=arguments.length,e=window[c],f=arguments,g=(f[1],[]),h={};if(h=d>1?b.apply(this,f):e,h&&h._cookie)for(var i in a.cookie())""!=i&&g.push(i.replace(h._prefix,""));else for(var j in h)g.push(j);return g}function i(b){if(!b||"string"!=typeof b)throw new Error("First parameter must be a string");m?(window.localStorage.getItem(b)||window.localStorage.setItem(b,"{}"),window.sessionStorage.getItem(b)||window.sessionStorage.setItem(b,"{}")):(window.localCookieStorage.getItem(b)||window.localCookieStorage.setItem(b,"{}"),window.sessionCookieStorage.getItem(b)||window.sessionCookieStorage.setItem(b,"{}"));var c={localStorage:a.extend({},a.localStorage,{_ns:b}),sessionStorage:a.extend({},a.sessionStorage,{_ns:b})};return a.cookie&&(window.cookieStorage.getItem(b)||window.cookieStorage.setItem(b,"{}"),c.cookieStorage=a.extend({},a.cookieStorage,{_ns:b})),a.namespaceStorages[b]=c,c}function j(a){var b="jsapi";try{return window[a]?(window[a].setItem(b,b),window[a].removeItem(b),!0):!1}catch(c){return!1}}var k="ls_",l="ss_",m=j("localStorage"),n={_type:"",_ns:"",_callMethod:function(a,b){var c=[this._type],b=Array.prototype.slice.call(b),d=b[0];return this._ns&&c.push(this._ns),"string"==typeof d&&-1!==d.indexOf(".")&&(b.shift(),[].unshift.apply(b,d.split("."))),[].push.apply(c,b),a.apply(this,c)},get:function(){return this._callMethod(b,arguments)},set:function(){var b=arguments.length,d=arguments,e=d[0];if(1>b||!a.isPlainObject(e)&&2>b)throw new Error("Minimum 2 arguments must be given or first parameter must be an object");if(a.isPlainObject(e)&&this._ns){for(var f in e)c(this._type,this._ns,f,e[f]);return e}var g=this._callMethod(c,d);return this._ns?g[e.split(".")[0]]:g},remove:function(){if(arguments.length<1)throw new Error("Minimum 1 argument must be given");return this._callMethod(d,arguments)},removeAll:function(a){return this._ns?(c(this._type,this._ns,{}),!0):e(this._type,a)},isEmpty:function(){return this._callMethod(f,arguments)},isSet:function(){if(arguments.length<1)throw new Error("Minimum 1 argument must be given");return this._callMethod(g,arguments)},keys:function(){return this._callMethod(h,arguments)}};if(a.cookie){window.name||(window.name=Math.floor(1e8*Math.random()));var o={_cookie:!0,_prefix:"",_expires:null,_path:null,_domain:null,setItem:function(b,c){a.cookie(this._prefix+b,c,{expires:this._expires,path:this._path,domain:this._domain})},getItem:function(b){return a.cookie(this._prefix+b)},removeItem:function(b){return a.removeCookie(this._prefix+b)},clear:function(){for(var b in a.cookie())""!=b&&(!this._prefix&&-1===b.indexOf(k)&&-1===b.indexOf(l)||this._prefix&&0===b.indexOf(this._prefix))&&a.removeCookie(b)},setExpires:function(a){return this._expires=a,this},setPath:function(a){return this._path=a,this},setDomain:function(a){return this._domain=a,this},setConf:function(a){return a.path&&(this._path=a.path),a.domain&&(this._domain=a.domain),a.expires&&(this._expires=a.expires),this},setDefaultConf:function(){this._path=this._domain=this._expires=null}};m||(window.localCookieStorage=a.extend({},o,{_prefix:k,_expires:3650}
30),window.sessionCookieStorage=a.extend({},o,{_prefix:l+window.name+"_"})),window.cookieStorage=a.extend({},o),a.cookieStorage=a.extend({},n,{_type:"cookieStorage",setExpires:function(a){return window.cookieStorage.setExpires(a),this},setPath:function(a){return window.cookieStorage.setPath(a),this},setDomain:function(a){return window.cookieStorage.setDomain(a),this},setConf:function(a){return window.cookieStorage.setConf(a),this},setDefaultConf:function(){return window.cookieStorage.setDefaultConf(),this}})}a.initNamespaceStorage=function(a){return i(a)},m?(a.localStorage=a.extend({},n,{_type:"localStorage"}),a.sessionStorage=a.extend({},n,{_type:"sessionStorage"})):(a.localStorage=a.extend({},n,{_type:"localCookieStorage"}),a.sessionStorage=a.extend({},n,{_type:"sessionCookieStorage"})),a.namespaceStorages={},a.removeAllStorages=function(b){a.localStorage.removeAll(b),a.sessionStorage.removeAll(b),a.cookieStorage&&a.cookieStorage.removeAll(b),b||(a.namespaceStorages={})}}); 31 32 33// 34// jquery.impact-superslides 35// 36 37 38(function(window,$){var Superslides,plugin='superslides';Superslides=function(el,options){this.options=$.extend({play:false,animation_speed:600,animation_easing:'swing',animation:'slide',fast_first_slide:false,transition_bias:2,inherit_width_from:window,inherit_height_from:window,pagination:true,hashchange:false,scrollable:true,proportionalRatio:false,portrait_v_align:'center',landscape_h_align:'center',minimum_height:1,autoPlay_videos:false,v_bleed:0,h_bleed:0,elements:{preserve:'.preserve',nav:'.slides-navigation',container:'.slides-container',pagination:'.slides-pagination'}},options);var that=this,$control=$('<div>',{"class":'slides-control'}),multiplier=1,first_slide=true,isRTL=false;this.$el=$(el);this.$container=this.$el.find(this.options.elements.container);var initialize=function(){multiplier=that._findMultiplier();that.isRTL=document.documentElement.dir=="rtl"?true:false;that.$el.on('click',that.options.elements.nav+" a",function(e){e.preventDefault();that.stop();if($(this).hasClass('next')){that.animate('next',function(){that.start();});}else{that.animate('prev',function(){that.start();});}});$(document).on('keyup',function(e){if(e.keyCode===37){that.animate('prev');} 39if(e.keyCode===39){that.animate('next');}});$(window).on('resize',function(){setTimeout(function(){var $children=that.$container.children();that.width=that._findWidth();that.height=that._findHeight();$children.css({width:that.width,left:that.width});that.css.containers();that.css.images();that.css.videos();that.$el.trigger('resized.slides');},10);});if(that.options.hashchange){$(window).on('hashchange',function(){var hash=that._parseHash(),index;index=that._upcomingSlide(hash);if(index>=0&&index!==that.current){that.animate(index);}});} 40that.pagination._events();that.start();return that;};var css={containers:function(){if(that.init){that.$el.css({height:that.height});that.$control.css({width:that.width*multiplier});if(that.isRTL){that.$control.css('right',-that.width);}else{that.$control.css('left',-that.width);} 41that.$container.css({});}else{$('body').css({margin:0});that.$el.css({position:'relative',overflow:'hidden',width:'100%',height:that.height});that.$control.css({position:'relative',transform:'translate3d(0)',height:'100%',width:that.width*multiplier});if(that.isRTL){that.$control.css('right',-that.width);}else{that.$control.css('left',-that.width);} 42that.$container.css({display:'none',margin:'0',padding:'0',listStyle:'none',position:'relative',height:'100%'});} 43if(that.size()===1){that.$el.find(that.options.elements.nav).hide();}},images:function(){var $images=that.$container.find('img').not(that.options.elements.preserve) 44$images.removeAttr('width').removeAttr('height').css({"-webkit-backface-visibility":'hidden',"-ms-interpolation-mode":'bicubic',"position":'absolute',"left":'0',"top":'0',"z-index":'-1',"max-width":'none'});$images.each(function(){var image_aspect_ratio=that.image._aspectRatio(this),image=this;if(!$.data(this,'processed')){var img=new Image();img.onload=function(){that.image._scale(image,image_aspect_ratio);that.image._center(image,image_aspect_ratio);$.data(image,'processed',true);};img.src=this.src;}else{that.image._scale(image,image_aspect_ratio);that.image._center(image,image_aspect_ratio);}});},videos:function(){var $videos=that.$container.find('video');$videos.each(function(){thisVid=$(this);video=this;if(!thisVid.attr("autoplay")){if(that.options.autoPlay_videos)thisVid.get(0).play();} 45that.image._coverVid(video,thisVid.attr('data-vid-width'),thisVid.attr('data-vid-height'));});},children:function(){var $children=that.$container.children(),i=0;$children.each(function(){var thisChild=$(this);thisChild.attr('data-impact-slide',i+1);i++;});if($children.is('img')){$children.each(function(){if($(this).is('img')){$(this).wrap('<div>');var id=$(this).attr('id');$(this).removeAttr('id');$(this).parent().attr('id',id);}});$children=that.$container.children();} 46if($children.hasClass('impact-video')){$children.find('video').each(function(){var id=$(this).attr('id'),vid=document.getElementById(id);vid.playbackRate=vid.getAttribute('data-rate');vid.setAttribute('data-vid-width',vid.videoWidth);vid.setAttribute('data-vid-height',vid.videoHeight);that.image._coverVid(vid,vid.getAttribute('data-vid-width'),vid.getAttribute('data-vid-height'));vid.addEventListener("loadedmetadata",function(e){this.setAttribute('data-vid-width',this.videoWidth);this.setAttribute('data-vid-height',this.videoHeight);that.image._coverVid(this,this.getAttribute('data-vid-width'),this.getAttribute('data-vid-height'));},false);});} 47if(!that.init){$children.css({display:'none',left:that.width*2});} 48$children.css({position:'absolute',overflow:'hidden',height:'100%',width:that.width,top:0,zIndex:0});}} 49var fx={slide:function(orientation,complete){var transTime,$children=that.$container.children(),$target=$children.eq(orientation.upcoming_slide);$target.css({left:orientation.upcoming_position,display:'block'});if(first_slide){transTime=that.options.fast_first_slide;first_slide=false;}else{transTime=that.options.animation_speed} 50that.$control.animate({left:orientation.offset},transTime,that.options.animation_easing,function(){if(that.size()>1){that.$control.css({left:-that.width});$children.eq(orientation.upcoming_slide).css({left:that.width,zIndex:2});if(orientation.outgoing_slide>=0){$children.eq(orientation.outgoing_slide).css({left:that.width,display:'none',zIndex:0});}} 51complete();});},fade:function(orientation,complete){var that=this,transTime,$children=that.$container.children(),$outgoing=$children.eq(orientation.outgoing_slide),$target=$children.eq(orientation.upcoming_slide);
51if(first_slide){transTime=that.options.fast_first_slide;first_slide=false;}else{transTime=that.options.animation_speed} 52$target.css({left:this.width,opacity:0,display:'block'}).animate({opacity:1},transTime,that.options.animation_easing);if(orientation.outgoing_slide>=0){$outgoing.animate({opacity:0},transTime*that.options.transition_bias,that.options.animation_easing,function(){if(that.size()>1){$children.eq(orientation.upcoming_slide).css({zIndex:2});if(orientation.outgoing_slide>=0){$children.eq(orientation.outgoing_slide).css({opacity:1,display:'none',zIndex:0});}} 53complete();});}else{$target.css({zIndex:2});complete();}}};fx=$.extend(fx,$.fn.superslides.fx);var image={_alignY:function(image,align){var $img=$(image),vertical,vpos={'top':function(){vertical=0;},'center':function(){vertical=(that.height-$img.height())/2;},'bottom':function(){vertical=that.height-$img.height();},'default':function(){vertical=(that.height-$img.height())/2;}};(vpos[align]||vpos['default'])();$img.css({top:vertical});},_alignX:function(image,align){var $img=$(image),horiz,hpos={'left':function(){horiz=0;},'center':function(){horiz=(that.width-$img.width())/2;},'right':function(){horiz=that.width-$img.width();},'default':function(){horiz=(that.width-$img.width())/2;}};(hpos[align]||hpos['default'])();$img.css({left:horiz});},_center:function(image,aspectRatio){var $img=$(image);if(aspectRatio>1){that.image._alignX(image,$img.attr('data-h-align')||that.options.portrait_h_align);that.image._alignY(image,$img.attr('data-v-align')||that.options.portrait_v_align);}else{that.image._alignY(image,$img.attr('data-v-align')||that.options.landscape_v_align);that.image._alignX(image,$img.attr('data-h-align')||that.options.landscape_h_align);}},_aspectRatio:function(image){if(!image.naturalHeight&&!image.naturalWidth){var img=new Image();img.src=image.src;image.naturalHeight=img.height;image.naturalWidth=img.width;} 54return image.naturalHeight/image.naturalWidth;},_coverVid:function(video,natural_width,natural_height){thisVideo=$(video);var scale_h=that.width/natural_width,scale_v=that.height/natural_height,scale=scale_h>scale_v?scale_h:scale_v;if(scale*natural_width<300){scale=300/natural_width;};var scaleWidth=scale*natural_width,scaleHeight=scale*natural_height;var vidLeft=-1*((scaleWidth-that.width)/2),vidTop=-1*((scaleHeight-that.height)/2);thisVideo.css({'width':scaleWidth,'height':scaleHeight,'margin-left':vidLeft,'margin-top':vidTop,});},_scale:function(image,image_aspect_ratio){image_aspect_ratio=image_aspect_ratio||that.image._aspectRatio(image);var container_aspect_ratio=that.height/that.width,$img=$(image);if(container_aspect_ratio>image_aspect_ratio){$img.css({height:Math.round(that.height+that.options.v_bleed),width:that.height/image_aspect_ratio})}else{$img.css({height:Math.round((that.width*image_aspect_ratio)+that.options.v_bleed),width:that.width});that.$el.trigger('initialised.slides');}}};var pagination={_setCurrent:function(i){var $slides=that.$container.children();$slides.removeClass('active-slide');$slides.eq(i).addClass('active-slide');that.$el.trigger('slideChange.slides');if(!that.$pagination){return;} 55var $pagination_children=that.$pagination.children();$pagination_children.removeClass('current');$pagination_children.eq(i).addClass('current');},_addItem:function(i){var slide_number=i+1,href=slide_number,$slide=that.$container.children().eq(i),slide_id=$slide.attr('id');if(slide_id){href=slide_id;} 56var $item=$("<a>",{'href':"#"+href,'text':href});$item.appendTo(that.$pagination);},_setup:function(){if(!that.options.pagination||that.size()===1){return;} 57var $pagination=$("<nav>",{'class':that.options.elements.pagination.replace(/^\./,'')});that.$pagination=$pagination.appendTo(that.$el);for(var i=0;i<that.size();i++){that.pagination._addItem(i);}},_events:function(){that.$el.on('click',that.options.elements.pagination+' a',function(e){e.preventDefault();var hash=that._parseHash(this.hash),index;index=that._upcomingSlide(hash,true);if(index!==that.current){that.animate(index,function(){that.start();});}});}};this.css=css;this.image=image;this.pagination=pagination;this.fx=fx;this.animation=this.fx[this.options.animation];this.$control=this.$container.wrap($control).parent('.slides-control');that._findPositions();that.width=that._findWidth();that.height=that._findHeight();this.css.children();this.css.containers();this.css.images();this.css.videos();this.pagination._setup();return initialize();};Superslides.prototype={_findWidth:function(){return $(this.options.inherit_width_from).width();},_findHeight:function(){var min_height=this.options.minimum_height;if(this.options.proportionalRatio){var calc_height=$(this.options.inherit_width_from).width()*this.options.proportionalRatio,calc_height=calc_height>min_height?calc_height:min_height;}else{calc_height=$(this.options.inherit_height_from).height()>min_height?$(this.options.inherit_height_from).height():min_height;} 58return calc_height;},_findMultiplier:function(){return this.size()===1?1:3;},_upcomingSlide:function(direction,from_hash_change){if(from_hash_change&&!isNaN(direction)){direction=direction-1;} 59if((/next/).test(direction)){return this._nextInDom();}else if((/prev/).test(direction)){return this._prevInDom();}else if((/\d/).test(direction)){return+direction;}else if(direction&&(/\w/).test(direction)){var index=this._findSlideById(direction);if(index>=0){return index;}else{return 0;}}else{return 0;}},_findSlideById:function(id){return this.$container.find('#'+id).index();},_findPositions:function(current,thisRef){thisRef=thisRef||this;if(current===undefined){current=-1;} 60thisRef.current=current;thisRef.next=thisRef._nextInDom();thisRef.prev=thisRef._prevInDom();},_nextInDom:function(){var index=this.current+1;if(index===this.size()){index=0;} 61return index;},_prevInDom:function(){var index=this.current-1;if(index<0){index=this.size()-1;} 62return index;},_parseHash:function(hash){hash=hash||window.location.hash;hash=hash.replace(/^#/,'');if(hash&&!isNaN(+hash)){hash=+hash;} 63return hash;},size:function(){return this.$container.children().length;},destroy:function(){return this.$el.removeData();},update:function(){this.css.children();this.css.containers();this.css.images();this.pagination._addItem(this.size()) 64this._findPositions(this.current);this.$el.trigger('updated.slides');},stop:function(){clearInterval(this.play_id);delete this.play_id;this.$el.trigger('stopped.slides');},start:function(){var that=this;if(that.options.hashchange){$(window).trigger('hashchange');}else{this.animate();} 65if(this.options.play){if(this.play_id){this.stop();} 66this.play_id=setInterval(function(){that.animate();},this.options.play);} 67that.$el.trigger('started.slides');},animate:function(direction,userCallback){var that=this,orientation={};if(this.animating){return;} 68this.animating=true;if(direction===undefined){direction='next';} 69orientation.upcoming_slide=this._upcomingSlide(direction);if(orientation.upcoming_slide>=this.size()){return;} 70orientation.outgoing_slide=this.current;orientation.upcoming_position=this.width*2;orientation.offset=-orientation.upcoming_position;if(direction==='prev'||direction<orientation.outgoing_slide){orientation.upcoming_position=0;orientation.offset=0;} 71if(that.size()>1){that.pagination._setCurrent(orientation.upcoming_slide);} 72if(that.options.hashchange){var hash=orientation.upcoming_slide+1,id=that.$container.children(':eq('+orientation.upcoming_slide+')').attr('id');if(id){window.location.hash=id;}else{window.location.hash=hash;}} 73if(that.size()===1){that.stop();that.options.play=0;that.options.animation_speed=0;orientation.upcoming_slide=0;orientation.outgoing_slide=-1;} 74that.$el.trigger('nextslide.slides',[orientation.upcoming_slide+1,orientation.outgoing_slide+1]);that.animation(orientation,function(){that._findPositions(orientation.upcoming_slide,that);if(typeof userCallback==='function'){userCallback();} 75that.animating=false;that.$el.trigger('animated.slides',[orientation.upcoming_slide+1,orientation.outgoing_slide+1]);if(!that.init){that.$el.trigger('init.slides',[-1,-1]);that.init=true;that.$container.fadeIn(that.options.fast_first_slide);}});}};$.fn[plugin]=function(option,args){var result=[];this.each(function(){var $this,data,options;$this=$(this);data=$this.data(plugin);options=typeof option==='object'&&option;if(!data){result=$this.data(plugin,(data=new Superslides(this,options)));} 76if(typeof option==="string"){result=data[option];if(typeof result==='function'){return result=result.call(data,args);}}});return result;};$.fn[plugin].fx={};})(this,jQuery); 77 78 79// 80// jquery.easing 81// 82 83(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})}); 84 85 86/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */ 87jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.no
87deName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window); 88var stacks = {}; 89stacks.jQuery = jQuery.noConflict(true); 90stacks.com_joeworkman_stacks_easycms_image = {}; 91stacks.com_joeworkman_stacks_easycms_image = (function(stack) { 92var jQuery = stacks.jQuery;var $ = jQuery; $(function(){$('img.auto-lightbox').click(function(e){e.preventDefault();var path=$(this).data('img'),modal=$('#total-image-reveal'),image=$('<img>').attr('src',path);$('img',modal).remove();if(modal.hasClass("reveal")){modal.prepend(image).foundation('open').one("click",function(){modal.foundation('close');});}else{modal.prepend(image).foundation('reveal','open').one("click",function(){modal.foundation('reveal','close');});}});}); 93 94return stack;})(stacks.com_joeworkman_stacks_easycms_image); 95stacks.ws_foundation_animate = {}; 96stacks.ws_foundation_animate = (function(stack) { var wow=new WOW({boxClass:'animate-on-scroll',animateClass:'animated',offset:0,mobile:true,live:true});wow.init(); 97 98return stack;})(stacks.ws_foundation_animate); 99stacks.com_bigwhiteduck_stacks_headerpro = {}; 100stacks.com_bigwhiteduck_stacks_headerpro = (function(stack) { 101var jQuery = stacks.jQuery;var $ = jQuery; var elements=document.getElementsByClassName('hp-slice');while(elements.length>0){elements[0].parentNode.removeChild(elements[0]);} 102 103return stack;})(stacks.com_bigwhiteduck_stacks_headerpro); 104stacks.ws_foundation_styles = {}; 105stacks.ws_foundation_styles = (function(stack) { 106var jQuery = stacks.jQuery;var $ = jQuery; 107 108return stack;})(stacks.ws_foundation_styles); 109stacks.stacks_in_28465_2 = {}; 110stacks.stacks_in_28465_2 = (function(stack) { 111 112return stack;})(stacks.stacks_in_28465_2); 113stacks.stacks_in_28465_5 = {}; 114stacks.stacks_in_28465_5 = (function(stack) { 115var jQuery = stacks.jQuery;var $ = jQuery; 116 117return stack;})(stacks.stacks_in_28465_5); 118stacks.stacks_in_28465_7 = {}; 119stacks.stacks_in_28465_7 = (function(stack) { 120var jQuery = stacks.jQuery;var $ = jQuery; 121 122return stack;})(stacks.stacks_in_28465_7); 123stacks.stacks_in_32923 = {}; 124stacks.stacks_in_32923 = (function(stack) { 125var jQuery = stacks.jQuery;var $ = jQuery;/*!*************************************************** 126 * mark.js v8.11.1 127 * https://markjs.io/ 128 * Copyright (c) 2014â2018, Julian Kühnel 129 * Released under the MIT license https://git.io/vwTVl 130 *****************************************************/ 131! function(e, t) { 132 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Mark = t() 133}(this, function() { 134 "use strict"; 135 var e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 136 return typeof e 137 } : function(e) { 138 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e 139 }, 140 t = function(e, t) { 141 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") 142 }, 143 n = function() { 144 function e(e, t) { 145 for (var n = 0; n < t.length; n++) { 146 var r = t[n]; 147 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) 148 } 149 } 150 return function(t, n, r) { 151 return n && e(t.prototype, n), r && e(t, r), t 152 } 153 }(), 154 r = Object.assign || function(e) { 155 for (var t = 1; t < arguments.length; t++) { 156 var n = arguments[t]; 157 for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) 158 } 159 return e 160 }, 161 i = function() { 162 function e(n) { 163 var r = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], 164 i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], 165 o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 5e3; 166 t(this, e), this.ctx = n, this.iframes = r, this.exclude = i, this.iframesTimeout = o 167 } 168 return n(e, [{ 169 key: "getContexts", 170 value: function() { 171 var e = []; 172 return (void 0 !== this.ctx && this.ctx ? NodeList.prototype.isPrototypeOf(this.ctx) ? Array.prototype.slice.call(this.ctx) : Array.isArray(this.ctx) ? this.ctx : "string" == typeof this.ctx ? Array.prototype.slice.call(document.querySelectorAll(this.ctx)) : [this.ctx] : []).forEac
vendor: 18,175 bytes, lines 172-620
172h(function(t) { 173 var n = e.filter(function(e) { 174 return e.contains(t) 175 }).length > 0; - 1 !== e.indexOf(t) || n || e.push(t) 176 }), e 177 } 178 }, { 179 key: "getIframeContents", 180 value: function(e, t) { 181 var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() {}, 182 r = void 0; 183 try { 184 var i = e.contentWindow; 185 if (r = i.document, !i || !r) throw new Error("iframe inaccessible") 186 } catch (e) { 187 n() 188 } 189 r && t(r) 190 } 191 }, { 192 key: "isIframeBlank", 193 value: function(e) { 194 var t = "about:blank", 195 n = e.getAttribute("src").trim(); 196 return e.contentWindow.location.href === t && n !== t && n 197 } 198 }, { 199 key: "observeIframeLoad", 200 value: function(e, t, n) { 201 var r = this, 202 i = !1, 203 o = null, 204 a = function a() { 205 if (!i) { 206 i = !0, clearTimeout(o); 207 try { 208 r.isIframeBlank(e) || (e.removeEventListener("load", a), r.getIframeContents(e, t, n)) 209 } catch (e) { 210 n() 211 } 212 } 213 }; 214 e.addEventListener("load", a), o = setTimeout(a, this.iframesTimeout) 215 } 216 }, { 217 key: "onIframeReady", 218 value: function(e, t, n) { 219 try { 220 "complete" === e.contentWindow.document.readyState ? this.isIframeBlank(e) ? this.observeIframeLoad(e, t, n) : this.getIframeContents(e, t, n) : this.observeIframeLoad(e, t, n) 221 } catch (e) { 222 n() 223 } 224 } 225 }, { 226 key: "waitForIframes", 227 value: function(e, t) { 228 var n = this, 229 r = 0; 230 this.forEachIframe(e, function() { 231 return !0 232 }, function(e) { 233 r++, n.waitForIframes(e.querySelector("html"), function() { 234 --r || t() 235 }) 236 }, function(e) { 237 e || t() 238 }) 239 } 240 }, { 241 key: "forEachIframe", 242 value: function(t, n, r) { 243 var i = this, 244 o = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : function() {}, 245 a = t.querySelectorAll("iframe"), 246 s = a.length, 247 c = 0; 248 a = Array.prototype.slice.call(a); 249 var u = function() { 250 --s <= 0 && o(c) 251 }; 252 s || u(), a.forEach(function(t) { 253 e.matches(t, i.exclude) ? u() : i.onIframeReady(t, function(e) { 254 n(t) && (c++, r(e)), u() 255 }, u) 256 }) 257 } 258 }, { 259 key: "createIterator", 260 value: function(e, t, n) { 261 return document.createNodeIterator(e, t, n, !1) 262 } 263 }, { 264 key: "createInstanceOnIframe", 265 value: function(t) { 266 return new e(t.querySelector("html"), this.iframes) 267 } 268 }, { 269 key: "compareNodeIframe", 270 value: function(e, t, n) { 271 if (e.compareDocumentPosition(n) & Node.DOCUMENT_POSITION_PRECEDING) { 272 if (null === t) return !0; 273 if (t.compareDocumentPosition(n) & Node.DOCUMENT_POSITION_FOLLOWING) return !0 274 } 275 return !1 276 } 277 }, { 278 key: "getIteratorNode", 279 value: function(e) { 280 var t = e.previousNode(); 281 return { 282 prevNode: t, 283 node: null === t ? e.nextNode() : e.nextNode() && e.nextNode() 284 } 285 } 286 }, { 287 key: "checkIframeFilter", 288 value: function(e, t, n, r) { 289 var i = !1, 290 o = !1; 291 return r.forEach(function(e, t) { 292 e.val === n && (i = t, o = e.handled) 293 }), this.compareNodeIframe(e, t, n) ? (!1 !== i || o ? !1 === i || o || (r[i].handled = !0) : r.push({ 294 val: n, 295 handled: !0 296 }), !0) : (!1 === i && r.push({ 297 val: n, 298 handled: !1 299 }), !1) 300 } 301 }, { 302 key: "handleOpenIframes", 303 value: function(e, t, n, r) { 304 var i = this; 305 e.forEach(function(e) { 306 e.handled || i.getIframeContents(e.val, function(e) { 307 i.createInstanceOnIframe(e).forEachNode(t, n, r) 308 }) 309 }) 310 } 311 }, { 312 key: "iterateThroughNodes", 313 value: function(e, t, n, r, i) { 314 for (var o, a = this, s = this.createIterator(t, e, r), c = [], u = [], l = void 0, h = void 0; void 0, o = a.getIteratorNode(s), h = o.prevNode, l = o.node;) this.iframes && this.forEachIframe(t, function(e) { 315 return a.checkIframeFilter(l, h, e, c) 316 }, function(t) { 317 a.createInstanceOnIframe(t).forEachNode(e, function(e) { 318 return u.push(e) 319 }, r) 320 }), u.push(l); 321 u.forEach(function(e) { 322 n(e) 323 }), this.iframes && this.handleOpenIframes(c, e, n, r), i() 324 } 325 }, { 326 key: "forEachNode", 327 value: function(e, t, n) { 328 var r = this, 329 i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : function() {}, 330 o = this.getContexts(), 331 a = o.length; 332 a || i(), o.forEach(function(o) { 333 var s = function() { 334 r.iterateThroughNodes(e, o, t, n, function() { 335 --a <= 0 && i() 336 }) 337 }; 338 r.iframes ? r.waitForIframes(o, s) : s() 339 }) 340 } 341 }], [{ 342 key: "matches", 343 value: function(e, t) { 344 var n = "string" == typeof t ? [t] : t, 345 r = e.matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.oMatchesSelector || e.webkitMatchesSelector; 346 if (r) { 347 var i = !1; 348 return n.every(function(t) { 349 return !r.call(e, t) || (i = !0, !1) 350 }), i 351 } 352 return !1 353 } 354 }]), e 355 }(), 356 o = function() { 357 function e(n) { 358 t(this, e), this.opt = r({}, { 359 diacritics: !0, 360 synonyms: {}, 361 accuracy: "partially", 362 caseSensitive: !1, 363 ignoreJoiners: !1, 364 ignorePunctuation: [], 365 wildcards: "disabled" 366 }, n) 367 } 368 return n(e, [{ 369 key: "create", 370 value: function(e) { 371 return "disabled" !== this.opt.wildcards && (e = this.setupWildcardsRegExp(e)), e = this.escapeStr(e), Object.keys(this.opt.synonyms).length && (e = this.createSynonymsRegExp(e)), (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) && (e = this.setupIgnoreJoinersRegExp(e)), this.opt.diacritics && (e = this.createDiacriticsRegExp(e)), e = this.createMergedBlanksRegExp(e), (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) && (e = this.createJoinersRegExp(e)), "disabled" !== this.opt.wildcards && (e = this.createWildcardsRegExp(e)), e = this.createAccuracyRegExp(e), new RegExp(e, "gm" + (this.opt.caseSensitive ? "" : "i")) 372 } 373 }, { 374 key: "escapeStr", 375 value: function(e) { 376 return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") 377 } 378 }, { 379 key: "createSynonymsRegExp", 380 value: function(e) { 381 var t = this.opt.synonyms, 382 n = this.opt.caseSensitive ? "" : "i", 383 r = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? "\0" : ""; 384 for (var i in t) 385 if (t.hasOwnProperty(i)) { 386 var o = t[i], 387 a = "disabled" !== this.opt.wildcards ? this.setupWildcardsRegExp(i) : this.escapeStr(i), 388 s = "disabled" !== this.opt.wildcards ? this.setupWildcardsRegExp(o) : this.escapeStr(o); 389 "" !== a && "" !== s && (e = e.replace(new RegExp("(" + this.escapeStr(a) + "|" + this.escapeStr(s) + ")", "gm" + n), r + "(" + this.processSynonyms(a) + "|" + this.processSynonyms(s) + ")" + r)) 390 } return e 391 } 392 }, { 393 key: "processSynonyms", 394 value: function(e) { 395 return (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) && (e = this.setupIgnoreJoinersRegExp(e)), e 396 } 397 }, { 398 key: "setupWildcardsRegExp", 399 value: function(e) { 400 return (e = e.replace(/(?:\\)*\?/g, function(e) { 401 return "\\" === e.charAt(0) ? "?" : "�" 402 })).replace(/(?:\\)*\*/g, function(e) { 403 return "\\" === e.charAt(0) ? "*" : "�" 404 }) 405 } 406 }, { 407 key: "createWildcardsRegExp", 408 value: function(e) { 409 var t = "withSpaces" === this.opt.wildcards; 410 return e.replace(/\u0001/g, t ? "[\\S\\s]?" : "\\S?").replace(/\u0002/g, t ? "[\\S\\s]*?" : "\\S*") 411 } 412 }, { 413 key: "setupIgnoreJoinersRegExp", 414 value: function(e) { 415 return e.replace(/[^(|)\\]/g, function(e, t, n) { 416 var r = n.charAt(t + 1); 417 return /[(|)\\]/.test(r) || "" === r ? e : e + "\0" 418 }) 419 } 420 }, { 421 key: "createJoinersRegExp", 422 value: function(e) { 423 var t = [], 424 n = this.opt.ignorePunctuation; 425 return Array.isArray(n) && n.length && t.push(this.escapeStr(n.join(""))), this.opt.ignoreJoiners && t.push("\\u00ad\\u200b\\u200c\\u200d"), t.length ? e.split(/\u0000+/).join("[" + t.join("") + "]*") : e 426 } 427 }, { 428 key: "createDiacriticsRegExp", 429 value: function(e) { 430 var t = this.opt.caseSensitive ? "" : "i", 431 n = this.opt.caseSensitive ? ["aà áảãạÄằắẳẵặâầấẩẫáºÃ¤Ã¥ÄÄ ", "AÃÃẢÃẠÄẰẮẲẴẶÃẦẤẨẪẬÃà ÄÄ", "cçÄÄ", "CÃÄÄ", "dÄÄ", "DÄÄ", "eèéẻẽẹêá»áº¿á»á» á»Ã«ÄÄÄ", "EÃÃẺẼẸÃá»áº¾á»á»á»ÃÄÄÄ", "iìÃá»Ä©á»Ã®Ã¯Ä«", "IÃÃá»Ä¨á»ÃÃĪ", "lÅ", "LÅ", "nñÅÅ", "NÃÅÅ", "oòóá»Ãµá»Ã´á»á»á»á»á»Æ¡á»á»¡á»á»á»£Ã¶Ã¸Å", "OÃÃá»Ãá»Ãá»á»á»á»á»Æ á»á» á»á»á»¢ÃÃÅ", "rÅ", "RÅ", "sÅ¡ÅÈÅ", "SÅ ÅÈÅ", "tÅ¥ÈÅ£", "TŤÈÅ¢", "uùúủũụưừứá»á»¯á»±Ã»Ã¼Å¯Å«", "UÃÃỦŨỤƯỪỨỬỮỰÃÃŮŪ", "yýỳỷỹỵÿ", "YÃỲỶỸỴŸ", "zžżź", "ZŽŻŹ"] : ["aà áảãạÄằắẳẵặâầấẩẫáºÃ¤Ã¥ÄÄ AÃÃẢÃẠÄẰẮẲẴẶÃẦẤẨẪẬÃà ÄÄ", "cçÄÄCÃÄÄ", "dÄÄDÄÄ", "eèéẻẽẹêá»áº¿á»á» á»Ã«ÄÄÄEÃÃẺẼẸÃá»áº¾á»á»á»ÃÄÄÄ", "iìÃá»Ä©á»Ã®Ã¯Ä«IÃÃá»Ä¨á»ÃÃĪ", "lÅLÅ", "nñÅÅNÃÅÅ", "oòóá»Ãµá»Ã´á»á»á»á»á»Æ¡á»á»¡á»á»á»£Ã¶Ã¸ÅOÃÃá»Ãá»Ãá»á»á»á»á»Æ á»á» á»á»á»¢ÃÃÅ", "rÅRÅ", "sÅ¡ÅÈÅSÅ ÅÈÅ", "tÅ¥ÈÅ£TŤÈÅ¢", "uùúủũụưừứá»á»¯á»±Ã»Ã¼Å¯Å«UÃÃỦŨỤƯỪỨỬỮỰÃÃŮŪ", "yýỳỷỹỵÿYÃỲỶỸỴŸ", "zžżźZŽŻŹ"], 432 r = []; 433 return e.split("").forEach(function(i) { 434 n.every(function(n) { 435 if (-1 !== n.indexOf(i)) { 436 if (r.indexOf(n) > -1) return !1; 437 e = e.replace(new RegExp("[" + n + "]", "gm" + t), "[" + n + "]"), r.push(n) 438 } 439 return !0 440 }) 441 }), e 442 } 443 }, { 444 key: "createMergedBlanksRegExp", 445 value: function(e) { 446 return e.replace(/[\s]+/gim, "[\\s]+") 447 } 448 }, { 449 key: "createAccuracyRegExp", 450 value: function(e) { 451 var t = this, 452 n = this.opt.accuracy, 453 r = "string" == typeof n ? n : n.value, 454 i = ""; 455 switch (("string" == typeof n ? [] : n.limiters).forEach(function(e) { 456 i += "|" + t.escapeStr(e) 457 }), r) { 458 case "partially": 459 default: 460 return "()(" + e + ")"; 461 case "complementary": 462 return "()([^" + (i = "\\s" + (i || this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿"))) + "]*" + e + "[^" + i + "]*)"; 463 case "exactly": 464 return "(^|\\s" + i + ")(" + e + ")(?=$|\\s" + i + ")" 465 } 466 } 467 }]), e 468 }(), 469 a = function() { 470 function a(e) { 471 t(this, a), this.ctx = e, this.ie = !1; 472 var n = window.navigator.userAgent; 473 (n.indexOf("MSIE") > -1 || n.indexOf("Trident") > -1) && (this.ie = !0) 474 } 475 return n(a, [{ 476 key: "log", 477 value: function(t) { 478 var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "debug", 479 r = this.opt.log; 480 this.opt.debug && "object" === (void 0 === r ? "undefined" : e(r)) && "function" == typeof r[n] && r[n]("mark.js: " + t) 481 } 482 }, { 483 key: "getSeparatedKeywords", 484 value: function(e) { 485 var t = this, 486 n = []; 487 return e.forEach(function(e) { 488 t.opt.separateWordSearch ? e.split(" ").forEach(function(e) { 489 e.trim() && -1 === n.indexOf(e) && n.push(e) 490 }) : e.trim() && -1 === n.indexOf(e) && n.push(e) 491 }), { 492 keywords: n.sort(function(e, t) { 493 return t.length - e.length 494 }), 495 length: n.length 496 } 497 } 498 }, { 499 key: "isNumeric", 500 value: function(e) { 501 return Number(parseFloat(e)) == e 502 } 503 }, { 504 key: "checkRanges", 505 value: function(e) { 506 var t = this; 507 if (!Array.isArray(e) || "[object Object]" !== Object.prototype.toString.call(e[0])) return this.log("markRanges() will only accept an array of objects"), this.opt.noMatch(e), []; 508 var n = [], 509 r = 0; 510 return e.sort(function(e, t) { 511 return e.start - t.start 512 }).forEach(function(e) { 513 var i = t.callNoMatchOnInvalidRanges(e, r), 514 o = i.start, 515 a = i.end; 516 i.valid && (e.start = o, e.length = a - o, n.push(e), r = a) 517 }), n 518 } 519 }, { 520 key: "callNoMatchOnInvalidRanges", 521 value: function(e, t) { 522 var n = void 0, 523 r = void 0, 524 i = !1; 525 return e && void 0 !== e.start ? (r = (n = parseInt(e.start, 10)) + parseInt(e.length, 10), this.isNumeric(e.start) && this.isNumeric(e.length) && r - t > 0 && r - n > 0 ? i = !0 : (this.log("Ignoring invalid or overlapping range: " + JSON.stringify(e)), this.opt.noMatch(e))) : (this.log("Ignoring invalid range: " + JSON.stringify(e)), this.opt.noMatch(e)), { 526 start: n, 527 end: r, 528 valid: i 529 } 530 } 531 }, { 532 key: "checkWhitespaceRanges", 533 value: function(e, t, n) { 534 var r = void 0, 535 i = !0, 536 o = n.length, 537 a = t - o, 538 s = parseInt(e.start, 10) - a; 539 return (r = (s = s > o ? o : s) + parseInt(e.length, 10)) > o && (r = o, this.log("End range automatically set to the max value of " + o)), s < 0 || r - s < 0 || s > o || r > o ? (i = !1, this.log("Invalid range: " + JSON.stringify(e)), this.opt.noMatch(e)) : "" === n.substring(s, r).replace(/\s+/g, "") && (i = !1, this.log("Skipping whitespace only range: " + JSON.stringify(e)), this.opt.noMatch(e)), { 540 start: s, 541 end: r, 542 valid: i 543 } 544 } 545 }, { 546 key: "getTextNodes", 547 value: function(e) { 548 var t = this, 549 n = "", 550 r = []; 551 this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(e) { 552 r.push({ 553 start: n.length, 554 end: (n += e.textContent).length, 555 node: e 556 }) 557 }, function(e) { 558 return t.matchesExclude(e.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT 559 }, function() { 560 e({ 561 value: n, 562 nodes: r 563 }) 564 }) 565 } 566 }, { 567 key: "matchesExclude", 568 value: function(e) { 569 return i.matches(e, this.opt.exclude.concat(["script", "style", "title", "head", "html"])) 570 } 571 }, { 572 key: "wrapRangeInTextNode", 573 value: function(e, t, n) { 574 var r = this.opt.element ? this.opt.element : "mark", 575 i = e.splitText(t), 576 o = i.splitText(n - t), 577 a = document.createElement(r); 578 a.setAttribute("tabindex", "0"); 579 return a.setAttribute("data-markjs", "true"), this.opt.className && a.setAttribute("class", this.opt.className), a.textContent = i.textContent, i.parentNode.replaceChild(a, i), o 580 } 581 }, { 582 key: "wrapRangeInMappedTextNode", 583 value: function(e, t, n, r, i) { 584 var o = this; 585 e.nodes.every(function(a, s) { 586 var c = e.nodes[s + 1]; 587 if (void 0 === c || c.start > t) { 588 if (!r(a.node)) return !1; 589 var u = t - a.start, 590 l = (n > a.end ? a.end : n) - a.start, 591 h = e.value.substr(0, a.start), 592 f = e.value.substr(l + a.start); 593 if (a.node = o.wrapRangeInTextNode(a.node, u, l), e.value = h + f, e.nodes.forEach(function(t, n) { 594 n >= s && (e.nodes[n].start > 0 && n !== s && (e.nodes[n].start -= l), e.nodes[n].end -= l) 595 }), n -= l, i(a.node.previousSibling, a.start), !(n > a.end)) return !1; 596 t = a.end 597 } 598 return !0 599 }) 600 } 601 }, { 602 key: "wrapGroups", 603 value: function(e, t, n, r) { 604 return r((e = this.wrapRangeInTextNode(e, t, t + n)).previousSibling), e 605 } 606 }, { 607 key: "separateGroups", 608 value: function(e, t, n, r, i) { 609 for (var o = t.length, a = 1; a < o; a++) { 610 var s = e.textContent.indexOf(t[a]); 611 t[a] && s > -1 && r(t[a], e) && (e = this.wrapGroups(e, s, t[a].length, i)) 612 } 613 return e 614 } 615 }, { 616 key: "wrapMatches", 617 value: function(e, t, n, r, i) { 618 var o = this, 619 a = 0 === t ? 0 : t + 1; 620 this.getTextNodes(function(t) {
vendor: 6,088 bytes, lines 621-794
621 t.nodes.forEach(function(t) { 622 t = t.node; 623 for (var i = void 0; null !== (i = e.exec(t.textContent)) && "" !== i[a];) { 624 if (o.opt.separateGroups) t = o.separateGroups(t, i, a, n, r); 625 else { 626 if (!n(i[a], t)) continue; 627 var s = i.index; 628 if (0 !== a) 629 for (var c = 1; c < a; c++) s += i[c].length; 630 t = o.wrapGroups(t, s, i[a].length, r) 631 } 632 e.lastIndex = 0 633 } 634 }), i() 635 }) 636 } 637 }, { 638 key: "wrapMatchesAcrossElements", 639 value: function(e, t, n, r, i) { 640 var o = this, 641 a = 0 === t ? 0 : t + 1; 642 this.getTextNodes(function(t) { 643 for (var s = void 0; null !== (s = e.exec(t.value)) && "" !== s[a];) { 644 var c = s.index; 645 if (0 !== a) 646 for (var u = 1; u < a; u++) c += s[u].length; 647 var l = c + s[a].length; 648 o.wrapRangeInMappedTextNode(t, c, l, function(e) { 649 return n(s[a], e) 650 }, function(t, n) { 651 e.lastIndex = n, r(t) 652 }) 653 } 654 i() 655 }) 656 } 657 }, { 658 key: "wrapRangeFromIndex", 659 value: function(e, t, n, r) { 660 var i = this; 661 this.getTextNodes(function(o) { 662 var a = o.value.length; 663 e.forEach(function(e, r) { 664 var s = i.checkWhitespaceRanges(e, a, o.value), 665 c = s.start, 666 u = s.end; 667 s.valid && i.wrapRangeInMappedTextNode(o, c, u, function(n) { 668 return t(n, e, o.value.substring(c, u), r) 669 }, function(t) { 670 n(t, e) 671 }) 672 }), r() 673 }) 674 } 675 }, { 676 key: "unwrapMatches", 677 value: function(e) { 678 for (var t = e.parentNode, n = document.createDocumentFragment(); e.firstChild;) n.appendChild(e.removeChild(e.firstChild)); 679 t.replaceChild(n, e), this.ie ? this.normalizeTextNode(t) : t.normalize() 680 } 681 }, { 682 key: "normalizeTextNode", 683 value: function(e) { 684 if (e) { 685 if (3 === e.nodeType) 686 for (; e.nextSibling && 3 === e.nextSibling.nodeType;) e.nodeValue += e.nextSibling.nodeValue, e.parentNode.removeChild(e.nextSibling); 687 else this.normalizeTextNode(e.firstChild); 688 this.normalizeTextNode(e.nextSibling) 689 } 690 } 691 }, { 692 key: "markRegExp", 693 value: function(e, t) { 694 var n = this; 695 this.opt = t, this.log('Searching with expression "' + e + '"'); 696 var r = 0, 697 i = "wrapMatches"; 698 this.opt.acrossElements && (i = "wrapMatchesAcrossElements"), this[i](e, this.opt.ignoreGroups, function(e, t) { 699 return n.opt.filter(t, e, r) 700 }, function(e) { 701 r++, n.opt.each(e) 702 }, function() { 703 0 === r && n.opt.noMatch(e), n.opt.done(r) 704 }) 705 } 706 }, { 707 key: "mark", 708 value: function(e, t) { 709 var n = this; 710 this.opt = t; 711 var r = 0, 712 i = "wrapMatches", 713 a = this.getSeparatedKeywords("string" == typeof e ? [e] : e), 714 s = a.keywords, 715 c = a.length; 716 this.opt.acrossElements && (i = "wrapMatchesAcrossElements"), 0 === c ? this.opt.done(r) : function e(t) { 717 var a = new o(n.opt).create(t), 718 u = 0; 719 n.log('Searching with expression "' + a + '"'), n[i](a, 1, function(e, i) { 720 return n.opt.filter(i, t, r, u) 721 }, function(e) { 722 u++, r++, n.opt.each(e) 723 }, function() { 724 0 === u && n.opt.noMatch(t), s[c - 1] === t ? n.opt.done(r) : e(s[s.indexOf(t) + 1]) 725 }) 726 }(s[0]) 727 } 728 }, { 729 key: "markRanges", 730 value: function(e, t) { 731 var n = this; 732 this.opt = t; 733 var r = 0, 734 i = this.checkRanges(e); 735 i && i.length ? (this.log("Starting to mark with the following ranges: " + JSON.stringify(i)), this.wrapRangeFromIndex(i, function(e, t, r, i) { 736 return n.opt.filter(e, t, r, i) 737 }, function(e, t) { 738 r++, n.opt.each(e, t) 739 }, function() { 740 n.opt.done(r) 741 })) : this.opt.done(r) 742 } 743 }, { 744 key: "unmark", 745 value: function(e) { 746 var t = this; 747 this.opt = e; 748 var n = this.opt.element ? this.opt.element : "*"; 749 n += "[data-markjs]", this.opt.className && (n += "." + this.opt.className), this.log('Removal selector "' + n + '"'), this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(e) { 750 t.unwrapMatches(e) 751 }, function(e) { 752 var r = i.matches(e, n), 753 o = t.matchesExclude(e); 754 return !r || o ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT 755 }, this.opt.done) 756 } 757 }, { 758 key: "opt", 759 set: function(e) { 760 this._opt = r({}, { 761 element: "", 762 className: "", 763 exclude: [], 764 iframes: !1, 765 iframesTimeout: 5e3, 766 separateWordSearch: !0, 767 acrossElements: !1, 768 ignoreGroups: 0, 769 each: function() {}, 770 noMatch: function() {}, 771 filter: function() { 772 return !0 773 }, 774 done: function() {}, 775 debug: !1, 776 log: window.console 777 }, e) 778 }, 779 get: function() { 780 return this._opt 781 } 782 }, { 783 key: "iterator", 784 get: function() { 785 return new i(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout) 786 } 787 }]), a 788 }(); 789 return function(e) { 790 var t = this, 791 n = new a(e); 792 return this.mark = function(e, r) { 793 return n.mark(e, r), t 794 }
794, this.markRegExp = function(e, r) { 795 return n.markRegExp(e, r), t 796 }, this.markRanges = function(e, r) { 797 return n.markRanges(e, r), t 798 }, this.unmark = function(e) { 799 return n.unmark(e), t 800 }, this 801 } 802}); 803function getURLP(name) { 804 return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null; 805} 806function stringIsEmpty(value) { 807 return value ? value.trim().length == 0 : true; 808} 809let $liveSearch2Results, 810 offsetTop = 150, 811 liveSearch2CurrentIndex = 0; 812function liveSearch2JumpTo() { 813 if ($liveSearch2Results.length) { 814 var position, 815 $current = $liveSearch2Results.eq(liveSearch2CurrentIndex); 816 $liveSearch2Results.blur(); 817 if ($current.length) { 818 $current.focus(); 819 position = $current.offset().top - offsetTop; 820 if(position > $(window).height() + $(window).scrollTop() || position < $(window).scrollTop())window.scrollTo(0, position); 821 } 822 $(".ls2-finder span").text(`${liveSearch2CurrentIndex+1}/${$liveSearch2Results.length}`) 823 } 824} 825function generateConsecutiveCombinations(wordArray) { 826 const resultArray = []; 827 for (let len = 1; len < wordArray.length; len++) { 828 for (let i = 0; i <= wordArray.length - len; i++) { 829 const combinedValue = wordArray.slice(i, i + len).join(' '); 830 resultArray.push(combinedValue); 831 } 832 } 833 return resultArray; 834} 835function liveSearch2Highlight() { 836 var liveSearchTerm = getURLP('h'),//location.search.split('s=')[1]; 837 isCase = getURLP('case')?true:false, 838 isExact = getURLP('exact')?true:false; 839 if(!liveSearchTerm)return; 840 if (liveSearchTerm == null) { 841 842 } else if (liveSearchTerm.includes('&')) { 843 liveSearchTerm = liveSearchTerm.substring(0, liveSearchTerm.indexOf('&')); 844 } 845 liveSearchTerm = decodeURIComponent(liveSearchTerm); 846 if (!stringIsEmpty(liveSearchTerm)) { 847 $('body').append(` 848 <div class="ls2-finder"> 849 <span></span> 850 <button data-ls2-search="prev"><svg height="18px" viewBox="0 0 24 24" width="18px" fill="currentCOlor"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"/></svg></button> 851 <button data-ls2-search="next"><svg height="18px" viewBox="0 0 24 24" width="18px" fill="currentCOlor"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg></button> 852 <button data-ls2-search="clear"><svg height="18px" viewBox="0 0 24 24" width="18px" fill="currentCOlor"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg></button> 853 </div> 854 `); 855 let $liveSearch2ClearBtn = $("button[data-ls2-search='clear']"), 856 $liveSearch2PrevBtn = $("button[data-ls2-search='prev']"), 857 $liveSearch2NextBtn = $("button[data-ls2-search='next']"); 858 var markInstance, 859 separateWordSearch = isExact?false:true, 860 accuracy = isExact?"exactly":"partially", 861 caseSensitive = isCase?true:false; 862 if (liveSearchTerm.includes('"')) { 863 liveSearchTerm = liveSearchTerm.replace(/\"/g, ""); 864 separateWordSearch = false; 865 } 866 if ($("#container").length > 0) { 867 markInstance = new Mark(document.querySelector("#container")); 868 } else if ($(".stacks_top").length > 0) { 869 markInstance = new Mark(document.querySelector("div.stacks_top")); 870 } else { 871 markInstance = new Mark(document.querySelector("body")); 872 } 873 let liveSearchTerms = liveSearchTerm.split(" "); 874 if(liveSearchTerms.length > 1) { 875 liveSearchTerms = generateConsecutiveCombinations(liveSearchTerms); 876 liveSearchTerms.push(liveSearchTerm); 877 liveSearchTerms = liveSearchTerms.reverse(); 878 } 879 let longestMatch = 0; 880 markInstance.mark(liveSearchTerms, { 881 wildcards: "enabled", 882 exclude: ["nav *, input, textarea, datalist *, .ls2-interact *, .live-search-exclude *"], 883 accuracy: accuracy, 884 caseSensitive: caseSensitive, 885 separateWordSearch: false, 886 "filter": function(node, term, totalCounter, counter) { 887 let matchLength = term.split(" ").length; 888 if (term.length < 2 || (node.parentElement && node.parentElement.nodeName == "MARK") || matchLength < longestMatch) { 889 return false;
890 } else { 891 longestMatch = longestMatch<matchLength?matchLength:longestMatch; 892 return true; 893 } 894 }, 895 done: function() { 896 $liveSearch2Results = $("mark"); 897 if($liveSearch2Results.length) { 898 liveSearch2CurrentIndex = 0; 899 liveSearch2JumpTo(); 900 } else { 901 markInstance.unmark(); 902 $(".ls2-finder").remove(); 903 } 904 } 905 }); 906 $liveSearch2ClearBtn.on("click", function() { 907 markInstance.unmark(); 908 $(".ls2-finder").remove(); 909 }); 910 $liveSearch2NextBtn.add($liveSearch2PrevBtn).on("click", function() { 911 if ($liveSearch2Results.length) { 912 liveSearch2CurrentIndex += $(this).is($liveSearch2PrevBtn) ? -1 : 1; 913 if (liveSearch2CurrentIndex < 0) { 914 liveSearch2CurrentIndex = $liveSearch2Results.length - 1; 915 } 916 if (liveSearch2CurrentIndex > $liveSearch2Results.length - 1) { 917 liveSearch2CurrentIndex = 0; 918 } 919 liveSearch2JumpTo(); 920 } 921 }); 922 } 923} 924jQuery(document).ready(function() { 925 // 926 jQuery('form#stacks_in_32923_live-search').on('submit', function() { 927 var urlVar = "", 928 d = $('#stacks_in_32923_tipue_search_input').val(), 929 randomN = Math.floor(Math.random() * 10001); 930 urlVar += "?q=" + encodeURIComponent(d); 931 if($('#stacks_in_32923_live-search .ls-match-case').hasClass("ls-option-enabled"))urlVar += "&case=1"; 932 if($('#stacks_in_32923_live-search .ls-match-exact').hasClass("ls-option-enabled"))urlVar += "&exact=1"; 933 urlVar += "&r=" + randomN; 934 window.location = urlVar; 935 return false; 936 }); 937 $('#stacks_in_32923_live-search .ls-match-case').on("click", function(event) { 938 $(this).toggleClass("ls-option-enabled"); 939 }); 940 $('#stacks_in_32923_live-search .ls-match-exact').on("click", function(event) { 941 $(this).toggleClass("ls-option-enabled"); 942 }); 943}); 944jQuery(window).on("load",function() { 945 liveSearch2Highlight(); 946}); 947 948return stack;})(stacks.stacks_in_32923); 949stacks.stacks_in_32941_440 = {}; 950stacks.stacks_in_32941_440 = (function(stack) { 951var jQuery = stacks.jQuery;var $ = jQuery; 952 953 954return stack;})(stacks.stacks_in_32941_440); 955stacks.stacks_in_32941_519 = {}; 956stacks.stacks_in_32941_519 = (function(stack) { 957var jQuery = stacks.jQuery;var $ = jQuery; 958 959return stack;})(stacks.stacks_in_32941_519); 960stacks.stacks_in_32941_588 = {}; 961stacks.stacks_in_32941_588 = (function(stack) { 962var jQuery = stacks.jQuery;var $ = jQuery; 963 964return stack;})(stacks.stacks_in_32941_588); 965stacks.stacks_in_32941_592 = {}; 966stacks.stacks_in_32941_592 = (function(stack) { 967var jQuery = stacks.jQuery;var $ = jQuery; 968 969return stack;})(stacks.stacks_in_32941_592); 970stacks.stacks_in_32947 = {}; 971stacks.stacks_in_32947 = (function(stack) { 972var jQuery = stacks.jQuery;var $ = jQuery; 973vein.inject('#stacks_in_32947 .slides-container',{'list-style-type':'none'});$(function(){var stack=$('#stacks_in_32947');if(stack.length==0)return;var preLoader=$('.pre-loader',stack),slide=$('.impact-slide',stack),slidesContainer=$('.slides-container',stack),scrollButton=$('#stacks_in_32947 .impact-arrow-wrap'),container=$('.impact-container',stack),wrapper=$('.impact-wrapper',stack),fgContent=$('.fg-per-show',stack),slideContent=$('.slide-content',stack),propHeight='flexible-height',coverTouch=''=='cover-touch'?true:false,useMobCover=(coverTouch&&$.isMobile())?true:false,noScrollBack=false,isRemoved=false,didScroll=false,position,timerSuspended=false,suspendedOnLast=false,autoPlaySlides='True'=='True'?true:false,playOnceOnly='True'=='True'?true:false,isPlaying=false,playWhenLeave=false,aniType='slide',slideDuration=5000,animationSpeed=1000,transtionBias=3,scrollStop=false,numSlides=countSlides(),fadeIn=300,firstSlideSpeed=numSlides>1?fadeIn:0,slideTime=numSlides>1?slideDuration:false,aspectRatio=false,screensChild=false,minHeight=0,autoPlay_videos='auto'==='auto'?true:false,autoScrollDelay=22.00*1000,portraitVAlign='center',portraitHAlign='center',landscapeVAlign='center',landscapeHAlign='center';$('.stacks_in.com_joeworkman_stacks_impact_animation_stack',stack).parent().css('overflow','visible');$('li.impact-slide:first',slidesContainer).addClass('active-slide');var kbPresent=stack.find('.impact-slide.kb-anim').length>1;
973var initSlides=function(){$('.slides',stack).superslides({animation:aniType,play:false,animation_speed:animationSpeed,fast_first_slide:firstSlideSpeed,transition_bias:transtionBias,inherit_width_from:target,inherit_height_from:target,proportionalRatio:aspectRatio,v_bleed:3,minimum_height:minHeight,pagination:true,autoPlay_videos:autoPlay_videos,portrait_v_align:portraitVAlign,portrait_h_align:portraitHAlign,landscape_v_align:landscapeVAlign,landscape_h_align:landscapeHAlign,elements:{preserve:'.impact-fg-img',nav:'.slides-navigation',container:'.slides-container',pagination:'.slides-pagination'}});preLoader.addClass('hidden');wrapper.removeClass('impact-preload');$(window).trigger('resize');} 974var process_topbar=function(){if($('.top-bar-wrapper')&&$('body').hasClass('f-topbar-fixed')){if($('#stacks_in_32947').offset().top==$('.top-bar-wrapper').outerHeight()){$('body').removeClass('f-topbar-fixed');vein.inject('body.f-topbar-fixed',{'padding-top':'0'});}}} 975function countSlides(){var numSlides=0;slide.each(function(){numSlides++;});return numSlides;} 976var exclude_fg_images=function(container){container.each(function(){$(this).find('img').addClass('impact-fg-img');});} 977var findTarget=function(){if(propHeight==='fixed-height'||propHeight==='flexible-height'){stack.closest('.stacks_out').css('min-height',300+'px');if(propHeight==='flexible-height'){stack.css('height','100%');stack.closest('.stacks_out').css('height',60+'vh');target=stack;} 978else{target=$('#stacks_in_32947>.impact-wrapper');aspectRatio=false;}} 979else{target=stack.parent().parent().parent().attr('class')==='stacks_top'?window:stack.parent().parent();if(propHeight==='proportional-height'){minHeight=300;if('0.7500'==='custom'){aspectRatio=parseFloat('800'/'1200');} 980else{aspectRatio=parseFloat('0.7500');}}}} 981var scrollEffects=function(){position=1-($(window).scrollTop()*1.5/$(window).height()),scrollButton.css('opacity',position);} 982var checkScrollBack=function(){if(stack.offset().top+stack.outerHeight()<=$(window).scrollTop()){fgContent.hide();stack.closest('.stacks_out').removeAttr('style');stack.remove();window.scrollTo(0,0);isRemoved=true;if('undefined'!=typeof foundation&&foundation.jQuery){foundation.jQuery(document).foundation('reflow');}}} 983function slideTimer(action,delayTime){if(numSlides<2){return false;} 984var thisSlideDelay;window.isActive=true;$(window).focus(function(){this.isActive=true;});$(window).blur(function(){this.isActive=false;});$('.slides-navigation a,.slides-pagination a',stack).click(function(){timerSuspended=true;setTimeout(function(){timerSuspended=false;},delayTime);});if(action=='pause'){isPlaying=false;timerSuspended=true;} 985if(action=='start'){isPlaying=true;timerSuspended=false;var timer=setInterval(function(){if(!this.isActive||timerSuspended)return;var thisSlide=stack.find('.active-slide'),thisSlideNumber=thisSlide.attr('data-impact-slide'),thisSlideDelay=thisSlide.attr('data-slide-time')||0;if(!suspendedOnLast&&playOnceOnly&&thisSlideNumber==numSlides){timerSuspended=true;suspendedOnLast=true;return;} 986suspendedOnLast=false;if(thisSlideDelay>0){timerSuspended=true;setTimeout(function(){timerSuspended=false;$('.slides',stack).superslides('animate','next');},parseInt(thisSlideDelay));} 987else 988{$('.slides',stack).superslides('animate','next');}},delayTime);}} 989var updateAnimationClasses=function(slide){stack.find('.impact-animate.animate-always.animated').each(function(){var clone=$(this).removeClass('animated').addClass('pre-anim').clone();$(this).replaceWith(clone);});var animate=$('.impact-animate.pre-anim',slide);animate.removeClass('pre-anim').addClass('animated');} 990var updateKenBurns=function(nextslide,currentslide){stack.find('.impact-slide.kb-anim').each(function(){var thisSlide=$(this);if((thisSlide=nextslide)||(thisSlide=currentslide))return true;var clone=thisSlide.removeClass('animated').addClass('pre-anim').clone();thisSlide.replaceWith(clone);});nextslide.removeClass('pre-anim').addClass('animated');} 991var setup_EventListeners=function(){$(this).on('initialised.slides',function(){wrapper.css('height','');});$(this).on('nextslide.slides',function(event,nextSlide,lastSlide){var 992upcomingVid,upcomingImage,upComingSlide=stack.find("[data-impact-slide='"+nextSlide+"']"),previousSlide=stack.find("[data-impact-slide='"+lastSlide+"']");upcomingImage=upComingSlide.find('img');if(numSlides>1&&kbPresent)updateKenBurns(upComingSlide,previousSlide);
992if(!autoPlay_videos){upcomingVid=upComingSlide.find("video")[0];if($(upcomingVid).length){$(upcomingVid)[0].oncanplaythrough=$(upcomingVid)[0].play()}}});$(this).on('animated.slides',function(event,currentSlide,lastSlide){var 993outgoingVid,thisSlide=stack.find("[data-impact-slide='"+currentSlide+"']"),prevSlide=stack.find("[data-impact-slide='"+lastSlide+"']");updateAnimationClasses(thisSlide);if(!autoPlay_videos){}});} 994var initSlideShow=function(autoPlayShow,autoPlay_videos){setup_EventListeners();initSlides();if(autoPlaySlides){slideTimer('start',slideTime);}} 995$(function(){process_topbar();fgContent.hide();scrollButton.hide();exclude_fg_images(container);findTarget();jQuery.easing.def="easeInOutQuad";fgContent.fadeIn(fadeIn);scrollButton.fadeIn(fadeIn);initSlideShow(autoPlaySlides,autoPlay_videos);function scrollAway(){var toScroll=stack.offset().top+stack.outerHeight();$('html,body').animate({scrollTop:toScroll},parseInt(1200),"easeInOutQuad",function(){if(noScrollBack&&propHeight=='fill-container hero-header')checkScrollBack();});} 996$('#stacks_in_32947 .scrollDown, .impact-scroll').click(function(){scrollAway();});$(window).scroll(function(){didScroll=true;});setInterval(function(){if(didScroll){didScroll=false;scrollEffects();}},100);$('.impact-next').click(function(){$('.slides',stack).superslides('animate','next');});$('.impact-prev').click(function(){$('.slides',stack).superslides('animate','prev');});$('.impact-play').click(function(){slideTimer('start',slideTime);});$('.impact-pause').click(function(){slideTimer('pause',null);});$('.impact-mute').click(function(){$("video",slidesContainer).prop('muted',true);});$('.impact-unmute').click(function(){$("video",slidesContainer).prop('muted',false);});$('.impact-toggle-mute').click(function(){$("video",slidesContainer).prop('muted',!$("video",slidesContainer).prop('muted'));});});}); 997 998return stack;})(stacks.stacks_in_32947); 999stacks.stacks_in_32943 = {}; 1000stacks.stacks_in_32943 = (function(stack) { 1001var jQuery = stacks.jQuery;var $ = jQuery; 1002vein.inject('#stacks_in_32943 .slides-container',{'list-style-type':'none'});$(function(){var stack=$('#stacks_in_32943');if(stack.length==0)return;var preLoader=$('.pre-loader',stack),slide=$('.impact-slide',stack),slidesContainer=$('.slides-container',stack),scrollButton=$('#stacks_in_32943 .impact-arrow-wrap'),container=$('.impact-container',stack),wrapper=$('.impact-wrapper',stack),fgContent=$('.fg-per-show',stack),slideContent=$('.slide-content',stack),propHeight='flexible-height',coverTouch=''=='cover-touch'?true:false,useMobCover=(coverTouch&&$.isMobile())?true:false,noScrollBack=false,isRemoved=false,didScroll=false,position,timerSuspended=false,suspendedOnLast=false,autoPlaySlides='True'=='True'?true:false,playOnceOnly='False'=='True'?true:false,isPlaying=false,playWhenLeave=false,aniType='fade',slideDuration=3000,animationSpeed=2000,transtionBias=3,scrollStop=false,numSlides=countSlides(),fadeIn=80,firstSlideSpeed=numSlides>1?fadeIn:0,slideTime=numSlides>1?slideDuration:false,aspectRatio=false,screensChild=false,minHeight=0,autoPlay_videos='auto'==='auto'?true:false,autoScrollDelay=5.00*1000,portraitVAlign='center',portraitHAlign='center',landscapeVAlign='center',landscapeHAlign='center';$('.stacks_in.com_joeworkman_stacks_impact_animation_stack',stack).parent().css('overflow','visible');$('li.impact-slide:first',slidesContainer).addClass('active-slide');if($.isMobile()){$(".impact-video",slidesContainer).each(function(){var 1003thisSlide=$(this),poster=thisSlide.find('img.impact-image'),videoContainer=thisSlide.find('video').parent();thisSlide.prepend(poster).removeClass('impact-video');videoContainer.remove();});}var kbPresent=stack.find('.impact-slide.kb-anim').length>1;var initSlides=function(){$('.slides',stack).superslides({animation:aniType,play:false,animation_speed:animationSpeed,fast_first_slide:firstSlideSpeed,transition_bias:transtionBias,inherit_width_from:target,inherit_height_from:target,proportionalRatio:aspectRatio,v_bleed:3,minimum_height:minHeight,pagination:true,autoPlay_videos:autoPlay_videos,portrait_v_align:portraitVAlign,portrait_h_align:portraitHAlign,landscape_v_align:landscapeVAlign,landscape_h_align:landscapeHAlign,elements:{preserve:'.impact-fg-img',nav:'.slides-navigation',container:'.slides-container',pagination:'.slides-pagination'}});preLoader.addClass('hidden');wrapper.removeClass('impact-preload');$(window).trigger('resize');} 1004var process_topbar=function(){if($('.top-bar-wrapper')&&$('body').hasClass('f-topbar-fixed')){if($('#stacks_in_32943').offset().top==$('.top-bar-wrapper').outerHeight()){$('body').removeClass('f-topbar-fixed');vein.inject('body.f-topbar-fixed',{'padding-top':'0'});}}} 1005function countSlides(){var numSlides=0;slide.each(function(){numSlides++;});return numSlides;} 1006var exclude_fg_images=function(container){container.each(function(){$(this).find('img').addClass('impact-fg-img');});} 1007var findTarget=function(){if(propHeight==='fixed-height'||propHeight==='flexible-height'){stack.closest('.stacks_out').css('min-height',300+'px');if(propHeight==='flexible-height'){stack.css('height','100%');stack.closest('.stacks_out').css('height',60+'vh');target=stack;} 1008else{target=$('#stacks_in_32943>.impact-wrapper');aspectRatio=false;}} 1009else{target=stack.parent().parent().parent().attr('class')==='stacks_top'?window:stack.parent().parent();if(propHeight==='proportional-height'){minHeight=300;if('0.7500'==='custom'){aspectRatio=parseFloat('800'/'1200');} 1010else{aspectRatio=parseFloat('0.7500');}}}} 1011var scrollEffects=function(){position=1-($(window).scrollTop()*1.5/$(window).height()),scrollButton.css('opacity',position);} 1012var checkScrollBack=function(){if(stack.offset().top+stack.outerHeight()<=$(window).scrollTop()){fgContent.hide();stack.closest('.stacks_out').removeAttr('style');stack.remove();window.scrollTo(0,0);isRemoved=true;if('undefined'!=typeof foundation&&foundation.jQuery){foundation.jQuery(document).foundation('reflow');}}} 1013function slideTimer(action,delayTime){if(numSlides<2){return false;} 1014var thisSlideDelay;window.isActive=true;$(window).focus(function(){this.isActive=true;});$(window).blur(function(){this.isActive=false;});$('.slides-navigation a,.slides-pagination a',stack).click(function(){timerSuspended=true;setTimeout(function(){timerSuspended=false;},delayTime);});if(action=='pause'){isPlaying=false;timerSuspended=true;} 1015if(action=='start'){isPlaying=true;timerSuspended=false;var timer=setInterval(function(){if(!this.isActive||timerSuspended)return;var thisSlide=stack.find('.active-slide'),thisSlideNumber=thisSlide.attr('data-impact-slide'),thisSlideDelay=thisSlide.attr('data-sli
1015de-time')||0;if(!suspendedOnLast&&playOnceOnly&&thisSlideNumber==numSlides){timerSuspended=true;suspendedOnLast=true;return;} 1016suspendedOnLast=false;if(thisSlideDelay>0){timerSuspended=true;setTimeout(function(){timerSuspended=false;$('.slides',stack).superslides('animate','next');},parseInt(thisSlideDelay));} 1017else 1018{$('.slides',stack).superslides('animate','next');}},delayTime);}} 1019var updateAnimationClasses=function(slide){stack.find('.impact-animate.animate-always.animated').each(function(){var clone=$(this).removeClass('animated').addClass('pre-anim').clone();$(this).replaceWith(clone);});var animate=$('.impact-animate.pre-anim',slide);animate.removeClass('pre-anim').addClass('animated');} 1020var updateKenBurns=function(nextslide,currentslide){stack.find('.impact-slide.kb-anim').each(function(){var thisSlide=$(this);if((thisSlide=nextslide)||(thisSlide=currentslide))return true;var clone=thisSlide.removeClass('animated').addClass('pre-anim').clone();thisSlide.replaceWith(clone);});nextslide.removeClass('pre-anim').addClass('animated');} 1021var setup_EventListeners=function(){$(this).on('initialised.slides',function(){wrapper.css('height','');});$(this).on('nextslide.slides',function(event,nextSlide,lastSlide){var 1022upcomingVid,upcomingImage,upComingSlide=stack.find("[data-impact-slide='"+nextSlide+"']"),previousSlide=stack.find("[data-impact-slide='"+lastSlide+"']");upcomingImage=upComingSlide.find('img');if(numSlides>1&&kbPresent)updateKenBurns(upComingSlide,previousSlide);if(!autoPlay_videos){upcomingVid=upComingSlide.find("video")[0];if($(upcomingVid).length){$(upcomingVid)[0].oncanplaythrough=$(upcomingVid)[0].play()}}});$(this).on('animated.slides',function(event,currentSlide,lastSlide){var 1023outgoingVid,thisSlide=stack.find("[data-impact-slide='"+currentSlide+"']"),prevSlide=stack.find("[data-impact-slide='"+lastSlide+"']");updateAnimationClasses(thisSlide);if(!autoPlay_videos){}});} 1024var initSlideShow=function(autoPlayShow,autoPlay_videos){setup_EventListeners();initSlides();if(autoPlaySlides){slideTimer('start',slideTime);}} 1025$(function(){process_topbar();fgContent.hide();scrollButton.hide();exclude_fg_images(container);findTarget();jQuery.easing.def="easeInOutQuad";fgContent.fadeIn(fadeIn);scrollButton.fadeIn(fadeIn);initSlideShow(autoPlaySlides,autoPlay_videos);function scrollAway(){var toScroll=stack.offset().top+stack.outerHeight();$('html,body').animate({scrollTop:toScroll},parseInt(1200),"easeInOutQuad",function(){if(noScrollBack&&propHeight=='fill-container hero-header')checkScrollBack();});} 1026$('#stacks_in_32943 .scrollDown, .impact-scroll').click(function(){scrollAway();});$(window).scroll(function(){didScroll=true;});setInterval(function(){if(didScroll){didScroll=false;scrollEffects();}},100);$('.impact-next').click(function(){$('.slides',stack).superslides('animate','next');});$('.impact-prev').click(function(){$('.slides',stack).superslides('animate','prev');});$('.impact-play').click(function(){slideTimer('start',slideTime);});$('.impact-pause').click(function(){slideTimer('pause',null);});$('.impact-mute').click(function(){$("video",slidesContainer).prop('muted',true);});$('.impact-unmute').click(function(){$("video",slidesContainer).prop('muted',false);});$('.impact-toggle-mute').click(function(){$("video",slidesContainer).prop('muted',!$("video",slidesContainer).prop('muted'));});});}); 1027 1028return stack;})(stacks.stacks_in_32943); 1029stacks.stacks_in_32944 = {}; 1030stacks.stacks_in_32944 = (function(stack) { 1031var jQuery = stacks.jQuery;var $ = jQuery;(function($){ 1032 $(document).ready(function(){ 1033 1034 1035 1036// ACTIVATE COOKIES 1037 1038 1039 1040// APPEND MAIN STACK TO BODY IF PARENT ISN'T TOAST WRAPPER 1041 1042$('#notice_stacks_in_32944').prependTo(document.body); 1043 1044/* */ 1045$('#notice_stacks_in_32944').removeClass('animated').hide(); 1046/* */ 1047 1048 1049// SHOW ON START 1050 1051 1052// SHOW ON TIMER 1053 1054 1055// SHOW ON SCROLL TO 1056 1057 1058// SHOW WITH TRIGGER 1059 $('[data-trigger-id="my_notice_id"]').click(function(e){ 1060 e.preventDefault(); 1061 if($('#notice_stacks_in_32944').hasClass('bounceOutUp')){ 1062 $('#notice_stacks_in_32944') 1063 .removeClass('bounceOutUp') 1064 .addClass('bounceInDown show is-active') 1065 /* */ 1066 .fadeIn() 1067 /* */ 1068 // HIDE ON TIMER 1069 1070 1071 }else{ 1072 1073 $('#notice_stacks_in_32944') 1074 .addClass('bounceInDown show') 1075 /* */ 1076 .fadeIn() 1077 /* */ 1078 // HIDE ON TIMER 1079 1080 } 1081 }); 1082 1083 1084// CLOSE BTN 1085 $('#notice_stacks_in_32944 .notice-close-btn').find('.notice-close-btn-icon').click(function(){ 1086 $('#notice_stacks_in_32944') 1087 .removeClass('bounceInDown is-active') 1088 /* */ 1089 .addClass('animated fadeOut closed') 1090 /* */ 1091 setTimeout(function(){ 1092 if(!$('#notice_stacks_in_32944').hasClass('is-active')){ 1093 $('#notice_stacks_in_32944').removeClass('show'); 1094 } 1095 }, 2000) 1096 }); 1097 1098// CLOSE ACTION 1099 $('#notice_stacks_in_32944 .notice-action').find('.notice-action-close').click(function(){ 1100 $('#notice_stacks_in_32944') 1101 .removeClass('bounceInDown is-active') 1102 /* */ 1103 .addClass('animated fadeOut closed') 1104 /* */ 1105 setTimeout(function(){ 1106 if(!$('#notice_stacks_in_32944').hasClass('is-active')){ 1107 $('#notice_stacks_in_32944').removeClass('show'); 1108 } 1109 }, 2000) 1110 }); 1111 1112// FONTS 1113 1114 if ( !$( "link[href*='Nunito']" ).length ) { 1115 $(document).find("head").append('<link href="https://fonts.googleapis.com/css?family=Nunito:300,400,600,700" rel="stylesheet">'); 1116 } 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 // END DOCUMENT READY 1133 }); 1134})(jQuery); 1135 1136return stack;})(stacks.stacks_in_32944); 1137stacks.stacks_in_32945 = {}; 1138stacks.stacks_in_32945 = (function(stack) { 1139var jQuery = stacks.jQuery;var $ = jQuery; 1140 1141 1142return stack;})(stacks.stacks_in_32945); 1143stacks.stacks_in_33044 = {}; 1144stacks.stacks_in_33044 = (function(stack) { 1145 1146return stack;})(stacks.stacks_in_33044); 1147stacks.stacks_in_33066 = {}; 1148stacks.stacks_in_33066 = (function(stack) { 1149 1150return stack;})(stacks.stacks_in_33066); 1151stacks.stacks_in_33083 = {}; 1152stacks.stacks_in_33083 = (function(stack) { 1153 1154return stack;})(stacks.stacks_in_33083); 1155stacks.stacks_in_33100 = {}; 1156stacks.stacks_in_33100 = (function(stack) { 1157 1158return stack;})(stacks.stacks_in_33100); 1159stacks.stacks_in_33129 = {}; 1160stacks.stacks_in_33129 = (function(stack) { 1161 1162return stack;})(stacks.stacks_in_33129); 1163stacks.stacks_in_33146 = {}; 1164stacks.stacks_in_33146 = (function(stack) { 1165 1166return stack;})(stacks.stacks_in_33146); 1167stacks.stacks_in_33163 = {}; 1168stacks.stacks_in_33163 = (function(stack) { 1169 1170return stack;})(stacks.stacks_in_33163); 1171stacks.stacks_in_33180 = {}; 1172stacks.stacks_in_33180 = (function(stack) { 1173 1174return stack;})(stacks.stacks_in_33180); 1175stacks.stacks_in_33199 = {}; 1176stacks.stacks_in_33199 = (function(stack) { 1177 1178return stack;})(stacks.stacks_in_33199); 1179stacks.stacks_in_33218 = {}; 1180stacks.stacks_in_33218 = (function(stack) { 1181 1182return stack;})(stacks.stacks_in_33218); 1183stacks.stacks_in_33238 = {}; 1184stacks.stacks_in_33238 = (function(stack) { 1185 1186return stack;})(stacks.stacks_in_33238); 1187stacks.stacks_in_33273 = {}; 1188stacks.stacks_in_33273 = (function(stack) { 1189var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 1190/* 1191jquery-plugin-circliful 1192+The MIT License (MIT) 1193+ 1194+Copyright (c) 2014 Patric Gutersohn 1195+ 1196+Permission is hereby granted, free of charge, to any person obtaining a copy of 1197+this software and associated documentation files (the "Software"), to deal in 1198+the Software without restriction, including without limitation the rights to 1199+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 1200+the Software, and to permit persons to whom the Software is furnished to do so, 1201+subject to the following conditions: 1202+ 1203+The above copyright notice and this permission notice shall be included in all 1204+copies or substantial portions of the Software. 1205+ 1206+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1207+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 1208+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 1209+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 1210+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 1211+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 1212*/ 1213"use strict"; 1214 1215(function (opticStats) { 1216 1217 opticStats.fn.circliful = function (options, callback) { 1218 1219 var settings = opticStats.extend({ 1220 // These are the defaults. 1221 startdegree: 0, 1222 fgcolor: "#556b2f", 1223 bgcolor: "#eee", 1224 fill: false, 1225 width: 15, 1226 dimension: 200, 1227 fontsize: 15, 1228 percent: 50, 1229 animationstep: 1.0, 1230 iconsize: '20px', 1231 iconcolor: '#999', 1232 border: 'default', 1233 complete: null, 1234 bordersize: 10 1235 }, options); 1236 1237 return this.each(function () { 1238 1239 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 1240 1241 var customSettingsObj = {}; 1242 var icon = ''; 1243 var percent; 1244 var endPercent = 0; 1245 var obj = opticStats(this); 1246 var fill = false;
1247 var text, info; 1248 1249 obj.addClass('circliful'); 1250 1251 checkDataAttributes(obj); 1252 1253 if (obj.data('text') != undefined) { 1254 1255 //remove non number characters 1256 1257 text = obj.data('text'); 1258 text = text.toString(); 1259 text = text.replace(/[^0-9.,]/g, ''); 1260 text = "<span class='counter'>" + text + "</span>"; 1261 1262 if (obj.data('icon') != undefined) { 1263 icon = opticStats('<i></i>') 1264 .addClass('osIcon fa ' + opticStats(this).data('icon')) 1265 .css({ 1266 'color': customSettingsObj.iconcolor, 1267 'font-size': customSettingsObj.iconsize, 1268 'line-height': customSettingsObj.iconsize + "px" 1269 }); 1270 } 1271 if (obj.data('icon-custom') != undefined) { 1272 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 1273 .addClass('osIcon ') 1274 .css({ 1275 'width': customSettingsObj.iconsize, 1276 'height': customSettingsObj.iconsize 1277 }); 1278 } 1279 1280 if (obj.data('type') != undefined) { 1281 type = opticStats(this).data('type'); 1282 1283 if (type == 'half') { 1284 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 1285 } else { 1286 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 1287 } 1288 } else { 1289 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 1290 } 1291 } 1292 1293 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 1294 var total = opticStats(this).data("total") / 100; 1295 1296 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 1297 endPercent = (opticStats(this).data("part") / total).toFixed(3); 1298 } else { 1299 if (opticStats(this).data("percent") != undefined) { 1300 percent = opticStats(this).data("percent") / 100; 1301 endPercent = opticStats(this).data("percent"); 1302 } else { 1303 percent = settings.percent / 100; 1304 } 1305 } 1306 1307 if (opticStats(this).data('info') != undefined) { 1308 info = opticStats(this).data('info'); 1309 1310 if (opticStats(this).data('type') != undefined) { 1311 type = opticStats(this).data('type'); 1312 1313 if (type == 'half') { 1314 addInfoText(obj, 0.9); 1315 } else { 1316 addInfoText(obj, 1.25); 1317 } 1318 } else { 1319 addInfoText(obj, 1.25); 1320 } 1321 } 1322 1323 opticStats(this).width(customSettingsObj.dimension + 'px'); 1324 if (type == 'line' || type == 'vert-line') { 1325 opticStats(this).height(opticStats(this).data('height') + 'px'); 1326 } else { 1327 opticStats(this).height(customSettingsObj.dimension + 'px'); 1328 } 1329 1330 1331 var sizeX = customSettingsObj.dimension, 1332 sizeY = customSettingsObj.dimension; 1333 if (type == 'line' || type == 'vert-line') { 1334 sizeY = opticStats(this).data('height'); 1335 } 1336 var canvas = opticStats('<canvas></canvas>').attr({ 1337 width: sizeX, 1338 height: sizeY 1339 }).appendTo(opticStats(this)).get(0); 1340 var context = canvas.getContext('2d'); 1341 1342 var dpr = window.devicePixelRatio; 1343 if ( dpr ) { 1344 var opticStatscanvas = opticStats(canvas); 1345 opticStatscanvas.css('width', sizeX); 1346 opticStatscanvas.css('height', sizeY); 1347 opticStatscanvas.attr('width', sizeX * dpr); 1348 opticStatscanvas.attr('height', sizeY * dpr); 1349 1350 context.scale(dpr, dpr); 1351 } 1352 1353 var container = opticStats(canvas).parent(); 1354 var x = sizeX / 2; 1355 var y = sizeY / 2; 1356 var degrees = customSettingsObj.percent * 360.0; 1357 var radians = degrees * (Math.PI / 180); 1358 var radius = sizeX / 2.5; 1359 var startAngle = 2.3 * Math.PI; 1360 var endAngle = 0; 1361 var counterClockwise = false; 1362 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 1363 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 1364 var circ = Math.PI * 2; 1365 var quart = Math.PI / 2; 1366 var type = ''; 1367 var fireCallback = true; 1368 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 1369 1370 if (opticStats(this).data('type') != undefined) { 1371 type = opticStats(this).data('type'); 1372 if (type == 'half') { 1373 startAngle = 2.0 * Math.PI; 1374 endAngle = 3.14; 1375 circ = Math.PI; 1376 quart = Math.PI / 0.996; 1377 } else if (type == 'angle') { 1378 startAngle = 2.25 * Math.PI; 1379 endAngle = 2.4; 1380 circ = 1.53 + Math.PI; 1381 quart = 0.73 + Math.PI / 0.996; 1382 } 1383 } 1384 1385 /** 1386 * adds text to circle 1387 * 1388 * @param obj 1389 * @param cssClass 1390 * @param lineHeight 1391 */ 1392 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 1393 function addCircleText(obj, cssClass, lineHeight) { 1394 opticStats("<span></span>") 1395 .appendTo(obj) 1396 .addClass(cssClass) 1397 .html(text) 1398 .prepend(icon) 1399 .css({ 1400 //'line-height': lineHeight + 'px', 1401 'font-size': customSettingsObj.fontsize + 'px', 1402 'line-height': customSettingsObj.fontsize + 'px' 1403 }); 1404 } 1405 1406 /** 1407 * adds info text to circle 1408 * 1409 * @param obj 1410 * @param factor 1411 */ 1412 function addInfoText(obj, factor) { 1413 opticStats('<span></span>') 1414 .appendTo(obj) 1415 .addClass('circle-info-half') 1416 //.css( 1417 //'line-height', (customSettingsObj.dimension * factor) + 'px' 1418 //) 1419 .text(info); 1420 } 1421 1422 /** 1423 * checks which data attributes are defined 1424 * @param obj 1425 */ 1426 function checkDataAttributes(obj) { 1427 opticStats.each(customSettings, function (index, attribute) { 1428 if (obj.data(attribute) != undefined) { 1429 customSettingsObj[attribute] = obj.data(attribute); 1430 } else { 1431 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 1432 } 1433 1434 if (attribute == 'fill' && obj.data('fill') != undefined) { 1435 fill = true; 1436 } 1437 }); 1438 } 1439 1440 //Animation Variables 1441 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 1442 // ---------------------- // 1443 // Animation Functions 1444 // ---------------------- // 1445 function blend(inColor,outColor,current){ 1446 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 1447 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 1448 r,g,b,a,cur; 1449 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 1450 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 1451 if(current < .5 ) { 1452 cur = current*2; 1453 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 1454 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 1455 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 1456 } else { 1457 cur = (current-.5)*2; 1458 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 1459 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 1460 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 1461 } 1462 var a = inColors[3]+((outColors[3] - inColors[3])*current);
1463 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 1464 } 1465 if (type == 'line' || type == 'vert-line') { 1466 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 1467 } 1468 var increaseInc = function(inc, current) { 1469 if (current >= 1) { 1470 // slowTheInc += 0.00002; 1471 // slowTheInc = Math.min(slowTheInc, 0.005); 1472 // inc = inc + (0.005-slowTheInc); 1473 } else { 1474 inc += 0.005; 1475 } 1476 return inc; 1477 } 1478 var moveColors = function(value, inc) { 1479 var pos = value+inc; 1480 pos = pos.toString(); 1481 pos = pos.split(".").pop(); 1482 pos = parseFloat("."+pos); 1483 return pos; 1484 } 1485 var createGrad = function(inc,sizeX, sizeY) { 1486 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 1487 grd.addColorStop(moveColors(0, inc),"#FF0000"); 1488 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 1489 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 1490 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 1491 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 1492 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 1493 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 1494 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 1495 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 1496 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 1497 grd.addColorStop(moveColors(1, inc),"#FF0000"); 1498 return grd; 1499 } 1500 var shadowGlow = function() { 1501 context.shadowColor = customSettingsObj.fgcolor; 1502 context.shadowOffsetX = 0; 1503 context.shadowOffsetY = 0; 1504 context.shadowBlur = 10; 1505 } 1506 var drawBorder = function() { 1507 context.lineWidth = customSettingsObj.bordersize + 1; 1508 context.strokeStyle = customSettingsObj.bgcolor; 1509 context.stroke(); 1510 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 1511 // 1512 } else { 1513 context.fillStyle = customSettingsObj.fill; 1514 context.fill(); 1515 } 1516 context.beginPath(); 1517 context.save(); 1518 } 1519 var fillAnimation = function(animationType, current) { 1520 if(animationType == 1){ 1521 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 1522 context.stroke(); 1523 } else if(animationType == 2){ 1524 context.strokeStyle = customSettingsObj.fgcolor; 1525 if (type == 'line') { 1526 var grd=context.createLinearGradient(sizeX,0,0,0); 1527 grd.addColorStop(0,"white"); 1528 grd.addColorStop(1,customSettingsObj.fgcolor); 1529 context.strokeStyle = grd; 1530 shadowGlow(); 1531 } else if (type == 'vert-line') { 1532 var grd=context.createLinearGradient(0,0,0,sizeY); 1533 grd.addColorStop(0,"white"); 1534 grd.addColorStop(1,customSettingsObj.fgcolor); 1535 context.strokeStyle = grd; 1536 shadowGlow(); 1537 } else { 1538 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 1539 grd.addColorStop(0, customSettingsObj.fgcolor); 1540 grd.addColorStop(0.5, 'white'); 1541 grd.addColorStop(1, customSettingsObj.fgcolor); 1542 context.strokeStyle = grd; 1543 shadowGlow(); 1544 } 1545 context.stroke(); 1546 context.restore(); 1547 } else if(animationType == 3){ 1548 if (type == 'line') { 1549 var grd = createGrad(inc,sizeX,sizeY); 1550 inc = increaseInc(inc,current); 1551 context.strokeStyle = grd; 1552 } else if (type == 'vert-line') { 1553 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 1554 grd.addColorStop(moveColors(0, inc),"#FF0000"); 1555 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 1556 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 1557 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 1558 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 1559 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 1560 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 1561 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 1562 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 1563 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 1564 grd.addColorStop(moveColors(1, inc),"#FF0000"); 1565 inc = increaseInc(inc,current); 1566 context.strokeStyle = grd; 1567 } else { 1568 var grd = createGrad(inc,sizeX,sizeY); 1569 inc = increaseInc(inc,current); 1570 context.strokeStyle = grd; 1571 } 1572 context.stroke();
1573 context.restore(); 1574 } else { 1575 context.strokeStyle = customSettingsObj.fgcolor; 1576 context.stroke(); 1577 } 1578 } 1579 // ---------------------- // 1580 // Animation 1581 // ---------------------- // 1582 function animate(current) { 1583 //Clear Canvas for next frame 1584 context.clearRect(0, 0, canvas.width, canvas.height); 1585 //Draw Background 1586 if (type == 'line' || type == 'vert-line') { 1587 context.rect(10, 10, sizeX-20, sizeY-20); 1588 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 1589 context.beginPath(); 1590 context.arc(x, y, radius, endAngle, startAngle, false); 1591 } 1592 context.fillStyle = customSettingsObj.fill; 1593 context.fill(); 1594 if (type == 'line') { 1595 context.beginPath(); 1596 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 1597 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 1598 drawBorder(); 1599 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 1600 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 1601 fillAnimation(animationType,current); 1602 } else if (type == 'vert-line'){ 1603 context.beginPath(); 1604 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 1605 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 1606 drawBorder(); 1607 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 1608 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 1609 fillAnimation(animationType,current); 1610 } else if (type == 'full' || type=='half') { 1611 drawBorder(); 1612 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 1613 fillAnimation(animationType,current); 1614 } else if (type == 'grow-circle') { 1615 drawBorder(); 1616 var fillRadius = sizeX/2.5*Math.min(current,1); 1617 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 1618 if(animationType == 1){ 1619 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 1620 context.fill(); 1621 } else if(animationType == 2){ 1622 var grd=context.createLinearGradient(0,0,0,sizeY); 1623 grd.addColorStop(0,"white"); 1624 grd.addColorStop(1,customSettingsObj.fgcolor); 1625 shadowGlow(); 1626 context.fillStyle = grd; 1627 context.fill(); 1628 } else if(animationType == 3){ 1629 var grd = createGrad(inc,sizeX,sizeY); 1630 inc = increaseInc(inc,current); 1631 context.fillStyle = grd; 1632 context.fill(); 1633 } else { 1634 context.fillStyle = customSettingsObj.fgcolor; 1635 context.fill(); 1636 } 1637 context.restore(); 1638 } else if (type == 'fill-circle') { 1639 drawBorder(); 1640 var fillRadius = sizeX/2.5, 1641 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 1642 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 1643 if(animationType == 1){ 1644 context.clip(); 1645 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 1646 context.fillRect(0, fillLine, sizeX, sizeY); 1647 } else if(animationType == 2){ 1648 var grd=context.createLinearGradient(0,0,0,sizeY); 1649 grd.addColorStop(0,"white"); 1650 grd.addColorStop(1,customSettingsObj.fgcolor); 1651 shadowGlow(); 1652 context.clip(); 1653 context.fillStyle = grd; 1654 context.fillRect(0, fillLine, sizeX, sizeY); 1655 1656 } else if(animationType == 3){ 1657 context.clip(); 1658 var grd = createGrad(inc,sizeX, sizeY); 1659 inc = increaseInc(inc,current); 1660 context.fillStyle = grd; 1661 context.fillRect(0, fillLine, sizeX, sizeY); 1662 } else { 1663 context.clip(); 1664 context.fillStyle = customSettingsObj.fgcolor; 1665 context.fillRect(0, fillLine, sizeX, sizeY); 1666 }
1667 context.restore(); 1668 } else if (type == 'fill-circle-wave') { 1669 drawBorder(); 1670 var fillRadius = sizeX/2.5, 1671 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 1672 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 1673 var ypos=fillLine, xpos=0; 1674 counter += .1; 1675 counterLoop = counter; 1676 var increase = 2*Math.PI / 12; 1677 context.clip(); 1678 context.beginPath(); 1679 context.moveTo(sizeX,sizeY); 1680 context.lineTo(0,sizeY); 1681 context.lineTo(0,ypos); 1682 if (curPerc > endPercent) { 1683 calm-=.01; 1684 if(calm<0) calm=0; 1685 } 1686 for(i=0; i<=sizeX; i+=10){ 1687 xpos = i; 1688 ypos = ypos - Math.sin(counterLoop) * calm; 1689 counterLoop += increase; 1690 context.lineTo(xpos,ypos); 1691 } 1692 context.lineTo(sizeX,sizeY); 1693 context.closePath(); 1694 if(animationType == 1){ 1695 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 1696 context.fill(); 1697 } else if(animationType == 2){ 1698 var grd=context.createLinearGradient(0,0,0,sizeY); 1699 grd.addColorStop(0,"white"); 1700 grd.addColorStop(1,customSettingsObj.fgcolor); 1701 shadowGlow(); 1702 context.clip(); 1703 context.fillStyle = grd; 1704 context.fill(); 1705 } else if(animationType == 3){ 1706 context.clip(); 1707 var grd = createGrad(inc,sizeX,sizeY); 1708 inc = increaseInc(inc,current); 1709 context.fillStyle = grd; 1710 context.fill(); 1711 } else { 1712 context.clip(); 1713 context.fillStyle = customSettingsObj.fgcolor; 1714 context.fill(); 1715 } 1716 context.restore(); 1717 } 1718 1719 if (curPerc < endPercent) { 1720 curPerc += curStep; 1721 requestAnimationFrame(function () { 1722 context.strokeStyle = customSettingsObj.fgcolor; 1723 animate(Math.min(curPerc, endPercent) / 100); 1724 }, obj); 1725 } else if(finishFrames < 500) { 1726 curPerc += curStep; 1727 finishFrames+=1; 1728 requestAnimationFrame(function () { 1729 context.strokeStyle = customSettingsObj.fgcolor; 1730 animate(Math.min(curPerc, endPercent) / 100); 1731 }, obj); 1732 } 1733 1734 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 1735 if (opticStats.isFunction(options.complete)) { 1736 options.complete(); 1737 1738 fireCallback = false; 1739 } 1740 } 1741 } 1742 obj.waypoint(function(direction){ 1743 animate(curPerc / 100); 1744 this.destroy(); 1745 }, { offset: '100%' }); 1746 }); 1747 }; 1748}(opticStats)); 1749/* 1750 The MIT License (MIT) 1751 CountUp 1752+Copyright (c) 2014-2015 Jamie Perkins 1753 Permission is hereby granted, free of charge, to any person obtaining a copy of 1754 this software and associated documentation files (the "Software"), to deal in 1755*/ 1756!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 1757/*! 1758Waypoints - 4.0.0 1759Copyright © 2011-2015 Caleb Troughton 1760Licensed under the MIT license. 1761https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 1762*/ 1763!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 1763
1763this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
1763ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 1764 1765opticStats( document ).ready(function() { 1766 var speed = 3000, 1767 countNumberstacks_in_33273 = "50", 1768 decimalNumber = '0', 1769 decimalNumber = decimalNumber.replace(/\D/g,''), 1770 decimalLength = decimalNumber.length, 1771 maxValuePercentstacks_in_33273 = (countNumberstacks_in_33273/50), 1772 speedA = (2000/speed)*maxValuePercentstacks_in_33273; 1773 if (50 == 0) { 1774 if(countNumberstacks_in_33273 < 0) { 1775 maxValuePercentstacks_in_33273 = 1; 1776 } else { 1777 maxValuePercentstacks_in_33273 = (0-countNumberstacks_in_33273)/0; 1778 } 1779 } 1780 if('False' == 'False' ) { 1781 decimalLength = 0; 1782 } else { 1783 countNumberstacks_in_33273 = countNumberstacks_in_33273.replace(/\D/g,''); 1784 countNumberstacks_in_33273 = countNumberstacks_in_33273+"."+decimalNumber; 1785 } 1786 if('False' == 'True' ) { 1787 var items = readData_data(opticStats("#data")); 1788 countNumberstacks_in_33273 = items['data-A1']; 1789 if(countNumberstacks_in_33273 == null) { 1790 countNumberstacks_in_33273 = '0'; 1791 } 1792 opticStats("#stat_stacks_in_33273").data("percent", maxValuePercentstacks_in_33273*100); 1793 // 1794 // 1795 if(countNumberstacks_in_33273.indexOf(".") !== -1) { 1796 decimalNumber = countNumberstacks_in_33273.substr(countNumberstacks_in_33273.indexOf(".") + 1); 1797 decimalNumber = decimalNumber.replace(/\D/g,''); 1798 decimalLength = decimalNumber.length; 1799 countNumberstacks_in_33273 = countNumberstacks_in_33273.substr(0, countNumberstacks_in_33273.indexOf('.')); 1800 } 1801 // 1802 // 1803 countNumberstacks_in_33273 = countNumberstacks_in_33273.replace(/[^0-9\-]/g,''); 1804 countNumberstacks_in_33273 = countNumberstacks_in_33273+"."+decimalNumber; 1805 maxValuePercentstacks_in_33273 = (countNumberstacks_in_33273/50); 1806 if (50 == 0) { 1807 if(countNumberstacks_in_33273 < 0) { 1808 maxValuePercentstacks_in_33273 = 1; 1809 } else { 1810 maxValuePercentstacks_in_33273 = (0-countNumberstacks_in_33273)/0; 1811 } 1812 } 1813 speedA = (2000/speed)*maxValuePercentstacks_in_33273; 1814 opticStats("#stat_stacks_in_33273").data("percent", maxValuePercentstacks_in_33273*100); 1815 } else { 1816 var maxValuePercentstacks_in_33273 = (countNumberstacks_in_33273/50); 1817 if (50 == 0) { 1818 if(countNumberstacks_in_33273 < 0) { 1819 maxValuePercentstacks_in_33273 = 1; 1820 } else { 1821 maxValuePercentstacks_in_33273 = (0-countNumberstacks_in_33273)/0; 1822 } 1823 } 1824 speedA = (2000/speed)*maxValuePercentstacks_in_33273; 1825 opticStats("#stat_stacks_in_33273").data("percent", maxValuePercentstacks_in_33273*100); 1826 } 1827 opticStats('#stat_stacks_in_33273').attr("data-animationstep", speedA); 1828 opticStats('#stat_stacks_in_33273').circliful(); 1829 opticStats('#stat_stacks_in_33273').waypoint(function(direction){ 1830 1831 // 1832// opticStats('#stacks_in_33273 .counter').counterUp({ 1833// delay: 10, 1834// time: speed 1835// }); 1836 1837 var options = { 1838 // 1839 useGrouping : false, 1840 // 1841 // 1842 separator : ',', 1843 decimal : '.', 1844 // 1845 // 1846 // 1847 useEasing : false 1848 }; 1849 opticStats('#stacks_in_33273 .counter').attr("id", "count_stacks_in_33273"); 1850 var count = new CountUp('count_stacks_in_33273', 0, countNumberstacks_in_33273, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33273), options);//(1.75/speedA)*(maxValuePercentstacks_in_33273) 1851 count.start(); 1852 // 1853 // 1854 opticStats('#stat_stacks_in_33273 .circle-text').append(""); 1855 opticStats('#stat_stacks_in_33273 .circle-text-half').append(""); 1856 // 1857 // 1858 // 1859 // 1860 opticStats('#stat_stacks_in_33273 span > .osIcon').wrap("<div class='os-icon-wrap' />") 1861 opticStats('#stat_stacks_in_33273 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33273 .centerMe > div > span:first-child')); 1862 // 1863 // 1864 scale(); 1865 this.destroy(); 1866 }, { offset: '100%' }); 1867 1868 1869}); 1870 1871opticStats( window ).resize(function() { 1872 scale(); 1873}); 1874function scale() { 1875 var width = 330, 1876 currentWidth = opticStats('#stat_stacks_in_33273').parent().outerWidth(); 1877 if(currentWidth < width) { 1878 var scale = currentWidth/width; 1879 opticStats('#stat_stacks_in_33273').css({ 1880 "transform" : "scale("+scale+")", 1881 "transform-origin" : "0px", 1882 "-o-transform" : "scale("+scale+")", 1883 "-o-transform-origin" : "0px" 1884 }); 1885 } else { 1886 opticStats('#stat_stacks_in_33273').css({ 1887 "transform" : "scale(1)", 1888 "-o-transform" : "scale(1)" 1889 }); 1890 } 1891} 1892 1893return stack;})(stacks.stacks_in_33273); 1894stacks.stacks_in_33274 = {}; 1895stacks.stacks_in_33274 = (function(stack) { 1896 1897return stack;})(stacks.stacks_in_33274); 1898stacks.stacks_in_33280 = {}; 1899stacks.stacks_in_33280 = (function(stack) { 1900var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 1901/* 1902jquery-plugin-circliful 1903+The MIT License (MIT) 1904+ 1905+Copyright (c) 2014 Patric Gutersohn 1906+ 1907+Permission is hereby granted, free of charge, to any person obtaining a copy of 1908+this software and associated documentation files (the "Software"), to deal in 1909+the Software without restriction, including without limitation the rights to 1910+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 1911+the Software, and to permit persons to whom the Software is furnished to do so, 1912+subject to the following conditions: 1913+ 1914+The above copyright notice and this permission notice shall be included in all 1915+copies or substantial portions of the Software. 1916+ 1917+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1918+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 1919+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 1920+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 1921+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 1922+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 1923*/ 1924"use strict"; 1925 1926(function (opticStats) { 1927 1928 opticStats.fn.circliful = function (options, callback) { 1929 1930 var settings = opticStats.extend({ 1931 // These are the defaults. 1932 startdegree: 0, 1933 fgcolor: "#556b2f", 1934 bgcolor: "#eee", 1935 fill: false, 1936 width: 15, 1937 dimension: 200, 1938 fontsize: 15, 1939 percent: 50, 1940 animationstep: 1.0, 1941 iconsize: '20px', 1942 iconcolor: '#999', 1943 border: 'default', 1944 complete: null, 1945 bordersize: 10 1946 }, options); 1947 1948 return this.each(function () { 1949 1950 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 1951 1952 var customSettingsObj = {}; 1953 var icon = ''; 1954 var percent; 1955 var endPercent = 0; 1956 var obj = opticStats(this); 1957 var fill = false;
1958 var text, info; 1959 1960 obj.addClass('circliful'); 1961 1962 checkDataAttributes(obj); 1963 1964 if (obj.data('text') != undefined) { 1965 1966 //remove non number characters 1967 1968 text = obj.data('text'); 1969 text = text.toString(); 1970 text = text.replace(/[^0-9.,]/g, ''); 1971 text = "<span class='counter'>" + text + "</span>"; 1972 1973 if (obj.data('icon') != undefined) { 1974 icon = opticStats('<i></i>') 1975 .addClass('osIcon fa ' + opticStats(this).data('icon')) 1976 .css({ 1977 'color': customSettingsObj.iconcolor, 1978 'font-size': customSettingsObj.iconsize, 1979 'line-height': customSettingsObj.iconsize + "px" 1980 }); 1981 } 1982 if (obj.data('icon-custom') != undefined) { 1983 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 1984 .addClass('osIcon ') 1985 .css({ 1986 'width': customSettingsObj.iconsize, 1987 'height': customSettingsObj.iconsize 1988 }); 1989 } 1990 1991 if (obj.data('type') != undefined) { 1992 type = opticStats(this).data('type'); 1993 1994 if (type == 'half') { 1995 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 1996 } else { 1997 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 1998 } 1999 } else { 2000 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 2001 } 2002 } 2003 2004 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 2005 var total = opticStats(this).data("total") / 100; 2006 2007 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 2008 endPercent = (opticStats(this).data("part") / total).toFixed(3); 2009 } else { 2010 if (opticStats(this).data("percent") != undefined) { 2011 percent = opticStats(this).data("percent") / 100; 2012 endPercent = opticStats(this).data("percent"); 2013 } else { 2014 percent = settings.percent / 100; 2015 } 2016 } 2017 2018 if (opticStats(this).data('info') != undefined) { 2019 info = opticStats(this).data('info'); 2020 2021 if (opticStats(this).data('type') != undefined) { 2022 type = opticStats(this).data('type'); 2023 2024 if (type == 'half') { 2025 addInfoText(obj, 0.9); 2026 } else { 2027 addInfoText(obj, 1.25); 2028 } 2029 } else { 2030 addInfoText(obj, 1.25); 2031 } 2032 } 2033 2034 opticStats(this).width(customSettingsObj.dimension + 'px'); 2035 if (type == 'line' || type == 'vert-line') { 2036 opticStats(this).height(opticStats(this).data('height') + 'px'); 2037 } else { 2038 opticStats(this).height(customSettingsObj.dimension + 'px'); 2039 } 2040 2041 2042 var sizeX = customSettingsObj.dimension, 2043 sizeY = customSettingsObj.dimension; 2044 if (type == 'line' || type == 'vert-line') { 2045 sizeY = opticStats(this).data('height'); 2046 } 2047 var canvas = opticStats('<canvas></canvas>').attr({ 2048 width: sizeX, 2049 height: sizeY 2050 }).appendTo(opticStats(this)).get(0); 2051 var context = canvas.getContext('2d'); 2052 2053 var dpr = window.devicePixelRatio; 2054 if ( dpr ) { 2055 var opticStatscanvas = opticStats(canvas); 2056 opticStatscanvas.css('width', sizeX); 2057 opticStatscanvas.css('height', sizeY); 2058 opticStatscanvas.attr('width', sizeX * dpr); 2059 opticStatscanvas.attr('height', sizeY * dpr); 2060 2061 context.scale(dpr, dpr); 2062 } 2063 2064 var container = opticStats(canvas).parent(); 2065 var x = sizeX / 2; 2066 var y = sizeY / 2; 2067 var degrees = customSettingsObj.percent * 360.0; 2068 var radians = degrees * (Math.PI / 180); 2069 var radius = sizeX / 2.5; 2070 var startAngle = 2.3 * Math.PI; 2071 var endAngle = 0; 2072 var counterClockwise = false; 2073 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 2074 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 2075 var circ = Math.PI * 2; 2076 var quart = Math.PI / 2; 2077 var type = ''; 2078 var fireCallback = true; 2079 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 2080 2081 if (opticStats(this).data('type') != undefined) { 2082 type = opticStats(this).data('type'); 2083 if (type == 'half') { 2084 startAngle = 2.0 * Math.PI; 2085 endAngle = 3.14; 2086 circ = Math.PI; 2087 quart = Math.PI / 0.996; 2088 } else if (type == 'angle') { 2089 startAngle = 2.25 * Math.PI; 2090 endAngle = 2.4; 2091 circ = 1.53 + Math.PI; 2092 quart = 0.73 + Math.PI / 0.996; 2093 } 2094 } 2095 2096 /** 2097 * adds text to circle 2098 * 2099 * @param obj 2100 * @param cssClass 2101 * @param lineHeight 2102 */ 2103 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 2104 function addCircleText(obj, cssClass, lineHeight) { 2105 opticStats("<span></span>") 2106 .appendTo(obj) 2107 .addClass(cssClass) 2108 .html(text) 2109 .prepend(icon) 2110 .css({ 2111 //'line-height': lineHeight + 'px', 2112 'font-size': customSettingsObj.fontsize + 'px', 2113 'line-height': customSettingsObj.fontsize + 'px' 2114 }); 2115 } 2116 2117 /** 2118 * adds info text to circle 2119 * 2120 * @param obj 2121 * @param factor 2122 */ 2123 function addInfoText(obj, factor) { 2124 opticStats('<span></span>') 2125 .appendTo(obj) 2126 .addClass('circle-info-half') 2127 //.css( 2128 //'line-height', (customSettingsObj.dimension * factor) + 'px' 2129 //) 2130 .text(info); 2131 } 2132 2133 /** 2134 * checks which data attributes are defined 2135 * @param obj 2136 */ 2137 function checkDataAttributes(obj) { 2138 opticStats.each(customSettings, function (index, attribute) { 2139 if (obj.data(attribute) != undefined) { 2140 customSettingsObj[attribute] = obj.data(attribute); 2141 } else { 2142 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 2143 } 2144 2145 if (attribute == 'fill' && obj.data('fill') != undefined) { 2146 fill = true; 2147 } 2148 }); 2149 } 2150 2151 //Animation Variables 2152 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 2153 // ---------------------- // 2154 // Animation Functions 2155 // ---------------------- // 2156 function blend(inColor,outColor,current){ 2157 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 2158 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 2159 r,g,b,a,cur; 2160 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 2161 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 2162 if(current < .5 ) { 2163 cur = current*2; 2164 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 2165 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 2166 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 2167 } else { 2168 cur = (current-.5)*2; 2169 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 2170 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 2171 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 2172 } 2173 var a = inColors[3]+((outColors[3] - inColors[3])*current);
2174 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 2175 } 2176 if (type == 'line' || type == 'vert-line') { 2177 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 2178 } 2179 var increaseInc = function(inc, current) { 2180 if (current >= 1) { 2181 // slowTheInc += 0.00002; 2182 // slowTheInc = Math.min(slowTheInc, 0.005); 2183 // inc = inc + (0.005-slowTheInc); 2184 } else { 2185 inc += 0.005; 2186 } 2187 return inc; 2188 } 2189 var moveColors = function(value, inc) { 2190 var pos = value+inc; 2191 pos = pos.toString(); 2192 pos = pos.split(".").pop(); 2193 pos = parseFloat("."+pos); 2194 return pos; 2195 } 2196 var createGrad = function(inc,sizeX, sizeY) { 2197 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 2198 grd.addColorStop(moveColors(0, inc),"#FF0000"); 2199 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 2200 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 2201 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 2202 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 2203 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 2204 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 2205 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 2206 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 2207 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 2208 grd.addColorStop(moveColors(1, inc),"#FF0000"); 2209 return grd; 2210 } 2211 var shadowGlow = function() { 2212 context.shadowColor = customSettingsObj.fgcolor; 2213 context.shadowOffsetX = 0; 2214 context.shadowOffsetY = 0; 2215 context.shadowBlur = 10; 2216 } 2217 var drawBorder = function() { 2218 context.lineWidth = customSettingsObj.bordersize + 1; 2219 context.strokeStyle = customSettingsObj.bgcolor; 2220 context.stroke(); 2221 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 2222 // 2223 } else { 2224 context.fillStyle = customSettingsObj.fill; 2225 context.fill(); 2226 } 2227 context.beginPath(); 2228 context.save(); 2229 } 2230 var fillAnimation = function(animationType, current) { 2231 if(animationType == 1){ 2232 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 2233 context.stroke(); 2234 } else if(animationType == 2){ 2235 context.strokeStyle = customSettingsObj.fgcolor; 2236 if (type == 'line') { 2237 var grd=context.createLinearGradient(sizeX,0,0,0); 2238 grd.addColorStop(0,"white"); 2239 grd.addColorStop(1,customSettingsObj.fgcolor); 2240 context.strokeStyle = grd; 2241 shadowGlow(); 2242 } else if (type == 'vert-line') { 2243 var grd=context.createLinearGradient(0,0,0,sizeY); 2244 grd.addColorStop(0,"white"); 2245 grd.addColorStop(1,customSettingsObj.fgcolor); 2246 context.strokeStyle = grd; 2247 shadowGlow(); 2248 } else { 2249 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 2250 grd.addColorStop(0, customSettingsObj.fgcolor); 2251 grd.addColorStop(0.5, 'white'); 2252 grd.addColorStop(1, customSettingsObj.fgcolor); 2253 context.strokeStyle = grd; 2254 shadowGlow(); 2255 } 2256 context.stroke(); 2257 context.restore(); 2258 } else if(animationType == 3){ 2259 if (type == 'line') { 2260 var grd = createGrad(inc,sizeX,sizeY); 2261 inc = increaseInc(inc,current); 2262 context.strokeStyle = grd; 2263 } else if (type == 'vert-line') { 2264 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 2265 grd.addColorStop(moveColors(0, inc),"#FF0000"); 2266 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 2267 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 2268 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 2269 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 2270 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 2271 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 2272 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 2273 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 2274 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 2275 grd.addColorStop(moveColors(1, inc),"#FF0000"); 2276 inc = increaseInc(inc,current); 2277 context.strokeStyle = grd; 2278 } else { 2279 var grd = createGrad(inc,sizeX,sizeY); 2280 inc = increaseInc(inc,current); 2281 context.strokeStyle = grd; 2282 } 2283 context.stroke();
2284 context.restore(); 2285 } else { 2286 context.strokeStyle = customSettingsObj.fgcolor; 2287 context.stroke(); 2288 } 2289 } 2290 // ---------------------- // 2291 // Animation 2292 // ---------------------- // 2293 function animate(current) { 2294 //Clear Canvas for next frame 2295 context.clearRect(0, 0, canvas.width, canvas.height); 2296 //Draw Background 2297 if (type == 'line' || type == 'vert-line') { 2298 context.rect(10, 10, sizeX-20, sizeY-20); 2299 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 2300 context.beginPath(); 2301 context.arc(x, y, radius, endAngle, startAngle, false); 2302 } 2303 context.fillStyle = customSettingsObj.fill; 2304 context.fill(); 2305 if (type == 'line') { 2306 context.beginPath(); 2307 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 2308 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 2309 drawBorder(); 2310 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 2311 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 2312 fillAnimation(animationType,current); 2313 } else if (type == 'vert-line'){ 2314 context.beginPath(); 2315 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 2316 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 2317 drawBorder(); 2318 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 2319 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 2320 fillAnimation(animationType,current); 2321 } else if (type == 'full' || type=='half') { 2322 drawBorder(); 2323 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 2324 fillAnimation(animationType,current); 2325 } else if (type == 'grow-circle') { 2326 drawBorder(); 2327 var fillRadius = sizeX/2.5*Math.min(current,1); 2328 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 2329 if(animationType == 1){ 2330 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 2331 context.fill(); 2332 } else if(animationType == 2){ 2333 var grd=context.createLinearGradient(0,0,0,sizeY); 2334 grd.addColorStop(0,"white"); 2335 grd.addColorStop(1,customSettingsObj.fgcolor); 2336 shadowGlow(); 2337 context.fillStyle = grd; 2338 context.fill(); 2339 } else if(animationType == 3){ 2340 var grd = createGrad(inc,sizeX,sizeY); 2341 inc = increaseInc(inc,current); 2342 context.fillStyle = grd; 2343 context.fill(); 2344 } else { 2345 context.fillStyle = customSettingsObj.fgcolor; 2346 context.fill(); 2347 } 2348 context.restore(); 2349 } else if (type == 'fill-circle') { 2350 drawBorder(); 2351 var fillRadius = sizeX/2.5, 2352 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 2353 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 2354 if(animationType == 1){ 2355 context.clip(); 2356 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 2357 context.fillRect(0, fillLine, sizeX, sizeY); 2358 } else if(animationType == 2){ 2359 var grd=context.createLinearGradient(0,0,0,sizeY); 2360 grd.addColorStop(0,"white"); 2361 grd.addColorStop(1,customSettingsObj.fgcolor); 2362 shadowGlow(); 2363 context.clip(); 2364 context.fillStyle = grd; 2365 context.fillRect(0, fillLine, sizeX, sizeY); 2366 2367 } else if(animationType == 3){ 2368 context.clip(); 2369 var grd = createGrad(inc,sizeX, sizeY); 2370 inc = increaseInc(inc,current); 2371 context.fillStyle = grd; 2372 context.fillRect(0, fillLine, sizeX, sizeY); 2373 } else { 2374 context.clip(); 2375 context.fillStyle = customSettingsObj.fgcolor; 2376 context.fillRect(0, fillLine, sizeX, sizeY); 2377 }
2378 context.restore(); 2379 } else if (type == 'fill-circle-wave') { 2380 drawBorder(); 2381 var fillRadius = sizeX/2.5, 2382 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 2383 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 2384 var ypos=fillLine, xpos=0; 2385 counter += .1; 2386 counterLoop = counter; 2387 var increase = 2*Math.PI / 12; 2388 context.clip(); 2389 context.beginPath(); 2390 context.moveTo(sizeX,sizeY); 2391 context.lineTo(0,sizeY); 2392 context.lineTo(0,ypos); 2393 if (curPerc > endPercent) { 2394 calm-=.01; 2395 if(calm<0) calm=0; 2396 } 2397 for(i=0; i<=sizeX; i+=10){ 2398 xpos = i; 2399 ypos = ypos - Math.sin(counterLoop) * calm; 2400 counterLoop += increase; 2401 context.lineTo(xpos,ypos); 2402 } 2403 context.lineTo(sizeX,sizeY); 2404 context.closePath(); 2405 if(animationType == 1){ 2406 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 2407 context.fill(); 2408 } else if(animationType == 2){ 2409 var grd=context.createLinearGradient(0,0,0,sizeY); 2410 grd.addColorStop(0,"white"); 2411 grd.addColorStop(1,customSettingsObj.fgcolor); 2412 shadowGlow(); 2413 context.clip(); 2414 context.fillStyle = grd; 2415 context.fill(); 2416 } else if(animationType == 3){ 2417 context.clip(); 2418 var grd = createGrad(inc,sizeX,sizeY); 2419 inc = increaseInc(inc,current); 2420 context.fillStyle = grd; 2421 context.fill(); 2422 } else { 2423 context.clip(); 2424 context.fillStyle = customSettingsObj.fgcolor; 2425 context.fill(); 2426 } 2427 context.restore(); 2428 } 2429 2430 if (curPerc < endPercent) { 2431 curPerc += curStep; 2432 requestAnimationFrame(function () { 2433 context.strokeStyle = customSettingsObj.fgcolor; 2434 animate(Math.min(curPerc, endPercent) / 100); 2435 }, obj); 2436 } else if(finishFrames < 500) { 2437 curPerc += curStep; 2438 finishFrames+=1; 2439 requestAnimationFrame(function () { 2440 context.strokeStyle = customSettingsObj.fgcolor; 2441 animate(Math.min(curPerc, endPercent) / 100); 2442 }, obj); 2443 } 2444 2445 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 2446 if (opticStats.isFunction(options.complete)) { 2447 options.complete(); 2448 2449 fireCallback = false; 2450 } 2451 } 2452 } 2453 obj.waypoint(function(direction){ 2454 animate(curPerc / 100); 2455 this.destroy(); 2456 }, { offset: '100%' }); 2457 }); 2458 }; 2459}(opticStats)); 2460/* 2461 The MIT License (MIT) 2462 CountUp 2463+Copyright (c) 2014-2015 Jamie Perkins 2464 Permission is hereby granted, free of charge, to any person obtaining a copy of 2465 this software and associated documentation files (the "Software"), to deal in 2466*/ 2467!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 2468/*! 2469Waypoints - 4.0.0 2470Copyright © 2011-2015 Caleb Troughton 2471Licensed under the MIT license. 2472https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 2473*/ 2474!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 2474
2474this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
2474ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 2475 2476opticStats( document ).ready(function() { 2477 var speed = 3000, 2478 countNumberstacks_in_33280 = "139", 2479 decimalNumber = '0', 2480 decimalNumber = decimalNumber.replace(/\D/g,''), 2481 decimalLength = decimalNumber.length, 2482 maxValuePercentstacks_in_33280 = (countNumberstacks_in_33280/139), 2483 speedA = (2000/speed)*maxValuePercentstacks_in_33280; 2484 if (139 == 0) { 2485 if(countNumberstacks_in_33280 < 0) { 2486 maxValuePercentstacks_in_33280 = 1; 2487 } else { 2488 maxValuePercentstacks_in_33280 = (0-countNumberstacks_in_33280)/0; 2489 } 2490 } 2491 if('False' == 'False' ) { 2492 decimalLength = 0; 2493 } else { 2494 countNumberstacks_in_33280 = countNumberstacks_in_33280.replace(/\D/g,''); 2495 countNumberstacks_in_33280 = countNumberstacks_in_33280+"."+decimalNumber; 2496 } 2497 if('False' == 'True' ) { 2498 var items = readData_data(opticStats("#data")); 2499 countNumberstacks_in_33280 = items['data-A1']; 2500 if(countNumberstacks_in_33280 == null) { 2501 countNumberstacks_in_33280 = '0'; 2502 } 2503 opticStats("#stat_stacks_in_33280").data("percent", maxValuePercentstacks_in_33280*100); 2504 // 2505 // 2506 if(countNumberstacks_in_33280.indexOf(".") !== -1) { 2507 decimalNumber = countNumberstacks_in_33280.substr(countNumberstacks_in_33280.indexOf(".") + 1); 2508 decimalNumber = decimalNumber.replace(/\D/g,''); 2509 decimalLength = decimalNumber.length; 2510 countNumberstacks_in_33280 = countNumberstacks_in_33280.substr(0, countNumberstacks_in_33280.indexOf('.')); 2511 } 2512 // 2513 // 2514 countNumberstacks_in_33280 = countNumberstacks_in_33280.replace(/[^0-9\-]/g,''); 2515 countNumberstacks_in_33280 = countNumberstacks_in_33280+"."+decimalNumber; 2516 maxValuePercentstacks_in_33280 = (countNumberstacks_in_33280/139); 2517 if (139 == 0) { 2518 if(countNumberstacks_in_33280 < 0) { 2519 maxValuePercentstacks_in_33280 = 1; 2520 } else { 2521 maxValuePercentstacks_in_33280 = (0-countNumberstacks_in_33280)/0; 2522 } 2523 } 2524 speedA = (2000/speed)*maxValuePercentstacks_in_33280; 2525 opticStats("#stat_stacks_in_33280").data("percent", maxValuePercentstacks_in_33280*100); 2526 } else { 2527 var maxValuePercentstacks_in_33280 = (countNumberstacks_in_33280/139); 2528 if (139 == 0) { 2529 if(countNumberstacks_in_33280 < 0) { 2530 maxValuePercentstacks_in_33280 = 1; 2531 } else { 2532 maxValuePercentstacks_in_33280 = (0-countNumberstacks_in_33280)/0; 2533 } 2534 } 2535 speedA = (2000/speed)*maxValuePercentstacks_in_33280; 2536 opticStats("#stat_stacks_in_33280").data("percent", maxValuePercentstacks_in_33280*100); 2537 } 2538 opticStats('#stat_stacks_in_33280').attr("data-animationstep", speedA); 2539 opticStats('#stat_stacks_in_33280').circliful(); 2540 opticStats('#stat_stacks_in_33280').waypoint(function(direction){ 2541 2542 // 2543// opticStats('#stacks_in_33280 .counter').counterUp({ 2544// delay: 10, 2545// time: speed 2546// }); 2547 2548 var options = { 2549 // 2550 useGrouping : false, 2551 // 2552 // 2553 separator : ',', 2554 decimal : '.', 2555 // 2556 // 2557 // 2558 useEasing : false 2559 }; 2560 opticStats('#stacks_in_33280 .counter').attr("id", "count_stacks_in_33280"); 2561 var count = new CountUp('count_stacks_in_33280', 0, countNumberstacks_in_33280, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33280), options);//(1.75/speedA)*(maxValuePercentstacks_in_33280) 2562 count.start(); 2563 // 2564 // 2565 opticStats('#stat_stacks_in_33280 .circle-text').append(""); 2566 opticStats('#stat_stacks_in_33280 .circle-text-half').append(""); 2567 // 2568 // 2569 // 2570 // 2571 opticStats('#stat_stacks_in_33280 span > .osIcon').wrap("<div class='os-icon-wrap' />") 2572 opticStats('#stat_stacks_in_33280 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33280 .centerMe > div > span:first-child')); 2573 // 2574 // 2575 scale(); 2576 this.destroy(); 2577 }, { offset: '100%' }); 2578 2579 2580}); 2581 2582opticStats( window ).resize(function() { 2583 scale(); 2584}); 2585function scale() { 2586 var width = 330, 2587 currentWidth = opticStats('#stat_stacks_in_33280').parent().outerWidth(); 2588 if(currentWidth < width) { 2589 var scale = currentWidth/width; 2590 opticStats('#stat_stacks_in_33280').css({ 2591 "transform" : "scale("+scale+")", 2592 "transform-origin" : "0px", 2593 "-o-transform" : "scale("+scale+")", 2594 "-o-transform-origin" : "0px" 2595 }); 2596 } else { 2597 opticStats('#stat_stacks_in_33280').css({ 2598 "transform" : "scale(1)", 2599 "-o-transform" : "scale(1)" 2600 }); 2601 } 2602} 2603 2604return stack;})(stacks.stacks_in_33280); 2605stacks.stacks_in_33281 = {}; 2606stacks.stacks_in_33281 = (function(stack) { 2607 2608return stack;})(stacks.stacks_in_33281); 2609stacks.stacks_in_33287 = {}; 2610stacks.stacks_in_33287 = (function(stack) { 2611var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 2612/* 2613jquery-plugin-circliful 2614+The MIT License (MIT) 2615+ 2616+Copyright (c) 2014 Patric Gutersohn 2617+ 2618+Permission is hereby granted, free of charge, to any person obtaining a copy of 2619+this software and associated documentation files (the "Software"), to deal in 2620+the Software without restriction, including without limitation the rights to 2621+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 2622+the Software, and to permit persons to whom the Software is furnished to do so, 2623+subject to the following conditions: 2624+ 2625+The above copyright notice and this permission notice shall be included in all 2626+copies or substantial portions of the Software. 2627+ 2628+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 2629+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 2630+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 2631+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 2632+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2633+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2634*/ 2635"use strict"; 2636 2637(function (opticStats) { 2638 2639 opticStats.fn.circliful = function (options, callback) { 2640 2641 var settings = opticStats.extend({ 2642 // These are the defaults. 2643 startdegree: 0, 2644 fgcolor: "#556b2f", 2645 bgcolor: "#eee", 2646 fill: false, 2647 width: 15, 2648 dimension: 200, 2649 fontsize: 15, 2650 percent: 50, 2651 animationstep: 1.0, 2652 iconsize: '20px', 2653 iconcolor: '#999', 2654 border: 'default', 2655 complete: null, 2656 bordersize: 10 2657 }, options); 2658 2659 return this.each(function () { 2660 2661 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 2662 2663 var customSettingsObj = {}; 2664 var icon = ''; 2665 var percent; 2666 var endPercent = 0; 2667 var obj = opticStats(this); 2668 var fill = false;
2669 var text, info; 2670 2671 obj.addClass('circliful'); 2672 2673 checkDataAttributes(obj); 2674 2675 if (obj.data('text') != undefined) { 2676 2677 //remove non number characters 2678 2679 text = obj.data('text'); 2680 text = text.toString(); 2681 text = text.replace(/[^0-9.,]/g, ''); 2682 text = "<span class='counter'>" + text + "</span>"; 2683 2684 if (obj.data('icon') != undefined) { 2685 icon = opticStats('<i></i>') 2686 .addClass('osIcon fa ' + opticStats(this).data('icon')) 2687 .css({ 2688 'color': customSettingsObj.iconcolor, 2689 'font-size': customSettingsObj.iconsize, 2690 'line-height': customSettingsObj.iconsize + "px" 2691 }); 2692 } 2693 if (obj.data('icon-custom') != undefined) { 2694 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 2695 .addClass('osIcon ') 2696 .css({ 2697 'width': customSettingsObj.iconsize, 2698 'height': customSettingsObj.iconsize 2699 }); 2700 } 2701 2702 if (obj.data('type') != undefined) { 2703 type = opticStats(this).data('type'); 2704 2705 if (type == 'half') { 2706 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 2707 } else { 2708 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 2709 } 2710 } else { 2711 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 2712 } 2713 } 2714 2715 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 2716 var total = opticStats(this).data("total") / 100; 2717 2718 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 2719 endPercent = (opticStats(this).data("part") / total).toFixed(3); 2720 } else { 2721 if (opticStats(this).data("percent") != undefined) { 2722 percent = opticStats(this).data("percent") / 100; 2723 endPercent = opticStats(this).data("percent"); 2724 } else { 2725 percent = settings.percent / 100; 2726 } 2727 } 2728 2729 if (opticStats(this).data('info') != undefined) { 2730 info = opticStats(this).data('info'); 2731 2732 if (opticStats(this).data('type') != undefined) { 2733 type = opticStats(this).data('type'); 2734 2735 if (type == 'half') { 2736 addInfoText(obj, 0.9); 2737 } else { 2738 addInfoText(obj, 1.25); 2739 } 2740 } else { 2741 addInfoText(obj, 1.25); 2742 } 2743 } 2744 2745 opticStats(this).width(customSettingsObj.dimension + 'px'); 2746 if (type == 'line' || type == 'vert-line') { 2747 opticStats(this).height(opticStats(this).data('height') + 'px'); 2748 } else { 2749 opticStats(this).height(customSettingsObj.dimension + 'px'); 2750 } 2751 2752 2753 var sizeX = customSettingsObj.dimension, 2754 sizeY = customSettingsObj.dimension; 2755 if (type == 'line' || type == 'vert-line') { 2756 sizeY = opticStats(this).data('height'); 2757 } 2758 var canvas = opticStats('<canvas></canvas>').attr({ 2759 width: sizeX, 2760 height: sizeY 2761 }).appendTo(opticStats(this)).get(0); 2762 var context = canvas.getContext('2d'); 2763 2764 var dpr = window.devicePixelRatio; 2765 if ( dpr ) { 2766 var opticStatscanvas = opticStats(canvas); 2767 opticStatscanvas.css('width', sizeX); 2768 opticStatscanvas.css('height', sizeY); 2769 opticStatscanvas.attr('width', sizeX * dpr); 2770 opticStatscanvas.attr('height', sizeY * dpr); 2771 2772 context.scale(dpr, dpr); 2773 } 2774 2775 var container = opticStats(canvas).parent(); 2776 var x = sizeX / 2; 2777 var y = sizeY / 2; 2778 var degrees = customSettingsObj.percent * 360.0; 2779 var radians = degrees * (Math.PI / 180); 2780 var radius = sizeX / 2.5; 2781 var startAngle = 2.3 * Math.PI; 2782 var endAngle = 0; 2783 var counterClockwise = false; 2784 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 2785 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 2786 var circ = Math.PI * 2; 2787 var quart = Math.PI / 2; 2788 var type = ''; 2789 var fireCallback = true; 2790 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 2791 2792 if (opticStats(this).data('type') != undefined) { 2793 type = opticStats(this).data('type'); 2794 if (type == 'half') { 2795 startAngle = 2.0 * Math.PI; 2796 endAngle = 3.14; 2797 circ = Math.PI; 2798 quart = Math.PI / 0.996; 2799 } else if (type == 'angle') { 2800 startAngle = 2.25 * Math.PI; 2801 endAngle = 2.4; 2802 circ = 1.53 + Math.PI; 2803 quart = 0.73 + Math.PI / 0.996; 2804 } 2805 } 2806 2807 /** 2808 * adds text to circle 2809 * 2810 * @param obj 2811 * @param cssClass 2812 * @param lineHeight 2813 */ 2814 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 2815 function addCircleText(obj, cssClass, lineHeight) { 2816 opticStats("<span></span>") 2817 .appendTo(obj) 2818 .addClass(cssClass) 2819 .html(text) 2820 .prepend(icon) 2821 .css({ 2822 //'line-height': lineHeight + 'px', 2823 'font-size': customSettingsObj.fontsize + 'px', 2824 'line-height': customSettingsObj.fontsize + 'px' 2825 }); 2826 } 2827 2828 /** 2829 * adds info text to circle 2830 * 2831 * @param obj 2832 * @param factor 2833 */ 2834 function addInfoText(obj, factor) { 2835 opticStats('<span></span>') 2836 .appendTo(obj) 2837 .addClass('circle-info-half') 2838 //.css( 2839 //'line-height', (customSettingsObj.dimension * factor) + 'px' 2840 //) 2841 .text(info); 2842 } 2843 2844 /** 2845 * checks which data attributes are defined 2846 * @param obj 2847 */ 2848 function checkDataAttributes(obj) { 2849 opticStats.each(customSettings, function (index, attribute) { 2850 if (obj.data(attribute) != undefined) { 2851 customSettingsObj[attribute] = obj.data(attribute); 2852 } else { 2853 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 2854 } 2855 2856 if (attribute == 'fill' && obj.data('fill') != undefined) { 2857 fill = true; 2858 } 2859 }); 2860 } 2861 2862 //Animation Variables 2863 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 2864 // ---------------------- // 2865 // Animation Functions 2866 // ---------------------- // 2867 function blend(inColor,outColor,current){ 2868 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 2869 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 2870 r,g,b,a,cur; 2871 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 2872 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 2873 if(current < .5 ) { 2874 cur = current*2; 2875 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 2876 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 2877 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 2878 } else { 2879 cur = (current-.5)*2; 2880 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 2881 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 2882 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 2883 } 2884 var a = inColors[3]+((outColors[3] - inColors[3])*current);
2885 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 2886 } 2887 if (type == 'line' || type == 'vert-line') { 2888 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 2889 } 2890 var increaseInc = function(inc, current) { 2891 if (current >= 1) { 2892 // slowTheInc += 0.00002; 2893 // slowTheInc = Math.min(slowTheInc, 0.005); 2894 // inc = inc + (0.005-slowTheInc); 2895 } else { 2896 inc += 0.005; 2897 } 2898 return inc; 2899 } 2900 var moveColors = function(value, inc) { 2901 var pos = value+inc; 2902 pos = pos.toString(); 2903 pos = pos.split(".").pop(); 2904 pos = parseFloat("."+pos); 2905 return pos; 2906 } 2907 var createGrad = function(inc,sizeX, sizeY) { 2908 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 2909 grd.addColorStop(moveColors(0, inc),"#FF0000"); 2910 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 2911 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 2912 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 2913 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 2914 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 2915 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 2916 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 2917 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 2918 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 2919 grd.addColorStop(moveColors(1, inc),"#FF0000"); 2920 return grd; 2921 } 2922 var shadowGlow = function() { 2923 context.shadowColor = customSettingsObj.fgcolor; 2924 context.shadowOffsetX = 0; 2925 context.shadowOffsetY = 0; 2926 context.shadowBlur = 10; 2927 } 2928 var drawBorder = function() { 2929 context.lineWidth = customSettingsObj.bordersize + 1; 2930 context.strokeStyle = customSettingsObj.bgcolor; 2931 context.stroke(); 2932 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 2933 // 2934 } else { 2935 context.fillStyle = customSettingsObj.fill; 2936 context.fill(); 2937 } 2938 context.beginPath(); 2939 context.save(); 2940 } 2941 var fillAnimation = function(animationType, current) { 2942 if(animationType == 1){ 2943 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 2944 context.stroke(); 2945 } else if(animationType == 2){ 2946 context.strokeStyle = customSettingsObj.fgcolor; 2947 if (type == 'line') { 2948 var grd=context.createLinearGradient(sizeX,0,0,0); 2949 grd.addColorStop(0,"white"); 2950 grd.addColorStop(1,customSettingsObj.fgcolor); 2951 context.strokeStyle = grd; 2952 shadowGlow(); 2953 } else if (type == 'vert-line') { 2954 var grd=context.createLinearGradient(0,0,0,sizeY); 2955 grd.addColorStop(0,"white"); 2956 grd.addColorStop(1,customSettingsObj.fgcolor); 2957 context.strokeStyle = grd; 2958 shadowGlow(); 2959 } else { 2960 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 2961 grd.addColorStop(0, customSettingsObj.fgcolor); 2962 grd.addColorStop(0.5, 'white'); 2963 grd.addColorStop(1, customSettingsObj.fgcolor); 2964 context.strokeStyle = grd; 2965 shadowGlow(); 2966 } 2967 context.stroke(); 2968 context.restore(); 2969 } else if(animationType == 3){ 2970 if (type == 'line') { 2971 var grd = createGrad(inc,sizeX,sizeY); 2972 inc = increaseInc(inc,current); 2973 context.strokeStyle = grd; 2974 } else if (type == 'vert-line') { 2975 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 2976 grd.addColorStop(moveColors(0, inc),"#FF0000"); 2977 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 2978 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 2979 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 2980 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 2981 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 2982 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 2983 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 2984 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 2985 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 2986 grd.addColorStop(moveColors(1, inc),"#FF0000"); 2987 inc = increaseInc(inc,current); 2988 context.strokeStyle = grd; 2989 } else { 2990 var grd = createGrad(inc,sizeX,sizeY); 2991 inc = increaseInc(inc,current); 2992 context.strokeStyle = grd; 2993 } 2994 context.stroke();
2995 context.restore(); 2996 } else { 2997 context.strokeStyle = customSettingsObj.fgcolor; 2998 context.stroke(); 2999 } 3000 } 3001 // ---------------------- // 3002 // Animation 3003 // ---------------------- // 3004 function animate(current) { 3005 //Clear Canvas for next frame 3006 context.clearRect(0, 0, canvas.width, canvas.height); 3007 //Draw Background 3008 if (type == 'line' || type == 'vert-line') { 3009 context.rect(10, 10, sizeX-20, sizeY-20); 3010 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 3011 context.beginPath(); 3012 context.arc(x, y, radius, endAngle, startAngle, false); 3013 } 3014 context.fillStyle = customSettingsObj.fill; 3015 context.fill(); 3016 if (type == 'line') { 3017 context.beginPath(); 3018 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 3019 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 3020 drawBorder(); 3021 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 3022 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 3023 fillAnimation(animationType,current); 3024 } else if (type == 'vert-line'){ 3025 context.beginPath(); 3026 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 3027 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 3028 drawBorder(); 3029 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 3030 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 3031 fillAnimation(animationType,current); 3032 } else if (type == 'full' || type=='half') { 3033 drawBorder(); 3034 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 3035 fillAnimation(animationType,current); 3036 } else if (type == 'grow-circle') { 3037 drawBorder(); 3038 var fillRadius = sizeX/2.5*Math.min(current,1); 3039 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 3040 if(animationType == 1){ 3041 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 3042 context.fill(); 3043 } else if(animationType == 2){ 3044 var grd=context.createLinearGradient(0,0,0,sizeY); 3045 grd.addColorStop(0,"white"); 3046 grd.addColorStop(1,customSettingsObj.fgcolor); 3047 shadowGlow(); 3048 context.fillStyle = grd; 3049 context.fill(); 3050 } else if(animationType == 3){ 3051 var grd = createGrad(inc,sizeX,sizeY); 3052 inc = increaseInc(inc,current); 3053 context.fillStyle = grd; 3054 context.fill(); 3055 } else { 3056 context.fillStyle = customSettingsObj.fgcolor; 3057 context.fill(); 3058 } 3059 context.restore(); 3060 } else if (type == 'fill-circle') { 3061 drawBorder(); 3062 var fillRadius = sizeX/2.5, 3063 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 3064 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 3065 if(animationType == 1){ 3066 context.clip(); 3067 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 3068 context.fillRect(0, fillLine, sizeX, sizeY); 3069 } else if(animationType == 2){ 3070 var grd=context.createLinearGradient(0,0,0,sizeY); 3071 grd.addColorStop(0,"white"); 3072 grd.addColorStop(1,customSettingsObj.fgcolor); 3073 shadowGlow(); 3074 context.clip(); 3075 context.fillStyle = grd; 3076 context.fillRect(0, fillLine, sizeX, sizeY); 3077 3078 } else if(animationType == 3){ 3079 context.clip(); 3080 var grd = createGrad(inc,sizeX, sizeY); 3081 inc = increaseInc(inc,current); 3082 context.fillStyle = grd; 3083 context.fillRect(0, fillLine, sizeX, sizeY); 3084 } else { 3085 context.clip(); 3086 context.fillStyle = customSettingsObj.fgcolor; 3087 context.fillRect(0, fillLine, sizeX, sizeY); 3088 }
3089 context.restore(); 3090 } else if (type == 'fill-circle-wave') { 3091 drawBorder(); 3092 var fillRadius = sizeX/2.5, 3093 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 3094 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 3095 var ypos=fillLine, xpos=0; 3096 counter += .1; 3097 counterLoop = counter; 3098 var increase = 2*Math.PI / 12; 3099 context.clip(); 3100 context.beginPath(); 3101 context.moveTo(sizeX,sizeY); 3102 context.lineTo(0,sizeY); 3103 context.lineTo(0,ypos); 3104 if (curPerc > endPercent) { 3105 calm-=.01; 3106 if(calm<0) calm=0; 3107 } 3108 for(i=0; i<=sizeX; i+=10){ 3109 xpos = i; 3110 ypos = ypos - Math.sin(counterLoop) * calm; 3111 counterLoop += increase; 3112 context.lineTo(xpos,ypos); 3113 } 3114 context.lineTo(sizeX,sizeY); 3115 context.closePath(); 3116 if(animationType == 1){ 3117 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 3118 context.fill(); 3119 } else if(animationType == 2){ 3120 var grd=context.createLinearGradient(0,0,0,sizeY); 3121 grd.addColorStop(0,"white"); 3122 grd.addColorStop(1,customSettingsObj.fgcolor); 3123 shadowGlow(); 3124 context.clip(); 3125 context.fillStyle = grd; 3126 context.fill(); 3127 } else if(animationType == 3){ 3128 context.clip(); 3129 var grd = createGrad(inc,sizeX,sizeY); 3130 inc = increaseInc(inc,current); 3131 context.fillStyle = grd; 3132 context.fill(); 3133 } else { 3134 context.clip(); 3135 context.fillStyle = customSettingsObj.fgcolor; 3136 context.fill(); 3137 } 3138 context.restore(); 3139 } 3140 3141 if (curPerc < endPercent) { 3142 curPerc += curStep; 3143 requestAnimationFrame(function () { 3144 context.strokeStyle = customSettingsObj.fgcolor; 3145 animate(Math.min(curPerc, endPercent) / 100); 3146 }, obj); 3147 } else if(finishFrames < 500) { 3148 curPerc += curStep; 3149 finishFrames+=1; 3150 requestAnimationFrame(function () { 3151 context.strokeStyle = customSettingsObj.fgcolor; 3152 animate(Math.min(curPerc, endPercent) / 100); 3153 }, obj); 3154 } 3155 3156 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 3157 if (opticStats.isFunction(options.complete)) { 3158 options.complete(); 3159 3160 fireCallback = false; 3161 } 3162 } 3163 } 3164 obj.waypoint(function(direction){ 3165 animate(curPerc / 100); 3166 this.destroy(); 3167 }, { offset: '100%' }); 3168 }); 3169 }; 3170}(opticStats)); 3171/* 3172 The MIT License (MIT) 3173 CountUp 3174+Copyright (c) 2014-2015 Jamie Perkins 3175 Permission is hereby granted, free of charge, to any person obtaining a copy of 3176 this software and associated documentation files (the "Software"), to deal in 3177*/ 3178!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 3179/*! 3180Waypoints - 4.0.0 3181Copyright © 2011-2015 Caleb Troughton 3182Licensed under the MIT license. 3183https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 3184*/ 3185!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 3185
3185this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
3185ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 3186 3187opticStats( document ).ready(function() { 3188 var speed = 3000, 3189 countNumberstacks_in_33287 = "36", 3190 decimalNumber = '0', 3191 decimalNumber = decimalNumber.replace(/\D/g,''), 3192 decimalLength = decimalNumber.length, 3193 maxValuePercentstacks_in_33287 = (countNumberstacks_in_33287/36), 3194 speedA = (2000/speed)*maxValuePercentstacks_in_33287; 3195 if (36 == 0) { 3196 if(countNumberstacks_in_33287 < 0) { 3197 maxValuePercentstacks_in_33287 = 1; 3198 } else { 3199 maxValuePercentstacks_in_33287 = (0-countNumberstacks_in_33287)/0; 3200 } 3201 } 3202 if('False' == 'False' ) { 3203 decimalLength = 0; 3204 } else { 3205 countNumberstacks_in_33287 = countNumberstacks_in_33287.replace(/\D/g,''); 3206 countNumberstacks_in_33287 = countNumberstacks_in_33287+"."+decimalNumber; 3207 } 3208 if('False' == 'True' ) { 3209 var items = readData_data(opticStats("#data")); 3210 countNumberstacks_in_33287 = items['data-A1']; 3211 if(countNumberstacks_in_33287 == null) { 3212 countNumberstacks_in_33287 = '0'; 3213 } 3214 opticStats("#stat_stacks_in_33287").data("percent", maxValuePercentstacks_in_33287*100); 3215 // 3216 // 3217 if(countNumberstacks_in_33287.indexOf(".") !== -1) { 3218 decimalNumber = countNumberstacks_in_33287.substr(countNumberstacks_in_33287.indexOf(".") + 1); 3219 decimalNumber = decimalNumber.replace(/\D/g,''); 3220 decimalLength = decimalNumber.length; 3221 countNumberstacks_in_33287 = countNumberstacks_in_33287.substr(0, countNumberstacks_in_33287.indexOf('.')); 3222 } 3223 // 3224 // 3225 countNumberstacks_in_33287 = countNumberstacks_in_33287.replace(/[^0-9\-]/g,''); 3226 countNumberstacks_in_33287 = countNumberstacks_in_33287+"."+decimalNumber; 3227 maxValuePercentstacks_in_33287 = (countNumberstacks_in_33287/36); 3228 if (36 == 0) { 3229 if(countNumberstacks_in_33287 < 0) { 3230 maxValuePercentstacks_in_33287 = 1; 3231 } else { 3232 maxValuePercentstacks_in_33287 = (0-countNumberstacks_in_33287)/0; 3233 } 3234 } 3235 speedA = (2000/speed)*maxValuePercentstacks_in_33287; 3236 opticStats("#stat_stacks_in_33287").data("percent", maxValuePercentstacks_in_33287*100); 3237 } else { 3238 var maxValuePercentstacks_in_33287 = (countNumberstacks_in_33287/36); 3239 if (36 == 0) { 3240 if(countNumberstacks_in_33287 < 0) { 3241 maxValuePercentstacks_in_33287 = 1; 3242 } else { 3243 maxValuePercentstacks_in_33287 = (0-countNumberstacks_in_33287)/0; 3244 } 3245 } 3246 speedA = (2000/speed)*maxValuePercentstacks_in_33287; 3247 opticStats("#stat_stacks_in_33287").data("percent", maxValuePercentstacks_in_33287*100); 3248 } 3249 opticStats('#stat_stacks_in_33287').attr("data-animationstep", speedA); 3250 opticStats('#stat_stacks_in_33287').circliful(); 3251 opticStats('#stat_stacks_in_33287').waypoint(function(direction){ 3252 3253 // 3254// opticStats('#stacks_in_33287 .counter').counterUp({ 3255// delay: 10, 3256// time: speed 3257// }); 3258 3259 var options = { 3260 // 3261 useGrouping : false, 3262 // 3263 // 3264 separator : ',', 3265 decimal : '.', 3266 // 3267 // 3268 // 3269 useEasing : false 3270 }; 3271 opticStats('#stacks_in_33287 .counter').attr("id", "count_stacks_in_33287"); 3272 var count = new CountUp('count_stacks_in_33287', 0, countNumberstacks_in_33287, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33287), options);//(1.75/speedA)*(maxValuePercentstacks_in_33287) 3273 count.start(); 3274 // 3275 // 3276 opticStats('#stat_stacks_in_33287 .circle-text').append(""); 3277 opticStats('#stat_stacks_in_33287 .circle-text-half').append(""); 3278 // 3279 // 3280 // 3281 // 3282 opticStats('#stat_stacks_in_33287 span > .osIcon').wrap("<div class='os-icon-wrap' />") 3283 opticStats('#stat_stacks_in_33287 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33287 .centerMe > div > span:first-child')); 3284 // 3285 // 3286 scale(); 3287 this.destroy(); 3288 }, { offset: '100%' }); 3289 3290 3291}); 3292 3293opticStats( window ).resize(function() { 3294 scale(); 3295}); 3296function scale() { 3297 var width = 330, 3298 currentWidth = opticStats('#stat_stacks_in_33287').parent().outerWidth(); 3299 if(currentWidth < width) { 3300 var scale = currentWidth/width; 3301 opticStats('#stat_stacks_in_33287').css({ 3302 "transform" : "scale("+scale+")", 3303 "transform-origin" : "0px", 3304 "-o-transform" : "scale("+scale+")", 3305 "-o-transform-origin" : "0px" 3306 }); 3307 } else { 3308 opticStats('#stat_stacks_in_33287').css({ 3309 "transform" : "scale(1)", 3310 "-o-transform" : "scale(1)" 3311 }); 3312 } 3313} 3314 3315return stack;})(stacks.stacks_in_33287); 3316stacks.stacks_in_33288 = {}; 3317stacks.stacks_in_33288 = (function(stack) { 3318 3319return stack;})(stacks.stacks_in_33288); 3320stacks.stacks_in_33294 = {}; 3321stacks.stacks_in_33294 = (function(stack) { 3322var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 3323/* 3324jquery-plugin-circliful 3325+The MIT License (MIT) 3326+ 3327+Copyright (c) 2014 Patric Gutersohn 3328+ 3329+Permission is hereby granted, free of charge, to any person obtaining a copy of 3330+this software and associated documentation files (the "Software"), to deal in 3331+the Software without restriction, including without limitation the rights to 3332+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 3333+the Software, and to permit persons to whom the Software is furnished to do so, 3334+subject to the following conditions: 3335+ 3336+The above copyright notice and this permission notice shall be included in all 3337+copies or substantial portions of the Software. 3338+ 3339+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3340+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 3341+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 3342+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 3343+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3344+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3345*/ 3346"use strict"; 3347 3348(function (opticStats) { 3349 3350 opticStats.fn.circliful = function (options, callback) { 3351 3352 var settings = opticStats.extend({ 3353 // These are the defaults. 3354 startdegree: 0, 3355 fgcolor: "#556b2f", 3356 bgcolor: "#eee", 3357 fill: false, 3358 width: 15, 3359 dimension: 200, 3360 fontsize: 15, 3361 percent: 50, 3362 animationstep: 1.0, 3363 iconsize: '20px', 3364 iconcolor: '#999', 3365 border: 'default', 3366 complete: null, 3367 bordersize: 10 3368 }, options); 3369 3370 return this.each(function () { 3371 3372 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 3373 3374 var customSettingsObj = {}; 3375 var icon = ''; 3376 var percent; 3377 var endPercent = 0; 3378 var obj = opticStats(this); 3379 var fill = false;
3380 var text, info; 3381 3382 obj.addClass('circliful'); 3383 3384 checkDataAttributes(obj); 3385 3386 if (obj.data('text') != undefined) { 3387 3388 //remove non number characters 3389 3390 text = obj.data('text'); 3391 text = text.toString(); 3392 text = text.replace(/[^0-9.,]/g, ''); 3393 text = "<span class='counter'>" + text + "</span>"; 3394 3395 if (obj.data('icon') != undefined) { 3396 icon = opticStats('<i></i>') 3397 .addClass('osIcon fa ' + opticStats(this).data('icon')) 3398 .css({ 3399 'color': customSettingsObj.iconcolor, 3400 'font-size': customSettingsObj.iconsize, 3401 'line-height': customSettingsObj.iconsize + "px" 3402 }); 3403 } 3404 if (obj.data('icon-custom') != undefined) { 3405 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 3406 .addClass('osIcon ') 3407 .css({ 3408 'width': customSettingsObj.iconsize, 3409 'height': customSettingsObj.iconsize 3410 }); 3411 } 3412 3413 if (obj.data('type') != undefined) { 3414 type = opticStats(this).data('type'); 3415 3416 if (type == 'half') { 3417 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 3418 } else { 3419 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 3420 } 3421 } else { 3422 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 3423 } 3424 } 3425 3426 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 3427 var total = opticStats(this).data("total") / 100; 3428 3429 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 3430 endPercent = (opticStats(this).data("part") / total).toFixed(3); 3431 } else { 3432 if (opticStats(this).data("percent") != undefined) { 3433 percent = opticStats(this).data("percent") / 100; 3434 endPercent = opticStats(this).data("percent"); 3435 } else { 3436 percent = settings.percent / 100; 3437 } 3438 } 3439 3440 if (opticStats(this).data('info') != undefined) { 3441 info = opticStats(this).data('info'); 3442 3443 if (opticStats(this).data('type') != undefined) { 3444 type = opticStats(this).data('type'); 3445 3446 if (type == 'half') { 3447 addInfoText(obj, 0.9); 3448 } else { 3449 addInfoText(obj, 1.25); 3450 } 3451 } else { 3452 addInfoText(obj, 1.25); 3453 } 3454 } 3455 3456 opticStats(this).width(customSettingsObj.dimension + 'px'); 3457 if (type == 'line' || type == 'vert-line') { 3458 opticStats(this).height(opticStats(this).data('height') + 'px'); 3459 } else { 3460 opticStats(this).height(customSettingsObj.dimension + 'px'); 3461 } 3462 3463 3464 var sizeX = customSettingsObj.dimension, 3465 sizeY = customSettingsObj.dimension; 3466 if (type == 'line' || type == 'vert-line') { 3467 sizeY = opticStats(this).data('height'); 3468 } 3469 var canvas = opticStats('<canvas></canvas>').attr({ 3470 width: sizeX, 3471 height: sizeY 3472 }).appendTo(opticStats(this)).get(0); 3473 var context = canvas.getContext('2d'); 3474 3475 var dpr = window.devicePixelRatio; 3476 if ( dpr ) { 3477 var opticStatscanvas = opticStats(canvas); 3478 opticStatscanvas.css('width', sizeX); 3479 opticStatscanvas.css('height', sizeY); 3480 opticStatscanvas.attr('width', sizeX * dpr); 3481 opticStatscanvas.attr('height', sizeY * dpr); 3482 3483 context.scale(dpr, dpr); 3484 } 3485 3486 var container = opticStats(canvas).parent(); 3487 var x = sizeX / 2; 3488 var y = sizeY / 2; 3489 var degrees = customSettingsObj.percent * 360.0; 3490 var radians = degrees * (Math.PI / 180); 3491 var radius = sizeX / 2.5; 3492 var startAngle = 2.3 * Math.PI; 3493 var endAngle = 0; 3494 var counterClockwise = false; 3495 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 3496 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 3497 var circ = Math.PI * 2; 3498 var quart = Math.PI / 2; 3499 var type = ''; 3500 var fireCallback = true; 3501 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 3502 3503 if (opticStats(this).data('type') != undefined) { 3504 type = opticStats(this).data('type'); 3505 if (type == 'half') { 3506 startAngle = 2.0 * Math.PI; 3507 endAngle = 3.14; 3508 circ = Math.PI; 3509 quart = Math.PI / 0.996; 3510 } else if (type == 'angle') { 3511 startAngle = 2.25 * Math.PI; 3512 endAngle = 2.4; 3513 circ = 1.53 + Math.PI; 3514 quart = 0.73 + Math.PI / 0.996; 3515 } 3516 } 3517 3518 /** 3519 * adds text to circle 3520 * 3521 * @param obj 3522 * @param cssClass 3523 * @param lineHeight 3524 */ 3525 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 3526 function addCircleText(obj, cssClass, lineHeight) { 3527 opticStats("<span></span>") 3528 .appendTo(obj) 3529 .addClass(cssClass) 3530 .html(text) 3531 .prepend(icon) 3532 .css({ 3533 //'line-height': lineHeight + 'px', 3534 'font-size': customSettingsObj.fontsize + 'px', 3535 'line-height': customSettingsObj.fontsize + 'px' 3536 }); 3537 } 3538 3539 /** 3540 * adds info text to circle 3541 * 3542 * @param obj 3543 * @param factor 3544 */ 3545 function addInfoText(obj, factor) { 3546 opticStats('<span></span>') 3547 .appendTo(obj) 3548 .addClass('circle-info-half') 3549 //.css( 3550 //'line-height', (customSettingsObj.dimension * factor) + 'px' 3551 //) 3552 .text(info); 3553 } 3554 3555 /** 3556 * checks which data attributes are defined 3557 * @param obj 3558 */ 3559 function checkDataAttributes(obj) { 3560 opticStats.each(customSettings, function (index, attribute) { 3561 if (obj.data(attribute) != undefined) { 3562 customSettingsObj[attribute] = obj.data(attribute); 3563 } else { 3564 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 3565 } 3566 3567 if (attribute == 'fill' && obj.data('fill') != undefined) { 3568 fill = true; 3569 } 3570 }); 3571 } 3572 3573 //Animation Variables 3574 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 3575 // ---------------------- // 3576 // Animation Functions 3577 // ---------------------- // 3578 function blend(inColor,outColor,current){ 3579 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 3580 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 3581 r,g,b,a,cur; 3582 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 3583 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 3584 if(current < .5 ) { 3585 cur = current*2; 3586 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 3587 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 3588 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 3589 } else { 3590 cur = (current-.5)*2; 3591 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 3592 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 3593 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 3594 } 3595 var a = inColors[3]+((outColors[3] - inColors[3])*current);
3596 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 3597 } 3598 if (type == 'line' || type == 'vert-line') { 3599 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 3600 } 3601 var increaseInc = function(inc, current) { 3602 if (current >= 1) { 3603 // slowTheInc += 0.00002; 3604 // slowTheInc = Math.min(slowTheInc, 0.005); 3605 // inc = inc + (0.005-slowTheInc); 3606 } else { 3607 inc += 0.005; 3608 } 3609 return inc; 3610 } 3611 var moveColors = function(value, inc) { 3612 var pos = value+inc; 3613 pos = pos.toString(); 3614 pos = pos.split(".").pop(); 3615 pos = parseFloat("."+pos); 3616 return pos; 3617 } 3618 var createGrad = function(inc,sizeX, sizeY) { 3619 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 3620 grd.addColorStop(moveColors(0, inc),"#FF0000"); 3621 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 3622 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 3623 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 3624 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 3625 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 3626 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 3627 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 3628 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 3629 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 3630 grd.addColorStop(moveColors(1, inc),"#FF0000"); 3631 return grd; 3632 } 3633 var shadowGlow = function() { 3634 context.shadowColor = customSettingsObj.fgcolor; 3635 context.shadowOffsetX = 0; 3636 context.shadowOffsetY = 0; 3637 context.shadowBlur = 10; 3638 } 3639 var drawBorder = function() { 3640 context.lineWidth = customSettingsObj.bordersize + 1; 3641 context.strokeStyle = customSettingsObj.bgcolor; 3642 context.stroke(); 3643 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 3644 // 3645 } else { 3646 context.fillStyle = customSettingsObj.fill; 3647 context.fill(); 3648 } 3649 context.beginPath(); 3650 context.save(); 3651 } 3652 var fillAnimation = function(animationType, current) { 3653 if(animationType == 1){ 3654 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 3655 context.stroke(); 3656 } else if(animationType == 2){ 3657 context.strokeStyle = customSettingsObj.fgcolor; 3658 if (type == 'line') { 3659 var grd=context.createLinearGradient(sizeX,0,0,0); 3660 grd.addColorStop(0,"white"); 3661 grd.addColorStop(1,customSettingsObj.fgcolor); 3662 context.strokeStyle = grd; 3663 shadowGlow(); 3664 } else if (type == 'vert-line') { 3665 var grd=context.createLinearGradient(0,0,0,sizeY); 3666 grd.addColorStop(0,"white"); 3667 grd.addColorStop(1,customSettingsObj.fgcolor); 3668 context.strokeStyle = grd; 3669 shadowGlow(); 3670 } else { 3671 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 3672 grd.addColorStop(0, customSettingsObj.fgcolor); 3673 grd.addColorStop(0.5, 'white'); 3674 grd.addColorStop(1, customSettingsObj.fgcolor); 3675 context.strokeStyle = grd; 3676 shadowGlow(); 3677 } 3678 context.stroke(); 3679 context.restore(); 3680 } else if(animationType == 3){ 3681 if (type == 'line') { 3682 var grd = createGrad(inc,sizeX,sizeY); 3683 inc = increaseInc(inc,current); 3684 context.strokeStyle = grd; 3685 } else if (type == 'vert-line') { 3686 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 3687 grd.addColorStop(moveColors(0, inc),"#FF0000"); 3688 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 3689 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 3690 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 3691 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 3692 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 3693 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 3694 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 3695 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 3696 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 3697 grd.addColorStop(moveColors(1, inc),"#FF0000"); 3698 inc = increaseInc(inc,current); 3699 context.strokeStyle = grd; 3700 } else { 3701 var grd = createGrad(inc,sizeX,sizeY); 3702 inc = increaseInc(inc,current); 3703 context.strokeStyle = grd; 3704 } 3705 context.stroke();
3706 context.restore(); 3707 } else { 3708 context.strokeStyle = customSettingsObj.fgcolor; 3709 context.stroke(); 3710 } 3711 } 3712 // ---------------------- // 3713 // Animation 3714 // ---------------------- // 3715 function animate(current) { 3716 //Clear Canvas for next frame 3717 context.clearRect(0, 0, canvas.width, canvas.height); 3718 //Draw Background 3719 if (type == 'line' || type == 'vert-line') { 3720 context.rect(10, 10, sizeX-20, sizeY-20); 3721 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 3722 context.beginPath(); 3723 context.arc(x, y, radius, endAngle, startAngle, false); 3724 } 3725 context.fillStyle = customSettingsObj.fill; 3726 context.fill(); 3727 if (type == 'line') { 3728 context.beginPath(); 3729 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 3730 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 3731 drawBorder(); 3732 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 3733 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 3734 fillAnimation(animationType,current); 3735 } else if (type == 'vert-line'){ 3736 context.beginPath(); 3737 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 3738 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 3739 drawBorder(); 3740 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 3741 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 3742 fillAnimation(animationType,current); 3743 } else if (type == 'full' || type=='half') { 3744 drawBorder(); 3745 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 3746 fillAnimation(animationType,current); 3747 } else if (type == 'grow-circle') { 3748 drawBorder(); 3749 var fillRadius = sizeX/2.5*Math.min(current,1); 3750 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 3751 if(animationType == 1){ 3752 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 3753 context.fill(); 3754 } else if(animationType == 2){ 3755 var grd=context.createLinearGradient(0,0,0,sizeY); 3756 grd.addColorStop(0,"white"); 3757 grd.addColorStop(1,customSettingsObj.fgcolor); 3758 shadowGlow(); 3759 context.fillStyle = grd; 3760 context.fill(); 3761 } else if(animationType == 3){ 3762 var grd = createGrad(inc,sizeX,sizeY); 3763 inc = increaseInc(inc,current); 3764 context.fillStyle = grd; 3765 context.fill(); 3766 } else { 3767 context.fillStyle = customSettingsObj.fgcolor; 3768 context.fill(); 3769 } 3770 context.restore(); 3771 } else if (type == 'fill-circle') { 3772 drawBorder(); 3773 var fillRadius = sizeX/2.5, 3774 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 3775 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 3776 if(animationType == 1){ 3777 context.clip(); 3778 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 3779 context.fillRect(0, fillLine, sizeX, sizeY); 3780 } else if(animationType == 2){ 3781 var grd=context.createLinearGradient(0,0,0,sizeY); 3782 grd.addColorStop(0,"white"); 3783 grd.addColorStop(1,customSettingsObj.fgcolor); 3784 shadowGlow(); 3785 context.clip(); 3786 context.fillStyle = grd; 3787 context.fillRect(0, fillLine, sizeX, sizeY); 3788 3789 } else if(animationType == 3){ 3790 context.clip(); 3791 var grd = createGrad(inc,sizeX, sizeY); 3792 inc = increaseInc(inc,current); 3793 context.fillStyle = grd; 3794 context.fillRect(0, fillLine, sizeX, sizeY); 3795 } else { 3796 context.clip(); 3797 context.fillStyle = customSettingsObj.fgcolor; 3798 context.fillRect(0, fillLine, sizeX, sizeY); 3799 }
3800 context.restore(); 3801 } else if (type == 'fill-circle-wave') { 3802 drawBorder(); 3803 var fillRadius = sizeX/2.5, 3804 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 3805 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 3806 var ypos=fillLine, xpos=0; 3807 counter += .1; 3808 counterLoop = counter; 3809 var increase = 2*Math.PI / 12; 3810 context.clip(); 3811 context.beginPath(); 3812 context.moveTo(sizeX,sizeY); 3813 context.lineTo(0,sizeY); 3814 context.lineTo(0,ypos); 3815 if (curPerc > endPercent) { 3816 calm-=.01; 3817 if(calm<0) calm=0; 3818 } 3819 for(i=0; i<=sizeX; i+=10){ 3820 xpos = i; 3821 ypos = ypos - Math.sin(counterLoop) * calm; 3822 counterLoop += increase; 3823 context.lineTo(xpos,ypos); 3824 } 3825 context.lineTo(sizeX,sizeY); 3826 context.closePath(); 3827 if(animationType == 1){ 3828 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 3829 context.fill(); 3830 } else if(animationType == 2){ 3831 var grd=context.createLinearGradient(0,0,0,sizeY); 3832 grd.addColorStop(0,"white"); 3833 grd.addColorStop(1,customSettingsObj.fgcolor); 3834 shadowGlow(); 3835 context.clip(); 3836 context.fillStyle = grd; 3837 context.fill(); 3838 } else if(animationType == 3){ 3839 context.clip(); 3840 var grd = createGrad(inc,sizeX,sizeY); 3841 inc = increaseInc(inc,current); 3842 context.fillStyle = grd; 3843 context.fill(); 3844 } else { 3845 context.clip(); 3846 context.fillStyle = customSettingsObj.fgcolor; 3847 context.fill(); 3848 } 3849 context.restore(); 3850 } 3851 3852 if (curPerc < endPercent) { 3853 curPerc += curStep; 3854 requestAnimationFrame(function () { 3855 context.strokeStyle = customSettingsObj.fgcolor; 3856 animate(Math.min(curPerc, endPercent) / 100); 3857 }, obj); 3858 } else if(finishFrames < 500) { 3859 curPerc += curStep; 3860 finishFrames+=1; 3861 requestAnimationFrame(function () { 3862 context.strokeStyle = customSettingsObj.fgcolor; 3863 animate(Math.min(curPerc, endPercent) / 100); 3864 }, obj); 3865 } 3866 3867 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 3868 if (opticStats.isFunction(options.complete)) { 3869 options.complete(); 3870 3871 fireCallback = false; 3872 } 3873 } 3874 } 3875 obj.waypoint(function(direction){ 3876 animate(curPerc / 100); 3877 this.destroy(); 3878 }, { offset: '100%' }); 3879 }); 3880 }; 3881}(opticStats)); 3882/* 3883 The MIT License (MIT) 3884 CountUp 3885+Copyright (c) 2014-2015 Jamie Perkins 3886 Permission is hereby granted, free of charge, to any person obtaining a copy of 3887 this software and associated documentation files (the "Software"), to deal in 3888*/ 3889!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 3890/*! 3891Waypoints - 4.0.0 3892Copyright © 2011-2015 Caleb Troughton 3893Licensed under the MIT license. 3894https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 3895*/ 3896!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 3896
3896this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
3896ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 3897 3898opticStats( document ).ready(function() { 3899 var speed = 3000, 3900 countNumberstacks_in_33294 = "1000", 3901 decimalNumber = '0', 3902 decimalNumber = decimalNumber.replace(/\D/g,''), 3903 decimalLength = decimalNumber.length, 3904 maxValuePercentstacks_in_33294 = (countNumberstacks_in_33294/1000), 3905 speedA = (2000/speed)*maxValuePercentstacks_in_33294; 3906 if (1000 == 0) { 3907 if(countNumberstacks_in_33294 < 0) { 3908 maxValuePercentstacks_in_33294 = 1; 3909 } else { 3910 maxValuePercentstacks_in_33294 = (0-countNumberstacks_in_33294)/0; 3911 } 3912 } 3913 if('False' == 'False' ) { 3914 decimalLength = 0; 3915 } else { 3916 countNumberstacks_in_33294 = countNumberstacks_in_33294.replace(/\D/g,''); 3917 countNumberstacks_in_33294 = countNumberstacks_in_33294+"."+decimalNumber; 3918 } 3919 if('False' == 'True' ) { 3920 var items = readData_data(opticStats("#data")); 3921 countNumberstacks_in_33294 = items['data-A1']; 3922 if(countNumberstacks_in_33294 == null) { 3923 countNumberstacks_in_33294 = '0'; 3924 } 3925 opticStats("#stat_stacks_in_33294").data("percent", maxValuePercentstacks_in_33294*100); 3926 // 3927 // 3928 if(countNumberstacks_in_33294.indexOf(".") !== -1) { 3929 decimalNumber = countNumberstacks_in_33294.substr(countNumberstacks_in_33294.indexOf(".") + 1); 3930 decimalNumber = decimalNumber.replace(/\D/g,''); 3931 decimalLength = decimalNumber.length; 3932 countNumberstacks_in_33294 = countNumberstacks_in_33294.substr(0, countNumberstacks_in_33294.indexOf('.')); 3933 } 3934 // 3935 // 3936 countNumberstacks_in_33294 = countNumberstacks_in_33294.replace(/[^0-9\-]/g,''); 3937 countNumberstacks_in_33294 = countNumberstacks_in_33294+"."+decimalNumber; 3938 maxValuePercentstacks_in_33294 = (countNumberstacks_in_33294/1000); 3939 if (1000 == 0) { 3940 if(countNumberstacks_in_33294 < 0) { 3941 maxValuePercentstacks_in_33294 = 1; 3942 } else { 3943 maxValuePercentstacks_in_33294 = (0-countNumberstacks_in_33294)/0; 3944 } 3945 } 3946 speedA = (2000/speed)*maxValuePercentstacks_in_33294; 3947 opticStats("#stat_stacks_in_33294").data("percent", maxValuePercentstacks_in_33294*100); 3948 } else { 3949 var maxValuePercentstacks_in_33294 = (countNumberstacks_in_33294/1000); 3950 if (1000 == 0) { 3951 if(countNumberstacks_in_33294 < 0) { 3952 maxValuePercentstacks_in_33294 = 1; 3953 } else { 3954 maxValuePercentstacks_in_33294 = (0-countNumberstacks_in_33294)/0; 3955 } 3956 } 3957 speedA = (2000/speed)*maxValuePercentstacks_in_33294; 3958 opticStats("#stat_stacks_in_33294").data("percent", maxValuePercentstacks_in_33294*100); 3959 } 3960 opticStats('#stat_stacks_in_33294').attr("data-animationstep", speedA); 3961 opticStats('#stat_stacks_in_33294').circliful(); 3962 opticStats('#stat_stacks_in_33294').waypoint(function(direction){ 3963 3964 // 3965// opticStats('#stacks_in_33294 .counter').counterUp({ 3966// delay: 10, 3967// time: speed 3968// }); 3969 3970 var options = { 3971 // 3972 useGrouping : false, 3973 // 3974 // 3975 separator : ',', 3976 decimal : '.', 3977 // 3978 // 3979 // 3980 useEasing : false 3981 }; 3982 opticStats('#stacks_in_33294 .counter').attr("id", "count_stacks_in_33294"); 3983 var count = new CountUp('count_stacks_in_33294', 0, countNumberstacks_in_33294, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33294), options);//(1.75/speedA)*(maxValuePercentstacks_in_33294) 3984 count.start(); 3985 // 3986 // 3987 opticStats('#stat_stacks_in_33294 .circle-text').append("+"); 3988 opticStats('#stat_stacks_in_33294 .circle-text-half').append("+"); 3989 // 3990 // 3991 // 3992 // 3993 opticStats('#stat_stacks_in_33294 span > .osIcon').wrap("<div class='os-icon-wrap' />") 3994 opticStats('#stat_stacks_in_33294 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33294 .centerMe > div > span:first-child')); 3995 // 3996 // 3997 scale(); 3998 this.destroy(); 3999 }, { offset: '100%' }); 4000 4001 4002}); 4003 4004opticStats( window ).resize(function() { 4005 scale(); 4006}); 4007function scale() { 4008 var width = 330, 4009 currentWidth = opticStats('#stat_stacks_in_33294').parent().outerWidth(); 4010 if(currentWidth < width) { 4011 var scale = currentWidth/width; 4012 opticStats('#stat_stacks_in_33294').css({ 4013 "transform" : "scale("+scale+")", 4014 "transform-origin" : "0px", 4015 "-o-transform" : "scale("+scale+")", 4016 "-o-transform-origin" : "0px" 4017 }); 4018 } else { 4019 opticStats('#stat_stacks_in_33294').css({ 4020 "transform" : "scale(1)", 4021 "-o-transform" : "scale(1)" 4022 }); 4023 } 4024} 4025 4026return stack;})(stacks.stacks_in_33294); 4027stacks.stacks_in_33295 = {}; 4028stacks.stacks_in_33295 = (function(stack) { 4029 4030return stack;})(stacks.stacks_in_33295); 4031stacks.stacks_in_33301_2 = {}; 4032stacks.stacks_in_33301_2 = (function(stack) { 4033var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 4034/* 4035jquery-plugin-circliful 4036+The MIT License (MIT) 4037+ 4038+Copyright (c) 2014 Patric Gutersohn 4039+ 4040+Permission is hereby granted, free of charge, to any person obtaining a copy of 4041+this software and associated documentation files (the "Software"), to deal in 4042+the Software without restriction, including without limitation the rights to 4043+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 4044+the Software, and to permit persons to whom the Software is furnished to do so, 4045+subject to the following conditions: 4046+ 4047+The above copyright notice and this permission notice shall be included in all 4048+copies or substantial portions of the Software. 4049+ 4050+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4051+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 4052+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 4053+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 4054+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4055+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4056*/ 4057"use strict"; 4058 4059(function (opticStats) { 4060 4061 opticStats.fn.circliful = function (options, callback) { 4062 4063 var settings = opticStats.extend({ 4064 // These are the defaults. 4065 startdegree: 0, 4066 fgcolor: "#556b2f", 4067 bgcolor: "#eee", 4068 fill: false, 4069 width: 15, 4070 dimension: 200, 4071 fontsize: 15, 4072 percent: 50, 4073 animationstep: 1.0, 4074 iconsize: '20px', 4075 iconcolor: '#999', 4076 border: 'default', 4077 complete: null, 4078 bordersize: 10 4079 }, options); 4080 4081 return this.each(function () { 4082 4083 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 4084 4085 var customSettingsObj = {}; 4086 var icon = ''; 4087 var percent; 4088 var endPercent = 0; 4089 var obj = opticStats(this); 4090 var fill = false;
4091 var text, info; 4092 4093 obj.addClass('circliful'); 4094 4095 checkDataAttributes(obj); 4096 4097 if (obj.data('text') != undefined) { 4098 4099 //remove non number characters 4100 4101 text = obj.data('text'); 4102 text = text.toString(); 4103 text = text.replace(/[^0-9.,]/g, ''); 4104 text = "<span class='counter'>" + text + "</span>"; 4105 4106 if (obj.data('icon') != undefined) { 4107 icon = opticStats('<i></i>') 4108 .addClass('osIcon fa ' + opticStats(this).data('icon')) 4109 .css({ 4110 'color': customSettingsObj.iconcolor, 4111 'font-size': customSettingsObj.iconsize, 4112 'line-height': customSettingsObj.iconsize + "px" 4113 }); 4114 } 4115 if (obj.data('icon-custom') != undefined) { 4116 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 4117 .addClass('osIcon ') 4118 .css({ 4119 'width': customSettingsObj.iconsize, 4120 'height': customSettingsObj.iconsize 4121 }); 4122 } 4123 4124 if (obj.data('type') != undefined) { 4125 type = opticStats(this).data('type'); 4126 4127 if (type == 'half') { 4128 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 4129 } else { 4130 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 4131 } 4132 } else { 4133 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 4134 } 4135 } 4136 4137 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 4138 var total = opticStats(this).data("total") / 100; 4139 4140 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 4141 endPercent = (opticStats(this).data("part") / total).toFixed(3); 4142 } else { 4143 if (opticStats(this).data("percent") != undefined) { 4144 percent = opticStats(this).data("percent") / 100; 4145 endPercent = opticStats(this).data("percent"); 4146 } else { 4147 percent = settings.percent / 100; 4148 } 4149 } 4150 4151 if (opticStats(this).data('info') != undefined) { 4152 info = opticStats(this).data('info'); 4153 4154 if (opticStats(this).data('type') != undefined) { 4155 type = opticStats(this).data('type'); 4156 4157 if (type == 'half') { 4158 addInfoText(obj, 0.9); 4159 } else { 4160 addInfoText(obj, 1.25); 4161 } 4162 } else { 4163 addInfoText(obj, 1.25); 4164 } 4165 } 4166 4167 opticStats(this).width(customSettingsObj.dimension + 'px'); 4168 if (type == 'line' || type == 'vert-line') { 4169 opticStats(this).height(opticStats(this).data('height') + 'px'); 4170 } else { 4171 opticStats(this).height(customSettingsObj.dimension + 'px'); 4172 } 4173 4174 4175 var sizeX = customSettingsObj.dimension, 4176 sizeY = customSettingsObj.dimension; 4177 if (type == 'line' || type == 'vert-line') { 4178 sizeY = opticStats(this).data('height'); 4179 } 4180 var canvas = opticStats('<canvas></canvas>').attr({ 4181 width: sizeX, 4182 height: sizeY 4183 }).appendTo(opticStats(this)).get(0); 4184 var context = canvas.getContext('2d'); 4185 4186 var dpr = window.devicePixelRatio; 4187 if ( dpr ) { 4188 var opticStatscanvas = opticStats(canvas); 4189 opticStatscanvas.css('width', sizeX); 4190 opticStatscanvas.css('height', sizeY); 4191 opticStatscanvas.attr('width', sizeX * dpr); 4192 opticStatscanvas.attr('height', sizeY * dpr); 4193 4194 context.scale(dpr, dpr); 4195 } 4196 4197 var container = opticStats(canvas).parent(); 4198 var x = sizeX / 2; 4199 var y = sizeY / 2; 4200 var degrees = customSettingsObj.percent * 360.0; 4201 var radians = degrees * (Math.PI / 180); 4202 var radius = sizeX / 2.5; 4203 var startAngle = 2.3 * Math.PI; 4204 var endAngle = 0; 4205 var counterClockwise = false; 4206 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 4207 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 4208 var circ = Math.PI * 2; 4209 var quart = Math.PI / 2; 4210 var type = ''; 4211 var fireCallback = true; 4212 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 4213 4214 if (opticStats(this).data('type') != undefined) { 4215 type = opticStats(this).data('type'); 4216 if (type == 'half') { 4217 startAngle = 2.0 * Math.PI; 4218 endAngle = 3.14; 4219 circ = Math.PI; 4220 quart = Math.PI / 0.996; 4221 } else if (type == 'angle') { 4222 startAngle = 2.25 * Math.PI; 4223 endAngle = 2.4; 4224 circ = 1.53 + Math.PI; 4225 quart = 0.73 + Math.PI / 0.996; 4226 } 4227 } 4228 4229 /** 4230 * adds text to circle 4231 * 4232 * @param obj 4233 * @param cssClass 4234 * @param lineHeight 4235 */ 4236 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 4237 function addCircleText(obj, cssClass, lineHeight) { 4238 opticStats("<span></span>") 4239 .appendTo(obj) 4240 .addClass(cssClass) 4241 .html(text) 4242 .prepend(icon) 4243 .css({ 4244 //'line-height': lineHeight + 'px', 4245 'font-size': customSettingsObj.fontsize + 'px', 4246 'line-height': customSettingsObj.fontsize + 'px' 4247 }); 4248 } 4249 4250 /** 4251 * adds info text to circle 4252 * 4253 * @param obj 4254 * @param factor 4255 */ 4256 function addInfoText(obj, factor) { 4257 opticStats('<span></span>') 4258 .appendTo(obj) 4259 .addClass('circle-info-half') 4260 //.css( 4261 //'line-height', (customSettingsObj.dimension * factor) + 'px' 4262 //) 4263 .text(info); 4264 } 4265 4266 /** 4267 * checks which data attributes are defined 4268 * @param obj 4269 */ 4270 function checkDataAttributes(obj) { 4271 opticStats.each(customSettings, function (index, attribute) { 4272 if (obj.data(attribute) != undefined) { 4273 customSettingsObj[attribute] = obj.data(attribute); 4274 } else { 4275 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 4276 } 4277 4278 if (attribute == 'fill' && obj.data('fill') != undefined) { 4279 fill = true; 4280 } 4281 }); 4282 } 4283 4284 //Animation Variables 4285 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 4286 // ---------------------- // 4287 // Animation Functions 4288 // ---------------------- // 4289 function blend(inColor,outColor,current){ 4290 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 4291 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 4292 r,g,b,a,cur; 4293 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 4294 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 4295 if(current < .5 ) { 4296 cur = current*2; 4297 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 4298 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 4299 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 4300 } else { 4301 cur = (current-.5)*2; 4302 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 4303 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 4304 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 4305 } 4306 var a = inColors[3]+((outColors[3] - inColors[3])*current);
4307 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 4308 } 4309 if (type == 'line' || type == 'vert-line') { 4310 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 4311 } 4312 var increaseInc = function(inc, current) { 4313 if (current >= 1) { 4314 // slowTheInc += 0.00002; 4315 // slowTheInc = Math.min(slowTheInc, 0.005); 4316 // inc = inc + (0.005-slowTheInc); 4317 } else { 4318 inc += 0.005; 4319 } 4320 return inc; 4321 } 4322 var moveColors = function(value, inc) { 4323 var pos = value+inc; 4324 pos = pos.toString(); 4325 pos = pos.split(".").pop(); 4326 pos = parseFloat("."+pos); 4327 return pos; 4328 } 4329 var createGrad = function(inc,sizeX, sizeY) { 4330 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 4331 grd.addColorStop(moveColors(0, inc),"#FF0000"); 4332 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 4333 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 4334 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 4335 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 4336 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 4337 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 4338 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 4339 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 4340 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 4341 grd.addColorStop(moveColors(1, inc),"#FF0000"); 4342 return grd; 4343 } 4344 var shadowGlow = function() { 4345 context.shadowColor = customSettingsObj.fgcolor; 4346 context.shadowOffsetX = 0; 4347 context.shadowOffsetY = 0; 4348 context.shadowBlur = 10; 4349 } 4350 var drawBorder = function() { 4351 context.lineWidth = customSettingsObj.bordersize + 1; 4352 context.strokeStyle = customSettingsObj.bgcolor; 4353 context.stroke(); 4354 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 4355 // 4356 } else { 4357 context.fillStyle = customSettingsObj.fill; 4358 context.fill(); 4359 } 4360 context.beginPath(); 4361 context.save(); 4362 } 4363 var fillAnimation = function(animationType, current) { 4364 if(animationType == 1){ 4365 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 4366 context.stroke(); 4367 } else if(animationType == 2){ 4368 context.strokeStyle = customSettingsObj.fgcolor; 4369 if (type == 'line') { 4370 var grd=context.createLinearGradient(sizeX,0,0,0); 4371 grd.addColorStop(0,"white"); 4372 grd.addColorStop(1,customSettingsObj.fgcolor); 4373 context.strokeStyle = grd; 4374 shadowGlow(); 4375 } else if (type == 'vert-line') { 4376 var grd=context.createLinearGradient(0,0,0,sizeY); 4377 grd.addColorStop(0,"white"); 4378 grd.addColorStop(1,customSettingsObj.fgcolor); 4379 context.strokeStyle = grd; 4380 shadowGlow(); 4381 } else { 4382 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 4383 grd.addColorStop(0, customSettingsObj.fgcolor); 4384 grd.addColorStop(0.5, 'white'); 4385 grd.addColorStop(1, customSettingsObj.fgcolor); 4386 context.strokeStyle = grd; 4387 shadowGlow(); 4388 } 4389 context.stroke(); 4390 context.restore(); 4391 } else if(animationType == 3){ 4392 if (type == 'line') { 4393 var grd = createGrad(inc,sizeX,sizeY); 4394 inc = increaseInc(inc,current); 4395 context.strokeStyle = grd; 4396 } else if (type == 'vert-line') { 4397 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 4398 grd.addColorStop(moveColors(0, inc),"#FF0000"); 4399 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 4400 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 4401 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 4402 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 4403 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 4404 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 4405 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 4406 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 4407 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 4408 grd.addColorStop(moveColors(1, inc),"#FF0000"); 4409 inc = increaseInc(inc,current); 4410 context.strokeStyle = grd; 4411 } else { 4412 var grd = createGrad(inc,sizeX,sizeY); 4413 inc = increaseInc(inc,current); 4414 context.strokeStyle = grd; 4415 } 4416 context.stroke();
4417 context.restore(); 4418 } else { 4419 context.strokeStyle = customSettingsObj.fgcolor; 4420 context.stroke(); 4421 } 4422 } 4423 // ---------------------- // 4424 // Animation 4425 // ---------------------- // 4426 function animate(current) { 4427 //Clear Canvas for next frame 4428 context.clearRect(0, 0, canvas.width, canvas.height); 4429 //Draw Background 4430 if (type == 'line' || type == 'vert-line') { 4431 context.rect(10, 10, sizeX-20, sizeY-20); 4432 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 4433 context.beginPath(); 4434 context.arc(x, y, radius, endAngle, startAngle, false); 4435 } 4436 context.fillStyle = customSettingsObj.fill; 4437 context.fill(); 4438 if (type == 'line') { 4439 context.beginPath(); 4440 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 4441 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 4442 drawBorder(); 4443 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 4444 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 4445 fillAnimation(animationType,current); 4446 } else if (type == 'vert-line'){ 4447 context.beginPath(); 4448 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 4449 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 4450 drawBorder(); 4451 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 4452 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 4453 fillAnimation(animationType,current); 4454 } else if (type == 'full' || type=='half') { 4455 drawBorder(); 4456 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 4457 fillAnimation(animationType,current); 4458 } else if (type == 'grow-circle') { 4459 drawBorder(); 4460 var fillRadius = sizeX/2.5*Math.min(current,1); 4461 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 4462 if(animationType == 1){ 4463 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 4464 context.fill(); 4465 } else if(animationType == 2){ 4466 var grd=context.createLinearGradient(0,0,0,sizeY); 4467 grd.addColorStop(0,"white"); 4468 grd.addColorStop(1,customSettingsObj.fgcolor); 4469 shadowGlow(); 4470 context.fillStyle = grd; 4471 context.fill(); 4472 } else if(animationType == 3){ 4473 var grd = createGrad(inc,sizeX,sizeY); 4474 inc = increaseInc(inc,current); 4475 context.fillStyle = grd; 4476 context.fill(); 4477 } else { 4478 context.fillStyle = customSettingsObj.fgcolor; 4479 context.fill(); 4480 } 4481 context.restore(); 4482 } else if (type == 'fill-circle') { 4483 drawBorder(); 4484 var fillRadius = sizeX/2.5, 4485 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 4486 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 4487 if(animationType == 1){ 4488 context.clip(); 4489 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 4490 context.fillRect(0, fillLine, sizeX, sizeY); 4491 } else if(animationType == 2){ 4492 var grd=context.createLinearGradient(0,0,0,sizeY); 4493 grd.addColorStop(0,"white"); 4494 grd.addColorStop(1,customSettingsObj.fgcolor); 4495 shadowGlow(); 4496 context.clip(); 4497 context.fillStyle = grd; 4498 context.fillRect(0, fillLine, sizeX, sizeY); 4499 4500 } else if(animationType == 3){ 4501 context.clip(); 4502 var grd = createGrad(inc,sizeX, sizeY); 4503 inc = increaseInc(inc,current); 4504 context.fillStyle = grd; 4505 context.fillRect(0, fillLine, sizeX, sizeY); 4506 } else { 4507 context.clip(); 4508 context.fillStyle = customSettingsObj.fgcolor; 4509 context.fillRect(0, fillLine, sizeX, sizeY); 4510 }
4511 context.restore(); 4512 } else if (type == 'fill-circle-wave') { 4513 drawBorder(); 4514 var fillRadius = sizeX/2.5, 4515 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 4516 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 4517 var ypos=fillLine, xpos=0; 4518 counter += .1; 4519 counterLoop = counter; 4520 var increase = 2*Math.PI / 12; 4521 context.clip(); 4522 context.beginPath(); 4523 context.moveTo(sizeX,sizeY); 4524 context.lineTo(0,sizeY); 4525 context.lineTo(0,ypos); 4526 if (curPerc > endPercent) { 4527 calm-=.01; 4528 if(calm<0) calm=0; 4529 } 4530 for(i=0; i<=sizeX; i+=10){ 4531 xpos = i; 4532 ypos = ypos - Math.sin(counterLoop) * calm; 4533 counterLoop += increase; 4534 context.lineTo(xpos,ypos); 4535 } 4536 context.lineTo(sizeX,sizeY); 4537 context.closePath(); 4538 if(animationType == 1){ 4539 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 4540 context.fill(); 4541 } else if(animationType == 2){ 4542 var grd=context.createLinearGradient(0,0,0,sizeY); 4543 grd.addColorStop(0,"white"); 4544 grd.addColorStop(1,customSettingsObj.fgcolor); 4545 shadowGlow(); 4546 context.clip(); 4547 context.fillStyle = grd; 4548 context.fill(); 4549 } else if(animationType == 3){ 4550 context.clip(); 4551 var grd = createGrad(inc,sizeX,sizeY); 4552 inc = increaseInc(inc,current); 4553 context.fillStyle = grd; 4554 context.fill(); 4555 } else { 4556 context.clip(); 4557 context.fillStyle = customSettingsObj.fgcolor; 4558 context.fill(); 4559 } 4560 context.restore(); 4561 } 4562 4563 if (curPerc < endPercent) { 4564 curPerc += curStep; 4565 requestAnimationFrame(function () { 4566 context.strokeStyle = customSettingsObj.fgcolor; 4567 animate(Math.min(curPerc, endPercent) / 100); 4568 }, obj); 4569 } else if(finishFrames < 500) { 4570 curPerc += curStep; 4571 finishFrames+=1; 4572 requestAnimationFrame(function () { 4573 context.strokeStyle = customSettingsObj.fgcolor; 4574 animate(Math.min(curPerc, endPercent) / 100); 4575 }, obj); 4576 } 4577 4578 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 4579 if (opticStats.isFunction(options.complete)) { 4580 options.complete(); 4581 4582 fireCallback = false; 4583 } 4584 } 4585 } 4586 obj.waypoint(function(direction){ 4587 animate(curPerc / 100); 4588 this.destroy(); 4589 }, { offset: '100%' }); 4590 }); 4591 }; 4592}(opticStats)); 4593/* 4594 The MIT License (MIT) 4595 CountUp 4596+Copyright (c) 2014-2015 Jamie Perkins 4597 Permission is hereby granted, free of charge, to any person obtaining a copy of 4598 this software and associated documentation files (the "Software"), to deal in 4599*/ 4600!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 4601/*! 4602Waypoints - 4.0.0 4603Copyright © 2011-2015 Caleb Troughton 4604Licensed under the MIT license. 4605https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 4606*/ 4607!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 4607
4607this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
4607ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 4608 4609opticStats( document ).ready(function() { 4610 var speed = 3000, 4611 countNumberstacks_in_33301_2 = "1", 4612 decimalNumber = '90', 4613 decimalNumber = decimalNumber.replace(/\D/g,''), 4614 decimalLength = decimalNumber.length, 4615 maxValuePercentstacks_in_33301_2 = (countNumberstacks_in_33301_2/1), 4616 speedA = (2000/speed)*maxValuePercentstacks_in_33301_2; 4617 if (1 == 0) { 4618 if(countNumberstacks_in_33301_2 < 0) { 4619 maxValuePercentstacks_in_33301_2 = 1; 4620 } else { 4621 maxValuePercentstacks_in_33301_2 = (0-countNumberstacks_in_33301_2)/0; 4622 } 4623 } 4624 if('True' == 'False' ) { 4625 decimalLength = 0; 4626 } else { 4627 countNumberstacks_in_33301_2 = countNumberstacks_in_33301_2.replace(/\D/g,''); 4628 countNumberstacks_in_33301_2 = countNumberstacks_in_33301_2+"."+decimalNumber; 4629 } 4630 if('False' == 'True' ) { 4631 var items = readData_data(opticStats("#data")); 4632 countNumberstacks_in_33301_2 = items['data-A1']; 4633 if(countNumberstacks_in_33301_2 == null) { 4634 countNumberstacks_in_33301_2 = '0'; 4635 } 4636 opticStats("#stat_stacks_in_33301_2").data("percent", maxValuePercentstacks_in_33301_2*100); 4637 // 4638 // 4639 if(countNumberstacks_in_33301_2.indexOf(".") !== -1) { 4640 decimalNumber = countNumberstacks_in_33301_2.substr(countNumberstacks_in_33301_2.indexOf(".") + 1); 4641 decimalNumber = decimalNumber.replace(/\D/g,''); 4642 decimalLength = decimalNumber.length; 4643 countNumberstacks_in_33301_2 = countNumberstacks_in_33301_2.substr(0, countNumberstacks_in_33301_2.indexOf('.')); 4644 } 4645 // 4646 // 4647 countNumberstacks_in_33301_2 = countNumberstacks_in_33301_2.replace(/[^0-9\-]/g,''); 4648 countNumberstacks_in_33301_2 = countNumberstacks_in_33301_2+"."+decimalNumber; 4649 maxValuePercentstacks_in_33301_2 = (countNumberstacks_in_33301_2/1); 4650 if (1 == 0) { 4651 if(countNumberstacks_in_33301_2 < 0) { 4652 maxValuePercentstacks_in_33301_2 = 1; 4653 } else { 4654 maxValuePercentstacks_in_33301_2 = (0-countNumberstacks_in_33301_2)/0; 4655 } 4656 } 4657 speedA = (2000/speed)*maxValuePercentstacks_in_33301_2; 4658 opticStats("#stat_stacks_in_33301_2").data("percent", maxValuePercentstacks_in_33301_2*100); 4659 } else { 4660 var maxValuePercentstacks_in_33301_2 = (countNumberstacks_in_33301_2/1); 4661 if (1 == 0) { 4662 if(countNumberstacks_in_33301_2 < 0) { 4663 maxValuePercentstacks_in_33301_2 = 1; 4664 } else { 4665 maxValuePercentstacks_in_33301_2 = (0-countNumberstacks_in_33301_2)/0; 4666 } 4667 } 4668 speedA = (2000/speed)*maxValuePercentstacks_in_33301_2; 4669 opticStats("#stat_stacks_in_33301_2").data("percent", maxValuePercentstacks_in_33301_2*100); 4670 } 4671 opticStats('#stat_stacks_in_33301_2').attr("data-animationstep", speedA); 4672 opticStats('#stat_stacks_in_33301_2').circliful(); 4673 opticStats('#stat_stacks_in_33301_2').waypoint(function(direction){ 4674 4675 // 4676// opticStats('#stacks_in_33301_2 .counter').counterUp({ 4677// delay: 10, 4678// time: speed 4679// }); 4680 4681 var options = { 4682 // 4683 useGrouping : false, 4684 // 4685 // 4686 separator : ',', 4687 decimal : '.', 4688 // 4689 // 4690 // 4691 useEasing : false 4692 }; 4693 opticStats('#stacks_in_33301_2 .counter').attr("id", "count_stacks_in_33301_2"); 4694 var count = new CountUp('count_stacks_in_33301_2', 0, countNumberstacks_in_33301_2, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33301_2), options);//(1.75/speedA)*(maxValuePercentstacks_in_33301_2) 4695 count.start(); 4696 // 4697 // 4698 opticStats('#stat_stacks_in_33301_2 .circle-text').append(""); 4699 opticStats('#stat_stacks_in_33301_2 .circle-text-half').append(""); 4700 // 4701 // 4702 // 4703 // 4704 opticStats('#stat_stacks_in_33301_2 span > .osIcon').wrap("<div class='os-icon-wrap' />") 4705 opticStats('#stat_stacks_in_33301_2 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33301_2 .centerMe > div > span:first-child')); 4706 // 4707 // 4708 scale(); 4709 this.destroy(); 4710 }, { offset: '100%' }); 4711 4712 4713}); 4714 4715opticStats( window ).resize(function() { 4716 scale(); 4717}); 4718function scale() { 4719 var width = 330, 4720 currentWidth = opticStats('#stat_stacks_in_33301_2').parent().outerWidth(); 4721 if(currentWidth < width) { 4722 var scale = currentWidth/width; 4723 opticStats('#stat_stacks_in_33301_2').css({ 4724 "transform" : "scale("+scale+")", 4725 "transform-origin" : "0px", 4726 "-o-transform" : "scale("+scale+")", 4727 "-o-transform-origin" : "0px" 4728 }); 4729 } else { 4730 opticStats('#stat_stacks_in_33301_2').css({ 4731 "transform" : "scale(1)", 4732 "-o-transform" : "scale(1)" 4733 }); 4734 } 4735} 4736 4737return stack;})(stacks.stacks_in_33301_2); 4738stacks.stacks_in_33303 = {}; 4739stacks.stacks_in_33303 = (function(stack) { 4740 4741return stack;})(stacks.stacks_in_33303); 4742stacks.stacks_in_33313 = {}; 4743stacks.stacks_in_33313 = (function(stack) { 4744var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 4745/* 4746jquery-plugin-circliful 4747+The MIT License (MIT) 4748+ 4749+Copyright (c) 2014 Patric Gutersohn 4750+ 4751+Permission is hereby granted, free of charge, to any person obtaining a copy of 4752+this software and associated documentation files (the "Software"), to deal in 4753+the Software without restriction, including without limitation the rights to 4754+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 4755+the Software, and to permit persons to whom the Software is furnished to do so, 4756+subject to the following conditions: 4757+ 4758+The above copyright notice and this permission notice shall be included in all 4759+copies or substantial portions of the Software. 4760+ 4761+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4762+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 4763+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 4764+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 4765+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4766+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4767*/ 4768"use strict"; 4769 4770(function (opticStats) { 4771 4772 opticStats.fn.circliful = function (options, callback) { 4773 4774 var settings = opticStats.extend({ 4775 // These are the defaults. 4776 startdegree: 0, 4777 fgcolor: "#556b2f", 4778 bgcolor: "#eee", 4779 fill: false, 4780 width: 15, 4781 dimension: 200, 4782 fontsize: 15, 4783 percent: 50, 4784 animationstep: 1.0, 4785 iconsize: '20px', 4786 iconcolor: '#999', 4787 border: 'default', 4788 complete: null, 4789 bordersize: 10 4790 }, options); 4791 4792 return this.each(function () { 4793 4794 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 4795 4796 var customSettingsObj = {}; 4797 var icon = ''; 4798 var percent; 4799 var endPercent = 0; 4800 var obj = opticStats(this); 4801 var fill = false;
4802 var text, info; 4803 4804 obj.addClass('circliful'); 4805 4806 checkDataAttributes(obj); 4807 4808 if (obj.data('text') != undefined) { 4809 4810 //remove non number characters 4811 4812 text = obj.data('text'); 4813 text = text.toString(); 4814 text = text.replace(/[^0-9.,]/g, ''); 4815 text = "<span class='counter'>" + text + "</span>"; 4816 4817 if (obj.data('icon') != undefined) { 4818 icon = opticStats('<i></i>') 4819 .addClass('osIcon fa ' + opticStats(this).data('icon')) 4820 .css({ 4821 'color': customSettingsObj.iconcolor, 4822 'font-size': customSettingsObj.iconsize, 4823 'line-height': customSettingsObj.iconsize + "px" 4824 }); 4825 } 4826 if (obj.data('icon-custom') != undefined) { 4827 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 4828 .addClass('osIcon ') 4829 .css({ 4830 'width': customSettingsObj.iconsize, 4831 'height': customSettingsObj.iconsize 4832 }); 4833 } 4834 4835 if (obj.data('type') != undefined) { 4836 type = opticStats(this).data('type'); 4837 4838 if (type == 'half') { 4839 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 4840 } else { 4841 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 4842 } 4843 } else { 4844 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 4845 } 4846 } 4847 4848 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 4849 var total = opticStats(this).data("total") / 100; 4850 4851 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 4852 endPercent = (opticStats(this).data("part") / total).toFixed(3); 4853 } else { 4854 if (opticStats(this).data("percent") != undefined) { 4855 percent = opticStats(this).data("percent") / 100; 4856 endPercent = opticStats(this).data("percent"); 4857 } else { 4858 percent = settings.percent / 100; 4859 } 4860 } 4861 4862 if (opticStats(this).data('info') != undefined) { 4863 info = opticStats(this).data('info'); 4864 4865 if (opticStats(this).data('type') != undefined) { 4866 type = opticStats(this).data('type'); 4867 4868 if (type == 'half') { 4869 addInfoText(obj, 0.9); 4870 } else { 4871 addInfoText(obj, 1.25); 4872 } 4873 } else { 4874 addInfoText(obj, 1.25); 4875 } 4876 } 4877 4878 opticStats(this).width(customSettingsObj.dimension + 'px'); 4879 if (type == 'line' || type == 'vert-line') { 4880 opticStats(this).height(opticStats(this).data('height') + 'px'); 4881 } else { 4882 opticStats(this).height(customSettingsObj.dimension + 'px'); 4883 } 4884 4885 4886 var sizeX = customSettingsObj.dimension, 4887 sizeY = customSettingsObj.dimension; 4888 if (type == 'line' || type == 'vert-line') { 4889 sizeY = opticStats(this).data('height'); 4890 } 4891 var canvas = opticStats('<canvas></canvas>').attr({ 4892 width: sizeX, 4893 height: sizeY 4894 }).appendTo(opticStats(this)).get(0); 4895 var context = canvas.getContext('2d'); 4896 4897 var dpr = window.devicePixelRatio; 4898 if ( dpr ) { 4899 var opticStatscanvas = opticStats(canvas); 4900 opticStatscanvas.css('width', sizeX); 4901 opticStatscanvas.css('height', sizeY); 4902 opticStatscanvas.attr('width', sizeX * dpr); 4903 opticStatscanvas.attr('height', sizeY * dpr); 4904 4905 context.scale(dpr, dpr); 4906 } 4907 4908 var container = opticStats(canvas).parent(); 4909 var x = sizeX / 2; 4910 var y = sizeY / 2; 4911 var degrees = customSettingsObj.percent * 360.0; 4912 var radians = degrees * (Math.PI / 180); 4913 var radius = sizeX / 2.5; 4914 var startAngle = 2.3 * Math.PI; 4915 var endAngle = 0; 4916 var counterClockwise = false; 4917 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 4918 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 4919 var circ = Math.PI * 2; 4920 var quart = Math.PI / 2; 4921 var type = ''; 4922 var fireCallback = true; 4923 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 4924 4925 if (opticStats(this).data('type') != undefined) { 4926 type = opticStats(this).data('type'); 4927 if (type == 'half') { 4928 startAngle = 2.0 * Math.PI; 4929 endAngle = 3.14; 4930 circ = Math.PI; 4931 quart = Math.PI / 0.996; 4932 } else if (type == 'angle') { 4933 startAngle = 2.25 * Math.PI; 4934 endAngle = 2.4; 4935 circ = 1.53 + Math.PI; 4936 quart = 0.73 + Math.PI / 0.996; 4937 } 4938 } 4939 4940 /** 4941 * adds text to circle 4942 * 4943 * @param obj 4944 * @param cssClass 4945 * @param lineHeight 4946 */ 4947 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 4948 function addCircleText(obj, cssClass, lineHeight) { 4949 opticStats("<span></span>") 4950 .appendTo(obj) 4951 .addClass(cssClass) 4952 .html(text) 4953 .prepend(icon) 4954 .css({ 4955 //'line-height': lineHeight + 'px', 4956 'font-size': customSettingsObj.fontsize + 'px', 4957 'line-height': customSettingsObj.fontsize + 'px' 4958 }); 4959 } 4960 4961 /** 4962 * adds info text to circle 4963 * 4964 * @param obj 4965 * @param factor 4966 */ 4967 function addInfoText(obj, factor) { 4968 opticStats('<span></span>') 4969 .appendTo(obj) 4970 .addClass('circle-info-half') 4971 //.css( 4972 //'line-height', (customSettingsObj.dimension * factor) + 'px' 4973 //) 4974 .text(info); 4975 } 4976 4977 /** 4978 * checks which data attributes are defined 4979 * @param obj 4980 */ 4981 function checkDataAttributes(obj) { 4982 opticStats.each(customSettings, function (index, attribute) { 4983 if (obj.data(attribute) != undefined) { 4984 customSettingsObj[attribute] = obj.data(attribute); 4985 } else { 4986 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 4987 } 4988 4989 if (attribute == 'fill' && obj.data('fill') != undefined) { 4990 fill = true; 4991 } 4992 }); 4993 } 4994 4995 //Animation Variables 4996 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 4997 // ---------------------- // 4998 // Animation Functions 4999 // ---------------------- // 5000 function blend(inColor,outColor,current){ 5001 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 5002 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 5003 r,g,b,a,cur; 5004 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 5005 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 5006 if(current < .5 ) { 5007 cur = current*2; 5008 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 5009 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 5010 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 5011 } else { 5012 cur = (current-.5)*2; 5013 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 5014 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 5015 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 5016 } 5017 var a = inColors[3]+((outColors[3] - inColors[3])*current);
5018 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 5019 } 5020 if (type == 'line' || type == 'vert-line') { 5021 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 5022 } 5023 var increaseInc = function(inc, current) { 5024 if (current >= 1) { 5025 // slowTheInc += 0.00002; 5026 // slowTheInc = Math.min(slowTheInc, 0.005); 5027 // inc = inc + (0.005-slowTheInc); 5028 } else { 5029 inc += 0.005; 5030 } 5031 return inc; 5032 } 5033 var moveColors = function(value, inc) { 5034 var pos = value+inc; 5035 pos = pos.toString(); 5036 pos = pos.split(".").pop(); 5037 pos = parseFloat("."+pos); 5038 return pos; 5039 } 5040 var createGrad = function(inc,sizeX, sizeY) { 5041 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 5042 grd.addColorStop(moveColors(0, inc),"#FF0000"); 5043 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 5044 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 5045 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 5046 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 5047 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 5048 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 5049 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 5050 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 5051 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 5052 grd.addColorStop(moveColors(1, inc),"#FF0000"); 5053 return grd; 5054 } 5055 var shadowGlow = function() { 5056 context.shadowColor = customSettingsObj.fgcolor; 5057 context.shadowOffsetX = 0; 5058 context.shadowOffsetY = 0; 5059 context.shadowBlur = 10; 5060 } 5061 var drawBorder = function() { 5062 context.lineWidth = customSettingsObj.bordersize + 1; 5063 context.strokeStyle = customSettingsObj.bgcolor; 5064 context.stroke(); 5065 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 5066 // 5067 } else { 5068 context.fillStyle = customSettingsObj.fill; 5069 context.fill(); 5070 } 5071 context.beginPath(); 5072 context.save(); 5073 } 5074 var fillAnimation = function(animationType, current) { 5075 if(animationType == 1){ 5076 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 5077 context.stroke(); 5078 } else if(animationType == 2){ 5079 context.strokeStyle = customSettingsObj.fgcolor; 5080 if (type == 'line') { 5081 var grd=context.createLinearGradient(sizeX,0,0,0); 5082 grd.addColorStop(0,"white"); 5083 grd.addColorStop(1,customSettingsObj.fgcolor); 5084 context.strokeStyle = grd; 5085 shadowGlow(); 5086 } else if (type == 'vert-line') { 5087 var grd=context.createLinearGradient(0,0,0,sizeY); 5088 grd.addColorStop(0,"white"); 5089 grd.addColorStop(1,customSettingsObj.fgcolor); 5090 context.strokeStyle = grd; 5091 shadowGlow(); 5092 } else { 5093 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 5094 grd.addColorStop(0, customSettingsObj.fgcolor); 5095 grd.addColorStop(0.5, 'white'); 5096 grd.addColorStop(1, customSettingsObj.fgcolor); 5097 context.strokeStyle = grd; 5098 shadowGlow(); 5099 } 5100 context.stroke(); 5101 context.restore(); 5102 } else if(animationType == 3){ 5103 if (type == 'line') { 5104 var grd = createGrad(inc,sizeX,sizeY); 5105 inc = increaseInc(inc,current); 5106 context.strokeStyle = grd; 5107 } else if (type == 'vert-line') { 5108 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 5109 grd.addColorStop(moveColors(0, inc),"#FF0000"); 5110 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 5111 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 5112 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 5113 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 5114 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 5115 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 5116 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 5117 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 5118 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 5119 grd.addColorStop(moveColors(1, inc),"#FF0000"); 5120 inc = increaseInc(inc,current); 5121 context.strokeStyle = grd; 5122 } else { 5123 var grd = createGrad(inc,sizeX,sizeY); 5124 inc = increaseInc(inc,current); 5125 context.strokeStyle = grd; 5126 } 5127 context.stroke();
5128 context.restore(); 5129 } else { 5130 context.strokeStyle = customSettingsObj.fgcolor; 5131 context.stroke(); 5132 } 5133 } 5134 // ---------------------- // 5135 // Animation 5136 // ---------------------- // 5137 function animate(current) { 5138 //Clear Canvas for next frame 5139 context.clearRect(0, 0, canvas.width, canvas.height); 5140 //Draw Background 5141 if (type == 'line' || type == 'vert-line') { 5142 context.rect(10, 10, sizeX-20, sizeY-20); 5143 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 5144 context.beginPath(); 5145 context.arc(x, y, radius, endAngle, startAngle, false); 5146 } 5147 context.fillStyle = customSettingsObj.fill; 5148 context.fill(); 5149 if (type == 'line') { 5150 context.beginPath(); 5151 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 5152 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 5153 drawBorder(); 5154 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 5155 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 5156 fillAnimation(animationType,current); 5157 } else if (type == 'vert-line'){ 5158 context.beginPath(); 5159 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 5160 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 5161 drawBorder(); 5162 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 5163 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 5164 fillAnimation(animationType,current); 5165 } else if (type == 'full' || type=='half') { 5166 drawBorder(); 5167 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 5168 fillAnimation(animationType,current); 5169 } else if (type == 'grow-circle') { 5170 drawBorder(); 5171 var fillRadius = sizeX/2.5*Math.min(current,1); 5172 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 5173 if(animationType == 1){ 5174 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 5175 context.fill(); 5176 } else if(animationType == 2){ 5177 var grd=context.createLinearGradient(0,0,0,sizeY); 5178 grd.addColorStop(0,"white"); 5179 grd.addColorStop(1,customSettingsObj.fgcolor); 5180 shadowGlow(); 5181 context.fillStyle = grd; 5182 context.fill(); 5183 } else if(animationType == 3){ 5184 var grd = createGrad(inc,sizeX,sizeY); 5185 inc = increaseInc(inc,current); 5186 context.fillStyle = grd; 5187 context.fill(); 5188 } else { 5189 context.fillStyle = customSettingsObj.fgcolor; 5190 context.fill(); 5191 } 5192 context.restore(); 5193 } else if (type == 'fill-circle') { 5194 drawBorder(); 5195 var fillRadius = sizeX/2.5, 5196 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 5197 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 5198 if(animationType == 1){ 5199 context.clip(); 5200 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 5201 context.fillRect(0, fillLine, sizeX, sizeY); 5202 } else if(animationType == 2){ 5203 var grd=context.createLinearGradient(0,0,0,sizeY); 5204 grd.addColorStop(0,"white"); 5205 grd.addColorStop(1,customSettingsObj.fgcolor); 5206 shadowGlow(); 5207 context.clip(); 5208 context.fillStyle = grd; 5209 context.fillRect(0, fillLine, sizeX, sizeY); 5210 5211 } else if(animationType == 3){ 5212 context.clip(); 5213 var grd = createGrad(inc,sizeX, sizeY); 5214 inc = increaseInc(inc,current); 5215 context.fillStyle = grd; 5216 context.fillRect(0, fillLine, sizeX, sizeY); 5217 } else { 5218 context.clip(); 5219 context.fillStyle = customSettingsObj.fgcolor; 5220 context.fillRect(0, fillLine, sizeX, sizeY); 5221 }
5222 context.restore(); 5223 } else if (type == 'fill-circle-wave') { 5224 drawBorder(); 5225 var fillRadius = sizeX/2.5, 5226 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 5227 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 5228 var ypos=fillLine, xpos=0; 5229 counter += .1; 5230 counterLoop = counter; 5231 var increase = 2*Math.PI / 12; 5232 context.clip(); 5233 context.beginPath(); 5234 context.moveTo(sizeX,sizeY); 5235 context.lineTo(0,sizeY); 5236 context.lineTo(0,ypos); 5237 if (curPerc > endPercent) { 5238 calm-=.01; 5239 if(calm<0) calm=0; 5240 } 5241 for(i=0; i<=sizeX; i+=10){ 5242 xpos = i; 5243 ypos = ypos - Math.sin(counterLoop) * calm; 5244 counterLoop += increase; 5245 context.lineTo(xpos,ypos); 5246 } 5247 context.lineTo(sizeX,sizeY); 5248 context.closePath(); 5249 if(animationType == 1){ 5250 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 5251 context.fill(); 5252 } else if(animationType == 2){ 5253 var grd=context.createLinearGradient(0,0,0,sizeY); 5254 grd.addColorStop(0,"white"); 5255 grd.addColorStop(1,customSettingsObj.fgcolor); 5256 shadowGlow(); 5257 context.clip(); 5258 context.fillStyle = grd; 5259 context.fill(); 5260 } else if(animationType == 3){ 5261 context.clip(); 5262 var grd = createGrad(inc,sizeX,sizeY); 5263 inc = increaseInc(inc,current); 5264 context.fillStyle = grd; 5265 context.fill(); 5266 } else { 5267 context.clip(); 5268 context.fillStyle = customSettingsObj.fgcolor; 5269 context.fill(); 5270 } 5271 context.restore(); 5272 } 5273 5274 if (curPerc < endPercent) { 5275 curPerc += curStep; 5276 requestAnimationFrame(function () { 5277 context.strokeStyle = customSettingsObj.fgcolor; 5278 animate(Math.min(curPerc, endPercent) / 100); 5279 }, obj); 5280 } else if(finishFrames < 500) { 5281 curPerc += curStep; 5282 finishFrames+=1; 5283 requestAnimationFrame(function () { 5284 context.strokeStyle = customSettingsObj.fgcolor; 5285 animate(Math.min(curPerc, endPercent) / 100); 5286 }, obj); 5287 } 5288 5289 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 5290 if (opticStats.isFunction(options.complete)) { 5291 options.complete(); 5292 5293 fireCallback = false; 5294 } 5295 } 5296 } 5297 obj.waypoint(function(direction){ 5298 animate(curPerc / 100); 5299 this.destroy(); 5300 }, { offset: '100%' }); 5301 }); 5302 }; 5303}(opticStats)); 5304/* 5305 The MIT License (MIT) 5306 CountUp 5307+Copyright (c) 2014-2015 Jamie Perkins 5308 Permission is hereby granted, free of charge, to any person obtaining a copy of 5309 this software and associated documentation files (the "Software"), to deal in 5310*/ 5311!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 5312/*! 5313Waypoints - 4.0.0 5314Copyright © 2011-2015 Caleb Troughton 5315Licensed under the MIT license. 5316https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 5317*/ 5318!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 5318
5318this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
5318ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 5319 5320opticStats( document ).ready(function() { 5321 var speed = 3000, 5322 countNumberstacks_in_33313 = "50", 5323 decimalNumber = '0', 5324 decimalNumber = decimalNumber.replace(/\D/g,''), 5325 decimalLength = decimalNumber.length, 5326 maxValuePercentstacks_in_33313 = (countNumberstacks_in_33313/50), 5327 speedA = (2000/speed)*maxValuePercentstacks_in_33313; 5328 if (50 == 0) { 5329 if(countNumberstacks_in_33313 < 0) { 5330 maxValuePercentstacks_in_33313 = 1; 5331 } else { 5332 maxValuePercentstacks_in_33313 = (0-countNumberstacks_in_33313)/0; 5333 } 5334 } 5335 if('False' == 'False' ) { 5336 decimalLength = 0; 5337 } else { 5338 countNumberstacks_in_33313 = countNumberstacks_in_33313.replace(/\D/g,''); 5339 countNumberstacks_in_33313 = countNumberstacks_in_33313+"."+decimalNumber; 5340 } 5341 if('False' == 'True' ) { 5342 var items = readData_data(opticStats("#data")); 5343 countNumberstacks_in_33313 = items['data-A1']; 5344 if(countNumberstacks_in_33313 == null) { 5345 countNumberstacks_in_33313 = '0'; 5346 } 5347 opticStats("#stat_stacks_in_33313").data("percent", maxValuePercentstacks_in_33313*100); 5348 // 5349 // 5350 if(countNumberstacks_in_33313.indexOf(".") !== -1) { 5351 decimalNumber = countNumberstacks_in_33313.substr(countNumberstacks_in_33313.indexOf(".") + 1); 5352 decimalNumber = decimalNumber.replace(/\D/g,''); 5353 decimalLength = decimalNumber.length; 5354 countNumberstacks_in_33313 = countNumberstacks_in_33313.substr(0, countNumberstacks_in_33313.indexOf('.')); 5355 } 5356 // 5357 // 5358 countNumberstacks_in_33313 = countNumberstacks_in_33313.replace(/[^0-9\-]/g,''); 5359 countNumberstacks_in_33313 = countNumberstacks_in_33313+"."+decimalNumber; 5360 maxValuePercentstacks_in_33313 = (countNumberstacks_in_33313/50); 5361 if (50 == 0) { 5362 if(countNumberstacks_in_33313 < 0) { 5363 maxValuePercentstacks_in_33313 = 1; 5364 } else { 5365 maxValuePercentstacks_in_33313 = (0-countNumberstacks_in_33313)/0; 5366 } 5367 } 5368 speedA = (2000/speed)*maxValuePercentstacks_in_33313; 5369 opticStats("#stat_stacks_in_33313").data("percent", maxValuePercentstacks_in_33313*100); 5370 } else { 5371 var maxValuePercentstacks_in_33313 = (countNumberstacks_in_33313/50); 5372 if (50 == 0) { 5373 if(countNumberstacks_in_33313 < 0) { 5374 maxValuePercentstacks_in_33313 = 1; 5375 } else { 5376 maxValuePercentstacks_in_33313 = (0-countNumberstacks_in_33313)/0; 5377 } 5378 } 5379 speedA = (2000/speed)*maxValuePercentstacks_in_33313; 5380 opticStats("#stat_stacks_in_33313").data("percent", maxValuePercentstacks_in_33313*100); 5381 } 5382 opticStats('#stat_stacks_in_33313').attr("data-animationstep", speedA); 5383 opticStats('#stat_stacks_in_33313').circliful(); 5384 opticStats('#stat_stacks_in_33313').waypoint(function(direction){ 5385 5386 // 5387// opticStats('#stacks_in_33313 .counter').counterUp({ 5388// delay: 10, 5389// time: speed 5390// }); 5391 5392 var options = { 5393 // 5394 useGrouping : false, 5395 // 5396 // 5397 separator : ',', 5398 decimal : '.', 5399 // 5400 // 5401 // 5402 useEasing : false 5403 }; 5404 opticStats('#stacks_in_33313 .counter').attr("id", "count_stacks_in_33313"); 5405 var count = new CountUp('count_stacks_in_33313', 0, countNumberstacks_in_33313, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33313), options);//(1.75/speedA)*(maxValuePercentstacks_in_33313) 5406 count.start(); 5407 // 5408 // 5409 opticStats('#stat_stacks_in_33313 .circle-text').append(""); 5410 opticStats('#stat_stacks_in_33313 .circle-text-half').append(""); 5411 // 5412 // 5413 // 5414 // 5415 opticStats('#stat_stacks_in_33313 span > .osIcon').wrap("<div class='os-icon-wrap' />") 5416 opticStats('#stat_stacks_in_33313 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33313 .centerMe > div > span:first-child')); 5417 // 5418 // 5419 scale(); 5420 this.destroy(); 5421 }, { offset: '100%' }); 5422 5423 5424}); 5425 5426opticStats( window ).resize(function() { 5427 scale(); 5428}); 5429function scale() { 5430 var width = 290, 5431 currentWidth = opticStats('#stat_stacks_in_33313').parent().outerWidth(); 5432 if(currentWidth < width) { 5433 var scale = currentWidth/width; 5434 opticStats('#stat_stacks_in_33313').css({ 5435 "transform" : "scale("+scale+")", 5436 "transform-origin" : "0px", 5437 "-o-transform" : "scale("+scale+")", 5438 "-o-transform-origin" : "0px" 5439 }); 5440 } else { 5441 opticStats('#stat_stacks_in_33313').css({ 5442 "transform" : "scale(1)", 5443 "-o-transform" : "scale(1)" 5444 }); 5445 } 5446} 5447 5448return stack;})(stacks.stacks_in_33313); 5449stacks.stacks_in_33314 = {}; 5450stacks.stacks_in_33314 = (function(stack) { 5451 5452return stack;})(stacks.stacks_in_33314); 5453stacks.stacks_in_33320 = {}; 5454stacks.stacks_in_33320 = (function(stack) { 5455var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 5456/* 5457jquery-plugin-circliful 5458+The MIT License (MIT) 5459+ 5460+Copyright (c) 2014 Patric Gutersohn 5461+ 5462+Permission is hereby granted, free of charge, to any person obtaining a copy of 5463+this software and associated documentation files (the "Software"), to deal in 5464+the Software without restriction, including without limitation the rights to 5465+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 5466+the Software, and to permit persons to whom the Software is furnished to do so, 5467+subject to the following conditions: 5468+ 5469+The above copyright notice and this permission notice shall be included in all 5470+copies or substantial portions of the Software. 5471+ 5472+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5473+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 5474+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 5475+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 5476+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 5477+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5478*/ 5479"use strict"; 5480 5481(function (opticStats) { 5482 5483 opticStats.fn.circliful = function (options, callback) { 5484 5485 var settings = opticStats.extend({ 5486 // These are the defaults. 5487 startdegree: 0, 5488 fgcolor: "#556b2f", 5489 bgcolor: "#eee", 5490 fill: false, 5491 width: 15, 5492 dimension: 200, 5493 fontsize: 15, 5494 percent: 50, 5495 animationstep: 1.0, 5496 iconsize: '20px', 5497 iconcolor: '#999', 5498 border: 'default', 5499 complete: null, 5500 bordersize: 10 5501 }, options); 5502 5503 return this.each(function () { 5504 5505 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 5506 5507 var customSettingsObj = {}; 5508 var icon = ''; 5509 var percent; 5510 var endPercent = 0; 5511 var obj = opticStats(this); 5512 var fill = false;
5513 var text, info; 5514 5515 obj.addClass('circliful'); 5516 5517 checkDataAttributes(obj); 5518 5519 if (obj.data('text') != undefined) { 5520 5521 //remove non number characters 5522 5523 text = obj.data('text'); 5524 text = text.toString(); 5525 text = text.replace(/[^0-9.,]/g, ''); 5526 text = "<span class='counter'>" + text + "</span>"; 5527 5528 if (obj.data('icon') != undefined) { 5529 icon = opticStats('<i></i>') 5530 .addClass('osIcon fa ' + opticStats(this).data('icon')) 5531 .css({ 5532 'color': customSettingsObj.iconcolor, 5533 'font-size': customSettingsObj.iconsize, 5534 'line-height': customSettingsObj.iconsize + "px" 5535 }); 5536 } 5537 if (obj.data('icon-custom') != undefined) { 5538 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 5539 .addClass('osIcon ') 5540 .css({ 5541 'width': customSettingsObj.iconsize, 5542 'height': customSettingsObj.iconsize 5543 }); 5544 } 5545 5546 if (obj.data('type') != undefined) { 5547 type = opticStats(this).data('type'); 5548 5549 if (type == 'half') { 5550 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 5551 } else { 5552 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 5553 } 5554 } else { 5555 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 5556 } 5557 } 5558 5559 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 5560 var total = opticStats(this).data("total") / 100; 5561 5562 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 5563 endPercent = (opticStats(this).data("part") / total).toFixed(3); 5564 } else { 5565 if (opticStats(this).data("percent") != undefined) { 5566 percent = opticStats(this).data("percent") / 100; 5567 endPercent = opticStats(this).data("percent"); 5568 } else { 5569 percent = settings.percent / 100; 5570 } 5571 } 5572 5573 if (opticStats(this).data('info') != undefined) { 5574 info = opticStats(this).data('info'); 5575 5576 if (opticStats(this).data('type') != undefined) { 5577 type = opticStats(this).data('type'); 5578 5579 if (type == 'half') { 5580 addInfoText(obj, 0.9); 5581 } else { 5582 addInfoText(obj, 1.25); 5583 } 5584 } else { 5585 addInfoText(obj, 1.25); 5586 } 5587 } 5588 5589 opticStats(this).width(customSettingsObj.dimension + 'px'); 5590 if (type == 'line' || type == 'vert-line') { 5591 opticStats(this).height(opticStats(this).data('height') + 'px'); 5592 } else { 5593 opticStats(this).height(customSettingsObj.dimension + 'px'); 5594 } 5595 5596 5597 var sizeX = customSettingsObj.dimension, 5598 sizeY = customSettingsObj.dimension; 5599 if (type == 'line' || type == 'vert-line') { 5600 sizeY = opticStats(this).data('height'); 5601 } 5602 var canvas = opticStats('<canvas></canvas>').attr({ 5603 width: sizeX, 5604 height: sizeY 5605 }).appendTo(opticStats(this)).get(0); 5606 var context = canvas.getContext('2d'); 5607 5608 var dpr = window.devicePixelRatio; 5609 if ( dpr ) { 5610 var opticStatscanvas = opticStats(canvas); 5611 opticStatscanvas.css('width', sizeX); 5612 opticStatscanvas.css('height', sizeY); 5613 opticStatscanvas.attr('width', sizeX * dpr); 5614 opticStatscanvas.attr('height', sizeY * dpr); 5615 5616 context.scale(dpr, dpr); 5617 } 5618 5619 var container = opticStats(canvas).parent(); 5620 var x = sizeX / 2; 5621 var y = sizeY / 2; 5622 var degrees = customSettingsObj.percent * 360.0; 5623 var radians = degrees * (Math.PI / 180); 5624 var radius = sizeX / 2.5; 5625 var startAngle = 2.3 * Math.PI; 5626 var endAngle = 0; 5627 var counterClockwise = false; 5628 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 5629 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 5630 var circ = Math.PI * 2; 5631 var quart = Math.PI / 2; 5632 var type = ''; 5633 var fireCallback = true; 5634 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 5635 5636 if (opticStats(this).data('type') != undefined) { 5637 type = opticStats(this).data('type'); 5638 if (type == 'half') { 5639 startAngle = 2.0 * Math.PI; 5640 endAngle = 3.14; 5641 circ = Math.PI; 5642 quart = Math.PI / 0.996; 5643 } else if (type == 'angle') { 5644 startAngle = 2.25 * Math.PI; 5645 endAngle = 2.4; 5646 circ = 1.53 + Math.PI; 5647 quart = 0.73 + Math.PI / 0.996; 5648 } 5649 } 5650 5651 /** 5652 * adds text to circle 5653 * 5654 * @param obj 5655 * @param cssClass 5656 * @param lineHeight 5657 */ 5658 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 5659 function addCircleText(obj, cssClass, lineHeight) { 5660 opticStats("<span></span>") 5661 .appendTo(obj) 5662 .addClass(cssClass) 5663 .html(text) 5664 .prepend(icon) 5665 .css({ 5666 //'line-height': lineHeight + 'px', 5667 'font-size': customSettingsObj.fontsize + 'px', 5668 'line-height': customSettingsObj.fontsize + 'px' 5669 }); 5670 } 5671 5672 /** 5673 * adds info text to circle 5674 * 5675 * @param obj 5676 * @param factor 5677 */ 5678 function addInfoText(obj, factor) { 5679 opticStats('<span></span>') 5680 .appendTo(obj) 5681 .addClass('circle-info-half') 5682 //.css( 5683 //'line-height', (customSettingsObj.dimension * factor) + 'px' 5684 //) 5685 .text(info); 5686 } 5687 5688 /** 5689 * checks which data attributes are defined 5690 * @param obj 5691 */ 5692 function checkDataAttributes(obj) { 5693 opticStats.each(customSettings, function (index, attribute) { 5694 if (obj.data(attribute) != undefined) { 5695 customSettingsObj[attribute] = obj.data(attribute); 5696 } else { 5697 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 5698 } 5699 5700 if (attribute == 'fill' && obj.data('fill') != undefined) { 5701 fill = true; 5702 } 5703 }); 5704 } 5705 5706 //Animation Variables 5707 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 5708 // ---------------------- // 5709 // Animation Functions 5710 // ---------------------- // 5711 function blend(inColor,outColor,current){ 5712 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 5713 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 5714 r,g,b,a,cur; 5715 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 5716 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 5717 if(current < .5 ) { 5718 cur = current*2; 5719 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 5720 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 5721 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 5722 } else { 5723 cur = (current-.5)*2; 5724 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 5725 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 5726 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 5727 } 5728 var a = inColors[3]+((outColors[3] - inColors[3])*current);
5729 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 5730 } 5731 if (type == 'line' || type == 'vert-line') { 5732 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 5733 } 5734 var increaseInc = function(inc, current) { 5735 if (current >= 1) { 5736 // slowTheInc += 0.00002; 5737 // slowTheInc = Math.min(slowTheInc, 0.005); 5738 // inc = inc + (0.005-slowTheInc); 5739 } else { 5740 inc += 0.005; 5741 } 5742 return inc; 5743 } 5744 var moveColors = function(value, inc) { 5745 var pos = value+inc; 5746 pos = pos.toString(); 5747 pos = pos.split(".").pop(); 5748 pos = parseFloat("."+pos); 5749 return pos; 5750 } 5751 var createGrad = function(inc,sizeX, sizeY) { 5752 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 5753 grd.addColorStop(moveColors(0, inc),"#FF0000"); 5754 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 5755 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 5756 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 5757 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 5758 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 5759 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 5760 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 5761 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 5762 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 5763 grd.addColorStop(moveColors(1, inc),"#FF0000"); 5764 return grd; 5765 } 5766 var shadowGlow = function() { 5767 context.shadowColor = customSettingsObj.fgcolor; 5768 context.shadowOffsetX = 0; 5769 context.shadowOffsetY = 0; 5770 context.shadowBlur = 10; 5771 } 5772 var drawBorder = function() { 5773 context.lineWidth = customSettingsObj.bordersize + 1; 5774 context.strokeStyle = customSettingsObj.bgcolor; 5775 context.stroke(); 5776 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 5777 // 5778 } else { 5779 context.fillStyle = customSettingsObj.fill; 5780 context.fill(); 5781 } 5782 context.beginPath(); 5783 context.save(); 5784 } 5785 var fillAnimation = function(animationType, current) { 5786 if(animationType == 1){ 5787 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 5788 context.stroke(); 5789 } else if(animationType == 2){ 5790 context.strokeStyle = customSettingsObj.fgcolor; 5791 if (type == 'line') { 5792 var grd=context.createLinearGradient(sizeX,0,0,0); 5793 grd.addColorStop(0,"white"); 5794 grd.addColorStop(1,customSettingsObj.fgcolor); 5795 context.strokeStyle = grd; 5796 shadowGlow(); 5797 } else if (type == 'vert-line') { 5798 var grd=context.createLinearGradient(0,0,0,sizeY); 5799 grd.addColorStop(0,"white"); 5800 grd.addColorStop(1,customSettingsObj.fgcolor); 5801 context.strokeStyle = grd; 5802 shadowGlow(); 5803 } else { 5804 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 5805 grd.addColorStop(0, customSettingsObj.fgcolor); 5806 grd.addColorStop(0.5, 'white'); 5807 grd.addColorStop(1, customSettingsObj.fgcolor); 5808 context.strokeStyle = grd; 5809 shadowGlow(); 5810 } 5811 context.stroke(); 5812 context.restore(); 5813 } else if(animationType == 3){ 5814 if (type == 'line') { 5815 var grd = createGrad(inc,sizeX,sizeY); 5816 inc = increaseInc(inc,current); 5817 context.strokeStyle = grd; 5818 } else if (type == 'vert-line') { 5819 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 5820 grd.addColorStop(moveColors(0, inc),"#FF0000"); 5821 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 5822 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 5823 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 5824 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 5825 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 5826 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 5827 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 5828 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 5829 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 5830 grd.addColorStop(moveColors(1, inc),"#FF0000"); 5831 inc = increaseInc(inc,current); 5832 context.strokeStyle = grd; 5833 } else { 5834 var grd = createGrad(inc,sizeX,sizeY); 5835 inc = increaseInc(inc,current); 5836 context.strokeStyle = grd; 5837 } 5838 context.stroke();
5839 context.restore(); 5840 } else { 5841 context.strokeStyle = customSettingsObj.fgcolor; 5842 context.stroke(); 5843 } 5844 } 5845 // ---------------------- // 5846 // Animation 5847 // ---------------------- // 5848 function animate(current) { 5849 //Clear Canvas for next frame 5850 context.clearRect(0, 0, canvas.width, canvas.height); 5851 //Draw Background 5852 if (type == 'line' || type == 'vert-line') { 5853 context.rect(10, 10, sizeX-20, sizeY-20); 5854 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 5855 context.beginPath(); 5856 context.arc(x, y, radius, endAngle, startAngle, false); 5857 } 5858 context.fillStyle = customSettingsObj.fill; 5859 context.fill(); 5860 if (type == 'line') { 5861 context.beginPath(); 5862 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 5863 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 5864 drawBorder(); 5865 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 5866 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 5867 fillAnimation(animationType,current); 5868 } else if (type == 'vert-line'){ 5869 context.beginPath(); 5870 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 5871 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 5872 drawBorder(); 5873 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 5874 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 5875 fillAnimation(animationType,current); 5876 } else if (type == 'full' || type=='half') { 5877 drawBorder(); 5878 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 5879 fillAnimation(animationType,current); 5880 } else if (type == 'grow-circle') { 5881 drawBorder(); 5882 var fillRadius = sizeX/2.5*Math.min(current,1); 5883 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 5884 if(animationType == 1){ 5885 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 5886 context.fill(); 5887 } else if(animationType == 2){ 5888 var grd=context.createLinearGradient(0,0,0,sizeY); 5889 grd.addColorStop(0,"white"); 5890 grd.addColorStop(1,customSettingsObj.fgcolor); 5891 shadowGlow(); 5892 context.fillStyle = grd; 5893 context.fill(); 5894 } else if(animationType == 3){ 5895 var grd = createGrad(inc,sizeX,sizeY); 5896 inc = increaseInc(inc,current); 5897 context.fillStyle = grd; 5898 context.fill(); 5899 } else { 5900 context.fillStyle = customSettingsObj.fgcolor; 5901 context.fill(); 5902 } 5903 context.restore(); 5904 } else if (type == 'fill-circle') { 5905 drawBorder(); 5906 var fillRadius = sizeX/2.5, 5907 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 5908 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 5909 if(animationType == 1){ 5910 context.clip(); 5911 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 5912 context.fillRect(0, fillLine, sizeX, sizeY); 5913 } else if(animationType == 2){ 5914 var grd=context.createLinearGradient(0,0,0,sizeY); 5915 grd.addColorStop(0,"white"); 5916 grd.addColorStop(1,customSettingsObj.fgcolor); 5917 shadowGlow(); 5918 context.clip(); 5919 context.fillStyle = grd; 5920 context.fillRect(0, fillLine, sizeX, sizeY); 5921 5922 } else if(animationType == 3){ 5923 context.clip(); 5924 var grd = createGrad(inc,sizeX, sizeY); 5925 inc = increaseInc(inc,current); 5926 context.fillStyle = grd; 5927 context.fillRect(0, fillLine, sizeX, sizeY); 5928 } else { 5929 context.clip(); 5930 context.fillStyle = customSettingsObj.fgcolor; 5931 context.fillRect(0, fillLine, sizeX, sizeY); 5932 }
5933 context.restore(); 5934 } else if (type == 'fill-circle-wave') { 5935 drawBorder(); 5936 var fillRadius = sizeX/2.5, 5937 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 5938 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 5939 var ypos=fillLine, xpos=0; 5940 counter += .1; 5941 counterLoop = counter; 5942 var increase = 2*Math.PI / 12; 5943 context.clip(); 5944 context.beginPath(); 5945 context.moveTo(sizeX,sizeY); 5946 context.lineTo(0,sizeY); 5947 context.lineTo(0,ypos); 5948 if (curPerc > endPercent) { 5949 calm-=.01; 5950 if(calm<0) calm=0; 5951 } 5952 for(i=0; i<=sizeX; i+=10){ 5953 xpos = i; 5954 ypos = ypos - Math.sin(counterLoop) * calm; 5955 counterLoop += increase; 5956 context.lineTo(xpos,ypos); 5957 } 5958 context.lineTo(sizeX,sizeY); 5959 context.closePath(); 5960 if(animationType == 1){ 5961 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 5962 context.fill(); 5963 } else if(animationType == 2){ 5964 var grd=context.createLinearGradient(0,0,0,sizeY); 5965 grd.addColorStop(0,"white"); 5966 grd.addColorStop(1,customSettingsObj.fgcolor); 5967 shadowGlow(); 5968 context.clip(); 5969 context.fillStyle = grd; 5970 context.fill(); 5971 } else if(animationType == 3){ 5972 context.clip(); 5973 var grd = createGrad(inc,sizeX,sizeY); 5974 inc = increaseInc(inc,current); 5975 context.fillStyle = grd; 5976 context.fill(); 5977 } else { 5978 context.clip(); 5979 context.fillStyle = customSettingsObj.fgcolor; 5980 context.fill(); 5981 } 5982 context.restore(); 5983 } 5984 5985 if (curPerc < endPercent) { 5986 curPerc += curStep; 5987 requestAnimationFrame(function () { 5988 context.strokeStyle = customSettingsObj.fgcolor; 5989 animate(Math.min(curPerc, endPercent) / 100); 5990 }, obj); 5991 } else if(finishFrames < 500) { 5992 curPerc += curStep; 5993 finishFrames+=1; 5994 requestAnimationFrame(function () { 5995 context.strokeStyle = customSettingsObj.fgcolor; 5996 animate(Math.min(curPerc, endPercent) / 100); 5997 }, obj); 5998 } 5999 6000 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 6001 if (opticStats.isFunction(options.complete)) { 6002 options.complete(); 6003 6004 fireCallback = false; 6005 } 6006 } 6007 } 6008 obj.waypoint(function(direction){ 6009 animate(curPerc / 100); 6010 this.destroy(); 6011 }, { offset: '100%' }); 6012 }); 6013 }; 6014}(opticStats)); 6015/* 6016 The MIT License (MIT) 6017 CountUp 6018+Copyright (c) 2014-2015 Jamie Perkins 6019 Permission is hereby granted, free of charge, to any person obtaining a copy of 6020 this software and associated documentation files (the "Software"), to deal in 6021*/ 6022!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 6023/*! 6024Waypoints - 4.0.0 6025Copyright © 2011-2015 Caleb Troughton 6026Licensed under the MIT license. 6027https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 6028*/ 6029!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 6029
6029this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
6029ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 6030 6031opticStats( document ).ready(function() { 6032 var speed = 3000, 6033 countNumberstacks_in_33320 = "139", 6034 decimalNumber = '0', 6035 decimalNumber = decimalNumber.replace(/\D/g,''), 6036 decimalLength = decimalNumber.length, 6037 maxValuePercentstacks_in_33320 = (countNumberstacks_in_33320/139), 6038 speedA = (2000/speed)*maxValuePercentstacks_in_33320; 6039 if (139 == 0) { 6040 if(countNumberstacks_in_33320 < 0) { 6041 maxValuePercentstacks_in_33320 = 1; 6042 } else { 6043 maxValuePercentstacks_in_33320 = (0-countNumberstacks_in_33320)/0; 6044 } 6045 } 6046 if('False' == 'False' ) { 6047 decimalLength = 0; 6048 } else { 6049 countNumberstacks_in_33320 = countNumberstacks_in_33320.replace(/\D/g,''); 6050 countNumberstacks_in_33320 = countNumberstacks_in_33320+"."+decimalNumber; 6051 } 6052 if('False' == 'True' ) { 6053 var items = readData_data(opticStats("#data")); 6054 countNumberstacks_in_33320 = items['data-A1']; 6055 if(countNumberstacks_in_33320 == null) { 6056 countNumberstacks_in_33320 = '0'; 6057 } 6058 opticStats("#stat_stacks_in_33320").data("percent", maxValuePercentstacks_in_33320*100); 6059 // 6060 // 6061 if(countNumberstacks_in_33320.indexOf(".") !== -1) { 6062 decimalNumber = countNumberstacks_in_33320.substr(countNumberstacks_in_33320.indexOf(".") + 1); 6063 decimalNumber = decimalNumber.replace(/\D/g,''); 6064 decimalLength = decimalNumber.length; 6065 countNumberstacks_in_33320 = countNumberstacks_in_33320.substr(0, countNumberstacks_in_33320.indexOf('.')); 6066 } 6067 // 6068 // 6069 countNumberstacks_in_33320 = countNumberstacks_in_33320.replace(/[^0-9\-]/g,''); 6070 countNumberstacks_in_33320 = countNumberstacks_in_33320+"."+decimalNumber; 6071 maxValuePercentstacks_in_33320 = (countNumberstacks_in_33320/139); 6072 if (139 == 0) { 6073 if(countNumberstacks_in_33320 < 0) { 6074 maxValuePercentstacks_in_33320 = 1; 6075 } else { 6076 maxValuePercentstacks_in_33320 = (0-countNumberstacks_in_33320)/0; 6077 } 6078 } 6079 speedA = (2000/speed)*maxValuePercentstacks_in_33320; 6080 opticStats("#stat_stacks_in_33320").data("percent", maxValuePercentstacks_in_33320*100); 6081 } else { 6082 var maxValuePercentstacks_in_33320 = (countNumberstacks_in_33320/139); 6083 if (139 == 0) { 6084 if(countNumberstacks_in_33320 < 0) { 6085 maxValuePercentstacks_in_33320 = 1; 6086 } else { 6087 maxValuePercentstacks_in_33320 = (0-countNumberstacks_in_33320)/0; 6088 } 6089 } 6090 speedA = (2000/speed)*maxValuePercentstacks_in_33320; 6091 opticStats("#stat_stacks_in_33320").data("percent", maxValuePercentstacks_in_33320*100); 6092 } 6093 opticStats('#stat_stacks_in_33320').attr("data-animationstep", speedA); 6094 opticStats('#stat_stacks_in_33320').circliful(); 6095 opticStats('#stat_stacks_in_33320').waypoint(function(direction){ 6096 6097 // 6098// opticStats('#stacks_in_33320 .counter').counterUp({ 6099// delay: 10, 6100// time: speed 6101// }); 6102 6103 var options = { 6104 // 6105 useGrouping : false, 6106 // 6107 // 6108 separator : ',', 6109 decimal : '.', 6110 // 6111 // 6112 // 6113 useEasing : false 6114 }; 6115 opticStats('#stacks_in_33320 .counter').attr("id", "count_stacks_in_33320"); 6116 var count = new CountUp('count_stacks_in_33320', 0, countNumberstacks_in_33320, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33320), options);//(1.75/speedA)*(maxValuePercentstacks_in_33320) 6117 count.start(); 6118 // 6119 // 6120 opticStats('#stat_stacks_in_33320 .circle-text').append(""); 6121 opticStats('#stat_stacks_in_33320 .circle-text-half').append(""); 6122 // 6123 // 6124 // 6125 // 6126 opticStats('#stat_stacks_in_33320 span > .osIcon').wrap("<div class='os-icon-wrap' />") 6127 opticStats('#stat_stacks_in_33320 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33320 .centerMe > div > span:first-child')); 6128 // 6129 // 6130 scale(); 6131 this.destroy(); 6132 }, { offset: '100%' }); 6133 6134 6135}); 6136 6137opticStats( window ).resize(function() { 6138 scale(); 6139}); 6140function scale() { 6141 var width = 290, 6142 currentWidth = opticStats('#stat_stacks_in_33320').parent().outerWidth(); 6143 if(currentWidth < width) { 6144 var scale = currentWidth/width; 6145 opticStats('#stat_stacks_in_33320').css({ 6146 "transform" : "scale("+scale+")", 6147 "transform-origin" : "0px", 6148 "-o-transform" : "scale("+scale+")", 6149 "-o-transform-origin" : "0px" 6150 }); 6151 } else { 6152 opticStats('#stat_stacks_in_33320').css({ 6153 "transform" : "scale(1)", 6154 "-o-transform" : "scale(1)" 6155 }); 6156 } 6157} 6158 6159return stack;})(stacks.stacks_in_33320); 6160stacks.stacks_in_33321 = {}; 6161stacks.stacks_in_33321 = (function(stack) { 6162 6163return stack;})(stacks.stacks_in_33321); 6164stacks.stacks_in_33328 = {}; 6165stacks.stacks_in_33328 = (function(stack) { 6166var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 6167/* 6168jquery-plugin-circliful 6169+The MIT License (MIT) 6170+ 6171+Copyright (c) 2014 Patric Gutersohn 6172+ 6173+Permission is hereby granted, free of charge, to any person obtaining a copy of 6174+this software and associated documentation files (the "Software"), to deal in 6175+the Software without restriction, including without limitation the rights to 6176+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 6177+the Software, and to permit persons to whom the Software is furnished to do so, 6178+subject to the following conditions: 6179+ 6180+The above copyright notice and this permission notice shall be included in all 6181+copies or substantial portions of the Software. 6182+ 6183+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6184+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 6185+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 6186+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 6187+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6188+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6189*/ 6190"use strict"; 6191 6192(function (opticStats) { 6193 6194 opticStats.fn.circliful = function (options, callback) { 6195 6196 var settings = opticStats.extend({ 6197 // These are the defaults. 6198 startdegree: 0, 6199 fgcolor: "#556b2f", 6200 bgcolor: "#eee", 6201 fill: false, 6202 width: 15, 6203 dimension: 200, 6204 fontsize: 15, 6205 percent: 50, 6206 animationstep: 1.0, 6207 iconsize: '20px', 6208 iconcolor: '#999', 6209 border: 'default', 6210 complete: null, 6211 bordersize: 10 6212 }, options); 6213 6214 return this.each(function () { 6215 6216 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 6217 6218 var customSettingsObj = {}; 6219 var icon = ''; 6220 var percent; 6221 var endPercent = 0; 6222 var obj = opticStats(this); 6223 var fill = false;
6224 var text, info; 6225 6226 obj.addClass('circliful'); 6227 6228 checkDataAttributes(obj); 6229 6230 if (obj.data('text') != undefined) { 6231 6232 //remove non number characters 6233 6234 text = obj.data('text'); 6235 text = text.toString(); 6236 text = text.replace(/[^0-9.,]/g, ''); 6237 text = "<span class='counter'>" + text + "</span>"; 6238 6239 if (obj.data('icon') != undefined) { 6240 icon = opticStats('<i></i>') 6241 .addClass('osIcon fa ' + opticStats(this).data('icon')) 6242 .css({ 6243 'color': customSettingsObj.iconcolor, 6244 'font-size': customSettingsObj.iconsize, 6245 'line-height': customSettingsObj.iconsize + "px" 6246 }); 6247 } 6248 if (obj.data('icon-custom') != undefined) { 6249 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 6250 .addClass('osIcon ') 6251 .css({ 6252 'width': customSettingsObj.iconsize, 6253 'height': customSettingsObj.iconsize 6254 }); 6255 } 6256 6257 if (obj.data('type') != undefined) { 6258 type = opticStats(this).data('type'); 6259 6260 if (type == 'half') { 6261 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 6262 } else { 6263 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 6264 } 6265 } else { 6266 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 6267 } 6268 } 6269 6270 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 6271 var total = opticStats(this).data("total") / 100; 6272 6273 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 6274 endPercent = (opticStats(this).data("part") / total).toFixed(3); 6275 } else { 6276 if (opticStats(this).data("percent") != undefined) { 6277 percent = opticStats(this).data("percent") / 100; 6278 endPercent = opticStats(this).data("percent"); 6279 } else { 6280 percent = settings.percent / 100; 6281 } 6282 } 6283 6284 if (opticStats(this).data('info') != undefined) { 6285 info = opticStats(this).data('info'); 6286 6287 if (opticStats(this).data('type') != undefined) { 6288 type = opticStats(this).data('type'); 6289 6290 if (type == 'half') { 6291 addInfoText(obj, 0.9); 6292 } else { 6293 addInfoText(obj, 1.25); 6294 } 6295 } else { 6296 addInfoText(obj, 1.25); 6297 } 6298 } 6299 6300 opticStats(this).width(customSettingsObj.dimension + 'px'); 6301 if (type == 'line' || type == 'vert-line') { 6302 opticStats(this).height(opticStats(this).data('height') + 'px'); 6303 } else { 6304 opticStats(this).height(customSettingsObj.dimension + 'px'); 6305 } 6306 6307 6308 var sizeX = customSettingsObj.dimension, 6309 sizeY = customSettingsObj.dimension; 6310 if (type == 'line' || type == 'vert-line') { 6311 sizeY = opticStats(this).data('height'); 6312 } 6313 var canvas = opticStats('<canvas></canvas>').attr({ 6314 width: sizeX, 6315 height: sizeY 6316 }).appendTo(opticStats(this)).get(0); 6317 var context = canvas.getContext('2d'); 6318 6319 var dpr = window.devicePixelRatio; 6320 if ( dpr ) { 6321 var opticStatscanvas = opticStats(canvas); 6322 opticStatscanvas.css('width', sizeX); 6323 opticStatscanvas.css('height', sizeY); 6324 opticStatscanvas.attr('width', sizeX * dpr); 6325 opticStatscanvas.attr('height', sizeY * dpr); 6326 6327 context.scale(dpr, dpr); 6328 } 6329 6330 var container = opticStats(canvas).parent(); 6331 var x = sizeX / 2; 6332 var y = sizeY / 2; 6333 var degrees = customSettingsObj.percent * 360.0; 6334 var radians = degrees * (Math.PI / 180); 6335 var radius = sizeX / 2.5; 6336 var startAngle = 2.3 * Math.PI; 6337 var endAngle = 0; 6338 var counterClockwise = false; 6339 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 6340 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 6341 var circ = Math.PI * 2; 6342 var quart = Math.PI / 2; 6343 var type = ''; 6344 var fireCallback = true; 6345 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 6346 6347 if (opticStats(this).data('type') != undefined) { 6348 type = opticStats(this).data('type'); 6349 if (type == 'half') { 6350 startAngle = 2.0 * Math.PI; 6351 endAngle = 3.14; 6352 circ = Math.PI; 6353 quart = Math.PI / 0.996; 6354 } else if (type == 'angle') { 6355 startAngle = 2.25 * Math.PI; 6356 endAngle = 2.4; 6357 circ = 1.53 + Math.PI; 6358 quart = 0.73 + Math.PI / 0.996; 6359 } 6360 } 6361 6362 /** 6363 * adds text to circle 6364 * 6365 * @param obj 6366 * @param cssClass 6367 * @param lineHeight 6368 */ 6369 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 6370 function addCircleText(obj, cssClass, lineHeight) { 6371 opticStats("<span></span>") 6372 .appendTo(obj) 6373 .addClass(cssClass) 6374 .html(text) 6375 .prepend(icon) 6376 .css({ 6377 //'line-height': lineHeight + 'px', 6378 'font-size': customSettingsObj.fontsize + 'px', 6379 'line-height': customSettingsObj.fontsize + 'px' 6380 }); 6381 } 6382 6383 /** 6384 * adds info text to circle 6385 * 6386 * @param obj 6387 * @param factor 6388 */ 6389 function addInfoText(obj, factor) { 6390 opticStats('<span></span>') 6391 .appendTo(obj) 6392 .addClass('circle-info-half') 6393 //.css( 6394 //'line-height', (customSettingsObj.dimension * factor) + 'px' 6395 //) 6396 .text(info); 6397 } 6398 6399 /** 6400 * checks which data attributes are defined 6401 * @param obj 6402 */ 6403 function checkDataAttributes(obj) { 6404 opticStats.each(customSettings, function (index, attribute) { 6405 if (obj.data(attribute) != undefined) { 6406 customSettingsObj[attribute] = obj.data(attribute); 6407 } else { 6408 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 6409 } 6410 6411 if (attribute == 'fill' && obj.data('fill') != undefined) { 6412 fill = true; 6413 } 6414 }); 6415 } 6416 6417 //Animation Variables 6418 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 6419 // ---------------------- // 6420 // Animation Functions 6421 // ---------------------- // 6422 function blend(inColor,outColor,current){ 6423 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 6424 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 6425 r,g,b,a,cur; 6426 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 6427 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 6428 if(current < .5 ) { 6429 cur = current*2; 6430 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 6431 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 6432 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 6433 } else { 6434 cur = (current-.5)*2; 6435 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 6436 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 6437 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 6438 } 6439 var a = inColors[3]+((outColors[3] - inColors[3])*current);
6440 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 6441 } 6442 if (type == 'line' || type == 'vert-line') { 6443 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 6444 } 6445 var increaseInc = function(inc, current) { 6446 if (current >= 1) { 6447 // slowTheInc += 0.00002; 6448 // slowTheInc = Math.min(slowTheInc, 0.005); 6449 // inc = inc + (0.005-slowTheInc); 6450 } else { 6451 inc += 0.005; 6452 } 6453 return inc; 6454 } 6455 var moveColors = function(value, inc) { 6456 var pos = value+inc; 6457 pos = pos.toString(); 6458 pos = pos.split(".").pop(); 6459 pos = parseFloat("."+pos); 6460 return pos; 6461 } 6462 var createGrad = function(inc,sizeX, sizeY) { 6463 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 6464 grd.addColorStop(moveColors(0, inc),"#FF0000"); 6465 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 6466 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 6467 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 6468 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 6469 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 6470 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 6471 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 6472 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 6473 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 6474 grd.addColorStop(moveColors(1, inc),"#FF0000"); 6475 return grd; 6476 } 6477 var shadowGlow = function() { 6478 context.shadowColor = customSettingsObj.fgcolor; 6479 context.shadowOffsetX = 0; 6480 context.shadowOffsetY = 0; 6481 context.shadowBlur = 10; 6482 } 6483 var drawBorder = function() { 6484 context.lineWidth = customSettingsObj.bordersize + 1; 6485 context.strokeStyle = customSettingsObj.bgcolor; 6486 context.stroke(); 6487 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 6488 // 6489 } else { 6490 context.fillStyle = customSettingsObj.fill; 6491 context.fill(); 6492 } 6493 context.beginPath(); 6494 context.save(); 6495 } 6496 var fillAnimation = function(animationType, current) { 6497 if(animationType == 1){ 6498 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 6499 context.stroke(); 6500 } else if(animationType == 2){ 6501 context.strokeStyle = customSettingsObj.fgcolor; 6502 if (type == 'line') { 6503 var grd=context.createLinearGradient(sizeX,0,0,0); 6504 grd.addColorStop(0,"white"); 6505 grd.addColorStop(1,customSettingsObj.fgcolor); 6506 context.strokeStyle = grd; 6507 shadowGlow(); 6508 } else if (type == 'vert-line') { 6509 var grd=context.createLinearGradient(0,0,0,sizeY); 6510 grd.addColorStop(0,"white"); 6511 grd.addColorStop(1,customSettingsObj.fgcolor); 6512 context.strokeStyle = grd; 6513 shadowGlow(); 6514 } else { 6515 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 6516 grd.addColorStop(0, customSettingsObj.fgcolor); 6517 grd.addColorStop(0.5, 'white'); 6518 grd.addColorStop(1, customSettingsObj.fgcolor); 6519 context.strokeStyle = grd; 6520 shadowGlow(); 6521 } 6522 context.stroke(); 6523 context.restore(); 6524 } else if(animationType == 3){ 6525 if (type == 'line') { 6526 var grd = createGrad(inc,sizeX,sizeY); 6527 inc = increaseInc(inc,current); 6528 context.strokeStyle = grd; 6529 } else if (type == 'vert-line') { 6530 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 6531 grd.addColorStop(moveColors(0, inc),"#FF0000"); 6532 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 6533 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 6534 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 6535 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 6536 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 6537 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 6538 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 6539 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 6540 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 6541 grd.addColorStop(moveColors(1, inc),"#FF0000"); 6542 inc = increaseInc(inc,current); 6543 context.strokeStyle = grd; 6544 } else { 6545 var grd = createGrad(inc,sizeX,sizeY); 6546 inc = increaseInc(inc,current); 6547 context.strokeStyle = grd; 6548 } 6549 context.stroke();
6550 context.restore(); 6551 } else { 6552 context.strokeStyle = customSettingsObj.fgcolor; 6553 context.stroke(); 6554 } 6555 } 6556 // ---------------------- // 6557 // Animation 6558 // ---------------------- // 6559 function animate(current) { 6560 //Clear Canvas for next frame 6561 context.clearRect(0, 0, canvas.width, canvas.height); 6562 //Draw Background 6563 if (type == 'line' || type == 'vert-line') { 6564 context.rect(10, 10, sizeX-20, sizeY-20); 6565 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 6566 context.beginPath(); 6567 context.arc(x, y, radius, endAngle, startAngle, false); 6568 } 6569 context.fillStyle = customSettingsObj.fill; 6570 context.fill(); 6571 if (type == 'line') { 6572 context.beginPath(); 6573 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 6574 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 6575 drawBorder(); 6576 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 6577 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 6578 fillAnimation(animationType,current); 6579 } else if (type == 'vert-line'){ 6580 context.beginPath(); 6581 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 6582 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 6583 drawBorder(); 6584 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 6585 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 6586 fillAnimation(animationType,current); 6587 } else if (type == 'full' || type=='half') { 6588 drawBorder(); 6589 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 6590 fillAnimation(animationType,current); 6591 } else if (type == 'grow-circle') { 6592 drawBorder(); 6593 var fillRadius = sizeX/2.5*Math.min(current,1); 6594 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 6595 if(animationType == 1){ 6596 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 6597 context.fill(); 6598 } else if(animationType == 2){ 6599 var grd=context.createLinearGradient(0,0,0,sizeY); 6600 grd.addColorStop(0,"white"); 6601 grd.addColorStop(1,customSettingsObj.fgcolor); 6602 shadowGlow(); 6603 context.fillStyle = grd; 6604 context.fill(); 6605 } else if(animationType == 3){ 6606 var grd = createGrad(inc,sizeX,sizeY); 6607 inc = increaseInc(inc,current); 6608 context.fillStyle = grd; 6609 context.fill(); 6610 } else { 6611 context.fillStyle = customSettingsObj.fgcolor; 6612 context.fill(); 6613 } 6614 context.restore(); 6615 } else if (type == 'fill-circle') { 6616 drawBorder(); 6617 var fillRadius = sizeX/2.5, 6618 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 6619 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 6620 if(animationType == 1){ 6621 context.clip(); 6622 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 6623 context.fillRect(0, fillLine, sizeX, sizeY); 6624 } else if(animationType == 2){ 6625 var grd=context.createLinearGradient(0,0,0,sizeY); 6626 grd.addColorStop(0,"white"); 6627 grd.addColorStop(1,customSettingsObj.fgcolor); 6628 shadowGlow(); 6629 context.clip(); 6630 context.fillStyle = grd; 6631 context.fillRect(0, fillLine, sizeX, sizeY); 6632 6633 } else if(animationType == 3){ 6634 context.clip(); 6635 var grd = createGrad(inc,sizeX, sizeY); 6636 inc = increaseInc(inc,current); 6637 context.fillStyle = grd; 6638 context.fillRect(0, fillLine, sizeX, sizeY); 6639 } else { 6640 context.clip(); 6641 context.fillStyle = customSettingsObj.fgcolor; 6642 context.fillRect(0, fillLine, sizeX, sizeY); 6643 }
6644 context.restore(); 6645 } else if (type == 'fill-circle-wave') { 6646 drawBorder(); 6647 var fillRadius = sizeX/2.5, 6648 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 6649 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 6650 var ypos=fillLine, xpos=0; 6651 counter += .1; 6652 counterLoop = counter; 6653 var increase = 2*Math.PI / 12; 6654 context.clip(); 6655 context.beginPath(); 6656 context.moveTo(sizeX,sizeY); 6657 context.lineTo(0,sizeY); 6658 context.lineTo(0,ypos); 6659 if (curPerc > endPercent) { 6660 calm-=.01; 6661 if(calm<0) calm=0; 6662 } 6663 for(i=0; i<=sizeX; i+=10){ 6664 xpos = i; 6665 ypos = ypos - Math.sin(counterLoop) * calm; 6666 counterLoop += increase; 6667 context.lineTo(xpos,ypos); 6668 } 6669 context.lineTo(sizeX,sizeY); 6670 context.closePath(); 6671 if(animationType == 1){ 6672 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 6673 context.fill(); 6674 } else if(animationType == 2){ 6675 var grd=context.createLinearGradient(0,0,0,sizeY); 6676 grd.addColorStop(0,"white"); 6677 grd.addColorStop(1,customSettingsObj.fgcolor); 6678 shadowGlow(); 6679 context.clip(); 6680 context.fillStyle = grd; 6681 context.fill(); 6682 } else if(animationType == 3){ 6683 context.clip(); 6684 var grd = createGrad(inc,sizeX,sizeY); 6685 inc = increaseInc(inc,current); 6686 context.fillStyle = grd; 6687 context.fill(); 6688 } else { 6689 context.clip(); 6690 context.fillStyle = customSettingsObj.fgcolor; 6691 context.fill(); 6692 } 6693 context.restore(); 6694 } 6695 6696 if (curPerc < endPercent) { 6697 curPerc += curStep; 6698 requestAnimationFrame(function () { 6699 context.strokeStyle = customSettingsObj.fgcolor; 6700 animate(Math.min(curPerc, endPercent) / 100); 6701 }, obj); 6702 } else if(finishFrames < 500) { 6703 curPerc += curStep; 6704 finishFrames+=1; 6705 requestAnimationFrame(function () { 6706 context.strokeStyle = customSettingsObj.fgcolor; 6707 animate(Math.min(curPerc, endPercent) / 100); 6708 }, obj); 6709 } 6710 6711 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 6712 if (opticStats.isFunction(options.complete)) { 6713 options.complete(); 6714 6715 fireCallback = false; 6716 } 6717 } 6718 } 6719 obj.waypoint(function(direction){ 6720 animate(curPerc / 100); 6721 this.destroy(); 6722 }, { offset: '100%' }); 6723 }); 6724 }; 6725}(opticStats)); 6726/* 6727 The MIT License (MIT) 6728 CountUp 6729+Copyright (c) 2014-2015 Jamie Perkins 6730 Permission is hereby granted, free of charge, to any person obtaining a copy of 6731 this software and associated documentation files (the "Software"), to deal in 6732*/ 6733!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 6734/*! 6735Waypoints - 4.0.0 6736Copyright © 2011-2015 Caleb Troughton 6737Licensed under the MIT license. 6738https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 6739*/ 6740!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 6740
6740this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
6740ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 6741 6742opticStats( document ).ready(function() { 6743 var speed = 3000, 6744 countNumberstacks_in_33328 = "36", 6745 decimalNumber = '0', 6746 decimalNumber = decimalNumber.replace(/\D/g,''), 6747 decimalLength = decimalNumber.length, 6748 maxValuePercentstacks_in_33328 = (countNumberstacks_in_33328/36), 6749 speedA = (2000/speed)*maxValuePercentstacks_in_33328; 6750 if (36 == 0) { 6751 if(countNumberstacks_in_33328 < 0) { 6752 maxValuePercentstacks_in_33328 = 1; 6753 } else { 6754 maxValuePercentstacks_in_33328 = (0-countNumberstacks_in_33328)/0; 6755 } 6756 } 6757 if('False' == 'False' ) { 6758 decimalLength = 0; 6759 } else { 6760 countNumberstacks_in_33328 = countNumberstacks_in_33328.replace(/\D/g,''); 6761 countNumberstacks_in_33328 = countNumberstacks_in_33328+"."+decimalNumber; 6762 } 6763 if('False' == 'True' ) { 6764 var items = readData_data(opticStats("#data")); 6765 countNumberstacks_in_33328 = items['data-A1']; 6766 if(countNumberstacks_in_33328 == null) { 6767 countNumberstacks_in_33328 = '0'; 6768 } 6769 opticStats("#stat_stacks_in_33328").data("percent", maxValuePercentstacks_in_33328*100); 6770 // 6771 // 6772 if(countNumberstacks_in_33328.indexOf(".") !== -1) { 6773 decimalNumber = countNumberstacks_in_33328.substr(countNumberstacks_in_33328.indexOf(".") + 1); 6774 decimalNumber = decimalNumber.replace(/\D/g,''); 6775 decimalLength = decimalNumber.length; 6776 countNumberstacks_in_33328 = countNumberstacks_in_33328.substr(0, countNumberstacks_in_33328.indexOf('.')); 6777 } 6778 // 6779 // 6780 countNumberstacks_in_33328 = countNumberstacks_in_33328.replace(/[^0-9\-]/g,''); 6781 countNumberstacks_in_33328 = countNumberstacks_in_33328+"."+decimalNumber; 6782 maxValuePercentstacks_in_33328 = (countNumberstacks_in_33328/36); 6783 if (36 == 0) { 6784 if(countNumberstacks_in_33328 < 0) { 6785 maxValuePercentstacks_in_33328 = 1; 6786 } else { 6787 maxValuePercentstacks_in_33328 = (0-countNumberstacks_in_33328)/0; 6788 } 6789 } 6790 speedA = (2000/speed)*maxValuePercentstacks_in_33328; 6791 opticStats("#stat_stacks_in_33328").data("percent", maxValuePercentstacks_in_33328*100); 6792 } else { 6793 var maxValuePercentstacks_in_33328 = (countNumberstacks_in_33328/36); 6794 if (36 == 0) { 6795 if(countNumberstacks_in_33328 < 0) { 6796 maxValuePercentstacks_in_33328 = 1; 6797 } else { 6798 maxValuePercentstacks_in_33328 = (0-countNumberstacks_in_33328)/0; 6799 } 6800 } 6801 speedA = (2000/speed)*maxValuePercentstacks_in_33328; 6802 opticStats("#stat_stacks_in_33328").data("percent", maxValuePercentstacks_in_33328*100); 6803 } 6804 opticStats('#stat_stacks_in_33328').attr("data-animationstep", speedA); 6805 opticStats('#stat_stacks_in_33328').circliful(); 6806 opticStats('#stat_stacks_in_33328').waypoint(function(direction){ 6807 6808 // 6809// opticStats('#stacks_in_33328 .counter').counterUp({ 6810// delay: 10, 6811// time: speed 6812// }); 6813 6814 var options = { 6815 // 6816 useGrouping : false, 6817 // 6818 // 6819 separator : ',', 6820 decimal : '.', 6821 // 6822 // 6823 // 6824 useEasing : false 6825 }; 6826 opticStats('#stacks_in_33328 .counter').attr("id", "count_stacks_in_33328"); 6827 var count = new CountUp('count_stacks_in_33328', 0, countNumberstacks_in_33328, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33328), options);//(1.75/speedA)*(maxValuePercentstacks_in_33328) 6828 count.start(); 6829 // 6830 // 6831 opticStats('#stat_stacks_in_33328 .circle-text').append(""); 6832 opticStats('#stat_stacks_in_33328 .circle-text-half').append(""); 6833 // 6834 // 6835 // 6836 // 6837 opticStats('#stat_stacks_in_33328 span > .osIcon').wrap("<div class='os-icon-wrap' />") 6838 opticStats('#stat_stacks_in_33328 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33328 .centerMe > div > span:first-child')); 6839 // 6840 // 6841 scale(); 6842 this.destroy(); 6843 }, { offset: '100%' }); 6844 6845 6846}); 6847 6848opticStats( window ).resize(function() { 6849 scale(); 6850}); 6851function scale() { 6852 var width = 290, 6853 currentWidth = opticStats('#stat_stacks_in_33328').parent().outerWidth(); 6854 if(currentWidth < width) { 6855 var scale = currentWidth/width; 6856 opticStats('#stat_stacks_in_33328').css({ 6857 "transform" : "scale("+scale+")", 6858 "transform-origin" : "0px", 6859 "-o-transform" : "scale("+scale+")", 6860 "-o-transform-origin" : "0px" 6861 }); 6862 } else { 6863 opticStats('#stat_stacks_in_33328').css({ 6864 "transform" : "scale(1)", 6865 "-o-transform" : "scale(1)" 6866 }); 6867 } 6868} 6869 6870return stack;})(stacks.stacks_in_33328); 6871stacks.stacks_in_33330 = {}; 6872stacks.stacks_in_33330 = (function(stack) { 6873 6874return stack;})(stacks.stacks_in_33330); 6875stacks.stacks_in_33336 = {}; 6876stacks.stacks_in_33336 = (function(stack) { 6877var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 6878/* 6879jquery-plugin-circliful 6880+The MIT License (MIT) 6881+ 6882+Copyright (c) 2014 Patric Gutersohn 6883+ 6884+Permission is hereby granted, free of charge, to any person obtaining a copy of 6885+this software and associated documentation files (the "Software"), to deal in 6886+the Software without restriction, including without limitation the rights to 6887+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 6888+the Software, and to permit persons to whom the Software is furnished to do so, 6889+subject to the following conditions: 6890+ 6891+The above copyright notice and this permission notice shall be included in all 6892+copies or substantial portions of the Software. 6893+ 6894+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6895+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 6896+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 6897+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 6898+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6899+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6900*/ 6901"use strict"; 6902 6903(function (opticStats) { 6904 6905 opticStats.fn.circliful = function (options, callback) { 6906 6907 var settings = opticStats.extend({ 6908 // These are the defaults. 6909 startdegree: 0, 6910 fgcolor: "#556b2f", 6911 bgcolor: "#eee", 6912 fill: false, 6913 width: 15, 6914 dimension: 200, 6915 fontsize: 15, 6916 percent: 50, 6917 animationstep: 1.0, 6918 iconsize: '20px', 6919 iconcolor: '#999', 6920 border: 'default', 6921 complete: null, 6922 bordersize: 10 6923 }, options); 6924 6925 return this.each(function () { 6926 6927 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 6928 6929 var customSettingsObj = {}; 6930 var icon = ''; 6931 var percent; 6932 var endPercent = 0; 6933 var obj = opticStats(this); 6934 var fill = false;
6935 var text, info; 6936 6937 obj.addClass('circliful'); 6938 6939 checkDataAttributes(obj); 6940 6941 if (obj.data('text') != undefined) { 6942 6943 //remove non number characters 6944 6945 text = obj.data('text'); 6946 text = text.toString(); 6947 text = text.replace(/[^0-9.,]/g, ''); 6948 text = "<span class='counter'>" + text + "</span>"; 6949 6950 if (obj.data('icon') != undefined) { 6951 icon = opticStats('<i></i>') 6952 .addClass('osIcon fa ' + opticStats(this).data('icon')) 6953 .css({ 6954 'color': customSettingsObj.iconcolor, 6955 'font-size': customSettingsObj.iconsize, 6956 'line-height': customSettingsObj.iconsize + "px" 6957 }); 6958 } 6959 if (obj.data('icon-custom') != undefined) { 6960 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 6961 .addClass('osIcon ') 6962 .css({ 6963 'width': customSettingsObj.iconsize, 6964 'height': customSettingsObj.iconsize 6965 }); 6966 } 6967 6968 if (obj.data('type') != undefined) { 6969 type = opticStats(this).data('type'); 6970 6971 if (type == 'half') { 6972 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 6973 } else { 6974 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 6975 } 6976 } else { 6977 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 6978 } 6979 } 6980 6981 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 6982 var total = opticStats(this).data("total") / 100; 6983 6984 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 6985 endPercent = (opticStats(this).data("part") / total).toFixed(3); 6986 } else { 6987 if (opticStats(this).data("percent") != undefined) { 6988 percent = opticStats(this).data("percent") / 100; 6989 endPercent = opticStats(this).data("percent"); 6990 } else { 6991 percent = settings.percent / 100; 6992 } 6993 } 6994 6995 if (opticStats(this).data('info') != undefined) { 6996 info = opticStats(this).data('info'); 6997 6998 if (opticStats(this).data('type') != undefined) { 6999 type = opticStats(this).data('type'); 7000 7001 if (type == 'half') { 7002 addInfoText(obj, 0.9); 7003 } else { 7004 addInfoText(obj, 1.25); 7005 } 7006 } else { 7007 addInfoText(obj, 1.25); 7008 } 7009 } 7010 7011 opticStats(this).width(customSettingsObj.dimension + 'px'); 7012 if (type == 'line' || type == 'vert-line') { 7013 opticStats(this).height(opticStats(this).data('height') + 'px'); 7014 } else { 7015 opticStats(this).height(customSettingsObj.dimension + 'px'); 7016 } 7017 7018 7019 var sizeX = customSettingsObj.dimension, 7020 sizeY = customSettingsObj.dimension; 7021 if (type == 'line' || type == 'vert-line') { 7022 sizeY = opticStats(this).data('height'); 7023 } 7024 var canvas = opticStats('<canvas></canvas>').attr({ 7025 width: sizeX, 7026 height: sizeY 7027 }).appendTo(opticStats(this)).get(0); 7028 var context = canvas.getContext('2d'); 7029 7030 var dpr = window.devicePixelRatio; 7031 if ( dpr ) { 7032 var opticStatscanvas = opticStats(canvas); 7033 opticStatscanvas.css('width', sizeX); 7034 opticStatscanvas.css('height', sizeY); 7035 opticStatscanvas.attr('width', sizeX * dpr); 7036 opticStatscanvas.attr('height', sizeY * dpr); 7037 7038 context.scale(dpr, dpr); 7039 } 7040 7041 var container = opticStats(canvas).parent(); 7042 var x = sizeX / 2; 7043 var y = sizeY / 2; 7044 var degrees = customSettingsObj.percent * 360.0; 7045 var radians = degrees * (Math.PI / 180); 7046 var radius = sizeX / 2.5; 7047 var startAngle = 2.3 * Math.PI; 7048 var endAngle = 0; 7049 var counterClockwise = false; 7050 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 7051 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 7052 var circ = Math.PI * 2; 7053 var quart = Math.PI / 2; 7054 var type = ''; 7055 var fireCallback = true; 7056 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 7057 7058 if (opticStats(this).data('type') != undefined) { 7059 type = opticStats(this).data('type'); 7060 if (type == 'half') { 7061 startAngle = 2.0 * Math.PI; 7062 endAngle = 3.14; 7063 circ = Math.PI; 7064 quart = Math.PI / 0.996; 7065 } else if (type == 'angle') { 7066 startAngle = 2.25 * Math.PI; 7067 endAngle = 2.4; 7068 circ = 1.53 + Math.PI; 7069 quart = 0.73 + Math.PI / 0.996; 7070 } 7071 } 7072 7073 /** 7074 * adds text to circle 7075 * 7076 * @param obj 7077 * @param cssClass 7078 * @param lineHeight 7079 */ 7080 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 7081 function addCircleText(obj, cssClass, lineHeight) { 7082 opticStats("<span></span>") 7083 .appendTo(obj) 7084 .addClass(cssClass) 7085 .html(text) 7086 .prepend(icon) 7087 .css({ 7088 //'line-height': lineHeight + 'px', 7089 'font-size': customSettingsObj.fontsize + 'px', 7090 'line-height': customSettingsObj.fontsize + 'px' 7091 }); 7092 } 7093 7094 /** 7095 * adds info text to circle 7096 * 7097 * @param obj 7098 * @param factor 7099 */ 7100 function addInfoText(obj, factor) { 7101 opticStats('<span></span>') 7102 .appendTo(obj) 7103 .addClass('circle-info-half') 7104 //.css( 7105 //'line-height', (customSettingsObj.dimension * factor) + 'px' 7106 //) 7107 .text(info); 7108 } 7109 7110 /** 7111 * checks which data attributes are defined 7112 * @param obj 7113 */ 7114 function checkDataAttributes(obj) { 7115 opticStats.each(customSettings, function (index, attribute) { 7116 if (obj.data(attribute) != undefined) { 7117 customSettingsObj[attribute] = obj.data(attribute); 7118 } else { 7119 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 7120 } 7121 7122 if (attribute == 'fill' && obj.data('fill') != undefined) { 7123 fill = true; 7124 } 7125 }); 7126 } 7127 7128 //Animation Variables 7129 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 7130 // ---------------------- // 7131 // Animation Functions 7132 // ---------------------- // 7133 function blend(inColor,outColor,current){ 7134 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 7135 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 7136 r,g,b,a,cur; 7137 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 7138 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 7139 if(current < .5 ) { 7140 cur = current*2; 7141 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 7142 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 7143 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 7144 } else { 7145 cur = (current-.5)*2; 7146 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 7147 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 7148 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 7149 } 7150 var a = inColors[3]+((outColors[3] - inColors[3])*current);
7151 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 7152 } 7153 if (type == 'line' || type == 'vert-line') { 7154 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 7155 } 7156 var increaseInc = function(inc, current) { 7157 if (current >= 1) { 7158 // slowTheInc += 0.00002; 7159 // slowTheInc = Math.min(slowTheInc, 0.005); 7160 // inc = inc + (0.005-slowTheInc); 7161 } else { 7162 inc += 0.005; 7163 } 7164 return inc; 7165 } 7166 var moveColors = function(value, inc) { 7167 var pos = value+inc; 7168 pos = pos.toString(); 7169 pos = pos.split(".").pop(); 7170 pos = parseFloat("."+pos); 7171 return pos; 7172 } 7173 var createGrad = function(inc,sizeX, sizeY) { 7174 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 7175 grd.addColorStop(moveColors(0, inc),"#FF0000"); 7176 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 7177 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 7178 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 7179 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 7180 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 7181 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 7182 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 7183 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 7184 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 7185 grd.addColorStop(moveColors(1, inc),"#FF0000"); 7186 return grd; 7187 } 7188 var shadowGlow = function() { 7189 context.shadowColor = customSettingsObj.fgcolor; 7190 context.shadowOffsetX = 0; 7191 context.shadowOffsetY = 0; 7192 context.shadowBlur = 10; 7193 } 7194 var drawBorder = function() { 7195 context.lineWidth = customSettingsObj.bordersize + 1; 7196 context.strokeStyle = customSettingsObj.bgcolor; 7197 context.stroke(); 7198 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 7199 // 7200 } else { 7201 context.fillStyle = customSettingsObj.fill; 7202 context.fill(); 7203 } 7204 context.beginPath(); 7205 context.save(); 7206 } 7207 var fillAnimation = function(animationType, current) { 7208 if(animationType == 1){ 7209 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 7210 context.stroke(); 7211 } else if(animationType == 2){ 7212 context.strokeStyle = customSettingsObj.fgcolor; 7213 if (type == 'line') { 7214 var grd=context.createLinearGradient(sizeX,0,0,0); 7215 grd.addColorStop(0,"white"); 7216 grd.addColorStop(1,customSettingsObj.fgcolor); 7217 context.strokeStyle = grd; 7218 shadowGlow(); 7219 } else if (type == 'vert-line') { 7220 var grd=context.createLinearGradient(0,0,0,sizeY); 7221 grd.addColorStop(0,"white"); 7222 grd.addColorStop(1,customSettingsObj.fgcolor); 7223 context.strokeStyle = grd; 7224 shadowGlow(); 7225 } else { 7226 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 7227 grd.addColorStop(0, customSettingsObj.fgcolor); 7228 grd.addColorStop(0.5, 'white'); 7229 grd.addColorStop(1, customSettingsObj.fgcolor); 7230 context.strokeStyle = grd; 7231 shadowGlow(); 7232 } 7233 context.stroke(); 7234 context.restore(); 7235 } else if(animationType == 3){ 7236 if (type == 'line') { 7237 var grd = createGrad(inc,sizeX,sizeY); 7238 inc = increaseInc(inc,current); 7239 context.strokeStyle = grd; 7240 } else if (type == 'vert-line') { 7241 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 7242 grd.addColorStop(moveColors(0, inc),"#FF0000"); 7243 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 7244 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 7245 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 7246 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 7247 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 7248 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 7249 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 7250 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 7251 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 7252 grd.addColorStop(moveColors(1, inc),"#FF0000"); 7253 inc = increaseInc(inc,current); 7254 context.strokeStyle = grd; 7255 } else { 7256 var grd = createGrad(inc,sizeX,sizeY); 7257 inc = increaseInc(inc,current); 7258 context.strokeStyle = grd; 7259 } 7260 context.stroke();
7261 context.restore(); 7262 } else { 7263 context.strokeStyle = customSettingsObj.fgcolor; 7264 context.stroke(); 7265 } 7266 } 7267 // ---------------------- // 7268 // Animation 7269 // ---------------------- // 7270 function animate(current) { 7271 //Clear Canvas for next frame 7272 context.clearRect(0, 0, canvas.width, canvas.height); 7273 //Draw Background 7274 if (type == 'line' || type == 'vert-line') { 7275 context.rect(10, 10, sizeX-20, sizeY-20); 7276 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 7277 context.beginPath(); 7278 context.arc(x, y, radius, endAngle, startAngle, false); 7279 } 7280 context.fillStyle = customSettingsObj.fill; 7281 context.fill(); 7282 if (type == 'line') { 7283 context.beginPath(); 7284 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 7285 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 7286 drawBorder(); 7287 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 7288 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 7289 fillAnimation(animationType,current); 7290 } else if (type == 'vert-line'){ 7291 context.beginPath(); 7292 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 7293 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 7294 drawBorder(); 7295 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 7296 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 7297 fillAnimation(animationType,current); 7298 } else if (type == 'full' || type=='half') { 7299 drawBorder(); 7300 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 7301 fillAnimation(animationType,current); 7302 } else if (type == 'grow-circle') { 7303 drawBorder(); 7304 var fillRadius = sizeX/2.5*Math.min(current,1); 7305 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 7306 if(animationType == 1){ 7307 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 7308 context.fill(); 7309 } else if(animationType == 2){ 7310 var grd=context.createLinearGradient(0,0,0,sizeY); 7311 grd.addColorStop(0,"white"); 7312 grd.addColorStop(1,customSettingsObj.fgcolor); 7313 shadowGlow(); 7314 context.fillStyle = grd; 7315 context.fill(); 7316 } else if(animationType == 3){ 7317 var grd = createGrad(inc,sizeX,sizeY); 7318 inc = increaseInc(inc,current); 7319 context.fillStyle = grd; 7320 context.fill(); 7321 } else { 7322 context.fillStyle = customSettingsObj.fgcolor; 7323 context.fill(); 7324 } 7325 context.restore(); 7326 } else if (type == 'fill-circle') { 7327 drawBorder(); 7328 var fillRadius = sizeX/2.5, 7329 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 7330 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 7331 if(animationType == 1){ 7332 context.clip(); 7333 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 7334 context.fillRect(0, fillLine, sizeX, sizeY); 7335 } else if(animationType == 2){ 7336 var grd=context.createLinearGradient(0,0,0,sizeY); 7337 grd.addColorStop(0,"white"); 7338 grd.addColorStop(1,customSettingsObj.fgcolor); 7339 shadowGlow(); 7340 context.clip(); 7341 context.fillStyle = grd; 7342 context.fillRect(0, fillLine, sizeX, sizeY); 7343 7344 } else if(animationType == 3){ 7345 context.clip(); 7346 var grd = createGrad(inc,sizeX, sizeY); 7347 inc = increaseInc(inc,current); 7348 context.fillStyle = grd; 7349 context.fillRect(0, fillLine, sizeX, sizeY); 7350 } else { 7351 context.clip(); 7352 context.fillStyle = customSettingsObj.fgcolor; 7353 context.fillRect(0, fillLine, sizeX, sizeY); 7354 }
7355 context.restore(); 7356 } else if (type == 'fill-circle-wave') { 7357 drawBorder(); 7358 var fillRadius = sizeX/2.5, 7359 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 7360 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 7361 var ypos=fillLine, xpos=0; 7362 counter += .1; 7363 counterLoop = counter; 7364 var increase = 2*Math.PI / 12; 7365 context.clip(); 7366 context.beginPath(); 7367 context.moveTo(sizeX,sizeY); 7368 context.lineTo(0,sizeY); 7369 context.lineTo(0,ypos); 7370 if (curPerc > endPercent) { 7371 calm-=.01; 7372 if(calm<0) calm=0; 7373 } 7374 for(i=0; i<=sizeX; i+=10){ 7375 xpos = i; 7376 ypos = ypos - Math.sin(counterLoop) * calm; 7377 counterLoop += increase; 7378 context.lineTo(xpos,ypos); 7379 } 7380 context.lineTo(sizeX,sizeY); 7381 context.closePath(); 7382 if(animationType == 1){ 7383 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 7384 context.fill(); 7385 } else if(animationType == 2){ 7386 var grd=context.createLinearGradient(0,0,0,sizeY); 7387 grd.addColorStop(0,"white"); 7388 grd.addColorStop(1,customSettingsObj.fgcolor); 7389 shadowGlow(); 7390 context.clip(); 7391 context.fillStyle = grd; 7392 context.fill(); 7393 } else if(animationType == 3){ 7394 context.clip(); 7395 var grd = createGrad(inc,sizeX,sizeY); 7396 inc = increaseInc(inc,current); 7397 context.fillStyle = grd; 7398 context.fill(); 7399 } else { 7400 context.clip(); 7401 context.fillStyle = customSettingsObj.fgcolor; 7402 context.fill(); 7403 } 7404 context.restore(); 7405 } 7406 7407 if (curPerc < endPercent) { 7408 curPerc += curStep; 7409 requestAnimationFrame(function () { 7410 context.strokeStyle = customSettingsObj.fgcolor; 7411 animate(Math.min(curPerc, endPercent) / 100); 7412 }, obj); 7413 } else if(finishFrames < 500) { 7414 curPerc += curStep; 7415 finishFrames+=1; 7416 requestAnimationFrame(function () { 7417 context.strokeStyle = customSettingsObj.fgcolor; 7418 animate(Math.min(curPerc, endPercent) / 100); 7419 }, obj); 7420 } 7421 7422 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 7423 if (opticStats.isFunction(options.complete)) { 7424 options.complete(); 7425 7426 fireCallback = false; 7427 } 7428 } 7429 } 7430 obj.waypoint(function(direction){ 7431 animate(curPerc / 100); 7432 this.destroy(); 7433 }, { offset: '100%' }); 7434 }); 7435 }; 7436}(opticStats)); 7437/* 7438 The MIT License (MIT) 7439 CountUp 7440+Copyright (c) 2014-2015 Jamie Perkins 7441 Permission is hereby granted, free of charge, to any person obtaining a copy of 7442 this software and associated documentation files (the "Software"), to deal in 7443*/ 7444!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 7445/*! 7446Waypoints - 4.0.0 7447Copyright © 2011-2015 Caleb Troughton 7448Licensed under the MIT license. 7449https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 7450*/ 7451!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");
vendor: 6,526 bytes, line 7451
7451this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()},t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
7451ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 7452 7453opticStats( document ).ready(function() { 7454 var speed = 3000, 7455 countNumberstacks_in_33336 = "1000", 7456 decimalNumber = '0', 7457 decimalNumber = decimalNumber.replace(/\D/g,''), 7458 decimalLength = decimalNumber.length, 7459 maxValuePercentstacks_in_33336 = (countNumberstacks_in_33336/1000), 7460 speedA = (2000/speed)*maxValuePercentstacks_in_33336; 7461 if (1000 == 0) { 7462 if(countNumberstacks_in_33336 < 0) { 7463 maxValuePercentstacks_in_33336 = 1; 7464 } else { 7465 maxValuePercentstacks_in_33336 = (0-countNumberstacks_in_33336)/0; 7466 } 7467 } 7468 if('False' == 'False' ) { 7469 decimalLength = 0; 7470 } else { 7471 countNumberstacks_in_33336 = countNumberstacks_in_33336.replace(/\D/g,''); 7472 countNumberstacks_in_33336 = countNumberstacks_in_33336+"."+decimalNumber; 7473 } 7474 if('False' == 'True' ) { 7475 var items = readData_data(opticStats("#data")); 7476 countNumberstacks_in_33336 = items['data-A1']; 7477 if(countNumberstacks_in_33336 == null) { 7478 countNumberstacks_in_33336 = '0'; 7479 } 7480 opticStats("#stat_stacks_in_33336").data("percent", maxValuePercentstacks_in_33336*100); 7481 // 7482 // 7483 if(countNumberstacks_in_33336.indexOf(".") !== -1) { 7484 decimalNumber = countNumberstacks_in_33336.substr(countNumberstacks_in_33336.indexOf(".") + 1); 7485 decimalNumber = decimalNumber.replace(/\D/g,''); 7486 decimalLength = decimalNumber.length; 7487 countNumberstacks_in_33336 = countNumberstacks_in_33336.substr(0, countNumberstacks_in_33336.indexOf('.')); 7488 } 7489 // 7490 // 7491 countNumberstacks_in_33336 = countNumberstacks_in_33336.replace(/[^0-9\-]/g,''); 7492 countNumberstacks_in_33336 = countNumberstacks_in_33336+"."+decimalNumber; 7493 maxValuePercentstacks_in_33336 = (countNumberstacks_in_33336/1000); 7494 if (1000 == 0) { 7495 if(countNumberstacks_in_33336 < 0) { 7496 maxValuePercentstacks_in_33336 = 1; 7497 } else { 7498 maxValuePercentstacks_in_33336 = (0-countNumberstacks_in_33336)/0; 7499 } 7500 } 7501 speedA = (2000/speed)*maxValuePercentstacks_in_33336; 7502 opticStats("#stat_stacks_in_33336").data("percent", maxValuePercentstacks_in_33336*100); 7503 } else { 7504 var maxValuePercentstacks_in_33336 = (countNumberstacks_in_33336/1000); 7505 if (1000 == 0) { 7506 if(countNumberstacks_in_33336 < 0) { 7507 maxValuePercentstacks_in_33336 = 1; 7508 } else { 7509 maxValuePercentstacks_in_33336 = (0-countNumberstacks_in_33336)/0; 7510 } 7511 } 7512 speedA = (2000/speed)*maxValuePercentstacks_in_33336; 7513 opticStats("#stat_stacks_in_33336").data("percent", maxValuePercentstacks_in_33336*100); 7514 } 7515 opticStats('#stat_stacks_in_33336').attr("data-animationstep", speedA); 7516 opticStats('#stat_stacks_in_33336').circliful(); 7517 opticStats('#stat_stacks_in_33336').waypoint(function(direction){ 7518 7519 // 7520// opticStats('#stacks_in_33336 .counter').counterUp({ 7521// delay: 10, 7522// time: speed 7523// }); 7524 7525 var options = { 7526 // 7527 useGrouping : false, 7528 // 7529 // 7530 separator : ',', 7531 decimal : '.', 7532 // 7533 // 7534 // 7535 useEasing : false 7536 }; 7537 opticStats('#stacks_in_33336 .counter').attr("id", "count_stacks_in_33336"); 7538 var count = new CountUp('count_stacks_in_33336', 0, countNumberstacks_in_33336, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33336), options);//(1.75/speedA)*(maxValuePercentstacks_in_33336) 7539 count.start(); 7540 // 7541 //
7542 opticStats('#stat_stacks_in_33336 .circle-text').append("+"); 7543 opticStats('#stat_stacks_in_33336 .circle-text-half').append("+"); 7544 // 7545 // 7546 // 7547 // 7548 opticStats('#stat_stacks_in_33336 span > .osIcon').wrap("<div class='os-icon-wrap' />") 7549 opticStats('#stat_stacks_in_33336 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33336 .centerMe > div > span:first-child')); 7550 // 7551 // 7552 scale(); 7553 this.destroy(); 7554 }, { offset: '100%' }); 7555 7556 7557}); 7558 7559opticStats( window ).resize(function() { 7560 scale(); 7561}); 7562function scale() { 7563 var width = 290, 7564 currentWidth = opticStats('#stat_stacks_in_33336').parent().outerWidth(); 7565 if(currentWidth < width) { 7566 var scale = currentWidth/width; 7567 opticStats('#stat_stacks_in_33336').css({ 7568 "transform" : "scale("+scale+")", 7569 "transform-origin" : "0px", 7570 "-o-transform" : "scale("+scale+")", 7571 "-o-transform-origin" : "0px" 7572 }); 7573 } else { 7574 opticStats('#stat_stacks_in_33336').css({ 7575 "transform" : "scale(1)", 7576 "-o-transform" : "scale(1)" 7577 }); 7578 } 7579} 7580 7581return stack;})(stacks.stacks_in_33336); 7582stacks.stacks_in_33337 = {}; 7583stacks.stacks_in_33337 = (function(stack) { 7584 7585return stack;})(stacks.stacks_in_33337); 7586stacks.stacks_in_33343 = {}; 7587stacks.stacks_in_33343 = (function(stack) { 7588var jQuery = stacks.jQuery;var $ = jQuery;var opticStats = $; 7589/* 7590jquery-plugin-circliful 7591+The MIT License (MIT) 7592+ 7593+Copyright (c) 2014 Patric Gutersohn 7594+ 7595+Permission is hereby granted, free of charge, to any person obtaining a copy of 7596+this software and associated documentation files (the "Software"), to deal in 7597+the Software without restriction, including without limitation the rights to 7598+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7599+the Software, and to permit persons to whom the Software is furnished to do so, 7600+subject to the following conditions: 7601+ 7602+The above copyright notice and this permission notice shall be included in all 7603+copies or substantial portions of the Software. 7604+ 7605+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7606+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 7607+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 7608+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 7609+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7610+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7611*/ 7612"use strict"; 7613 7614(function (opticStats) { 7615 7616 opticStats.fn.circliful = function (options, callback) { 7617 7618 var settings = opticStats.extend({ 7619 // These are the defaults. 7620 startdegree: 0, 7621 fgcolor: "#556b2f", 7622 bgcolor: "#eee", 7623 fill: false, 7624 width: 15, 7625 dimension: 200, 7626 fontsize: 15, 7627 percent: 50, 7628 animationstep: 1.0, 7629 iconsize: '20px', 7630 iconcolor: '#999', 7631 border: 'default', 7632 complete: null, 7633 bordersize: 10 7634 }, options); 7635 7636 return this.each(function () { 7637 7638 var customSettings = ["fgcolor", "bgcolor", "fill", "width", "dimension", "fontsize", "animationstep", "endPercent", "icon", "iconcolor", "iconsize", "border", "startdegree", "bordersize"]; 7639 7640 var customSettingsObj = {}; 7641 var icon = ''; 7642 var percent; 7643 var endPercent = 0; 7644 var obj = opticStats(this); 7645 var fill = false; 7646 var text, info; 7647 7648 obj.addClass('circliful'); 7649 7650 checkDataAttributes(obj); 7651 7652 if (obj.data('text') != undefined) { 7653 7654 //remove non number characters 7655 7656 text = obj.data('text'); 7657 text = text.toString(); 7658 text = text.replace(/[^0-9.,]/g, ''); 7659 text = "<span class='counter'>" + text + "</span>"; 7660 7661 if (obj.data('icon') != undefined) { 7662 icon = opticStats('<i></i>') 7663 .addClass('osIcon fa ' + opticStats(this).data('icon')) 7664 .css({ 7665 'color': customSettingsObj.iconcolor, 7666 'font-size': customSettingsObj.iconsize, 7667 'line-height': customSettingsObj.iconsize + "px" 7668 }); 7669 } 7670 if (obj.data('icon-custom') != undefined) { 7671 icon = opticStats('<img src="'+opticStats(this).data("icon-custom")+'"></img>') 7672 .addClass('osIcon ') 7673 .css({ 7674 'width': customSettingsObj.iconsize, 7675 'height': customSettingsObj.iconsize 7676 }); 7677 } 7678 7679 if (obj.data('type') != undefined) { 7680 type = opticStats(this).data('type'); 7681 7682 if (type == 'half') { 7683 addCircleText(obj, 'circle-text-half', (customSettingsObj.dimension / 1.45)); 7684 } else { 7685 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 7686 } 7687 } else { 7688 addCircleText(obj, 'circle-text', customSettingsObj.dimension); 7689 } 7690 } 7691 7692 if (opticStats(this).data("total") != undefined && opticStats(this).data("part") != undefined) { 7693 var total = opticStats(this).data("total") / 100; 7694 7695 percent = ((opticStats(this).data("part") / total) / 100).toFixed(3); 7696 endPercent = (opticStats(this).data("part") / total).toFixed(3); 7697 } else { 7698 if (opticStats(this).data("percent") != undefined) { 7699 percent = opticStats(this).data("percent") / 100; 7700 endPercent = opticStats(this).data("percent"); 7701 } else { 7702 percent = settings.percent / 100; 7703 } 7704 } 7705 7706 if (opticStats(this).data('info') != undefined) { 7707 info = opticStats(this).data('info'); 7708 7709 if (opticStats(this).data('type') != undefined) { 7710 type = opticStats(this).data('type'); 7711 7712 if (type == 'half') { 7713 addInfoText(obj, 0.9); 7714 } else { 7715 addInfoText(obj, 1.25); 7716 } 7717 } else { 7718 addInfoText(obj, 1.25); 7719 } 7720 } 7721 7722 opticStats(this).width(customSettingsObj.dimension + 'px'); 7723 if (type == 'line' || type == 'vert-line') { 7724 opticStats(this).height(opticStats(this).data('height') + 'px'); 7725 } else { 7726 opticStats(this).height(customSettingsObj.dimension + 'px'); 7727 } 7728 7729 7730 var sizeX = customSettingsObj.dimension, 7731 sizeY = customSettingsObj.dimension; 7732 if (type == 'line' || type == 'vert-line') { 7733 sizeY = opticStats(this).data('height'); 7734 } 7735 var canvas = opticStats('<canvas></canvas>').attr({ 7736 width: sizeX, 7737 height: sizeY 7738 }).appendTo(opticStats(this)).get(0); 7739 var context = canvas.getContext('2d'); 7740 7741 var dpr = window.devicePixelRatio; 7742 if ( dpr ) { 7743 var opticStatscanvas = opticStats(canvas); 7744 opticStatscanvas.css('width', sizeX); 7745 opticStatscanvas.css('height', sizeY); 7746 opticStatscanvas.attr('width', sizeX * dpr); 7747 opticStatscanvas.attr('height', sizeY * dpr); 7748 7749 context.scale(dpr, dpr); 7750 } 7751 7752 var container = opticStats(canvas).parent(); 7753 var x = sizeX / 2; 7754 var y = sizeY / 2; 7755 var degrees = customSettingsObj.percent * 360.0; 7756 var radians = degrees * (Math.PI / 180); 7757 var radius = sizeX / 2.5; 7758 var startAngle = 2.3 * Math.PI; 7759 var endAngle = 0; 7760 var counterClockwise = false;
7761 var curPerc = customSettingsObj.animationstep === 0.0 ? endPercent : 0.0; 7762 var curStep = Math.max(customSettingsObj.animationstep, 0.0); 7763 var circ = Math.PI * 2; 7764 var quart = Math.PI / 2; 7765 var type = ''; 7766 var fireCallback = true; 7767 var additionalAngelPI = (customSettingsObj.startdegree / 180) * Math.PI; 7768 7769 if (opticStats(this).data('type') != undefined) { 7770 type = opticStats(this).data('type'); 7771 if (type == 'half') { 7772 startAngle = 2.0 * Math.PI; 7773 endAngle = 3.14; 7774 circ = Math.PI; 7775 quart = Math.PI / 0.996; 7776 } else if (type == 'angle') { 7777 startAngle = 2.25 * Math.PI; 7778 endAngle = 2.4; 7779 circ = 1.53 + Math.PI; 7780 quart = 0.73 + Math.PI / 0.996; 7781 } 7782 } 7783 7784 /** 7785 * adds text to circle 7786 * 7787 * @param obj 7788 * @param cssClass 7789 * @param lineHeight 7790 */ 7791 opticStats(" > span", this).wrapAll("<div class='centerMe'><div></div></div>"); 7792 function addCircleText(obj, cssClass, lineHeight) { 7793 opticStats("<span></span>") 7794 .appendTo(obj) 7795 .addClass(cssClass) 7796 .html(text) 7797 .prepend(icon) 7798 .css({ 7799 //'line-height': lineHeight + 'px', 7800 'font-size': customSettingsObj.fontsize + 'px', 7801 'line-height': customSettingsObj.fontsize + 'px' 7802 }); 7803 } 7804 7805 /** 7806 * adds info text to circle 7807 * 7808 * @param obj 7809 * @param factor 7810 */ 7811 function addInfoText(obj, factor) { 7812 opticStats('<span></span>') 7813 .appendTo(obj) 7814 .addClass('circle-info-half') 7815 //.css( 7816 //'line-height', (customSettingsObj.dimension * factor) + 'px' 7817 //) 7818 .text(info); 7819 } 7820 7821 /** 7822 * checks which data attributes are defined 7823 * @param obj 7824 */ 7825 function checkDataAttributes(obj) { 7826 opticStats.each(customSettings, function (index, attribute) { 7827 if (obj.data(attribute) != undefined) { 7828 customSettingsObj[attribute] = obj.data(attribute); 7829 } else { 7830 customSettingsObj[attribute] = opticStats(settings).attr(attribute); 7831 } 7832 7833 if (attribute == 'fill' && obj.data('fill') != undefined) { 7834 fill = true; 7835 } 7836 }); 7837 } 7838 7839 //Animation Variables 7840 var inc = 0, counter=0,calm = 2,finishFrames=0, animationType = obj.data('animation-type'), slowTheInc = 0; 7841 // ---------------------- // 7842 // Animation Functions 7843 // ---------------------- // 7844 function blend(inColor,outColor,current){ 7845 var inColors = inColor.substring(inColor.indexOf('(') + 1, inColor.lastIndexOf(')')).split(/,\s*/), 7846 outColors = outColor.substring(outColor.indexOf('(') + 1, outColor.lastIndexOf(')')).split(/,\s*/), 7847 r,g,b,a,cur; 7848 for(var i=0; i<inColors.length; i++) { inColors[i] = parseInt(inColors[i], 10); } 7849 for(var i=0; i<outColors.length; i++) { outColors[i] = parseInt(outColors[i], 10); } 7850 if(current < .5 ) { 7851 cur = current*2; 7852 r = Math.min(255,Math.max(0, inColors[0] + (outColors[0] * cur))); 7853 g = Math.min(255,Math.max(0, inColors[1] + (outColors[1] * cur))); 7854 b = Math.min(255,Math.max(0, inColors[2] + (outColors[2] * cur))); 7855 } else { 7856 cur = (current-.5)*2; 7857 r = Math.min(255,Math.max(0,Math.max(inColors[0], outColors[0]) + ((outColors[0] - inColors[0]) * cur))); 7858 g = Math.min(255,Math.max(0,Math.max(inColors[1], outColors[1]) + ((outColors[1] - inColors[1]) * cur))); 7859 b = Math.min(255,Math.max(0,Math.max(inColors[2], outColors[2]) + ((outColors[2] - inColors[2]) * cur))); 7860 } 7861 var a = inColors[3]+((outColors[3] - inColors[3])*current); 7862 return 'rgba('+Math.floor(r)+', '+Math.floor(g)+', '+Math.floor(b)+', '+Math.floor(a)+')'; 7863 } 7864 if (type == 'line' || type == 'vert-line') { 7865 customSettingsObj.bordersize = customSettingsObj.bordersize*2; 7866 } 7867 var increaseInc = function(inc, current) { 7868 if (current >= 1) { 7869 // slowTheInc += 0.00002; 7870 // slowTheInc = Math.min(slowTheInc, 0.005); 7871 // inc = inc + (0.005-slowTheInc); 7872 } else { 7873 inc += 0.005; 7874 } 7875 return inc; 7876 } 7877 var moveColors = function(value, inc) { 7878 var pos = value+inc; 7879 pos = pos.toString(); 7880 pos = pos.split(".").pop(); 7881 pos = parseFloat("."+pos); 7882 return pos; 7883 } 7884 var createGrad = function(inc,sizeX, sizeY) { 7885 var grd=context.createLinearGradient(0,0,sizeX,sizeY); 7886 grd.addColorStop(moveColors(0, inc),"#FF0000"); 7887 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 7888 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 7889 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 7890 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 7891 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 7892 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 7893 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 7894 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 7895 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 7896 grd.addColorStop(moveColors(1, inc),"#FF0000"); 7897 return grd; 7898 } 7899 var shadowGlow = function() { 7900 context.shadowColor = customSettingsObj.fgcolor; 7901 context.shadowOffsetX = 0; 7902 context.shadowOffsetY = 0; 7903 context.shadowBlur = 10; 7904 } 7905 var drawBorder = function() { 7906 context.lineWidth = customSettingsObj.bordersize + 1; 7907 context.strokeStyle = customSettingsObj.bgcolor; 7908 context.stroke(); 7909 if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle') { 7910 // 7911 } else { 7912 context.fillStyle = customSettingsObj.fill; 7913 context.fill(); 7914 } 7915 context.beginPath(); 7916 context.save(); 7917 } 7918 var fillAnimation = function(animationType, current) { 7919 if(animationType == 1){ 7920 context.strokeStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 7921 context.stroke(); 7922 } else if(animationType == 2){ 7923 context.strokeStyle = customSettingsObj.fgcolor; 7924 if (type == 'line') { 7925 var grd=context.createLinearGradient(sizeX,0,0,0); 7926 grd.addColorStop(0,"white"); 7927 grd.addColorStop(1,customSettingsObj.fgcolor); 7928 context.strokeStyle = grd; 7929 shadowGlow(); 7930 } else if (type == 'vert-line') { 7931 var grd=context.createLinearGradient(0,0,0,sizeY); 7932 grd.addColorStop(0,"white"); 7933 grd.addColorStop(1,customSettingsObj.fgcolor); 7934 context.strokeStyle = grd; 7935 shadowGlow(); 7936 } else { 7937 var grd = context.createRadialGradient(sizeX/2, sizeY/2, (sizeX+customSettingsObj.bordersize*2)/2.5, sizeY/2, sizeX/2, (sizeY-customSettingsObj.bordersize*2)/2.5); 7938 grd.addColorStop(0, customSettingsObj.fgcolor); 7939 grd.addColorStop(0.5, 'white'); 7940 grd.addColorStop(1, customSettingsObj.fgcolor); 7941 context.strokeStyle = grd; 7942 shadowGlow(); 7943 } 7944 context.stroke();
7945 context.restore(); 7946 } else if(animationType == 3){ 7947 if (type == 'line') { 7948 var grd = createGrad(inc,sizeX,sizeY); 7949 inc = increaseInc(inc,current); 7950 context.strokeStyle = grd; 7951 } else if (type == 'vert-line') { 7952 var grd=context.createLinearGradient(sizeX/2,0,sizeX/2,sizeY); 7953 grd.addColorStop(moveColors(0, inc),"#FF0000"); 7954 grd.addColorStop(moveColors(.1, inc),"#FFFF00"); 7955 grd.addColorStop(moveColors(.2, inc),"#00FF00"); 7956 grd.addColorStop(moveColors(.3, inc),"#0000FF"); 7957 grd.addColorStop(moveColors(.4, inc),"#FF00FF"); 7958 grd.addColorStop(moveColors(.5, inc),"#FF0000"); 7959 grd.addColorStop(moveColors(.6, inc),"#FFFF00"); 7960 grd.addColorStop(moveColors(.7, inc),"#00FF00"); 7961 grd.addColorStop(moveColors(.8, inc),"#0000FF"); 7962 grd.addColorStop(moveColors(.9, inc),"#FF00FF"); 7963 grd.addColorStop(moveColors(1, inc),"#FF0000"); 7964 inc = increaseInc(inc,current); 7965 context.strokeStyle = grd; 7966 } else { 7967 var grd = createGrad(inc,sizeX,sizeY); 7968 inc = increaseInc(inc,current); 7969 context.strokeStyle = grd; 7970 } 7971 context.stroke(); 7972 context.restore(); 7973 } else { 7974 context.strokeStyle = customSettingsObj.fgcolor; 7975 context.stroke(); 7976 } 7977 } 7978 // ---------------------- // 7979 // Animation 7980 // ---------------------- // 7981 function animate(current) { 7982 //Clear Canvas for next frame 7983 context.clearRect(0, 0, canvas.width, canvas.height); 7984 //Draw Background 7985 if (type == 'line' || type == 'vert-line') { 7986 context.rect(10, 10, sizeX-20, sizeY-20); 7987 } else if (type == 'fill-circle-wave' || type == 'grow-circle' || type == 'fill-circle' || type == 'full' || type == 'half') { 7988 context.beginPath(); 7989 context.arc(x, y, radius, endAngle, startAngle, false); 7990 } 7991 context.fillStyle = customSettingsObj.fill; 7992 context.fill(); 7993 if (type == 'line') { 7994 context.beginPath(); 7995 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 7996 context.lineTo(sizeX-10,sizeY-(customSettingsObj.bordersize/2+10)); 7997 drawBorder(); 7998 context.moveTo(10,sizeY-(customSettingsObj.bordersize/2+10)); 7999 context.lineTo(Math.min((sizeX-20) * current+10,sizeX-10),sizeY-(customSettingsObj.bordersize/2+10)); 8000 fillAnimation(animationType,current); 8001 } else if (type == 'vert-line'){ 8002 context.beginPath(); 8003 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 8004 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),10); 8005 drawBorder(); 8006 context.moveTo(sizeX-(customSettingsObj.bordersize/2+10),sizeY-10); 8007 context.lineTo(sizeX-(customSettingsObj.bordersize/2+10),Math.max((sizeY-20) * (1-current)+10,10)); 8008 fillAnimation(animationType,current); 8009 } else if (type == 'full' || type=='half') { 8010 drawBorder(); 8011 context.arc(x, y, radius, -(quart) + additionalAngelPI, ((circ) * (Math.min(current,1)+.005)) - quart + additionalAngelPI, false); 8012 fillAnimation(animationType,current); 8013 } else if (type == 'grow-circle') { 8014 drawBorder(); 8015 var fillRadius = sizeX/2.5*Math.min(current,1); 8016 context.arc(sizeX/2, sizeY/2, Math.max(fillRadius-customSettingsObj.bordersize/2,0), endAngle, startAngle, false); 8017 if(animationType == 1){ 8018 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)',current); 8019 context.fill(); 8020 } else if(animationType == 2){ 8021 var grd=context.createLinearGradient(0,0,0,sizeY); 8022 grd.addColorStop(0,"white"); 8023 grd.addColorStop(1,customSettingsObj.fgcolor); 8024 shadowGlow(); 8025 context.fillStyle = grd; 8026 context.fill(); 8027 } else if(animationType == 3){ 8028 var grd = createGrad(inc,sizeX,sizeY); 8029 inc = increaseInc(inc,current); 8030 context.fillStyle = grd; 8031 context.fill(); 8032 } else { 8033 context.fillStyle = customSettingsObj.fgcolor; 8034 context.fill(); 8035 }
8036 context.restore(); 8037 } else if (type == 'fill-circle') { 8038 drawBorder(); 8039 var fillRadius = sizeX/2.5, 8040 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 8041 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 8042 if(animationType == 1){ 8043 context.clip(); 8044 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 8045 context.fillRect(0, fillLine, sizeX, sizeY); 8046 } else if(animationType == 2){ 8047 var grd=context.createLinearGradient(0,0,0,sizeY); 8048 grd.addColorStop(0,"white"); 8049 grd.addColorStop(1,customSettingsObj.fgcolor); 8050 shadowGlow(); 8051 context.clip(); 8052 context.fillStyle = grd; 8053 context.fillRect(0, fillLine, sizeX, sizeY); 8054 8055 } else if(animationType == 3){ 8056 context.clip(); 8057 var grd = createGrad(inc,sizeX, sizeY); 8058 inc = increaseInc(inc,current); 8059 context.fillStyle = grd; 8060 context.fillRect(0, fillLine, sizeX, sizeY); 8061 } else { 8062 context.clip(); 8063 context.fillStyle = customSettingsObj.fgcolor; 8064 context.fillRect(0, fillLine, sizeX, sizeY); 8065 } 8066 context.restore(); 8067 } else if (type == 'fill-circle-wave') { 8068 drawBorder(); 8069 var fillRadius = sizeX/2.5, 8070 fillLine = 0.8*(sizeX*(1-current))+(sizeX*.1); 8071 context.arc(sizeX/2, sizeY/2, fillRadius-customSettingsObj.bordersize/2, endAngle, startAngle, false); 8072 var ypos=fillLine, xpos=0; 8073 counter += .1; 8074 counterLoop = counter; 8075 var increase = 2*Math.PI / 12; 8076 context.clip(); 8077 context.beginPath(); 8078 context.moveTo(sizeX,sizeY); 8079 context.lineTo(0,sizeY); 8080 context.lineTo(0,ypos); 8081 if (curPerc > endPercent) { 8082 calm-=.01; 8083 if(calm<0) calm=0; 8084 } 8085 for(i=0; i<=sizeX; i+=10){ 8086 xpos = i; 8087 ypos = ypos - Math.sin(counterLoop) * calm; 8088 counterLoop += increase; 8089 context.lineTo(xpos,ypos); 8090 } 8091 context.lineTo(sizeX,sizeY); 8092 context.closePath(); 8093 if(animationType == 1){ 8094 context.fillStyle = blend('rgba(255,0,0,1)','rgba(0,255,0,1)', current); 8095 context.fill(); 8096 } else if(animationType == 2){ 8097 var grd=context.createLinearGradient(0,0,0,sizeY); 8098 grd.addColorStop(0,"white"); 8099 grd.addColorStop(1,customSettingsObj.fgcolor); 8100 shadowGlow(); 8101 context.clip(); 8102 context.fillStyle = grd; 8103 context.fill(); 8104 } else if(animationType == 3){ 8105 context.clip(); 8106 var grd = createGrad(inc,sizeX,sizeY); 8107 inc = increaseInc(inc,current); 8108 context.fillStyle = grd; 8109 context.fill(); 8110 } else { 8111 context.clip(); 8112 context.fillStyle = customSettingsObj.fgcolor; 8113 context.fill(); 8114 } 8115 context.restore(); 8116 } 8117 8118 if (curPerc < endPercent) { 8119 curPerc += curStep; 8120 requestAnimationFrame(function () { 8121 context.strokeStyle = customSettingsObj.fgcolor; 8122 animate(Math.min(curPerc, endPercent) / 100); 8123 }, obj); 8124 } else if(finishFrames < 500) { 8125 curPerc += curStep; 8126 finishFrames+=1; 8127 requestAnimationFrame(function () { 8128 context.strokeStyle = customSettingsObj.fgcolor; 8129 animate(Math.min(curPerc, endPercent) / 100); 8130 }, obj); 8131 } 8132 8133 if (curPerc == endPercent && fireCallback && typeof(options) != "undefined") { 8134 if (opticStats.isFunction(options.complete)) { 8135 options.complete(); 8136 8137 fireCallback = false; 8138 } 8139 } 8140 } 8141 obj.waypoint(function(direction){ 8142 animate(curPerc / 100); 8143 this.destroy(); 8144 }, { offset: '100%' }); 8145 }); 8146 }; 8147}(opticStats)); 8148/* 8149 The MIT License (MIT) 8150 CountUp 8151+Copyright (c) 2014-2015 Jamie Perkins 8152 Permission is hereby granted, free of charge, to any person obtaining a copy of
8153 this software and associated documentation files (the "Software"), to deal in 8154*/ 8155!function(t,a){"function"==typeof define&&define.amd?define(a):"object"==typeof exports?module.exports=a(require,exports,module):t.CountUp=a()}(this,function(){var t=function(t,a,e,n,i,r){for(var o=0,s=["webkit","moz","ms","o"],u=0;u<s.length&&!window.requestAnimationFrame;++u)window.requestAnimationFrame=window[s[u]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[s[u]+"CancelAnimationFrame"]||window[s[u]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-o)),n=window.setTimeout(function(){t(a+e)},e);return o=a+e,n}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)}),this.options={useEasing:!0,useGrouping:!0,separator:",",decimal:"."};for(var m in r)r.hasOwnProperty(m)&&(this.options[m]=r[m]);""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.d="string"==typeof t?document.getElementById(t):t,this.startVal=Number(a),this.endVal=Number(e),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,n||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(i)||2e3;var l=this;this.version=function(){return"1.6.0"},this.printValue=function(t){var a=isNaN(t)?"--":l.formatNumber(t);"INPUT"==l.d.tagName?this.d.value=a:"text"==l.d.tagName||"tspan"==l.d.tagName?this.d.textContent=a:this.d.innerHTML=a},this.easeOutExpo=function(t,a,e,n){return e*(-Math.pow(2,-10*t/n)+1)*1024/1023+a},this.count=function(t){l.startTime||(l.startTime=t),l.timestamp=t;var a=t-l.startTime;l.remaining=l.duration-a,l.frameVal=l.options.useEasing?l.countDown?l.startVal-l.easeOutExpo(a,0,l.startVal-l.endVal,l.duration):l.easeOutExpo(a,l.startVal,l.endVal-l.startVal,l.duration):l.countDown?l.startVal-(l.startVal-l.endVal)*(a/l.duration):l.startVal+(l.endVal-l.startVal)*(a/l.duration),l.frameVal=l.countDown?l.frameVal<l.endVal?l.endVal:l.frameVal:l.frameVal>l.endVal?l.endVal:l.frameVal,l.frameVal=Math.round(l.frameVal*l.dec)/l.dec,l.printValue(l.frameVal),a<l.duration?l.rAF=requestAnimationFrame(l.count):l.callback&&l.callback()},this.start=function(t){return l.callback=t,l.rAF=requestAnimationFrame(l.count),!1},this.pauseResume=function(){l.paused?(l.paused=!1,delete l.startTime,l.duration=l.remaining,l.startVal=l.frameVal,requestAnimationFrame(l.count)):(l.paused=!0,cancelAnimationFrame(l.rAF))},this.reset=function(){l.paused=!1,delete l.startTime,l.startVal=a,cancelAnimationFrame(l.rAF),l.printValue(l.startVal)},this.update=function(t){cancelAnimationFrame(l.rAF),l.paused=!1,delete l.startTime,l.startVal=l.frameVal,l.endVal=Number(t),l.countDown=l.startVal>l.endVal,l.rAF=requestAnimationFrame(l.count)},this.formatNumber=function(t){t=t.toFixed(l.decimals),t+="";var a,e,n,i;if(a=t.split("."),e=a[0],n=a.length>1?l.options.decimal+a[1]:"",i=/(\d+)(\d{3})/,l.options.useGrouping)for(;i.test(e);)e=e.replace(i,"$1"+l.options.separator+"$2");return l.options.prefix+e+n+l.options.suffix},l.printValue(l.startVal)};return t}); 8156/*! 8157Waypoints - 4.0.0 8158Copyright © 2011-2015 Caleb Troughton 8159Licensed under the MIT license. 8160https://github.com/imakewebthings/waypoints/blob/master/licenses.txt 8161*/ 8162!function(){"use strict";function t(o){if(!o)throw new Error("No options passed to Waypoint constructor");if(!o.element)throw new Error("No element option passed to Waypoint constructor");if(!o.handler)throw new Error("No handler option passed to Waypoint constructor");this.key="waypoint-"+e,this.options=t.Adapter.extend({},t.defaults,o),this.element=this.options.element,this.adapter=new t.Adapter(this.element),this.callback=o.handler,this.axis=this.options.horizontal?"horizontal":"vertical",this.enabled=this.options.enabled,this.triggerPoint=null,this.group=t.Group.findOrCreate({name:this.options.group,axis:this.axis}),this.context=t.Context.findOrCreateByElement(this.options.context),t.offsetAliases[this.options.offset]&&(this.options.offset=t.offsetAliases[this.options.offset]),this.group.add(this),this.context.add(this),i[this.key]=this,e+=1}var e=0,i={};t.prototype.queueTrigger=function(t){this.group.queueTrigger(this,t)},t.prototype.trigger=function(t){this.enabled&&this.callback&&this.callback.apply(this,t)},t.prototype.destroy=function(){this.context.remove(this),this.group.remove(this),delete i[this.key]},t.prototype.disable=function(){return this.enabled=!1,this},t.prototype.enable=function(){return this.context.refresh(),this.enabled=!0,this},t.prototype.next=function(){return this.group.next(this)},t.prototype.previous=function(){return this.group.previous(this)},t.invokeAll=function(t){var e=[];for(var o in i)e.push(i[o]);for(var n=0,r=e.length;r>n;n++)e[n][t]()},t.destroyAll=function(){t.invokeAll("destroy")},t.disableAll=function(){t.invokeAll("disable")},t.enableAll=function(){t.invokeAll("enable")},t.refreshAll=function(){t.Context.refreshAll()}
vendor: 5,106 bytes, line 8162
8162,t.viewportHeight=function(){return window.innerHeight||document.documentElement.clientHeight},t.viewportWidth=function(){return document.documentElement.clientWidth},t.adapters=[],t.defaults={context:window,continuous:!0,enabled:!0,group:"default",horizontal:!1,offset:0},t.offsetAliases={"bottom-in-view":function(){return this.context.innerHeight()-this.adapter.outerHeight()},"right-in-view":function(){return this.context.innerWidth()-this.adapter.outerWidth()}},window.Waypoint=t}(),function(){"use strict";function t(t){window.setTimeout(t,1e3/60)}function e(t){this.element=t,this.Adapter=n.Adapter,this.adapter=new this.Adapter(t),this.key="waypoint-context-"+i,this.didScroll=!1,this.didResize=!1,this.oldScroll={x:this.adapter.scrollLeft(),y:this.adapter.scrollTop()},this.waypoints={vertical:{},horizontal:{}},t.waypointContextKey=this.key,o[t.waypointContextKey]=this,i+=1,this.createThrottledScrollHandler(),this.createThrottledResizeHandler()}var i=0,o={},n=window.Waypoint,r=window.onload;e.prototype.add=function(t){var e=t.options.horizontal?"horizontal":"vertical";this.waypoints[e][t.key]=t,this.refresh()},e.prototype.checkEmpty=function(){var t=this.Adapter.isEmptyObject(this.waypoints.horizontal),e=this.Adapter.isEmptyObject(this.waypoints.vertical);t&&e&&(this.adapter.off(".waypoints"),delete o[this.key])},e.prototype.createThrottledResizeHandler=function(){function t(){e.handleResize(),e.didResize=!1}var e=this;this.adapter.on("resize.waypoints",function(){e.didResize||(e.didResize=!0,n.requestAnimationFrame(t))})},e.prototype.createThrottledScrollHandler=function(){function t(){e.handleScroll(),e.didScroll=!1}var e=this;this.adapter.on("scroll.waypoints",function(){(!e.didScroll||n.isTouch)&&(e.didScroll=!0,n.requestAnimationFrame(t))})},e.prototype.handleResize=function(){n.Context.refreshAll()},e.prototype.handleScroll=function(){var t={},e={horizontal:{newScroll:this.adapter.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.adapter.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};for(var i in e){var o=e[i],n=o.newScroll>o.oldScroll,r=n?o.forward:o.backward;for(var s in this.waypoints[i]){var a=this.waypoints[i][s],l=o.oldScroll<a.triggerPoint,h=o.newScroll>=a.triggerPoint,p=l&&h,u=!l&&!h;(p||u)&&(a.queueTrigger(r),t[a.group.id]=a.group)}}for(var c in t)t[c].flushTriggers();this.oldScroll={x:e.horizontal.newScroll,y:e.vertical.newScroll}},e.prototype.innerHeight=function(){return this.element==this.element.window?n.viewportHeight():this.adapter.innerHeight()},e.prototype.remove=function(t){delete this.waypoints[t.axis][t.key],this.checkEmpty()},e.prototype.innerWidth=function(){return this.element==this.element.window?n.viewportWidth():this.adapter.innerWidth()},e.prototype.destroy=function(){var t=[];for(var e in this.waypoints)for(var i in this.waypoints[e])t.push(this.waypoints[e][i]);for(var o=0,n=t.length;n>o;o++)t[o].destroy()},e.prototype.refresh=function(){var t,e=this.element==this.element.window,i=e?void 0:this.adapter.offset(),o={};this.handleScroll(),t={horizontal:{contextOffset:e?0:i.left,contextScroll:e?0:this.oldScroll.x,contextDimension:this.innerWidth(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:e?0:i.top,contextScroll:e?0:this.oldScroll.y,contextDimension:this.innerHeight(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};for(var r in t){var s=t[r];for(var a in this.waypoints[r]){var l,h,p,u,c,d=this.waypoints[r][a],f=d.options.offset,w=d.triggerPoint,y=0,g=null==w;d.element!==d.element.window&&(y=d.adapter.offset()[s.offsetProp]),"function"==typeof f?f=f.apply(d):"string"==typeof f&&(f=parseFloat(f),d.options.offset.indexOf("%")>-1&&(f=Math.ceil(s.contextDimension*f/100))),l=s.contextScroll-s.contextOffset,d.triggerPoint=y+l-f,h=w<s.oldScroll,p=d.triggerPoint>=s.oldScroll,u=h&&p,c=!h&&!p,!g&&u?(d.queueTrigger(s.backward),o[d.group.id]=d.group):!g&&c?(d.queueTrigger(s.forward),o[d.group.id]=d.group):g&&s.oldScroll>=d.triggerPoint&&(d.queueTrigger(s.forward),o[d.group.id]=d.group)}}return n.requestAnimationFrame(function(){for(var t in o)o[t].flushTriggers()}),this},e.findOrCreateByElement=function(t){return e.findByElement(t)||new e(t)},e.refreshAll=function(){for(var t in o)o[t].refresh()},e.findByElement=function(t){return o[t.waypointContextKey]},window.onload=function(){r&&r(),e.refreshAll()},n.requestAnimationFrame=function(e){var i=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||t;i.call(window,e)},n.Context=e}(),function(){"use strict";function t(t,e){return t.triggerPoint-e.triggerPoint}function e(t,e){return e.triggerPoint-t.triggerPoint}function i(t){this.name=t.name,this.axis=t.axis,this.id=this.name+"-"+this.axis,this.waypoints=[],this.clearTriggerQueues(),o[this.axis][this.name]=this}var o={vertical:{},horizontal:{}},n=window.Waypoint;i.prototype.add=function(t){this.waypoints.push(t)},i.prototype.clearTriggerQueues=function(){this.triggerQueues={up:[],down:[],left:[],r
8162ight:[]}},i.prototype.flushTriggers=function(){for(var i in this.triggerQueues){var o=this.triggerQueues[i],n="up"===i||"left"===i;o.sort(n?e:t);for(var r=0,s=o.length;s>r;r+=1){var a=o[r];(a.options.continuous||r===o.length-1)&&a.trigger([i])}}this.clearTriggerQueues()},i.prototype.next=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints),o=i===this.waypoints.length-1;return o?null:this.waypoints[i+1]},i.prototype.previous=function(e){this.waypoints.sort(t);var i=n.Adapter.inArray(e,this.waypoints);return i?this.waypoints[i-1]:null},i.prototype.queueTrigger=function(t,e){this.triggerQueues[e].push(t)},i.prototype.remove=function(t){var e=n.Adapter.inArray(t,this.waypoints);e>-1&&this.waypoints.splice(e,1)},i.prototype.first=function(){return this.waypoints[0]},i.prototype.last=function(){return this.waypoints[this.waypoints.length-1]},i.findOrCreate=function(t){return o[t.axis][t.name]||new i(t)},n.Group=i}(),function(){"use strict";function t(t){this.opticStatselement=e(t)}var e=opticStats,i=window.Waypoint;e.each(["innerHeight","innerWidth","off","offset","on","outerHeight","outerWidth","scrollLeft","scrollTop"],function(e,i){t.prototype[i]=function(){var t=Array.prototype.slice.call(arguments);return this.opticStatselement[i].apply(this.opticStatselement,t)}}),e.each(["extend","inArray","isEmptyObject"],function(i,o){t[o]=e[o]}),i.adapters.push({name:"jquery",Adapter:t}),i.Adapter=t}(),function(){"use strict";function t(t){return function(){var i=[],o=arguments[0];return t.isFunction(arguments[0])&&(o=t.extend({},arguments[1]),o.handler=arguments[0]),this.each(function(){var n=t.extend({},o,{element:this});"string"==typeof n.context&&(n.context=t(this).closest(n.context)[0]),i.push(new e(n))}),i}}var e=window.Waypoint;opticStats&&(opticStats.fn.waypoint=t(opticStats)),window.Zepto&&(window.Zepto.fn.waypoint=t(window.Zepto))}(); 8163 8164opticStats( document ).ready(function() { 8165 var speed = 3000, 8166 countNumberstacks_in_33343 = "1", 8167 decimalNumber = '90', 8168 decimalNumber = decimalNumber.replace(/\D/g,''), 8169 decimalLength = decimalNumber.length, 8170 maxValuePercentstacks_in_33343 = (countNumberstacks_in_33343/1), 8171 speedA = (2000/speed)*maxValuePercentstacks_in_33343; 8172 if (1 == 0) { 8173 if(countNumberstacks_in_33343 < 0) { 8174 maxValuePercentstacks_in_33343 = 1; 8175 } else { 8176 maxValuePercentstacks_in_33343 = (0-countNumberstacks_in_33343)/0; 8177 } 8178 } 8179 if('True' == 'False' ) { 8180 decimalLength = 0; 8181 } else { 8182 countNumberstacks_in_33343 = countNumberstacks_in_33343.replace(/\D/g,''); 8183 countNumberstacks_in_33343 = countNumberstacks_in_33343+"."+decimalNumber; 8184 } 8185 if('False' == 'True' ) { 8186 var items = readData_data(opticStats("#data")); 8187 countNumberstacks_in_33343 = items['data-A1']; 8188 if(countNumberstacks_in_33343 == null) { 8189 countNumberstacks_in_33343 = '0'; 8190 } 8191 opticStats("#stat_stacks_in_33343").data("percent", maxValuePercentstacks_in_33343*100); 8192 // 8193 // 8194 if(countNumberstacks_in_33343.indexOf(".") !== -1) { 8195 decimalNumber = countNumberstacks_in_33343.substr(countNumberstacks_in_33343.indexOf(".") + 1); 8196 decimalNumber = decimalNumber.replace(/\D/g,''); 8197 decimalLength = decimalNumber.length; 8198 countNumberstacks_in_33343 = countNumberstacks_in_33343.substr(0, countNumberstacks_in_33343.indexOf('.')); 8199 } 8200 // 8201 // 8202 countNumberstacks_in_33343 = countNumberstacks_in_33343.replace(/[^0-9\-]/g,''); 8203 countNumberstacks_in_33343 = countNumberstacks_in_33343+"."+decimalNumber; 8204 maxValuePercentstacks_in_33343 = (countNumberstacks_in_33343/1); 8205 if (1 == 0) { 8206 if(countNumberstacks_in_33343 < 0) { 8207 maxValuePercentstacks_in_33343 = 1; 8208 } else { 8209 maxValuePercentstacks_in_33343 = (0-countNumberstacks_in_33343)/0; 8210 } 8211 } 8212 speedA = (2000/speed)*maxValuePercentstacks_in_33343; 8213 opticStats("#stat_stacks_in_33343").data("percent", maxValuePercentstacks_in_33343*100); 8214 } else { 8215 var maxValuePercentstacks_in_33343 = (countNumberstacks_in_33343/1); 8216 if (1 == 0) { 8217 if(countNumberstacks_in_33343 < 0) { 8218 maxValuePercentstacks_in_33343 = 1; 8219 } else { 8220 maxValuePercentstacks_in_33343 = (0-countNumberstacks_in_33343)/0; 8221 } 8222 } 8223 speedA = (2000/speed)*maxValuePercentstacks_in_33343; 8224 opticStats("#stat_stacks_in_33343").data("percent", maxValuePercentstacks_in_33343*100); 8225 } 8226 opticStats('#stat_stacks_in_33343').attr("data-animationstep", speedA); 8227 opticStats('#stat_stacks_in_33343').circliful(); 8228 opticStats('#stat_stacks_in_33343').waypoint(function(direction){ 8229 8230 // 8231// opticStats('#stacks_in_33343 .counter').counterUp({ 8232// delay: 10, 8233// time: speed 8234// }); 8235 8236 var options = { 8237 // 8238 // 8239 separator : ',', 8240 decimal : '.', 8241 // 8242 // 8243 // 8244 useEasing : false 8245 }; 8246 opticStats('#stacks_in_33343 .counter').attr("id", "count_stacks_in_33343"); 8247 var count = new CountUp('count_stacks_in_33343', 0, countNumberstacks_in_33343, decimalLength, (1.9/speedA)*(maxValuePercentstacks_in_33343), options);//(1.75/speedA)*(maxValuePercentstacks_in_33343) 8248 count.start(); 8249 // 8250 // 8251 opticStats('#stat_stacks_in_33343 .circle-text').append(""); 8252 opticStats('#stat_stacks_in_33343 .circle-text-half').append(""); 8253 // 8254 // 8255 // 8256 // 8257 opticStats('#stat_stacks_in_33343 span > .osIcon').wrap("<div class='os-icon-wrap' />") 8258 opticStats('#stat_stacks_in_33343 .os-icon-wrap').prependTo(opticStats('#stat_stacks_in_33343 .centerMe > div > span:first-child')); 8259 // 8260 // 8261 scale(); 8262 this.destroy(); 8263 }, { offset: '100%' }); 8264 8265 8266}); 8267 8268opticStats( window ).resize(function() { 8269 scale(); 8270}); 8271function scale() { 8272 var width = 290, 8273 currentWidth = opticStats('#stat_stacks_in_33343').parent().outerWidth(); 8274 if(currentWidth < width) { 8275 var scale = currentWidth/width; 8276 opticStats('#stat_stacks_in_33343').css({ 8277 "transform" : "scale("+scale+")", 8278 "transform-origin" : "0px", 8279 "-o-transform" : "scale("+scale+")", 8280 "-o-transform-origin" : "0px" 8281 }); 8282 } else { 8283 opticStats('#stat_stacks_in_33343').css({ 8284 "transform" : "scale(1)", 8285 "-o-transform" : "scale(1)" 8286 }); 8287 } 8288} 8289 8290return stack;})(stacks.stacks_in_33343); 8291stacks.stacks_in_33344 = {}; 8292stacks.stacks_in_33344 = (function(stack) { 8293 8294return stack;})(stacks.stacks_in_33344); 8295stacks.stacks_in_33370 = {}; 8296stacks.stacks_in_33370 = (function(stack) { 8297 8298return stack;})(stacks.stacks_in_33370); 8299stacks.stacks_in_33387 = {}; 8300stacks.stacks_in_33387 = (function(stack) { 8301 8302return stack;})(stacks.stacks_in_33387); 8303stacks.stacks_in_33410 = {}; 8304stacks.stacks_in_33410 = (function(stack) { 8305 8306return stack;})(stacks.stacks_in_33410); 8307stacks.stacks_in_33428 = {}; 8308stacks.stacks_in_33428 = (function(stack) { 8309 8310return stack;})(stacks.stacks_in_33428); 8311stacks.stacks_in_33448 = {}; 8312stacks.stacks_in_33448 = (function(stack) { 8313 8314return stack;})(stacks.stacks_in_33448); 8315stacks.stacks_in_33465 = {}; 8316stacks.stacks_in_33465 = (function(stack) { 8317 8318return stack;})(stacks.stacks_in_33465); 8319stacks.stacks_in_33499 = {}; 8320stacks.stacks_in_33499 = (function(stack) { 8321 8322return stack;})(stacks.stacks_in_33499); 8323stacks.stacks_in_33518 = {}; 8324stacks.stacks_in_33518 = (function(stack) { 8325 8326return stack;})(stacks.stacks_in_33518); 8327stacks.stacks_in_33535 = {}; 8328stacks.stacks_in_33535 = (function(stack) { 8329 8330return stack;})(stacks.stacks_in_33535); 8331stacks.stacks_in_33552 = {}; 8332stacks.stacks_in_33552 = (function(stack) { 8333 8334return stack;})(stacks.stacks_in_33552); 8335stacks.stacks_in_33569 = {}; 8336stacks.stacks_in_33569 = (function(stack) { 8337 8338return stack;})(stacks.stacks_in_33569); 8339stacks.stacks_in_33595 = {}; 8340stacks.stacks_in_33595 = (function(stack) { 8341 8342return stack;})(stacks.stacks_in_33595); 8343stacks.stacks_in_33626 = {}; 8344stacks.stacks_in_33626 = (function(stack) { 8345 8346return stack;})(stacks.stacks_in_33626); 8347stacks.stacks_in_33482 = {}; 8348stacks.stacks_in_33482 = (function(stack) { 8349 8350return stack;})(stacks.stacks_in_33482); 8351stacks.stacks_in_32946 = {}; 8352stacks.stacks_in_32946 = (function(stack) { 8353var jQuery = stacks.jQuery;var $ = jQuery; stacks.totalRequestHeaders={'Total-Key':$.trim('')}; 8354 8355return stack;})(stacks.stacks_in_32946);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.