/*! * jquery.counterup.js 2.1.0 * * copyright 2013, benjamin intal http://gambit.ph @bfintal * released under the gpl v2 license * * amended by jeremy paris, ciro mattia gonano and others * * date: feb 24, 2017 */ (function($){"use strict";$.fn.counterup=function(options){var settings=$.extend({time:400,delay:10,offset:100,beginat:0,formatter:false,context:"window",callback:function(){}},options),s;return this.each(function(){var $this=$(this),counter={time:$(this).data("counterup-time")||settings.time,delay:$(this).data("counterup-delay")||settings.delay,offset:$(this).data("counterup-offset")||settings.offset,beginat:$(this).data("counterup-beginat")||settings.beginat,context:$(this).data("counterup-context")||settings.context};var counterupper=function(){var nums=[];var divisions=counter.time/counter.delay;var num=$(this).attr("data-num")?$(this).attr("data-num"):$this.text();var iscomma=/[0-9]+,[0-9]+/.test(num);num=num.replace(/,/g,"");var decimalplaces=(num.split(".")[1]||[]).length;if(counter.beginat>num)counter.beginat=num;var istime=/[0-9]+:[0-9]+:[0-9]+/.test(num);if(istime){var times=num.split(":"),m=1;s=0;while(times.length>0){s+=m*parseint(times.pop(),10);m*=60}}for(var i=divisions;i>=counter.beginat/num*divisions;i--){var newnum=parsefloat(num/divisions*i).tofixed(decimalplaces);if(istime){newnum=parseint(s/divisions*i);var hours=parseint(newnum/3600)%24;var minutes=parseint(newnum/60)%60;var seconds=parseint(newnum%60,10);newnum=(hours<10?"0"+hours:hours)+":"+(minutes<10?"0"+minutes:minutes)+":"+(seconds<10?"0"+seconds:seconds)}if(iscomma){while(/(\d+)(\d{3})/.test(newnum.tostring())){newnum=newnum.tostring().replace(/(\d+)(\d{3})/,"$1"+","+"$2")}}if(settings.formatter){newnum=settings.formatter.call(this,newnum)}nums.unshift(newnum)}$this.data("counterup-nums",nums);$this.text(counter.beginat);var f=function(){if(!$this.data("counterup-nums")){settings.callback.call(this);return}$this.html($this.data("counterup-nums").shift());if($this.data("counterup-nums").length){settimeout($this.data("counterup-func"),counter.delay)}else{$this.data("counterup-nums",null);$this.data("counterup-func",null);settings.callback.call(this)}};$this.data("counterup-func",f);settimeout($this.data("counterup-func"),counter.delay)};$this.waypoint(function(direction){counterupper();this.destroy()},{offset:counter.offset+"%",context:counter.context})})}})(jquery);