function (el, outerClick) {
            // Get index of popup ID inside of visiblePopupsArray
            var popupIdIndex = $.inArray(el.id, visiblePopupsArray);

            // If popup is not opened, ignore the rest of the function
            if (popupIdIndex === -1) {
                return;
            }

            if(opentimer) clearTimeout(opentimer);

            var $body = $('body');
            var $el = $(el);
            var options = $el.data('popupoptions');
            var $wrapper = $('#' + el.id + '_wrapper');
            var $background = $('#' + el.id + '_background');

            $el.data('popup-visible', false);

            if (visiblePopupsArray.length === 1) {
                $('html').removeClass('popup_visible').removeClass('popup_visible_' + el.id);
            } else {
                if($('html').hasClass('popup_visible_' + el.id)) {
                    $('html').removeClass('popup_visible_' + el.id);
                }
            }

            // Remove popup from the visiblePopupsArray
            visiblePopupsArray.splice(popupIdIndex, 1);

            if($wrapper.hasClass('popup_wrapper_visible')) {
                $wrapper.removeClass('popup_wrapper_visible');
            }

            // Focus back on saved element
            if (options.keepfocus && !outerClick) {
                setTimeout(function() {
                    if ($($el.data('focusedelementbeforepopup')).is(':visible')) {
                        $el.data('focusedelementbeforepopup').focus();
                    }
                }, 0);
            }

            // Hide popup
            $wrapper.css({
                'visibility': 'hidden',
                'opacity': 0
            });
            $el.css({
                'visibility': 'hidden',
                'opacity': 0
            });

            // Hide background
            if (options.background) {
                $background.css({
                    'visibility': 'hidden',
                    'opacity': 0
                });
            }

            // Reveal main content to screen readers
            $(options.pagecontainer).attr('aria-hidden', false);

            // Hide popup content from screen readers
            $el.attr('aria-hidden', true);

            // `onclose` callback event
            callback(el, lastclicked[el.id], options.onclose);

            if (transitionsupport && $el.css('transition-duration') !== '0s') {
                $el.one('transitionend', function() {

                    if (!($el.data('popup-visible'))) {
                        if (options.detach) {
                            $el.detach();
                        } else {
                            $el.hide();
                        }
                    }

                    // Re-enable scrolling of background layer, if needed
                    if (options.scrolllock) {
                        setTimeout(function() {
                            if ($.grep(visiblePopupsArray, function(eid) { return $("#"+eid).data('popupoptions').scrolllock }).length) {
                                // Some "scolllock=true" popup is currently visible, leave scrolling disabled
                                return;
                            }
                            $body.css({
                                overflow: 'visible',
                                'margin-right': bodymarginright
                            });
                        }, 10); // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
                    }

                    callback(el, lastclicked[el.id], options.closetransitionend);
                });
            } else {
                if (options.detach) {
                    $el.detach();
                } else {
                    $el.hide();
                }

                // Re-enable scrolling of background layer, if needed
                if (options.scrolllock) {
                    setTimeout(function() {
                        if ($.grep(visiblePopupsArray, function(eid) { return $("#"+eid).data('popupoptions').scrolllock }).length) {
                            // Some "scrolllock=true" popup is currently visible, leave scrolling disabled
                            return;
                        }
                        $body.css({
                            overflow: 'visible',
                            'margin-right': bodymarginright
                        });
                    }, 10); // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
                }

                callback(el, lastclicked[el.id], options.closetransitionend);
            }

            if (options.type == 'tooltip') {
                $(window).off('resize.' + el.id);
            }
        }
function (el, outerClick) {
            
            var popupIdIndex = $.inArray(el.id, visiblePopupsArray);

            
            if (popupIdIndex === -1) {
                return;
            }

            if(opentimer) clearTimeout(opentimer);

            var $body = $('body');
            var $el = $(el);
            var options = $el.data('popupoptions');
            var $wrapper = $('#' + el.id + '_wrapper');
            var $background = $('#' + el.id + '_background');

            $el.data('popup-visible', false);

            if (visiblePopupsArray.length === 1) {
                $('html').removeClass('popup_visible').removeClass('popup_visible_' + el.id);
            } else {
                if($('html').hasClass('popup_visible_' + el.id)) {
                    $('html').removeClass('popup_visible_' + el.id);
                }
            }

            
            visiblePopupsArray.splice(popupIdIndex, 1);

            if($wrapper.hasClass('popup_wrapper_visible')) {
                $wrapper.removeClass('popup_wrapper_visible');
            }

            
            if (options.keepfocus && !outerClick) {
                setTimeout(function() {
                    if ($($el.data('focusedelementbeforepopup')).is(':visible')) {
                        $el.data('focusedelementbeforepopup').focus();
                    }
                }, 0);
            }

            
            $wrapper.css({
                'visibility': 'hidden',
                'opacity': 0
            });
            $el.css({
                'visibility': 'hidden',
                'opacity': 0
            });

            
            if (options.background) {
                $background.css({
                    'visibility': 'hidden',
                    'opacity': 0
                });
            }

            
            $(options.pagecontainer).attr('aria-hidden', false);

            
            $el.attr('aria-hidden', true);

            
            callback(el, lastclicked[el.id], options.onclose);

            if (transitionsupport && $el.css('transition-duration') !== '0s') {
                $el.one('transitionend', function() {

                    if (!($el.data('popup-visible'))) {
                        if (options.detach) {
                            $el.detach();
                        } else {
                            $el.hide();
                        }
                    }

                    
                    if (options.scrolllock) {
                        setTimeout(function() {
                            if ($.grep(visiblePopupsArray, function(eid) { return $("#"+eid).data('popupoptions').scrolllock }).length) {
                                
                                return;
                            }
                            $body.css({
                                overflow: 'visible',
                                'margin-right': bodymarginright
                            });
                        }, 10); 
                    }

                    callback(el, lastclicked[el.id], options.closetransitionend);
                });
            } else {
                if (options.detach) {
                    $el.detach();
                } else {
                    $el.hide();
                }

                
                if (options.scrolllock) {
                    setTimeout(function() {
                        if ($.grep(visiblePopupsArray, function(eid) { return $("#"+eid).data('popupoptions').scrolllock }).length) {
                            
                            return;
                        }
                        $body.css({
                            overflow: 'visible',
                            'margin-right': bodymarginright
                        });
                    }, 10); 
                }

                callback(el, lastclicked[el.id], options.closetransitionend);
            }

            if (options.type == 'tooltip') {
                $(window).off('resize.' + el.id);
            }
        }
