// source --> http://cmva.com/wp-content/plugins/memberpress/js/signup.js?ver=1.12.15 
(function($) {
  $(document).ready(function() {
    // Handle form labels
    const $placeholderInputs = $('.mp-form-row .mepr-form-input');

    $.each($placeholderInputs, function(index, input) {
      const $label = $(this).siblings('.mp-form-label').find('label');

      if($(this).val() !== '' || $(this).is('select')) {
        $label.addClass('active');
      } else {
        $label.removeClass('active');
      }

      $(input).on('keyup', function(event) {
        if($(this).val() !== '') {
          $label.addClass('active');
        } else {
          $label.removeClass('active');
        }
      });
    });

    $('body').on('click', '.mepr-signup-form .have-coupon-link', function(e) {
      e.preventDefault();
      $(this).hide();
      $('div.mepr_coupon_'+$(this).data("prdid")).show();
    });

    $('body').on('keydown', '.mepr-signup-form .mepr-coupon-code', function(e) {
      if(e.which === 13) {
        e.preventDefault();
        $(this).trigger('blur');
      }
    });

    // Store the default price string
    $('.mepr_price_cell').each(function () {
      $(this).data('default-price-string', $(this).text());
    });

    let updateCheckoutStateTimeout,
        lastRequestData,
        updatingCheckoutState = false,
        updateCheckoutStateAgain = false,
        updateCheckoutState = function ($form) {
          clearTimeout(updateCheckoutStateTimeout);

          updateCheckoutStateTimeout = setTimeout(function () {
            debouncedUpdateCheckoutState($form);
          }, 50);
        },
        getRequestData = function ($form) {
          let payment_methods = [];

          $form.find('input[name="mepr_payment_method"]').each(function () {
            payment_methods.push($(this).val());
          });

          const data = {
            action: 'mepr_get_checkout_state',
            mepr_product_id: $form.find('input[name="mepr_product_id"]').val(),
            'mepr-address-one': $form.find('input[name="mepr-address-one"]').val(),
            'mepr-address-two': $form.find('input[name="mepr-address-two"]').val(),
            'mepr-address-city': $form.find('input[name="mepr-address-city"]').val(),
            'mepr-address-state': $form.find('select[name="mepr-address-state"]').is(':visible') ? $form.find('select[name="mepr-address-state"]').val() : $form.find('input[name="mepr-address-state"]').val(),
            'mepr-address-country': $form.find('select[name="mepr-address-country"]').val(),
            'mepr-address-zip': $form.find('input[name="mepr-address-zip"]').val(),
            mepr_vat_number: $form.find('input[name="mepr_vat_number"]').val(),
            mepr_vat_customer_type: $form.find('input[name="mepr_vat_customer_type"]:checked').val(),
            mepr_coupon_code: $form.find('input[name="mepr_coupon_code"]').val(),
            mepr_coupon_nonce: MeprSignup.coupon_nonce,
            mepr_is_product_page: (typeof MeprProTemplateSignup !== 'undefined' && MeprProTemplateSignup.is_product_page) || MeprSignup.is_product_page,
            mpca_corporate_account_id: $form.find('input[name="mpca_corporate_account_id"]').val(),
            mpgft_gift_checkbox: $form.find('input[name="mpgft-signup-gift-checkbox"]').is(':checked'),
            mepr_payment_methods: payment_methods
          };

          if (!data.mpgft_gift_checkbox) {
            let order_bumps = [];

            $form.find('input[name="mepr_order_bumps[]"]:checked').each(function () {
              order_bumps.push($(this).val());
            });

            data.mepr_order_bumps = order_bumps;
          }

          $form.trigger('meprCheckoutStateRequestData', [data]);

          return data;
        };

    const debouncedUpdateCheckoutState = function ($form) {
      if (updatingCheckoutState) {
        updateCheckoutStateAgain = true;
        return;
      }

      const data = getRequestData($form);

      if (JSON.stringify(data) === JSON.stringify(lastRequestData)) {
        return;
      }

      updatingCheckoutState = true;
      lastRequestData = data;

      if (MeprSignup.spc_enabled === '1' && MeprSignup.spc_invoice === '1') {
        $form.find('.mepr-invoice-loader').fadeIn();
      }

      const onComplete = function () {
        if (MeprSignup.spc_enabled === '1' && MeprSignup.spc_invoice === '1') {
          $form.find('.mepr-invoice-loader').stop().hide();
        }

        updatingCheckoutState = false;
      };

      $.ajax({
        type: 'POST',
        url: MeprI18n.ajaxurl,
        dataType: 'json',
        data: getRequestData($form)
      })
      .done(function (response) {
        if (response && typeof response.success === 'boolean' && response.success) {
          $form.trigger('meprPriceStringUpdated', [response.data]);
          $form.find('div.mepr_price_cell').html(response.data.price_string);

          if (response.data.payment_required) {
            $form.find('.mepr-payment-methods-wrapper').show();
            $form.find('input[name="mepr_payment_methods_hidden"]').remove();
          } else {
            $form.find('.mepr-payment-methods-wrapper').hide();
            $form.append('<input type="hidden" name="mepr_payment_methods_hidden" value="1">');

            // Clear validation errors on fields now hidden
            $form.find('.mepr-payment-methods-wrapper .mepr-form-input').each(function () {
              meprValidateInput(this);
            });
          }

          $form.trigger('meprAfterPriceStringUpdated', [response.data]);

          if (MeprSignup.spc_enabled === '1' && MeprSignup.spc_invoice === '1') {
            $form.find('.mepr-transaction-invoice-wrapper > div').replaceWith(response.data.invoice_html);
            $form.find(".mepr-transaction-invoice-wrapper .mp_invoice").css({ opacity: 1 });
          }

          $form.trigger('meprAfterCheckoutStateUpdated', [response.data]);

          onComplete();

          if (updateCheckoutStateAgain) {
            updateCheckoutStateAgain = false;
            updateCheckoutState($form);
          }
        } else {
          onComplete();
        }
      })
      .fail(onComplete);
    };

    $('.mepr-signup-form').on('meprUpdateCheckoutState', function () {
      updateCheckoutState($(this));
    });

    $('.mepr-signup-form').each(function () {
      var $form = $(this);

      if($form.find('input[name="mpgft-signup-gift-checkbox"]').is(':checked')) {
        updateCheckoutState($form);
      }

      // Trigger checkout update if coupon code exists on page load (e.g., URL parameter), otherwise the invoice is cut out
      if($form.find('input[name="mepr_coupon_code"]').val()) {
        updateCheckoutState($form);
      }

    });

    var meprValidateInput = function (obj, submitting) {
      $(obj).removeClass('invalid');

      var form = $(obj).closest('.mepr-signup-form');

      if ($(obj).attr('required') !== undefined) {
        var notBlank = mpValidateFieldNotBlank($(obj));

        // Special handling for state field - not required for countries without states
        if ($(obj).attr('name') === 'mepr-address-state') {
          var selectedCountry = form.find('select[name="mepr-address-country"]').val();

          if (selectedCountry && MeprI18n.countries_without_states &&
              MeprI18n.countries_without_states.indexOf(selectedCountry) !== -1) {
            // This country doesn't require states, so validation always passes
            mpToggleFieldValidation($(obj), true);
            return;
          }
        }

        mpToggleFieldValidation($(obj), notBlank);
      }

      // Validate actual email only if it's not empty otherwise let the required/un-required logic hold
      if ($(obj).attr('type')==='email' && $(obj).val().length > 0) {
        var validEmail = mpValidateEmail($(obj).val());
        mpToggleFieldValidation($(obj), validEmail);
      }

      // Validate the URL by using the browser validation functions
      if ($(obj).attr('type')==='url' && $(obj).val().length > 0) {
        var validURL = mpValidateUrl($(obj).val());
        mpToggleFieldValidation($(obj), validURL);
      }

      if ($(obj).hasClass('mepr-password-confirm')) {
        var confirmMatch = $(obj).val() === form.find('.mepr-password').val();
        mpToggleFieldValidation($(obj), confirmMatch);
      }

      if($(obj).hasClass('mepr-coupon-code') && !submitting) {
        var price_string = form.find('div.mepr_price_cell');

        if($(obj).val().match(/(\s|\S)/)) {
          $(obj).prev('.mp-form-label').find('.mepr-coupon-loader').fadeIn();
          $(obj).data('validating', true);

          var data = {
            action: 'mepr_validate_coupon',
            code: $(obj).val(),
            prd_id: $(obj).data("prdid"),
            user_email: form.find("input[name='user_email']").val(),
            coupon_nonce: MeprSignup.coupon_nonce
          };

          $.post(MeprI18n.ajaxurl, data, function(res) {
            $(obj).prev('.mp-form-label').find('.mepr-coupon-loader').hide();
            res = res.trim();
            mpToggleFieldValidation($(obj), (res.toString() == 'true'));

            if(res.toString() == 'true') {
              form.one('meprAfterPriceStringUpdated', function () {
                $(obj).removeData('validating');

                if($(obj).data('submit-when-valid')) {
                  $(obj).removeData('submit-when-valid');
                  form.find('.mepr-submit').trigger('click');
                }
              });

              // Let's update price string and invoice
              updateCheckoutState(form);
            }
            else {
              form.find('.mepr-payment-methods-wrapper:hidden').show();
              form.find('input[name="mepr_payment_methods_hidden"]').remove();
              price_string.text(price_string.data('default-price-string'));

              $(obj).removeData('validating');
              $(obj).removeData('submit-when-valid');

              // Invalid Coupon - update SPC Invoice
              updateCheckoutState(form);
            }
          })
          .fail(function () {
            $(obj).removeData('validating');
            $(obj).removeData('submit-when-valid');
          });
        }
        else if($(obj).val().trim() === '') {
          if (form.find('.mepr-payment-methods-wrapper').is(':hidden')) {
            // Looks like we need to restore the payment methods
            form.find('.mepr-payment-methods-wrapper').show();
            form.find('input[name="mepr_payment_methods_hidden"]').remove();
          }

          price_string.text(price_string.data('default-price-string'));
          // Enpty Coupon - update SPC Invoice
          updateCheckoutState(form);
        }
      }

      $(obj).trigger('mepr-validate-input');
    };

    window.meprValidateInput = meprValidateInput;

    $('body').on('focus', '.mepr-form .mepr-form-input', function (e) {
      $(this).prev('.mp-form-label').find('.cc-error').hide();
      $(this).removeClass('invalid');
    });

    $('body').on('blur', '.mepr-form .mepr-form-input', function (e) {
      //Don't validate date fields here, wait til the push the submit button
      if(!$(this).hasClass('mepr-date-picker')) {
        meprValidateInput(this);
      }
    });

    // Specific to validating with the datepicker ui text field
    $('body').on('mepr-date-picker-closed', '.mepr-form .mepr-form-input.mepr-date-picker', function (e, date, inst) {
      meprValidateInput(this);
    });

    $('body').on('click', '.mepr-signup-form .mepr-submit', function (e) {
      // We want to control if/when the form is submitted
      e.preventDefault();

      var form = $(this).closest('.mepr-signup-form');
      var coupon = form.find('.mepr-coupon-code');

      if(coupon.data('validating')) {
        coupon.data('submit-when-valid', true);
        return;
      }

      $.each(form.find('.mepr-form-input:visible'), function(i,obj) {
        meprValidateInput(obj, true);
      });

      if (0 < form.find('.invalid:visible').length) {
        form.find('.validation').addClass('failed');
      }
      else {
        var submittedTelInputs = document.querySelectorAll(".mepr-tel-input");
        for (var i = 0; i < submittedTelInputs.length; i++) {
          var iti = window.intlTelInputGlobals.getInstance(submittedTelInputs[i]);
          submittedTelInputs[i].value = iti.getNumber();
        }
        form.find('.validation').addClass('passed');
        this.disabled = true;
        form.find('.mepr-loading-gif').show();
        $(this).trigger('mepr-register-submit');
        form.trigger('submit');
      }
    });

    // A debounced window resize function, to fix a Square card input sizing issue.
    const windowResize = (() => {
      let timeoutId;
      return () => {
        clearTimeout(timeoutId);
        timeoutId = setTimeout(() => {
          window.dispatchEvent(new Event('resize'));
        }, 10);
      };
    })();

    $('body').on('click', '.mepr-signup-form div[class^=mepr-payment-method] input.mepr-form-radio', function () {
      var form = $(this).closest('.mepr-signup-form');

      // Reset the transaction ID to prevent any issues after switching payment methods.
      form.find('input[name="mepr_transaction_id"]').val('');

      // Fire event for gateways to react to payment method change.
      form.trigger('meprPaymentMethodChanged', [$(this).val()]);

      var pmid = '.mp-pm-desc-' + $(this).val();
      var pmid_exists = (form.find(pmid).length > 0);

      form.find('.mepr-payment-method-desc-text').addClass('mepr-close');

      if(pmid_exists) {
        form.find(pmid).removeClass('mepr-close');
      }

      //If nothing has the mepr-close class, we still need to show this one's description
      var mepr_close_exists = (form.find('.mepr-payment-method-desc-text.mepr-close').length > 0);

      if(mepr_close_exists) {
        form.find('.mepr-payment-method-desc-text.mepr-close').slideUp({
          duration: 200,
          complete: function() {
            // Clear validation errors on fields now hidden
            form.find('.mepr-payment-methods-wrapper .mepr-form-input').each(function () {
              $('.mepr-form-input.invalid').removeClass('.invalid');
              $('.cc-error').hide();
              $('.mepr-form-has-errors').hide();
            });

            if(pmid_exists) {
              form.find(pmid).slideDown(200, windowResize);
            }
          }
        });
      } else {
        // Clear validation errors on fields now hidden
        form.find('.mepr-payment-methods-wrapper .mepr-form-input').each(function () {
          $('.mepr-form-input.invalid').removeClass('.invalid');
          $('.cc-error').hide();
          $('.mepr-form-has-errors').hide();
        });

        if(pmid_exists) {
          form.find(pmid).slideDown(200, windowResize);
        }
      }
    });

    // Update price string & invoice when certain inputs change value
    $("body").on("change mepr-geolocated",
      ".mepr-form .mepr-form-input, .mepr-form .mepr-form-radios-input, .mepr-form .mepr-select-field",
      function () {
        if($(this).attr('name') == 'mepr-address-zip' ||
          $(this).attr('name') == 'mepr-address-city' ||
          $(this).attr('name') == 'mepr-address-country' ||
          $(this).attr('name') == 'mepr-address-one' ||
          $(this).attr('name') == 'mepr-address-state' ||
          $(this).attr('name') == 'mepr_vat_customer_type' ||
          $(this).attr('name') == 'mepr_vat_number' ||
          $(this).attr('name') == 'mpgft-signup-gift-checkbox'
        ) {
          updateCheckoutState($(this).closest(".mepr-signup-form"));
        }
      }
    );

    $(".mepr-replace-file").each(function(){
      $(this).closest('div').find('.mepr-file-uploader').hide();
    });
    $('body').on('click', '.mepr-replace-file', function (e) {
      $(this).closest('div').find('.mepr-file-uploader').toggle();
    });

    // Set the visibility of payment methods based on order bumps
    var handleOrderBumpToggle = function () {
      var $input = $(this),
          $order_bump = $input.closest('.mepr-order-bump'),
          $order_bumps = $order_bump.closest('.mepr-order-bumps'),
          $form = $order_bumps.closest('.mepr-signup-form'),
          has_order_bump = false,
          has_sub = false,
          $to_hide = $(),
          $to_show = $(),
          $compatible_pm,
          $incompatible_pm;

      $order_bumps.find('input[name="mepr_order_bumps[]"]:checked').each(function () {
        has_order_bump = true;

        if($(this).closest('.mepr-order-bump').hasClass('mepr-sub')) {
          has_sub = true;
        }
      });

      if ( $(this).hasClass('mepr_order_bumps_init') ) {
        return;
      }

      var is_ob_required = $order_bump.hasClass('mepr-order-bump-required');

      if (is_ob_required) {
        $(this).addClass('mepr_order_bumps_init');
      }

      $form.find('.mepr-order-bumps-notice').removeClass('mepr_error').addClass('mepr-hidden');
      $form.removeClass('mepr-order-bumps-required-error');

      $form.find('div[class^=mepr-payment-method] input.mepr-form-radio, input[type="hidden"][name="mepr_payment_method"]').each(function () {
        var $pm = $(this);

        if(has_order_bump) {
          if($pm.hasClass('mepr-can-order-bumps')) {
            if(has_sub) {
              if($pm.hasClass('mepr-can-multiple-subscriptions')) {
                $to_show = $to_show.add($pm);

                if(!$compatible_pm) {
                  $compatible_pm = $pm;
                }
              } else {
                $to_hide = $to_hide.add($pm);

                if($pm.prop('checked')) {
                  $incompatible_pm = $pm;
                }
              }
            } else {
              $to_show = $to_show.add($pm);

              if(!$compatible_pm) {
                $compatible_pm = $pm;
              }
            }
          } else {
            $to_hide = $to_hide.add($pm);

            if($pm.prop('checked')) {
              $incompatible_pm = $pm;
            }
          }
        } else {
          $to_show = $to_show.add($pm);
        }
      });

      if($incompatible_pm && is_ob_required) {
        $to_hide = $to_hide.add($incompatible_pm);
        $to_hide.closest('.mepr_payment_method, .mepr-payment-option-label').hide()
      }

      if(!$to_show.length) {
        if( is_ob_required ) {
          $form.find('.mepr-order-bumps-notice').text(MeprSignup.no_compatible_pms_ob_required).addClass('mepr_error').removeClass('mepr-hidden');
          $form.addClass('mepr-order-bumps-required-error');
        } else {
          alert(MeprSignup.no_compatible_pms);
          return false;
        }
      }

      if($incompatible_pm) {
        if($compatible_pm) {
          var compatible_pm_label = $compatible_pm.data('payment-method-type'),
              prompt = MeprSignup.switch_pm_prompt.replace('%s', compatible_pm_label);

          if($.magnificPopup) {
            var $switch_button = $('<div class="mepr-btn">').text(MeprSignup.switch_pm.replace('%s', compatible_pm_label)).on('click', function () {
              $compatible_pm.trigger('click');
              $input.trigger('click');
              $.magnificPopup.close();
            });

            var $cancel_button = $('<div class="mepr-btn mepr-btn-secondary">').text(MeprSignup.cancel).on('click', function () {
              $.magnificPopup.close();
            });

            var $popup_content = $('<div class="mepr-switch-pm-popup">').append(
              $('<img class="mepr-switch-pm-popup-icon">').attr('src', MeprSignup.warning_icon_url),
              $('<p>').text(prompt),
              $('<div class="mepr-switch-pm-popup-buttons">').append($switch_button, $cancel_button)
            );

            if( ! is_ob_required ) {
              $.magnificPopup.open({
                mainClass: 'mepr-switch-pm-mfp',
                items: {
                  src: $popup_content,
                  type: 'inline'
                }
              });
            } else {
              $compatible_pm.trigger('click');
              $input.trigger('click');
            }

          } else if(confirm(prompt)) {
            $compatible_pm.trigger('click');
            $input.trigger('click');
            return;
          }
        } else {
          if( is_ob_required ) {
            $form.find('.mepr-order-bumps-notice').text(MeprSignup.no_compatible_pms_ob_required).addClass('mepr_error').removeClass('mepr-hidden');
            $form.addClass('mepr-order-bumps-required-error');
          } else {
            alert(MeprSignup.no_compatible_pms);
          }
        }

        return false;
      }

      $to_hide.closest('.mepr_payment_method, .mepr-payment-option-label').hide();
      $to_show.closest('.mepr_payment_method, .mepr-payment-option-label').show();

      $order_bump.toggleClass('mepr-order-bump-selected', this.checked);
    };

    $('body').on('click', '.mepr-signup-form input[name="mepr_order_bumps[]"]', handleOrderBumpToggle);

    if( $('.mepr-order-bump-required').length ) {

      $('input[name="mepr_order_bumps[]"]:checked').each(function () {
        handleOrderBumpToggle.call(this);
      });

      if( $('.mepr-signup-form.mepr-order-bumps-required-error').length ) {
        $('.mepr-signup-form').find('.mepr-submit').hide();
        $('.mepr-signup-form').find('.mepr-submit').attr('disabled','disabled');
      } else {
        $('.mepr-signup-form').find('.mepr-submit').show();
        $('.mepr-signup-form').find('.mepr-submit').removeAttr('disabled');
      }

      updateCheckoutState($('.mepr-signup-form'));
    }

    // Hide subscription order bumps if no payment method supports multiple subscriptions
    $('.mepr-signup-form').each(function () {
      var $form = $(this),
          $order_bumps = $form.find('.mepr-order-bumps'),
          pm_supports_multiple_subs = false;

      if(!$order_bumps.length) {
        return;
      }

      $form.find('div[class^=mepr-payment-method] input.mepr-form-radio, input[type="hidden"][name="mepr_payment_method"]').each(function (index) {
        var $pm = $(this);

        if($pm.hasClass('mepr-can-multiple-subscriptions') && pm_supports_multiple_subs === false) {
          pm_supports_multiple_subs = index;
        }
      });

      if(pm_supports_multiple_subs === false) {
        $order_bumps.find('.mepr-order-bump.mepr-sub').hide();

        if(!$order_bumps.find('.mepr-order-bump:visible').length) {
          $order_bumps.hide();
        }
      } else if(pm_supports_multiple_subs > 0) {
        var $new_first_pm = $form.find('div[class^=mepr-payment-method] input.mepr-form-radio').eq(pm_supports_multiple_subs);

        $new_first_pm
          .closest('.mepr_payment_method, .mepr-payment-option-label')
          .insertBefore(
            $form.find('div[class^=mepr-payment-method] input.mepr-form-radio')
              .eq(0)
              .closest('.mepr_payment_method, .mepr-payment-option-label')
          );

        $new_first_pm.trigger('click');
      }

      // If gift checkbox is checked, hide and disable order bumps
      if($form.find('input[name="mpgft-signup-gift-checkbox"]').is(':checked')) {
        $order_bumps.hide().find('input[name="mepr_order_bumps[]"]').prop('checked', false);
      }
    });

    $("body").on("change",
      '.mepr-form input[name="mepr_order_bumps[]"]',
      function (e) {
        let form = $(this).closest(".mepr-signup-form");
        if( $('input[type="hidden"][name="mepr_process_signup_form"]').length ) {
          if( $('input[type="hidden"][name="mepr_process_signup_form"]').val() == 'Y' ) {
            return;
          }
        }
        updateCheckoutState(form);
      }
    );

    $("body").on('change', '.mepr-signup-form input[name="mpgft-signup-gift-checkbox"]', function () {
      let $is_gift = $(this),
          $form = $is_gift.closest('.mepr-signup-form');

      if ($is_gift.is(':checked')) {
        $form.find('.mepr-order-bumps').hide().find('input[name="mepr_order_bumps[]"]:checked').prop('checked', false).each(function () {
          handleOrderBumpToggle.call(this);
        });
      } else {
        $form.find('.mepr-order-bumps').show();
      }
    });
  });
})(jQuery);
// source --> http://cmva.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.10.7.0 
/*!
 * jQuery blockUI plugin
 * Version 2.70.0-2014.11.23
 * Requires jQuery v1.7 or later
 *
 * Examples at: http://malsup.com/jquery/block/
 * Copyright (c) 2007-2013 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Thanks to Amir-Hossein Sobhi for some excellent contributions!
 */
