<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*
    A simple jQuery ovaModal (http://github.com/kylefox/jquery-ovaModal)
    Version 0.9.2
*/

(function (factory) {
  // Making your jQuery plugin work better with npm tools
  // http://blog.npmjs.org/post/112712169830/making-your-jquery-plugin-work-better-with-npm
  if(typeof module === "object" &amp;&amp; typeof module.exports === "object") {
    factory(require("jquery"), window, document);
  }
  else {
    factory(jQuery, window, document);
  }
}(function($, window, document, undefined) {

  var ovaModals = [],
      getCurrent = function() {
        return ovaModals.length ? ovaModals[ovaModals.length - 1] : null;
      },
      selectCurrent = function() {
        var i,
            selected = false;
        for (i=ovaModals.length-1; i&gt;=0; i--) {
          if (ovaModals[i].$blocker) {
            ovaModals[i].$blocker.toggleClass('current',!selected).toggleClass('behind',selected);
            selected = true;
          }
        }
      };

  $.ovaModal = function(el, options) {
    var remove, target;
    this.$body = $('body');
    this.options = $.extend({}, $.ovaModal.defaults, options);
    this.options.doFade = !isNaN(parseInt(this.options.fadeDuration, 10));
    this.$blocker = null;
    if (this.options.closeExisting)
      while ($.ovaModal.isActive())
        $.ovaModal.close(); // Close any open ovaModals.
    ovaModals.push(this);
    if (el.is('a')) {
      target = el.attr('href');
      this.anchor = el;
      //Select element by id from href
      if (/^#/.test(target)) {
        this.$elm = $(target);
        if (this.$elm.length !== 1) return null;
        this.$body.append(this.$elm);
        this.open();
      //AJAX
      } else {
        this.$elm = $('&lt;div&gt;');
        this.$body.append(this.$elm);
        remove = function(event, ovaModal) { ovaModal.elm.remove(); };
        this.showSpinner();
        el.trigger($.ovaModal.AJAX_SEND);
        $.get(target).done(function(html) {
          if (!$.ovaModal.isActive()) return;
          el.trigger($.ovaModal.AJAX_SUCCESS);
          var current = getCurrent();
          current.$elm.empty().append(html).on($.ovaModal.CLOSE, remove);
          current.hideSpinner();
          current.open();
          el.trigger($.ovaModal.AJAX_COMPLETE);
        }).fail(function() {
          el.trigger($.ovaModal.AJAX_FAIL);
          var current = getCurrent();
          current.hideSpinner();
          ovaModals.pop(); // remove expected ovaModal from the list
          el.trigger($.ovaModal.AJAX_COMPLETE);
        });
      }
    } else {
      this.$elm = el;
      this.anchor = el;
      this.$body.append(this.$elm);
      this.open();
    }
  };

  $.ovaModal.prototype = {
    constructor: $.ovaModal,

    open: function() {
      var m = this;
      this.block();
      this.anchor.blur();
      if(this.options.doFade) {
        setTimeout(function() {
          m.show();
        }, this.options.fadeDuration * this.options.fadeDelay);
      } else {
        this.show();
      }
      $(document).off('keydown.ovaModal').on('keydown.ovaModal', function(event) {
        var current = getCurrent();
        if (event.which === 27 &amp;&amp; current.options.escapeClose) current.close();
      });
      if (this.options.clickClose)
        this.$blocker.click(function(e) {
          if (e.target === this)
            $.ovaModal.close();
        });
    },

    close: function() {
      ovaModals.pop();
      this.unblock();
      this.hide();
      if (!$.ovaModal.isActive())
        $(document).off('keydown.ovaModal');
    },

    block: function() {
      this.$elm.trigger($.ovaModal.BEFORE_BLOCK, [this._ctx()]);
      this.$body.css('overflow','hidden');
      this.$blocker = $('&lt;div class="' + this.options.blockerClass + ' blocker current"&gt;&lt;/div&gt;').appendTo(this.$body);
      selectCurrent();
      if(this.options.doFade) {
        this.$blocker.css('opacity',0).animate({opacity: 1}, this.options.fadeDuration);
      }
      this.$elm.trigger($.ovaModal.BLOCK, [this._ctx()]);
    },

    unblock: function(now) {
      if (!now &amp;&amp; this.options.doFade)
        this.$blocker.fadeOut(this.options.fadeDuration, this.unblock.bind(this,true));
      else {
        this.$blocker.children().appendTo(this.$body);
        this.$blocker.remove();
        this.$blocker = null;
        selectCurrent();
        if (!$.ovaModal.isActive())
          this.$body.css('overflow','');
      }
    },

    show: function() {
      this.$elm.trigger($.ovaModal.BEFORE_OPEN, [this._ctx()]);
      if (this.options.showClose) {
        this.closeButton = $('&lt;a href="#close-ovaModal" rel="ovaModal:close" class="close-ovaModal ' + this.options.closeClass + '"&gt;' + this.options.closeText + '&lt;/a&gt;');
        this.$elm.append(this.closeButton);
      }
      this.$elm.addClass(this.options.ovaModalClass).appendTo(this.$blocker);
      if(this.options.doFade) {
        this.$elm.css({opacity: 0, display: 'inline-block'}).animate({opacity: 1}, this.options.fadeDuration);
      } else {
        this.$elm.css('display', 'inline-block');
      }
      this.$elm.trigger($.ovaModal.OPEN, [this._ctx()]);
    },

    hide: function() {
      this.$elm.trigger($.ovaModal.BEFORE_CLOSE, [this._ctx()]);
      if (this.closeButton) this.closeButton.remove();
      var _this = this;
      if(this.options.doFade) {
        this.$elm.fadeOut(this.options.fadeDuration, function () {
          _this.$elm.trigger($.ovaModal.AFTER_CLOSE, [_this._ctx()]);
        });
      } else {
        this.$elm.hide(0, function () {
          _this.$elm.trigger($.ovaModal.AFTER_CLOSE, [_this._ctx()]);
        });
      }
      this.$elm.trigger($.ovaModal.CLOSE, [this._ctx()]);
    },

    showSpinner: function() {
      if (!this.options.showSpinner) return;
      this.spinner = this.spinner || $('&lt;div class="' + this.options.ovaModalClass + '-spinner"&gt;&lt;/div&gt;')
        .append(this.options.spinnerHtml);
      this.$body.append(this.spinner);
      this.spinner.show();
    },

    hideSpinner: function() {
      if (this.spinner) this.spinner.remove();
    },

    //Return context for custom events
    _ctx: function() {
      return { elm: this.$elm, $elm: this.$elm, $blocker: this.$blocker, options: this.options, $anchor: this.anchor };
    }
  };

  $.ovaModal.close = function(event) {
    if (!$.ovaModal.isActive()) return;
    if (event) event.preventDefault();
    var current = getCurrent();
    current.close();
    return current.$elm;
  };

  // Returns if there currently is an active ovaModal
  $.ovaModal.isActive = function () {
    return ovaModals.length &gt; 0;
  };

  $.ovaModal.getCurrent = getCurrent;

  $.ovaModal.defaults = {
    closeExisting: true,
    escapeClose: true,
    clickClose: true,
    closeText: 'Close',
    closeClass: '',
    ovaModalClass: "ovaModal",
    blockerClass: "jquery-ovaModal",
    spinnerHtml: '&lt;div class="rect1"&gt;&lt;/div&gt;&lt;div class="rect2"&gt;&lt;/div&gt;&lt;div class="rect3"&gt;&lt;/div&gt;&lt;div class="rect4"&gt;&lt;/div&gt;',
    showSpinner: true,
    showClose: true,
    fadeDuration: null,   // Number of milliseconds the fade animation takes.
    fadeDelay: 1.0        // Point during the overlay's fade-in that the ovaModal begins to fade in (.5 = 50%, 1.5 = 150%, etc.)
  };

  // Event constants
  $.ovaModal.BEFORE_BLOCK = 'ovaModal:before-block';
  $.ovaModal.BLOCK = 'ovaModal:block';
  $.ovaModal.BEFORE_OPEN = 'ovaModal:before-open';
  $.ovaModal.OPEN = 'ovaModal:open';
  $.ovaModal.BEFORE_CLOSE = 'ovaModal:before-close';
  $.ovaModal.CLOSE = 'ovaModal:close';
  $.ovaModal.AFTER_CLOSE = 'ovaModal:after-close';
  $.ovaModal.AJAX_SEND = 'ovaModal:ajax:send';
  $.ovaModal.AJAX_SUCCESS = 'ovaModal:ajax:success';
  $.ovaModal.AJAX_FAIL = 'ovaModal:ajax:fail';
  $.ovaModal.AJAX_COMPLETE = 'ovaModal:ajax:complete';

  $.fn.ovaModal = function(options){
    if (this.length === 1) {
      new $.ovaModal(this, options);
    }
    return this;
  };

  // Automatically bind links with rel="ovaModal:close" to, well, close the ovaModal.
  $(document).on('click.ovaModal', 'a[rel~="ovaModal:close"]', $.ovaModal.close);
  $(document).on('click.ovaModal', 'a[rel~="ovaModal:open"]', function(event) {
    event.preventDefault();
    $(this).ovaModal();
  });
}));
</pre></body></html>