+(function($) {
  "use strict";

  /******************/
  /* configurations */
  /******************/

  window.modalLoadingHTML = '<div class="modal-body"><div class="row">' +
    '<div class="col-sm-12">' +
    "<h3>Working..</h3>" + "</div>" +
    "</div>" +
    '<div class="row">' +
    '<div class="col-sm-12">' +
    '<div class="progress">' +
    '<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">' +
    '<span class="sr-only">Page Loading</span>' +
    "</div>" +
    "</div>" +
    "</div>" + "</div></div>";

  /*
   * This sets the default datatables behavior, can be overridden on a page basis
   */
  $.extend($.fn.dataTable.defaults, {
    searching: false,
    ordering: true,
    paging: false,
    info: false,
    lengthChange: false
  });

  /******************/
  /* event handlers */
  /******************/

  $(function() {
    /*
     * Take over remote handling of modal content from bootstrap
     * Used with attribute driven modals with ajax content.
     */
    $(document).on("click", '[data-toggle="uimodal"]', function(e) {
      //stop the default href action
      e.preventDefault();
      //figure out whats going on
      let target = $(this);
      let url = target.attr("href");
      let modal = $(target.data("target"));
      let modalContent = modal.find(".modal-content");
      let callback = target.data("callback");

      //show the loading message
      modalContent.html(modalLoadingHTML);

      //we load the remote content
      $.ajax({
        url: url,
        cache: false,
        dataType: "html",
        success: function(data) {
          modalContent.html(data);
          if (callback) {
            window[callback]();
          }
        }
      });

      //show the modal with no backdrop
      modal.modal({
        backdrop: "static",
        show: true
      });
    });
  });
})(jQuery);

+(function($) {
  "use strict";

  $(function() {
    let displayEvery = 30; // in days
    let threshold = moment().subtract(displayEvery, "days");
    let props = $.localStorage.get("loginModalProperties") || {
      lastDisplayedAt: null
    };

    let lastDisplayedAt = moment(props.lastDisplayedAt || threshold).startOf(
      "day"
    );

    //  Condition to Hide fan central account signup pop-up from the login and signup page  

    let windowHref = window.location.href;
    let windowOrigin = window.location.origin;
    let current_route = windowHref.replace(windowOrigin,"");
    
    if(current_route == "/auth/login" || current_route == "/auth/new"){
      return false;
    }

    if (threshold.isAfter(lastDisplayedAt)) {
      let loginModal = $("#loginModal");
      loginModal.on("shown.bs.modal", function() {
        props.lastDisplayedAt = new Date();
        $.localStorage.set("loginModalProperties", props);

        let modalName = loginModal.data("modalName");
        if (modalName) {
          // Google Tag Mangaer
          window.dataLayer = window.dataLayer || [];
          window.dataLayer.push({
			"event": "gaEvent",
			"eventCategory": "Modal Popup",
			"eventAction":  modalName
          });
        }
      });
      if (loginModal.length) {
        setTimeout(function() {
          loginModal.modal("show");
          $(".modal-backdrop").css("display","none");
        }, 10000);
      }
    }
  });
})(jQuery);

