PrimeFaces.widget.ExtTimer=PrimeFaces.widget.BaseWidget.extend({init:function(a){this._super(a);this.cfg=a;this.forward=a.forward;this.locale=a.locale;this.originalTimeout=a.timeout;this.currentTimeout=this.forward?0:a.timeout;a.autoStart&&this.start();this.print()},currentTimeInSecs:function(){return Math.floor((new Date).getTime()/1E3)},print:function(){var a=this.currentTimeout;this.cfg.formatFunction?a=this.cfg.formatFunction(a):this.cfg.format&&(a=this.cfg.format,a="percentage"===a?100*this.currentTimeout/
this.originalTimeout+"%":"human"===a?moment.duration(this.currentTimeout,"seconds").locale(this.locale).humanize():moment.utc(moment.duration(this.currentTimeout,"seconds").locale(this.locale).asMilliseconds()).format(a));this.jq.html(a)},doStep:function(){var a=this.currentTimeInSecs(),b=a-this.prevTime;this.prevTime=a;this.currentTimeout+=this.forward?b:0-b;this.print();if(this.cfg.ontimerstep)this.cfg.ontimerstep({current:this.currentTimeout,total:this.originalTimeout})},start:function(){var a=
this;this.prevTime=this.currentTimeInSecs();this.interval||(this.interval=setInterval(function(){a.doStep();if(a.forward?a.currentTimeout>=a.originalTimeout:0>=a.currentTimeout){a.cfg.listener&&a.cfg.listener();if(a.cfg.ontimercomplete)a.cfg.ontimercomplete();a.cfg.singleRun?a.pause():(a.currentTimeout=a.forward?0:a.originalTimeout,a.print())}},a.cfg.interval))},pause:function(){this.interval&&(clearInterval(this.interval),this.interval=null)},stop:function(a){!a&&this.cfg.listener&&this.cfg.listener();
if(this.cfg.ontimercomplete)this.cfg.ontimercomplete();this.pause();this.currentTimeout=this.forward?0:this.originalTimeout;this.print()},restart:function(a){this.stop(a);this.start()}});