/cody/learning-zone/website-templates/next-responsive-coming-soon-bootstrap-template/js/jquery.countdown.js
// Generated by CoffeeScript 1.4.0
/*countdown is a simple jquery plugin for countdowns
Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)and GPL-3.0 (http://opensource.org/licenses/GPL-3.0) licenses.
@source: http://github.com/rendro/countdown/@autor: Robert Fleischmann@version: 1.0.1*/

(function() {
  (function($) {    $.countdown = function(el, options) {      var getDateData,        _this = this;      this.el = el;      this.$el = $(el);      this.$el.data("countdown", this);      this.init = function() {        _this.options = $.extend({}, $.countdown.defaultOptions, options);        if (_this.options.refresh) {          _this.interval = setInterval(function() {            return _this.render();          }, _this.options.refresh);        }        _this.render();        return _this;      };      getDateData = function(endDate) {        var dateData, diff;        endDate = Date.parse($.isPlainObject(_this.options.date) ? _this.options.date : new Date(_this.options.date));        diff = (endDate - Date.parse(new Date)) / 1000;        if (diff <= 0) {          diff = 0;          if (_this.interval) {            _this.stop();          }          _this.options.onEnd.apply(_this);        }        dateData = {          years: 0,          days: 0,          hours: 0,          min: 0,          sec: 0,          millisec: 0        };        if (diff >= (365.25 * 86400)) {          dateData.years = Math.floor(diff / (365.25 * 86400));          diff -= dateData.years * 365.25 * 86400;        }        if (diff >= 86400) {          dateData.days = Math.floor(diff / 86400);          diff -= dateData.days * 86400;        }        if (diff >= 3600) {          dateData.hours = Math.floor(diff / 3600);          diff -= dateData.hours * 3600;        }        if (diff >= 60) {          dateData.min = Math.floor(diff / 60);          diff -= dateData.min * 60;        }        dateData.sec = diff;        return dateData;      };      this.leadingZeros = function(num, length) {        if (length == null) {          length = 2;        }        num = String(num);        while (num.length < length) {          num = "0" + num;        }        return num;      };      this.update = function(newDate) {        _this.options.date = newDate;        return _this;      };      this.render = function() {        _this.options.render.apply(_this, [getDateData(_this.options.date)]);        return _this;      };      this.stop = function() {        if (_this.interval) {          clearInterval(_this.interval);        }        _this.interval = null;        return _this;      };      this.start = function(refresh) {        if (refresh == null) {          refresh = _this.options.refresh || $.countdown.defaultOptions.refresh;        }        if (_this.interval) {          clearInterval(_this.interval);        }        _this.render();        _this.options.refresh = refresh;        _this.interval = setInterval(function() {          return _this.render();        }, _this.options.refresh);        return _this;      };      return this.init();    };    $.countdown.defaultOptions = {      date: "June 7, 2087 15:03:25",      refresh: 1000,      onEnd: $.noop,      render: function(date) {        return $(this.el).html("" + date.years + " years, " + date.days + " days, " + (this.leadingZeros(date.hours)) + " hours, " + (this.leadingZeros(date.min)) + " min and " + (this.leadingZeros(date.sec)) + " sec");      }    };    $.fn.countdown = function(options) {      return $.each(this, function(i, el) {        var $el;        $el = $(el);        if (!$el.data('countdown')) {          return $el.data('countdown', new $.countdown(el, options));        }      });    };    return void 0;  })(jQuery);
}).call(this);