/*! * jquery.counterup.js 2.0.0 * * Copyright 2013, Benjamin Intal http://gambit.ph @bfintal * Released under the GPL v2 License * * Amended by Ciro Mattia Gonano and others * * Date: Mar 24, 2016 */ (function($){"use strict";$.fn.counterUp=function(options){var settings=$.extend({'time':400,'delay':10,'formatter':false,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};var counterUpper=function(){var nums=[];var divisions=counter.time/counter.delay;var num=$this.text();var isComma=/[0-9]+,[0-9]+/.test(num);num=num.replace(/,/g,'');var decimalPlaces=(num.split('.')[1]||[]).length;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>=1;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('0');var f=function(){$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:'100%'})})}})(jQuery);