const adjustOptions = function(options) {
    options = options || {};
    const adjustedOptions = $.extend({}, options);
    adjustedOptions.fixedContentPos = false;
    adjustedOptions.autoFocusLast = false;
    adjustedOptions.callbacks = {};
    const openCallbacks = (
      'callbacks' in options
      && typeof options.callbacks.open === 'function'
        ? options.callbacks.open
        : function() {}
    );
    const closeCallbacks = (
      'callbacks' in options
      && typeof options.callbacks.close === 'function'
        ? options.callbacks.close
        : function() {}
    );
    adjustedOptions.callbacks.open = function() {
        $('body').css('overflow', 'hidden');
        openCallbacks();
    };
    adjustedOptions.callbacks.close = function() {
        $('body').css('overflow-x', 'hidden');
        $('body').css('overflow-y', 'auto');
        closeCallbacks();
    };
    return adjustedOptions;
};

(function($){
   $.fn.magnificPopupWithScrollFix = function(options) {
      options = adjustOptions(options);
      $(this).magnificPopup(options);
      return this;
   }; 

  $.magnificPopupWithScrollFix = {
    open: function(options, index) {
      $.magnificPopup.open(adjustOptions(options), index);
    },
    close: function(options) {
      $.magnificPopup.close(adjustOptions(options));
    }
  };
})( jQuery );

