/*! * epiClock 3.0 * * Copyright (c) 2008 Eric Garside (http://eric.garside.name) * Dual licensed under: * MIT: http://www.opensource.org/licenses/mit-license.php * GPLv3: http://www.opensource.org/licenses/gpl-3.0.html */ "use strict";(function($){var months=['January','February','March','April','May','June','July','August','September','October','November','December'],days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],counts=[31,28,31,30,31,30,31,31,30,31,30,31],suffix=[null,'st','nd','rd'],_;function pad(format,string,length) {format=format+'';length=length||2;return format.length=0?'+':'-')+Math.abs(t),0),0,4);},P:function() {var t=_.O.apply(this);return t.subst(0,3)+':'+t.substr(3);},Z:function() {return this.getTimezoneOffset()*60;},c:function() {return _.Y.apply(this)+'-'+_.m.apply(this)+'-'+_.d.apply(this)+'T'+_.H.apply(this)+':'+_.i.apply(this)+':'+_.s.apply(this)+_.P.apply(this);},r:function() {return this.toString();},U:function() {return this.getTime()/1e3;}};$.extend(Date.prototype,{format:function(format) {return formatDate(this,format);}});$.dateformat={rules:function(custom) {if(custom!==undefined) {_=$.extend(_,custom);} return _;},hasRule:function(rule) {return _[rule]!==undefined;},get:function(type,date) {return _[type].apply(date||new Date());},format:function(format,date) {return formatDate(date||new Date(),format);},pad:pad,rpad:rpad};}(jQuery));"use strict";(function($){var mode={clock:'clock',explicit:'explicit',countdown:'countdown',countup:'countup',rollover:'rollover',expire:'expire',loop:'loop',stopwatch:'stopwatch',holdup:'holdup',timer:'timer'},_=function(selector) {return $(selector).data('epiclock');},events={},instances={},uid=0,now,zero=new Date(0),intervalID,Clock=function() {this.__uid=uid++;instances[this.__uid]={clock:this,frame:{}};};function triggerEvent(uid,event,params) {instances[uid].clock.container.triggerHandler(event,params);if(events[uid]===undefined||events[uid][event]===undefined) {return;} $.each(events[uid][event],function(index,value) {if($.isFunction(value)) {value.apply(instances[uid].clock,params||[]);}});} function terminate(clock,current) {triggerEvent(clock.__uid,'timer');switch(clock.mode) {case mode.holdup:case mode.rollover:clock.mode=mode.countup;clock.restart(0);return zero;case mode.expire:case mode.countdown:case mode.timer:clock.destroy();return zero;case mode.loop:clock.restart();return zero;}} function tick(clock) {if(clock.__paused!==undefined&&clock.mode) {return false;} var current=now+clock.__displacement,days;switch(clock.mode) {case mode.holdup:current-=clock.time;if(current>0||current>-1e3) {return terminate(clock,current);} return zero;case mode.countup:case mode.stopwatch:current-=clock.time;break;case mode.explicit:current+=clock.time;break;case mode.rollover:case mode.loop:case mode.expire:case mode.countdown:case mode.timer:current=clock.time-current;if(current<1e3) {return terminate(clock,current);} break;} if(clock.displayOffset!==undefined) {days=parseInt($.dateformat.get('V',current),10);if(days>clock.__days_added) {clock.__days_added=days;clock.displayOffset.days+=days;if(clock.displayOffset.days>=365) {clock.displayOffset.years+=Math.floor(clock.displayOffset.days/365.4%365.4);clock.displayOffset.days=Math.floor(clock.displayOffset.days%365.4);}}} return new Date(current);} function evaluate(clock,symbol,current) {switch(symbol) {case'Q':return clock.displayOffset.years;case'E':return clock.displayOffset.days;case'e':return $.dateformat.pad(clock.displayOffset.days,0);default:return $.dateformat.get(symbol,current);}} function defaultRenderer(frame,value) {frame.text(value);} function render(clock) {var time=tick(clock);if(time===false) {return false;} $.each(instances[clock.__uid].frame,function(symbol,frame) {var value=evaluate(clock,symbol,time)+'';if(frame.data('epiclock-last')!==value) {(clock.__render||defaultRenderer)(frame,value);} frame.data('epiclock-last',value);});triggerEvent(clock.__uid,'rendered');if(clock.container.hasClass('epiclock-wait-for-render')) {clock.container.removeClass('epiclock-wait-for-render');}} function cycleClocks() {now=new Date().valueOf();$.each(instances,function() {render(this.clock);if(this.clock.__destroy) {this.clock.container.removeData('epiclock');delete instances[this.clock.__uid];}});} function startManager() {if(intervalID!==undefined) {return;} $.each(instances,function() {this.clock.resume();});intervalID=setInterval(cycleClocks,_.precision);} function haltManager() {clearInterval(intervalID);intervalID=undefined;$.each(instances,function() {this.clock.pause();});} function defaultFormat(format) {switch(format) {case mode.clock:case mode.explicit:return'F j, Y g:i:s a';case mode.countdown:return'V{d} x{h} i{m} s{s}';case mode.countup:return'Q{y} K{d} x{h} i{m} s{s}';case mode.rollover:return'V{d} x{h} i{m} s{s}';case mode.expire:case mode.timer:return'x{h} i{m} s{s}';case mode.loop:return'i{m} s{s}';case mode.stopwatch:return'x{h} C{m} s{s}';case mode.holdup:return'Q{y} K{d} x{h} i{m} s{s}';}} function configureInstance(properties) {var clock=new Clock(),modifier=1;clock.mode=properties.mode||mode.clock;if(properties.offset!==undefined) {clock.__offset=((properties.offset.years||0)*3157056e4+ (properties.offset.days||0)*864e5+ (properties.offset.hours||0)*36e5+ (properties.offset.minutes||0)*6e4+ (properties.offset.seconds||0)*1e3);} if(properties.startpaused) {clock.__paused=new Date().valueOf();} clock.__displacement=properties.utc===true||properties.gmt===true?new Date().getTimezoneOffset()*6e4:0;clock.__render=$.isFunction(properties.renderer)?properties.renderer:_.renderers[properties.renderer];clock.__days_added=0;clock.__tare=properties.tare||false;clock.format=properties.format||defaultFormat(clock.mode);clock.time=(properties.time||properties.target?new Date(properties.time||properties.target):new Date()).valueOf();clock.displayOffset=$.extend({years:0,days:0},properties.displayOffset);switch(clock.mode) {case mode.clock:case mode.countup:break;case mode.explicit:clock.__displacement-=new Date().valueOf();break;case mode.timer:case mode.loop:modifier=-1;clock.__tare=true;clock.__displacement-=1e3;break;case mode.expire:case mode.countdown:case mode.rollover:modifier=-1;clock.__displacement-=1e3;break;case mode.holdup:if(clock.time');for(;index0) {template=container.children().remove().eq(0);} $.epiclock.make(properties,container,template);});};}(jQuery));