!function(){"use strict";function e(e){e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){},o=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),i=(document.documentMode,"function"==typeof document.createElement("div").style.setExpression&&document.createElement("div").style.setExpression);e.blockUI=function(e){d(window,e)},e.unblockUI=function(e){a(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),n===undefined&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.on("mouseover",function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).on("mouseout",function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(t){if(this[0]===window)return e.blockUI(t),this;var o=e.extend({},e.blockUI.defaults,t||{});return this.each(function(){var t=e(this);o.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,d(this,t)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){a(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var s=null,l=[];function d(d,c){var u,b,h=d==window,k=c&&c.message!==undefined?c.message:undefined;if(!(c=e.extend({},e.blockUI.defaults,c||{})).ignoreIfBlocked||!e(d).data("blockUI.isBlocked")){if(c.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,c.overlayCSS||{}),u=e.extend({},e.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),b=e.extend({},e.blockUI.defaults.themedCSS,c.themedCSS||{}),k=k===undefined?c.message:k,h&&s&&a(window,{fadeOut:0}),k&&"string"!=typeof k&&(k.parentNode||k.jquery)){var y=k.jquery?k[0]:k,m={};e(d).data("blockUI.history",m),m.el=y,m.parent=y.parentNode,m.display=y.style.display,m.position=y.style.position,m.parent&&m.parent.removeChild(y)}e(d).data("blockUI.onUnblock",c.onUnblock);var g,v,I,w,U=c.baseZ;g=o||c.forceIframe?e('<iframe class="blockUI" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+c.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),v=c.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+U+++';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),c.theme&&h?(w='<div class="blockUI '+c.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:fixed">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):c.theme?(w='<div class="blockUI '+c.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:absolute">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):w=h?'<div class="blockUI '+c.blockMsgClass+' blockPage" style="z-index:'+(U+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+c.blockMsgClass+' blockElement" style="z-index:'+(U+10)+';display:none;position:absolute"></div>',I=e(w),k&&(c.theme?(I.css(b),I.addClass("ui-widget-content")):I.css(u)),c.theme||v.css(c.overlayCSS),v.css("position",h?"fixed":"absolute"),(o||c.forceIframe)&&g.css("opacity",0);var x=[g,v,I],C=e(h?"body":d);e.each(x,function(){this.appendTo(C)}),c.theme&&c.draggable&&e.fn.draggable&&I.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var S=i&&(!e.support.boxModel||e("object,embed",h?null:d).length>0);if(n||S){if(h&&c.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(n||!e.support.boxModel)&&!h)var E=p(d,"borderTopWidth"),O=p(d,"borderLeftWidth"),T=E?"(0 - "+E+")":0,M=O?"(0 - "+O+")":0;e.each(x,function(e,t){var o=t[0].style;if(o.position="absolute",e<2)h?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+c.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),h?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),M&&o.setExpression("left",M),T&&o.setExpression("top",T);else if(c.centerY)h&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!c.centerY&&h){var n="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+(c.css&&c.css.top?parseInt(c.css.top,10):0)+') + "px"';o.setExpression("top",n)}})}if(k&&(c.theme?I.find(".ui-widget-content").append(k):I.append(k),(k.jquery||k.nodeType)&&e(k).show()),(o||c.forceIframe)&&c.showOverlay&&g.show(),c.fadeIn){var B=c.onBlock?c.onBlock:t,j=c.showOverlay&&!k?B:t,H=k?B:t;c.showOverlay&&v._fadeIn(c.fadeIn,j),k&&I._fadeIn(c.fadeIn,H)}else c.showOverlay&&v.show(),k&&I.show(),c.onBlock&&c.onBlock.bind(I)();if(r(1,d,c),h?(s=I[0],l=e(c.focusableElements,s),c.focusInput&&setTimeout(f,20)):function(e,t,o){var n=e.parentNode,i=e.style,s=(n.offsetWidth-e.offsetWidth)/2-p(n,"borderLeftWidth"),l=(n.offsetHeight-e.offsetHeight)/2-p(n,"borderTopWidth");t&&(i.left=s>0?s+"px":"0");o&&(i.top=l>0?l+"px":"0")}(I[0],c.centerX,c.centerY),c.timeout){var z=setTimeout(function(){h?e.unblockUI(c):e(d).unblock(c)},c.timeout);e(d).data("blockUI.timeout",z)}}}function a(t,o){var n,i,d=t==window,a=e(t),u=a.data("blockUI.history"),f=a.data("blockUI.timeout");f&&(clearTimeout(f),a.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),r(0,t,o),null===o.onUnblock&&(o.onUnblock=a.data("blockUI.onUnblock"),a.removeData("blockUI.onUnblock")),i=d?e(document.body).children().filter(".blockUI").add("body > .blockUI"):a.find(">.blockUI"),o.cursorReset&&(i.length>1&&(i[1].style.cursor=o.cursorReset),i.length>2&&(i[2].style.cursor=o.cursorReset)),d&&(s=l=null),o.fadeOut?(n=i.length,i.stop().fadeOut(o.fadeOut,function(){0==--n&&c(i,u,o,t)})):c(i,u,o,t)}function c(t,o,n,i){var s=e(i);if(!s.data("blockUI.isBlocked")){t.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.el.style.cursor="default",o.parent&&o.parent.appendChild(o.el),s.removeData("blockUI.history")),s.data("blockUI.static")&&s.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var l=e(document.body),d=l.width(),a=l[0].style.width;l.width(d-1).width(d),l[0].style.width=a}}function r(t,o,n){var i=o==window,l=e(o);if((t||(!i||s)&&(i||l.data("blockUI.isBlocked")))&&(l.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var d="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).on(d,n,u):e(document).off(d,u)}}function u(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&s&&t.data.constrainTabKey){var o=l,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){f(i)},10),!1}var d=t.data,a=e(t.target);return a.hasClass("blockOverlay")&&d.onOverlayClick&&d.onOverlayClick(t),a.parents("div."+d.blockMsgClass).length>0||0===a.parents().children().filter("div.blockUI").length}function f(e){if(l){var t=l[!0===e?l.length-1:0];t&&t.trigger("focus")}}function p(t,o){return parseInt(e.css(t,o),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();