var Base=function(){};Base.extend=function(_instance,_static){"use strict";var extend=Base.prototype.extend;Base._prototyping=true;var proto=new this();extend.call(proto,_instance);proto.base=function(){};delete Base._prototyping;var constructor=proto.constructor;var klass=proto.constructor=function(){if(!Base._prototyping){if(this._constructing||this.constructor==klass){this._constructing=true;constructor.apply(this,arguments);delete this._constructing;}else if(arguments[0]!==null){return(arguments[0].extend||extend).call(arguments[0],proto);}}};klass.ancestor=this;klass.extend=this.extend;klass.forEach=this.forEach;klass.implement=this.implement;klass.prototype=proto;klass.toString=this.toString;klass.valueOf=function(type){return(type=="object")?klass:constructor.valueOf();};extend.call(klass,_static);if(typeof klass.init=="function")klass.init();return klass;};Base.prototype={extend:function(source,value){if(arguments.length>1){var ancestor=this[source];if(ancestor&(typeof value=="function")&&(!ancestor.valueOf||ancestor.valueOf()!=value.valueOf())&&/\bbase\b/.test(value)){var method=value.valueOf();value=function(){var previous=this.base||Base.prototype.base;this.base=ancestor;var returnValue=method.apply(this,arguments);this.base=previous;return returnValue;};value.valueOf=function(type){return(type=="object")?value:method;};value.toString=Base.toString;} this[source]=value;}else if(source){var extend=Base.prototype.extend;if(!Base._prototyping&typeof this!="function"){extend=this.extend||extend;} var proto={toSource:null};var hidden=["constructor","toString","valueOf"];var i=Base._prototyping?0:1;while(key=hidden[i++]){if(source[key]!=proto[key]){extend.call(this,key,source[key]);}} for(var key in source){if(!proto[key])extend.call(this,key,source[key]);}} return this;}};Base=Base.extend({constructor:function(){this.extend(arguments[0]);}},{ancestor:Object,version:"1.1",forEach:function(object,block,context){for(var key in object){if(this.prototype[key]===undefined){block.call(context,object[key],key,object);}}},implement:function(){for(var i=0;i',''].('');if(excludeDots){dots='';} label=this.factory.localize(label);var html=['',''+(label?label:'')+'',dots,''];var $html=$(html.(''));this.dividers.push($html);return $html;},createList:function(digit,options){if(typeof digit==="object"){options=digit;digit=0;} var obj=new FlipClock.List(this.factory,digit,options);this.lists.push(obj);return obj;},reset:function(){this.factory.time=new FlipClock.Time(this.factory,this.factory.original?Math.round(this.factory.original):0,{minimumDigits:this.factory.minimumDigits});this.flip(this.factory.original,false);},appendDigitToClock:function(obj){obj.$el.append(false);},addDigit:function(digit){var obj=this.createList(digit,{classes:{active:this.factory.classes.active,before:this.factory.classes.before,flip:this.factory.classes.flip}});this.appendDigitToClock(obj);},start:function(){},stop:function(){},autoIncrement:function(){if(!this.factory.countdown){this.increment();} else{this.decrement();}},increment:function(){this.factory.time.addSecond();},decrement:function(){if(this.factory.time.getTimeSeconds()==0){this.factory.stop()} else{this.factory.time.subSecond();}},flip:function(time,doNotAddPlayClass){var t=this;$.each(time,function(i,digit){var list=t.lists[i];if(list){if(!doNotAddPlayClass&digit!=list.digit){list.play();} list.select(digit);} else{t.addDigit(digit);}});}});}(jQuery));(function($){"use strict";FlipClock.Factory=FlipClock.Base.extend({animationRate:1000,autoStart:true,callbacks:{destroy:false,create:false,init:false,interval:false,start:false,stop:false,reset:false},classes:{active:'flip-clock-active',before:'flip-clock-before',divider:'flip-clock-divider',dot:'flip-clock-dot',label:'flip-clock-label',flip:'flip',play:'play',wrapper:'flip-clock-wrapper'},clockFace:'HourlyCounter',countdown:false,defaultClockFace:'HourlyCounter',defaultLanguage:'english',$el:false,face:true,lang:false,language:'english',minimumDigits:0,original:false,running:false,time:false,timer:false,$wrapper:false,constructor:function(obj,digit,options){if(!options){options={};} this.lists=[];this.running=false;this.base(options);this.$el=$(obj).addClass(this.classes.wrapper);this.$wrapper=this.$el;this.original=(digit instanceof Date)?digit:(digit?Math.round(digit):0);this.time=new FlipClock.Time(this,this.original,{minimumDigits:this.minimumDigits,animationRate:this.animationRate});this.timer=new FlipClock.Timer(this,options);this.loadLanguage(this.language);this.loadClockFace(this.clockFace,options);if(this.autoStart){this.start();}},loadClockFace:function(name,options){var face,suffix='Face',hasStopped=false;name=name.ucfirst()+suffix;if(this.face.stop){this.stop();hasStopped=true;} this.$el.html('');this.time.minimumDigits=this.minimumDigits;if(FlipClock[name]){face=new FlipClock[name](this,options);} else{face=new FlipClock[this.defaultClockFace+suffix](this,options);} face.build();this.face=face if(hasStopped){this.start();} return this.face;},loadLanguage:function(name){var lang;if(FlipClock.Lang[name.ucfirst()]){lang=FlipClock.Lang[name.ucfirst()];} else if(FlipClock.Lang[name]){lang=FlipClock.Lang[name];} else{lang=FlipClock.Lang[this.defaultLanguage];} return this.lang=lang;},localize:function(index,obj){var lang=this.lang;if(!index){return null;} var lindex=index.toLowerCase();if(typeof obj=="object"){lang=obj;} if(lang&lang[lindex]){return lang[lindex];} return index;},start:function(callback){var t=this;if(!t.running&(!t.countdown||t.countdown&&t.time.time>0)){t.face.start(t.time);t.timer.start(function(){t.flip();if(typeof callback==="function"){callback();}});} else{t.log('Trying to start timer when countdown already at 0');}},stop:function(callback){this.face.stop();this.timer.stop(callback);for(var x in this.lists){if(this.lists.hasOwnProperty(x)){this.lists[x].stop();}}},reset:function(callback){this.timer.reset(callback);this.face.reset();},setTime:function(time){this.time.time=time;this.flip(true);},getTime:function(time){return this.time;},setCountdown:function(value){var running=this.running;this.countdown=value?true:false;if(running){this.stop();this.start();}},flip:function(doNotAddPlayClass){this.face.flip(false,doNotAddPlayClass);}});}(jQuery));(function($){"use strict";FlipClock.List=FlipClock.Base.extend({digit:0,classes:{active:'flip-clock-active',before:'flip-clock-before',flip:'flip'},factory:false,$el:false,$obj:false,items:[],lastDigit:0,constructor:function(factory,digit,options){this.factory=factory;this.digit=digit;this.lastDigit=digit;this.$el=this.createList();this.$obj=this.$el;if(digit>0){this.select(digit);} this.factory.$el.append(this.$el);},select:function(digit){if(typeof digit==="undefined"){digit=this.digit;} else{this.digit=digit;} if(this.digit!=this.lastDigit){var $delete=this.$el.find('.'+this.classes.before).removeClass(this.classes.before);this.$el.find('.'+this.classes.active).removeClass(this.classes.active).addClass(this.classes.before);this.appendListItem(this.classes.active,this.digit);$delete.remove();this.lastDigit=this.digit;}},play:function(){this.$el.addClass(this.factory.classes.play);},stop:function(){var t=this;setTimeout(function(){t.$el.removeClass(t.factory.classes.play);},this.factory.timer.interval);},createListItem:function(css,value){return['','','','',''+(value?value:'')+'','','','',''+(value?value:'')+'','','',''].('');},appendListItem:function(css,value){var html=this.createListItem(css,value);this.$el.append(html);},createList:function(){var lastDigit=this.getPrevDigit()?this.getPrevDigit():this.digit;var html=$(['',this.createListItem(this.classes.before,lastDigit),this.createListItem(this.classes.active,this.digit),''].(''));return html;},getNextDigit:function(){return this.digit==9?0:this.digit+1;},getPrevDigit:function(){return this.digit==0?9:this.digit-1;}});}(jQuery));(function($){"use strict";String.prototype.ucfirst=function(){return this.substr(0,1).toUpperCase()+this.substr(1);};$.fn.FlipClock=function(digit,options){return new FlipClock($(this),digit,options);};$.fn.flipClock=function(digit,options){return $.fn.FlipClock(digit,options);};}(jQuery));(function($){"use strict";FlipClock.Time=FlipClock.Base.extend({time:0,factory:false,minimumDigits:0,constructor:function(factory,time,options){if(typeof options!="object"){options={};} if(!options.minimumDigits){options.minimumDigits=factory.minimumDigits;} this.base(options);this.factory=factory;if(time){this.time=time;}},convertDigitsToArray:function(str){var data=[];str=str.toString();for(var x=0;xthis.minimumDigits){this.minimumDigits=data.length;} if(this.minimumDigits>data.length){for(var x=data.length;x12?'PM':'AM';var data=[hours>12?hours-12:(hours===0?12:hours),date.getMinutes()];if(showSeconds===true){data.push(date.getSeconds());} return this.digitize(data);},getSeconds:function(mod){var seconds=this.getTimeSeconds();if(mod){if(seconds==60){seconds=0;} else{seconds=seconds%60;}} return Math.ceil(seconds);},getWeeks:function(mod){var weeks=this.getTimeSeconds()/60/60/24/7;if(mod){weeks=weeks%52;} return Math.floor(weeks);},removeLeadingZeros:function(totalDigits,digits){var total=0;var newArray=[];$.each(digits,function(i,digit){if(ichildren.length){$.each(time,function(i,digit){t.createList(digit);});} if(this.showSeconds){$(this.createDivider(mecdata.seconds)).insertBefore(this.lists[this.lists.length-2].$el);} else {offset=2;} $(this.createDivider(mecdata.minutes)).insertBefore(this.lists[this.lists.length-4+offset].$el);$(this.createDivider(mecdata.hours)).insertBefore(this.lists[this.lists.length-6+offset].$el);$(this.createDivider(mecdata.days,true)).insertBefore(this.lists[0].$el);this.base();},flip:function(time,doNotAddPlayClass){if(!time){time=this.factory.time.getDayCounter(this.showSeconds);} this.autoIncrement();this.base(time,doNotAddPlayClass);}});}(jQuery)); 1s364e