1/*global window */ 2/** 3 * @license countdown.js v2.3.4 http://countdownjs.org 4 * Copyright (c)2006-2012 Stephen M. McKamey. 5 * Licensed under The MIT License. 6 */ 7var module;var countdown=(function(module){'use strict';var MILLISECONDS=0x001;var SECONDS=0x002;var MINUTES=0x004;var HOURS=0x008;var DAYS=0x010;var WEEKS=0x020;var MONTHS=0x040;var YEARS=0x080;var DECADES=0x100;var CENTURIES=0x200;var MILLENNIA=0x400;var DEFAULTS=YEARS|MONTHS|DAYS|HOURS|MINUTES|SECONDS;var MILLISECONDS_PER_SECOND=1000;var SECONDS_PER_MINUTE=60;var MINUTES_PER_HOUR=60;var HOURS_PER_DAY=24;var MILLISECONDS_PER_DAY=HOURS_PER_DAY*MINUTES_PER_HOUR*SECONDS_PER_MINUTE*MILLISECONDS_PER_SECOND;var DAYS_PER_WEEK=7;var MONTHS_PER_YEAR=12;var YEARS_PER_DECADE=10;var DECADES_PER_CENTURY=10;var CENTURIES_PER_MILLENNIUM=10;var ceil=Math.ceil;var floor=Math.floor;function borrowMonths(ref,shift){var prevTime=ref.getTime();ref.setUTCMonth(ref.getUTCMonth()+shift);return Math.round((ref.getTime()-prevTime)/MILLISECONDS_PER_DAY)} 8function daysPerMonth(ref){var a=ref.getTime();var b=new Date(a);b.setUTCMonth(ref.getUTCMonth()+1);return Math.round((b.getTime()-a)/MILLISECONDS_PER_DAY)} 9function daysPerYear(ref){var a=ref.getTime();var b=new Date(a);b.setUTCFullYear(ref.getUTCFullYear()+1);return Math.round((b.getTime()-a)/MILLISECONDS_PER_DAY)} 10var LABEL_MILLISECONDS=0;var LABEL_SECONDS=1;var LABEL_MINUTES=2;var LABEL_HOURS=3;var LABEL_DAYS=4;var LABEL_WEEKS=5;var LABEL_MONTHS=6;var LABEL_YEARS=7;var LABEL_DECADES=8;var LABEL_CENTURIES=9;var LABEL_MILLENNIA=10;var LABELS_SINGLUAR;var LABELS_PLURAL;function plurality(value,unit){return{unit:unit,value:value}} 11var formatList;function Timespan(){} 12Timespan.prototype.toString=function(){var label=formatList(this);return label};Timespan.prototype.toHTML=function(tag){tag=tag||'span';var label=formatList(this);var count=label.length;if(!count){return''} 13for(var i=0;i<count;i++){label[i]='<'+tag+'>'+label[i]+'</'+tag+'>'} 14if(--count){label[count]='and '+label[count]} 15return label.join(', ')};formatList=function(ts){var list={};var value=ts.millennia;if(value){list[LABEL_MILLENNIA]=value} 16value=ts.centuries;if(value){list[LABEL_CENTURIES]=value} 17value=ts.decades;if(value){list[LABEL_DECADES]=value} 18value=ts.years;if(value){list[LABEL_YEARS]=value} 19value=ts.months;if(value){list[LABEL_MONTHS]=value} 20value=ts.weeks;if(value){list[LABEL_WEEKS]=value} 21value=ts.days;if(value){list[LABEL_DAYS]=value} 22value=ts.hours;if(value){list[LABEL_HOURS]=value} 23value=ts.minutes;if(value){list[LABEL_MINUTES]=value} 24value=ts.seconds;if(value){list[LABEL_SECONDS]=value} 25value=ts.milliseconds;if(value){list[LABEL_MILLISECONDS]=value} 26return list};function rippleRounded(ts,toUnit){switch(toUnit){case 'seconds':if(ts.seconds!==SECONDS_PER_MINUTE||isNaN(ts.minutes)){return} 27ts.minutes++;ts.seconds=0;case 'minutes':if(ts.minutes!==MINUTES_PER_HOUR||isNaN(ts.hours)){return} 28ts.hours++;ts.minutes=0;case 'hours':if(ts.hours!==HOURS_PER_DAY||isNaN(ts.days)){return} 29ts.days++;ts.hours=0;case 'days':if(ts.days!==DAYS_PER_WEEK||isNaN(ts.weeks)){return} 30ts.weeks++;ts.days=0;case 'weeks':if(ts.weeks!==daysPerMonth(ts.refMonth)/DAYS_PER_WEEK||isNaN(ts.months)){return} 31ts.months++;ts.weeks=0;case 'months':if(ts.months!==MONTHS_PER_YEAR||isNaN(ts.years)){return} 32ts.years++;ts.months=0;case 'years':if(ts.years!==YEARS_PER_DECADE||isNaN(ts.decades)){return} 33ts.decades++;ts.years=0;case 'decades':if(ts.decades!==DECADES_PER_CENTURY||isNaN(ts.centuries)){return} 34ts.centuries++;ts.decades=0;case 'centuries':if(ts.centuries!==CENTURIES_PER_MILLENNIUM||isNaN(ts.millennia)){return} 35ts.millennia++;ts.centuries=0}} 36function fraction(ts,frac,fromUnit,toUnit,conversion,digits){if(ts[fromUnit]>=0){frac+=ts[fromUnit];delete ts[fromUnit]} 37frac/=conversion;if(frac+1<=1){return 0} 38if(ts[toUnit]>=0){ts[toUnit]=+(ts[toUnit]+frac).toFixed(digits);rippleRounded(ts,toUnit);return 0} 39return frac} 40function fractional(ts,digits){var frac=fraction(ts,0,'milliseconds','seconds',MILLISECONDS_PER_SECOND,digits);if(!frac){return} 41frac=fraction(ts,frac,'seconds','minutes',SECONDS_PER_MINUTE,digits);if(!frac){return} 42frac=fraction(ts,frac,'minutes','hours',MINUTES_PER_HOUR,digits);if(!frac){return} 43frac=fraction(ts,frac,'hours','days',HOURS_PER_DAY,digits);if(!frac){return} 44frac=fraction(ts,frac,'days','weeks',DAYS_PER_WEEK,digits);if(!frac){return} 45frac=fraction(ts,frac,'weeks','months',daysPerMonth(ts.refMonth)/DAYS_PER_WEEK,digits);if(!frac){return} 46frac=fraction(ts,frac,'months','years',daysPerYear(ts.refMonth)/daysPerMonth(ts.refMonth),digits);if(!frac){return} 47frac=fraction(ts,frac,'years','decades',YEARS_PER_DECADE,digits);if(!frac){return} 48frac=fraction(ts,frac,'decades','centuries',DECADES_PER_CENTURY,digits);if(!frac){return} 49frac=fraction(ts,frac,'centuries','millennia',CENTURIES_PER_MILLENNIUM,digits);if(frac){throw new Error('Fractional unit overflow')}} 50function ripple(ts){var x;if(ts.milliseconds<0){x=ceil(-ts.milliseconds/MILLISECONDS_PER_SECOND);ts.seconds-=x;ts.milliseconds+=x*MILLISECONDS_PER_SECOND}else if(ts.milliseconds>=MILLISECONDS_PER_SECOND){ts.seconds+=floor(ts.milliseconds/MILLISECONDS_PER_SECOND);ts.milliseconds%=MILLISECONDS_PER_SECOND} 51if(ts.seconds<0){x=ceil(-ts.seconds/SECONDS_PER_MINUTE);ts.minutes-=x;ts.seconds+=x*SECONDS_PER_MINUTE}else if(ts.seconds>=SECONDS_PER_MINUTE){ts.minutes+=floor(ts.seconds/SECONDS_PER_MINUTE);ts.seconds%=SECONDS_PER_MINUTE} 52if(ts.minutes<0){x=ceil(-ts.minutes/MINUTES_PER_HOUR);ts.hours-=x;ts.minutes+=x*MINUTES_PER_HOUR}else if(ts.minutes>=MINUTES_PER_HOUR){ts.hours+=floor(ts.minutes/MINUTES_PER_HOUR);ts.minutes%=MINUTES_PER_HOUR} 53if(ts.hours<0){x=ceil(-ts.hours/HOURS_PER_DAY);ts.days-=x;ts.hours+=x*HOURS_PER_DAY}else if(ts.hours>
53=HOURS_PER_DAY){ts.days+=floor(ts.hours/HOURS_PER_DAY);ts.hours%=HOURS_PER_DAY} 54while(ts.days<0){ts.months--;ts.days+=borrowMonths(ts.refMonth,1)} 55if(ts.days>=DAYS_PER_WEEK){ts.weeks+=floor(ts.days/DAYS_PER_WEEK);ts.days%=DAYS_PER_WEEK} 56if(ts.months<0){x=ceil(-ts.months/MONTHS_PER_YEAR);ts.years-=x;ts.months+=x*MONTHS_PER_YEAR}else if(ts.months>=MONTHS_PER_YEAR){ts.years+=floor(ts.months/MONTHS_PER_YEAR);ts.months%=MONTHS_PER_YEAR} 57if(ts.years>=YEARS_PER_DECADE){ts.decades+=floor(ts.years/YEARS_PER_DECADE);ts.years%=YEARS_PER_DECADE;if(ts.decades>=DECADES_PER_CENTURY){ts.centuries+=floor(ts.decades/DECADES_PER_CENTURY);ts.decades%=DECADES_PER_CENTURY;if(ts.centuries>=CENTURIES_PER_MILLENNIUM){ts.millennia+=floor(ts.centuries/CENTURIES_PER_MILLENNIUM);ts.centuries%=CENTURIES_PER_MILLENNIUM}}}} 58function pruneUnits(ts,units,max,digits){var count=0;if(!(units&MILLENNIA)||(count>=max)){ts.centuries+=ts.millennia*CENTURIES_PER_MILLENNIUM;delete ts.millennia}else if(ts.millennia){count++} 59if(!(units&CENTURIES)||(count>=max)){ts.decades+=ts.centuries*DECADES_PER_CENTURY;delete ts.centuries}else if(ts.centuries){count++} 60if(!(units&DECADES)||(count>=max)){ts.years+=ts.decades*YEARS_PER_DECADE;delete ts.decades}else if(ts.decades){count++} 61if(!(units&YEARS)||(count>=max)){ts.months+=ts.years*MONTHS_PER_YEAR;delete ts.years}else if(ts.years){count++} 62if(!(units&MONTHS)||(count>=max)){if(ts.months){ts.days+=borrowMonths(ts.refMonth,ts.months)} 63delete ts.months;if(ts.days>=DAYS_PER_WEEK){ts.weeks+=floor(ts.days/DAYS_PER_WEEK);ts.days%=DAYS_PER_WEEK}}else if(ts.months){count++} 64if(!(units&WEEKS)||(count>=max)){ts.days+=ts.weeks*DAYS_PER_WEEK;delete ts.weeks}else if(ts.weeks){count++} 65if(!(units&DAYS)||(count>=max)){ts.hours+=ts.days*HOURS_PER_DAY;delete ts.days}else if(ts.days){count++} 66if(!(units&HOURS)||(count>=max)){ts.minutes+=ts.hours*MINUTES_PER_HOUR;delete ts.hours}else if(ts.hours){count++} 67if(!(units&MINUTES)||(count>=max)){ts.seconds+=ts.minutes*SECONDS_PER_MINUTE;delete ts.minutes}else if(ts.minutes){count++} 68if(!(units&SECONDS)||(count>=max)){ts.milliseconds+=ts.seconds*MILLISECONDS_PER_SECOND;delete ts.seconds}else if(ts.seconds){count++} 69if(!(units&MILLISECONDS)||(count>=max)){fractional(ts,digits)}} 70function populate(ts,start,end,units,max,digits){ts.start=start;ts.end=end;ts.units=units;ts.value=end.getTime()-start.getTime();if(ts.value<0){var temp=end;end=start;start=temp} 71ts.refMonth=new Date(start.getFullYear(),start.getMonth(),15);try{ts.millennia=0;ts.centuries=0;ts.decades=0;ts.years=end.getUTCFullYear()-start.getUTCFullYear();ts.months=end.getUTCMonth()-start.getUTCMonth();ts.weeks=0;ts.days=end.getUTCDate()-start.getUTCDate();ts.hours=end.getUTCHours()-start.getUTCHours();ts.minutes=end.getUTCMinutes()-start.getUTCMinutes();ts.seconds=end.getUTCSeconds()-start.getUTCSeconds();ts.milliseconds=end.getUTCMilliseconds()-start.getUTCMilliseconds();ripple(ts);pruneUnits(ts,units,max,digits)}finally{delete ts.refMonth} 72return ts} 73function getDelay(units){if(units&MILLISECONDS){return MILLISECONDS_PER_SECOND/30} 74if(units&SECONDS){return MILLISECONDS_PER_SECOND} 75if(units&MINUTES){return MILLISECONDS_PER_SECOND*SECONDS_PER_MINUTE} 76if(units&HOURS){return MILLISECONDS_PER_SECOND*SECONDS_PER_MINUTE*MINUTES_PER_HOUR} 77if(units&DAYS){return MILLISECONDS_PER_SECOND*SECONDS_PER_MINUTE*MINUTES_PER_HOUR*HOURS_PER_DAY} 78return MILLISECONDS_PER_SECOND*SECONDS_PER_MINUTE*MINUTES_PER_HOUR*HOURS_PER_DAY*DAYS_PER_WEEK} 79function countdown(start,end,units,max,digits){var callback;units=+units||DEFAULTS;max=(max>0)?max:NaN;digits=(digits>0)?(digits<20)?Math.round(digits):20:0;if('function'===typeof start){callback=start;start=null}else if(!(start instanceof Date)){start=(start!==null&&isFinite(start))?new Date(start):null} 80if('function'===typeof end){callback=end;end=null}else if(!(end instanceof Date)){end=(end!==null&&isFinite(end))?new Date(end):null} 81if(!start&&!end){return new Timespan()} 82if(!callback){return populate(new Timespan(),(start||new Date()),(end||new Date()),units,max,digits)}
83var delay=getDelay(units),timerId,fn=function(){callback(populate(new Timespan(),(start||new Date()),(end||new Date()),units,max,digits),timerId)};fn();return(timerId=setInterval(fn,delay))} 84countdown.MILLISECONDS=MILLISECONDS;countdown.SECONDS=SECONDS;countdown.MINUTES=MINUTES;countdown.HOURS=HOURS;countdown.DAYS=DAYS;countdown.WEEKS=WEEKS;countdown.MONTHS=MONTHS;countdown.YEARS=YEARS;countdown.DECADES=DECADES;countdown.CENTURIES=CENTURIES;countdown.MILLENNIA=MILLENNIA;countdown.DEFAULTS=DEFAULTS;countdown.ALL=MILLENNIA|CENTURIES|DECADES|YEARS|MONTHS|WEEKS|DAYS|HOURS|MINUTES|SECONDS|MILLISECONDS;var setLabels=countdown.setLabels=function(singular,plural){singular=singular||[];if(singular.split){singular=singular.split('|')} 85plural=plural||[];if(plural.split){plural=plural.split('|')} 86for(var i=LABEL_MILLISECONDS;i<=LABEL_MILLENNIA;i++){LABELS_SINGLUAR[i]=singular[i]||LABELS_SINGLUAR[i];LABELS_PLURAL[i]=plural[i]||LABELS_PLURAL[i]}};var resetLabels=countdown.resetLabels=function(){LABELS_SINGLUAR='millisecond|second|minute|hour|day|week|month|year|decade|century|millennium'.split('|');LABELS_PLURAL='milliseconds|seconds|minutes|hours|days|weeks|months|years|decades|centuries|millennia'.split('|')};resetLabels();if(module&&module.exports){module.exports=countdown}else if(typeof window.define==='function'&&window.define.amd){window.define('countdown',[],function(){return countdown})} 87return countdown})(module)
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.