!function(e){"use strict";function t(t,l){this.$element=t,this.settings=e.extend({},s,l),this._defaults=s,this._name=n,this._serverDate=null,this._javaScriptDate=null,this.currentDate=null,this.targetDate=null,this.days=null,this.hours=null,this.minutes=null,this.seconds=null,this.deciseconds=null,this.milliseconds=null,this.daysLabel=null,this.hoursLabel=null,this.minutesLabel=null,this.secondsLabel=null,this.decisecondsLabel=null,this.millisecondsLabel=null,this._intervalId=null,this._wrapsExists={},this._oldValues={},this._changed=!1,this.init()}var n="countEverest",s={day:1,month:1,year:2050,hour:0,minute:0,second:0,millisecond:0,timeZone:null,countUp:!1,currentDateTime:null,daysWrapper:".ce-days",hoursWrapper:".ce-hours",minutesWrapper:".ce-minutes",secondsWrapper:".ce-seconds",decisecondsWrapper:".ce-dseconds",millisecondsWrapper:".ce-mseconds",daysLabelWrapper:".ce-days-label",hoursLabelWrapper:".ce-hours-label",minutesLabelWrapper:".ce-minutes-label",secondsLabelWrapper:".ce-seconds-label",decisecondsLabelWrapper:".ce-dseconds-label",millisecondsLabelWrapper:".ce-mseconds-label",singularLabels:!1,daysLabel:"Days",dayLabel:"Day",hoursLabel:"Hours",hourLabel:"Hour",minutesLabel:"Minutes",minuteLabel:"Minute",secondsLabel:"Seconds",secondLabel:"Second",decisecondsLabel:"Deciseconds",decisecondLabel:"Decisecond",millisecondsLabel:"Milliseconds",millisecondLabel:"Millisecond",timeout:1e3,highspeedTimeout:4,leftHandZeros:!0,wrapDigits:!0,wrapDigitsTag:"span",dayInMilliseconds:864e5,hourInMilliseconds:36e5,minuteInMilliseconds:6e4,secondInMilliseconds:1e3,decisecondInMilliseconds:100,onInit:null,beforeCalculation:null,afterCalculation:null,onChange:null,onComplete:null};t.prototype={init:function(){var t=this,n=t.$element,s=t.settings;(e(n).find(s.decisecondsWrapper).length>0||e(n).find(s.millisecondsWrapper).length>0)&&(s.timeout=s.highspeedTimeout),null!=s.currentDateTime&&t.setCurrentDate(s.currentDateTime),e.isFunction(s.onInit)&&s.onInit.call(t),t._intervalId=setInterval(function(){t.calculate()},s.timeout),t.calculate()},calculate:function(){var t=this,n=t.settings,s=n.dayInMilliseconds,l=n.hourInMilliseconds,i=n.minuteInMilliseconds,a=n.secondInMilliseconds,r=n.decisecondInMilliseconds,o=!1;t._changed=!1,t.setTargetDate(new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second)),e.isFunction(n.beforeCalculation)&&n.beforeCalculation.call(t);var u=t.getCurrentDate(),c=t.getTargetDate(),d=u.getTime(),h=null===n.timeZone?0:(c.getTimezoneOffset()/60+n.timeZone)*n.hourInMilliseconds,m=c.getTime()-h,p=m-d,g=p;t.currentDate=u;var b=t.round(g/s);g%=s;var f=t.round(g/l);g%=l;var L=t.round(g/i);g%=i;var D=t.round(g/a),v=g%a,_=t.round(v/r);0==n.countUp?(b=t.naturalNum(b),f=t.naturalNum(f),L=t.naturalNum(L),D=t.naturalNum(D),v=t.naturalNum(v),_=t.naturalNum(_)):(b=-1*b,f=-1*f,L=-1*L,D=-1*D,v=-1*v,_=-1*_),t.days=b,t.hours=f,t.minutes=L,t.seconds=D,t.milliseconds=v,t.deciseconds=_,t.format(),t.output(),Math.floor(p/n.timeout)<=0&&0==n.countUp&&(o=!0,(null!=n.millisecondsWrapper||null!=n.decisecondsWrapper)&&(o=0>=p?!0:!1)),1==o&&(e.isFunction(n.onComplete)&&n.onComplete.call(t),clearInterval(t._intervalId)),e.isFunction(n.afterCalculation)&&n.afterCalculation.call(t)},format:function(){var e=this,t=e.settings,n=t.singularLabels,s=e.days,l=e.hours,i=e.minutes,a=e.seconds,r=e.deciseconds,o=e.milliseconds,u=t.dayLabel,c=t.hourLabel,d=t.minuteLabel,h=t.secondLabel,m=t.decisecondLabel,p=t.millisecondsLabel;1==t.leftHandZeros&&(e.days=e.strPad(s,2),e.hours=e.strPad(l,2),e.minutes=e.strPad(i,2),e.seconds=e.strPad(a,2),e.milliseconds=e.strPad(o,3)),e.daysLabel=1==s&&null!==u&&1==n?u:t.daysLabel,e.hoursLabel=1==l&&null!==c&&1==n?c:t.hoursLabel,e.minutesLabel=1==i&&null!==d&&1==n?d:t.minutesLabel,e.secondsLabel=1==a&&null!==h&&1==n?h:t.secondsLabel,e.decisecondsLabel=1==r&&null!==m&&1==n?m:t.decisecondsLabel,e.millisecondsLabel=1==o&&null!==p&&1==n?p:t.millisecondsLabel},output:function(){var t=this,n=t.settings;t.writeLabelToDom(n.daysLabelWrapper,t.daysLabel),t.writeLabelToDom(n.hoursLabelWrapper,t.hoursLabel),t.writeLabelToDom(n.minutesLabelWrapper,t.minutesLabel),t.writeLabelToDom(n.secondsLabelWrapper,t.secondsLabel),t.writeLabelToDom(n.decisecondsLabelWrapper,t.decisecondsLabel),t.writeLabelToDom(n.millisecondsLabelWrapper,t.millisecondsLabel),t.writeDigitsToDom(n.daysWrapper,t.days,"ce-days-digit"),t.writeDigitsToDom(n.hoursWrapper,t.hours,"ce-hours-digit"),t.writeDigitsToDom(n.minutesWrapper,t.minutes,"ce-minutes-digit"),t.writeDigitsToDom(n.secondsWrapper,t.seconds,"ce-seconds-digit"),t.writeDigitsToDom(n.decisecondsWrapper,t.deciseconds,"ce-dseconds-digit"),t.writeDigitsToDom(n.millisecondsWrapper,t.milliseconds,"ce-mseconds-digit"),e.isFunction(n.onChange)&&1==t._changed&&n.onChange.call(t)},pause:function(){var e=this,t=e._intervalId;t&&clearInterval(t)},resume:function(){var e=this,t=e.settings;e._intervalId=setInterval(function(){e.calculate()},t.timeout)},destroy:function(){var e=this,t=e._intervalId;t&&clearInterval(t)},getOption:function(e){return this.settings[e]},setOption:function(e,t){this.settings[e]=t,"currentDateTime"==e&&this.setCurrentDate(t)},setTargetDate:function(e){this.targetDate=e},getTargetDate:function(){return this.targetDate},setCurrentDate:function(e){this._serverDate=new Date(e),this._javaScriptDate=new Date},getCurrentDate:function(){var e,t,n=this,s=n.settings;return null!=s.currentDateTime?(e=n._serverDate-n._javaScriptDate,t=(new Date).getTime(),new Date(t+e)):new Date},round:function(e){return 0==this.settings.countUp?Math.floor(e):Math.ceil(e)},naturalNum:function(e){return 0>e?0:e},strPad:function(e,t,n){var s=e.toString();for(n||(n="0");s.length<t;)s=n+s;return s},writeLabelToDom:function(t,n){var s=this,l=e(s.$element);null==s._wrapsExists[t]&&(s._wrapsExists[t]=l.find(t).length>0?!0:!1),s._oldValues[t]!=n&&s._wrapsExists[t]&&(s._oldValues[t]=n,l.find(t).text(n),s._changed=!0)},writeDigitsToDom:function(t,n,s){var l,i,a=this,r=a.settings,o=r.wrapDigitsTag,u=e(a.$element),c=u.find(t),n=n.toString(),d=[];if(null==a._wrapsExists[t]&&(a._wrapsExists[t]=c.length>0?!0:!1),0==a._wrapsExists[t])return!1;if(1==r.wrapDigits)for(var h=0;h<n.length;h++)d[h]=n[h];else d[0]=n;if("undefined"==typeof a._oldValues[t]&&(a._oldValues[t]=[]),a._oldValues[t].length>d.length){i=a._oldValues[t].length-d.length,l=c.find(o),l.slice(0,i).remove(),l=c.find(o);for(var h=0;h<d.length;h++)l.eq(h).text(d[h]);a._changed=!0}if(a._oldValues[t].length<d.length){if(0==r.wrapDigits)c.text(d[0]);else{0==a._oldValues[t].length&&c.text("");for(var m="",h=0;h<d.length;h++)i=d.length-a._oldValues[t].length,i>h?m+="<"+o+' class="'+s+'">'+d[h]+"</"+o+">":(l=c.find(o),l.eq(h-i).text(d[h]));c.prepend(m)}a._changed=!0}if(a._oldValues[t].length==d.length)if(0==r.wrapDigits)a._oldValues[t][0]!=d[0]&&(c.text(d[0]),a._changed=!0);else for(var h=0;h<d.length;h++)a._oldValues[t][h]!=d[h]&&(l=c.find(o),l.eq(h).text(d[h]),a._changed=!0);a._oldValues[t]=[];for(var h=0;h<d.length;h++)a._oldValues[t][h]=d[h]}},e.fn[n]=function(s,l,i){var a=null,r=this.each(function(){var r=null;if(e.data(this,n)){if(r=e.data(this,n),"destroy"===s)return r.destroy(),e.data(this,n,null),void 0;var o=r[s];return"function"==typeof o&&(a=o.call(r,l,i)),!1}r=new t(this,s),e.data(this,n,r)});return a?a:r}}(jQuery,window,document);