/*
 * jQuery The Final Countdown plugin v2.0.0
 * http://github.com/hilios/jquery.countdown
 *
 * Copyright (c) 2011 Edson Hilios
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){if(a instanceof Date)return a;if(String(a).match(e))return String(a).match(/^[0-9]*$/)&&(a=Number(a)),new Date(a);throw new Error("Couldn't cast `"+a+"` to a date object.")}var c=100,d={},e=[];e.push(/^[0-9]*$/.source),e.push(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})\s([0-9]{1,2})\:([0-9]{2})\:([0-9]{2})/.source),e.push(/([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{2,4})/.source),e.push(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})\s([0-9]{1,2})\:([0-9]{2})\:([0-9]{2})/.source),e.push(/([0-9]{2,4})\/([0-9]{1,2})\/([0-9]{1,2})/.source),e=new RegExp(e.join("|"));var f=function(c,d,e){this.el=c,this.$el=a(c),this.interval=null,this.offset={},this.currentDate=new Date,this.finalDate=b(d),this.totalSecsLeft=Math.floor((this.finalDate.valueOf()-this.currentDate.valueOf())/1e3),e&&(this.$el.on("update.countdown",e),this.$el.on("stoped.countdown",e),this.$el.on("finish.countdown",e)),this.start()};a.extend(f.prototype,{start:function(){var a=this;this.update(),this.interval=setInterval(function(){a.update.call(a)},c)},stop:function(){clearInterval(this.interval),this.dispatchEvent("stoped")},remove:function(){this.stop(),delete d[this.el]},update:function(){return 0===this.$el.closest("html").length?(this.remove(),void 0):(this.totalSecsLeft-=1,this.totalSecsLeft=this.totalSecsLeft<0?0:this.totalSecsLeft,this.offset={seconds:this.totalSecsLeft%60,minutes:Math.floor(this.totalSecsLeft/60)%60,hours:Math.floor(this.totalSecsLeft/60/60)%24,days:Math.floor(this.totalSecsLeft/60/60/24)%7,weeks:Math.floor(this.totalSecsLeft/60/60/24/7),fullDays:Math.floor(this.totalSecsLeft/60/60/24)},0===this.totalSecsLeft?(this.stop(),this.dispatchEvent("finish")):this.dispatchEvent("update"),void 0)},dispatchEvent:function(b){var c=a.Event(b+".countdown");c.currentDate=new Date((new Date).valueOf()+this.totalSecsLeft),c.finalDate=this.finalDate,c.offset=this.offset,this.$el.trigger(c)}}),a.fn.countdown=function(){var b=Array.prototype.slice.call(arguments,0);return this.each(function(){if(d.hasOwnProperty(this)){var c=b[0];if(f.prototype[c])return d[this][c].apply(d[this],b.slice(1));a.error("Method %s does not exist on jQuery.countdown".replace(/\%s/gi,c))}else d[this]=new f(this,b[0],b[1])})}});
@@ -2238,24 +2238,97 @@
 :function()%7B
+if(null!==this.interval)throw new Error(%22Countdown is already running!%22);
 var a=this;t
@@ -2445,24 +2445,43 @@
 erval),this.
+interval=null,this.
 dispatchEven
@@ -2493,16 +2493,96 @@
 oped%22)%7D,
+pause:function()%7Bthis.stop.call(this)%7D,resume:function()%7Bthis.start.call(this)%7D,
 remove:f
@@ -3235,72 +3235,8 @@
 );c.
-currentDate=new Date((new Date).valueOf()+this.totalSecsLeft),c.
 fina
@@ -3276,16 +3276,58 @@
 s.offset
+,c.offsetDate=new Date(this.totalSecsLeft)
 ,this.$e

Build source