function ( el , outerClick ) { // Get index of popup ID inside of visiblePopupsArray
 var popupIdIndex = $ . inArray ( el . id , visiblePopupsArray ) ; // If popup is not opened, ignore the rest of the function
 if ( popupIdIndex === - 1 ) { return ; } if ( opentimer ) clearTimeout ( opentimer ) ; var $body = $ ( 'body' ) ; var $el = $ ( el ) ; var options = $el . data ( 'popupoptions' ) ; var $wrapper = $ ( '#' + el . id + '_wrapper' ) ; var $background = $ ( '#' + el . id + '_background' ) ; $el . data ( 'popup-visible' , false ) ; if ( visiblePopupsArray . length === 1 ) { $ ( 'html' ) . removeClass ( 'popup_visible' ) . removeClass ( 'popup_visible_' + el . id ) ; } else { if ( $ ( 'html' ) . hasClass ( 'popup_visible_' + el . id ) ) { $ ( 'html' ) . removeClass ( 'popup_visible_' + el . id ) ; } } // Remove popup from the visiblePopupsArray
 visiblePopupsArray . splice ( popupIdIndex , 1 ) ; if ( $wrapper . hasClass ( 'popup_wrapper_visible' ) ) { $wrapper . removeClass ( 'popup_wrapper_visible' ) ; } // Focus back on saved element
 if ( options . keepfocus && ! outerClick ) { setTimeout ( function ( ) { if ( $ ( $el . data ( 'focusedelementbeforepopup' ) ) . is ( ':visible' ) ) { $el . data ( 'focusedelementbeforepopup' ) . focus ( ) ; } } , 0 ) ; } // Hide popup
 $wrapper . css ( { 'visibility' : 'hidden' , 'opacity' : 0 } ) ; $el . css ( { 'visibility' : 'hidden' , 'opacity' : 0 } ) ; // Hide background
 if ( options . background ) { $background . css ( { 'visibility' : 'hidden' , 'opacity' : 0 } ) ; } // Reveal main content to screen readers
 $ ( options . pagecontainer ) . attr ( 'aria-hidden' , false ) ; // Hide popup content from screen readers
 $el . attr ( 'aria-hidden' , true ) ; // `onclose` callback event
 callback ( el , lastclicked [ el . id ] , options . onclose ) ; if ( transitionsupport && $el . css ( 'transition-duration' ) !== '0s' ) { $el . one ( 'transitionend' , function ( ) { if ( ! ( $el . data ( 'popup-visible' ) ) ) { if ( options . detach ) { $el . detach ( ) ; } else { $el . hide ( ) ; } } // Re-enable scrolling of background layer, if needed
 if ( options . scrolllock ) { setTimeout ( function ( ) { if ( $ . grep ( visiblePopupsArray , function ( eid ) { return $ ( "#" + eid ) . data ( 'popupoptions' ) . scrolllock } ) . length ) { // Some "scolllock=true" popup is currently visible, leave scrolling disabled
 return ; } $body . css ( { overflow : 'visible' , 'margin-right' : bodymarginright } ) ; } , 10 ) ; // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
 } callback ( el , lastclicked [ el . id ] , options . closetransitionend ) ; } ) ; } else { if ( options . detach ) { $el . detach ( ) ; } else { $el . hide ( ) ; } // Re-enable scrolling of background layer, if needed
 if ( options . scrolllock ) { setTimeout ( function ( ) { if ( $ . grep ( visiblePopupsArray , function ( eid ) { return $ ( "#" + eid ) . data ( 'popupoptions' ) . scrolllock } ) . length ) { // Some "scrolllock=true" popup is currently visible, leave scrolling disabled
 return ; } $body . css ( { overflow : 'visible' , 'margin-right' : bodymarginright } ) ; } , 10 ) ; // 10ms added for CSS transition in Firefox which doesn't like overflow:auto
 } callback ( el , lastclicked [ el . id ] , options . closetransitionend ) ; } if ( options . type == 'tooltip' ) { $ ( window ) . off ( 'resize.' + el . id ) ; } }
Hide method

@param object el - popup instance DOM node
@param boolean outerClick - click on the outer content below popup
Hide method