PrimeFaces.widget.ExtTimer=PrimeFaces.widget.BaseWidget.extend({init:function(a){this._super(a);this.cfg=a;this.forward=a.forward;this.originalTimeout=a.timeout;this.currentTimeout=this.forward?0:a.timeout;a.autoStart&&this.start();this.print()},currentTimeInSecs:function(){return parseInt((new Date).getTime()/1E3,10)},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").humanize():moment.utc(moment.duration(this.currentTimeout,"seconds").asMilliseconds()).format(a));this.jq.html(a)},doStep:function(){var a=this.currentTimeInSecs()-this.prevTime;this.prevTime=this.currentTimeInSecs();this.currentTimeout+=this.forward?a:0-a;this.print();if(this.cfg.ontimerstep)this.cfg.ontimerstep({current:this.currentTimeout,total:this.originalTimeout})},start:function(){var a=this,b;this.prevTime=this.currentTimeInSecs();
this.interval||(this.interval=setInterval(function(){a.doStep();if(b=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?(clearInterval(a.interval),this.interval=null):(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.interval&&(clearInterval(this.interval),this.interval=null);this.currentTimeout=this.forward?0:this.originalTimeout;this.print()},restart:function(a){this.stop(a);this.start()}});