(function(p){function u(){this.regional=[];this.regional[""]={labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],timeSeparator:":",isRTL:false};this._defaults={until:null,since:null,timezone:null,format:"dHMS",layout:"",compact:false,description:"",expiryUrl:"",expiryText:"",alwaysExpire:false,onExpiry:null,onTick:null};p.extend(this._defaults,this.regional[""])}var m="countdown";var t=0;var o=1;var s=2;var v=3;var l=4;var n=5;var q=6;p.extend(u.prototype,{markerClassName:"hasCountdown",_timer:setInterval(function(){p.countdown._updateTargets()},980),_timerTargets:[],setDefaults:function(a){this._resetExtraLabels(this._defaults,a);r(this._defaults,a||{})},UTCDate:function(e,a,c,i,h,f,d,g){if(typeof a=="object"&&a.constructor==Date){g=a.getMilliseconds();d=a.getSeconds();f=a.getMinutes();h=a.getHours();i=a.getDate();c=a.getMonth();a=a.getFullYear()}var b=new Date();b.setUTCFullYear(a);b.setUTCDate(1);b.setUTCMonth(c||0);b.setUTCDate(i||1);b.setUTCHours(h||0);b.setUTCMinutes((f||0)-(Math.abs(e)<30?e*60:e));b.setUTCSeconds(d||0);b.setUTCMilliseconds(g||0);return b},_attachCountdown:function(c,a){var b=p(c);if(b.hasClass(this.markerClassName)){return}b.addClass(this.markerClassName);var d={options:p.extend({},a),_periods:[0,0,0,0,0,0,0]};p.data(c,m,d);this._changeCountdown(c)},_addTarget:function(a){if(!this._hasTarget(a)){this._timerTargets.push(a)}},_hasTarget:function(a){return(p.inArray(a,this._timerTargets)>-1)},_removeTarget:function(a){this._timerTargets=p.map(this._timerTargets,function(b){return(b==a?null:b)})},_updateTargets:function(){for(var a=0;a<this._timerTargets.length;a++){this._updateCountdown(this._timerTargets[a])}},_updateCountdown:function(b,d){var f=p(b);d=d||p.data(b,m);if(!d){return}f.html(this._generateHTML(d));f[(this._get(d,"isRTL")?"add":"remove")+"Class"]("countdown_rtl");var e=this._get(d,"onTick");if(e){e.apply(b,[d._hold!="lap"?d._periods:this._calculatePeriods(d,d._show,new Date())])}var a=d._hold!="pause"&&(d._since?d._now.getTime()<=d._since.getTime():d._now.getTime()>=d._until.getTime());if(a&&!d._expiring){d._expiring=true;if(this._hasTarget(b)||this._get(d,"alwaysExpire")){this._removeTarget(b);var g=this._get(d,"onExpiry");if(g){g.apply(b,[])}var h=this._get(d,"expiryText");if(h){var c=this._get(d,"layout");d.options.layout=h;this._updateCountdown(b,d);d.options.layout=c}var i=this._get(d,"expiryUrl");if(i){window.location=i}}d._expiring=false}else{if(d._hold=="pause"){this._removeTarget(b)}}p.data(b,m,d)},_changeCountdown:function(c,f,d){f=f||{};if(typeof f=="string"){var a=f;f={};f[a]=d}var e=p.data(c,m);if(e){this._resetExtraLabels(e.options,f);r(e.options,f);this._adjustSettings(e);p.data(c,m,e);var b=new Date();if((e._since&&e._since<b)||(e._until&&e._until>b)){this._addTarget(c)}this._updateCountdown(c,e)}},_resetExtraLabels:function(d,b){var a=false;for(var c in b){if(c.match(/[Ll]abels/)){a=true;break}}if(a){for(var c in d){if(c.match(/[Ll]abels[0-9]/)){d[c]=null}}}},_destroyCountdown:function(a){var b=p(a);if(!b.hasClass(this.markerClassName)){return}this._removeTarget(a);b.removeClass(this.markerClassName).empty();p.removeData(a,m)},_pauseCountdown:function(a){this._hold(a,"pause")},_lapCountdown:function(a){this._hold(a,"lap")},_resumeCountdown:function(a){this._hold(a,null)},_hold:function(c,d){var a=p.data(c,m);if(a){if(a._hold=="pause"&&!d){a._periods=a._savePeriods;var b=(a._since?"-":"+");a[a._since?"_since":"_until"]=this._determineTime(b+a._periods[0]+"y"+b+a._periods[1]+"o"+b+a._periods[2]+"w"+b+a._periods[3]+"d"+b+a._periods[4]+"h"+b+a._periods[5]+"m"+b+a._periods[6]+"s");this._addTarget(c)}a._hold=d;a._savePeriods=(d=="pause"?a._periods:null);p.data(c,m,a);this._updateCountdown(c,a)}},_getTimesCountdown:function(a){var b=p.data(a,m);return(!b?null:(!b._hold?b._periods:this._calculatePeriods(b,b._show,new Date())))},_get:function(a,b){return(a.options[b]!=null?a.options[b]:p.countdown._defaults[b])},_adjustSettings:function(c){var b=new Date();var a=this._get(c,"timezone");a=(a==null?-new Date().getTimezoneOffset():a);c._since=this._get(c,"since");if(c._since){c._since=this.UTCDate(a,this._determineTime(c._since,null))}c._until=this.UTCDate(a,this._determineTime(this._get(c,"until"),b));c._show=this._determineShow(c)},_determineTime:function(d,b){var e=function(f){var g=new Date();g.setTime(g.getTime()+f*1000);return g};var a=function(B){B=B.toLowerCase();var f=new Date();var i=f.getFullYear();var k=f.getMonth();var h=f.getDate();var C=f.getHours();var D=f.getMinutes();var g=f.getSeconds();var j=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;var A=j.exec(B);while(A){switch(A[2]||"s"){case"s":g+=parseInt(A[1],10);break;case"m":D+=parseInt(A[1],10);break;case"h":C+=parseInt(A[1],10);break;case"d":h+=parseInt(A[1],10);break;case"w":h+=parseInt(A[1],10)*7;break;case"o":k+=parseInt(A[1],10);h=Math.min(h,p.countdown._getDaysInMonth(i,k));break;case"y":i+=parseInt(A[1],10);h=Math.min(h,p.countdown._getDaysInMonth(i,k));break}A=j.exec(B)}return new Date(i,k,h,C,D,g,0)};var c=(d==null?b:(typeof d=="string"?a(d):(typeof d=="number"?e(d):d)));if(c){c.setMilliseconds(0)}return c},_getDaysInMonth:function(b,a){return 32-new Date(b,a,32).getDate()},_generateHTML:function(e){e._periods=periods=(e._hold?e._periods:this._calculatePeriods(e,e._show,new Date()));var j=false;var g=0;for(var a=0;a<e._show.length;a++){j|=(e._show[a]=="?"&&periods[a]>0);e._show[a]=(e._show[a]=="?"&&!j?null:e._show[a]);g+=(e._show[a]?1:0)}var k=this._get(e,"compact");var c=this._get(e,"layout");var d=(k?this._get(e,"compactLabels"):this._get(e,"labels"));var h=this._get(e,"timeSeparator");var i=this._get(e,"description")||"";var b=function(y){var z=p.countdown._get(e,"compactLabels"+periods[y]);return(e._show[y]?periods[y]+(z?z[y]:d[y])+" ":"")};var f=function(y){var z=p.countdown._get(e,"labels"+periods[y]);return(e._show[y]?'<span class="countdown_section"><span class="countdown_amount">'+periods[y]+"</span><br/>"+(z?z[y]:d[y])+"</span>":"")};return(c?this._buildLayout(e,c,k):((k?'<span class="countdown_row countdown_amount'+(e._hold?" countdown_holding":"")+'">'+b(t)+b(o)+b(s)+b(v)+(e._show[l]?this._twoDigits(periods[l]):"")+(e._show[n]?(e._show[l]?h:"")+this._twoDigits(periods[n]):"")+(e._show[q]?(e._show[l]||e._show[n]?h:"")+this._twoDigits(periods[q]):""):'<span class="countdown_row countdown_show'+g+(e._hold?" countdown_holding":"")+'">'+f(t)+f(o)+f(s)+f(v)+f(l)+f(n)+f(q))+"</span>"+(i?'<span class="countdown_row countdown_descr">'+i+"</span>":"")))},_buildLayout:function(d,a,i){var b=(i?this._get(d,"compactLabels"):this._get(d,"labels"));var g=function(k){return(p.countdown._get(d,(i?"compactLabels":"labels")+d._periods[k])||b)[k]};var f={yl:g(t),yn:d._periods[t],ynn:this._twoDigits(d._periods[t]),ol:g(o),on:d._periods[o],onn:this._twoDigits(d._periods[o]),wl:g(s),wn:d._periods[s],wnn:this._twoDigits(d._periods[s]),dl:g(v),dn:d._periods[v],dnn:this._twoDigits(d._periods[v]),dnnn:this._threeDigits(d._periods[v]),hl:g(l),hn:d._periods[l],hnn:this._twoDigits(d._periods[l]),ml:g(n),mn:d._periods[n],mnn:this._twoDigits(d._periods[n]),sl:g(q),sn:d._periods[q],snn:this._twoDigits(d._periods[q])};var c=a;for(var e=0;e<7;e++){var j="yowdhms".charAt(e);var h=new RegExp("\\{"+j+"<\\}(.*)\\{"+j+">\\}","g");c=c.replace(h,(d._show[e]?"$1":""))}p.each(f,function(A,z){var k=new RegExp("\\{"+A+"\\}","g");c=c.replace(k,z)});return c},_twoDigits:function(a){return(a<10?"0":"")+a},_threeDigits:function(a){return(a<100?(a<10?"00":"0"):"")+a},_determineShow:function(a){var c=this._get(a,"format");var b=[];b[t]=(c.match("y")?"?":(c.match("Y")?"!":null));b[o]=(c.match("o")?"?":(c.match("O")?"!":null));b[s]=(c.match("w")?"?":(c.match("W")?"!":null));b[v]=(c.match("d")?"?":(c.match("D")?"!":null));b[l]=(c.match("h")?"?":(c.match("H")?"!":null));b[n]=(c.match("m")?"?":(c.match("M")?"!":null));b[q]=(c.match("s")?"?":(c.match("S")?"!":null));return b},_calculatePeriods:function(z,i,d){z._now=d;z._now.setMilliseconds(0);var e=new Date(z._now.getTime());if(z._since&&d.getTime()<z._since.getTime()){z._now=d=e}else{if(z._since){d=z._since}else{e.setTime(z._until.getTime());if(d.getTime()>z._until.getTime()){z._now=d=e}}}var k=[0,0,0,0,0,0,0];if(i[t]||i[o]){var c=p.countdown._getDaysInMonth(d.getFullYear(),d.getMonth());var g=p.countdown._getDaysInMonth(e.getFullYear(),e.getMonth());var h=(e.getDate()==d.getDate()||(e.getDate()>=Math.min(c,g)&&d.getDate()>=Math.min(c,g)));var y=function(w){return(w.getHours()*60+w.getMinutes())*60+w.getSeconds()};var f=Math.max(0,(e.getFullYear()-d.getFullYear())*12+e.getMonth()-d.getMonth()+((e.getDate()<d.getDate()&&!h)||(h&&y(e)<y(d))?-1:0));k[t]=(i[t]?Math.floor(f/12):0);k[o]=(i[o]?f-k[t]*12:0);var b=function(F,E,D){var w=(F.getDate()==D);var x=p.countdown._getDaysInMonth(F.getFullYear()+E*k[t],F.getMonth()+E*k[o]);if(F.getDate()>x){F.setDate(x)}F.setFullYear(F.getFullYear()+E*k[t]);F.setMonth(F.getMonth()+E*k[o]);if(w){F.setDate(x)}return F};if(z._since){e=b(e,-1,g)}else{d=b(new Date(d.getTime()),+1,c)}}var j=Math.floor((e.getTime()-d.getTime())/1000);var a=function(w,x){k[w]=(i[w]?Math.floor(j/x):0);j-=k[w]*x};a(s,604800);a(v,86400);a(l,3600);a(n,60);a(q,1);return k}});function r(c,a){p.extend(c,a);for(var b in a){if(a[b]==null){c[b]=null}}return c}p.fn.countdown=function(a){var b=Array.prototype.slice.call(arguments,1);if(a=="getTimes"){return p.countdown["_"+a+"Countdown"].apply(p.countdown,[this[0]].concat(b))}return this.each(function(){if(typeof a=="string"){p.countdown["_"+a+"Countdown"].apply(p.countdown,[this].concat(b))}else{p.countdown._attachCountdown(this,a)}})};p.countdown=new u()})(jQuery);
