function PushMenu()

in static/js/script.js [415:473]


    function PushMenu(el) {
        var html = document.querySelector('html');

        var overlay = newDOMElement('div', 'overlay');
        var content = newDOMElement('div', 'content');
        content.appendChild(el.querySelector('*'));

        var side = el.getAttribute("data-side") || "right";

        var sled = newDOMElement('div', 'sled');
        $(sled).css(side, 0);

        sled.appendChild(content);

        var closeButton = newDOMElement('button', 'push-menu-close-button');
        closeButton.onclick = closeMe;

        sled.appendChild(closeButton);

        overlay.appendChild(sled);
        el.innerHTML = '';
        el.appendChild(overlay);

        sled.onclick = function(e){
            e.stopPropagation();
        };

        overlay.onclick = closeMe;

        window.addEventListener('resize', closeMe);

        function closeMe(e) {
            if (e.target == sled) return;

            $(el).removeClass('on');
            setTimeout(function(){
                $(el).css({display: 'none'});

                $(body).removeClass('overlay-on');
            }, 300);
        }

        function exposeMe(){
            $(body).addClass('overlay-on'); // in the default config, kills body scrolling

            $(el).css({
                display: 'block',
                zIndex: highestZ()
            });

            setTimeout(function(){
                $(el).addClass('on');
            }, 10);
        }

        return {
            expose: exposeMe
        };
    }