yvxuji (js, doesn't expire)
var each = (a,c)=> Array.prototype.forEach.call(a, c);
var node = elem => elem instanceof window.$ ? elem[0] : elem;
var smrm = elem => getComputedStyle(node(elem)).animationName!=="none"?node(elem).addEventListener('animationend',node(elem).remove):node(elem).remove();

function beyond(node) {
    var rect = node.getBoundingClientRect();
    return (
        (rect.x + rect.width) < 0 ||
        (rect.y + rect.height) < 0 ||
        (rect.x > window.innerWidth || rect.y > window.innerHeight)
    );
}

var
    popup  = 'popup',
    popupA = 'popupA',
    popupF = 'popupF',
    hilite = 'highlighted'
;

var nav = {
    setHighlight: (/*HTMLElement | JQuery*/ post, /*boolean*/ status) => {
        switch (status) {
            case true:
                node(post).classList.add(hilite);
                break;
            case false:
                node(post).classList.remove(hilite);
                break;
            case undefined:
                node(post).classList.contains(hilite)
                    ? node(post).classList.add(hilite)
                    : node(post).classList.add(hilite)
                ;
                break;
            default:
                break;
        }
    },

    clonePost: (clonedPost, parent, rm) => {
        switch (rm) {
            case true:
            case undefined:
                clonedPost.attr('id', clonedPost.attr('id')+'_copy');
                clonedPost.addClass(popup);
                clonedPost.addClass(popupA);

                getComputedStyle(node(clonedPost)).animationName != 'none'
                    ? clonedPost.on( 'animationend', e => e.target.classList.remove(popupA) )
                    : clonedPost.removeClass(popupA)
                ;

                parent.append(clonedPost);
                break;

            case false:
                clonedPost.addClass(popupF);
                smrm(clonedPost);
                break;

            default:
                break;
        }

        return clonedPost;

    },

}

function enableFastNavigation() { // Highlights and popups

    function highlightOnLinkEnter(/*JQuery*/ post, /*JQuery*/ link) {
        nav.setHighlight(post, true);
        link.on('mouseleave', function mouseLeave() {
            nav.setHighlight(post, false);
            link.off('mouseleave', mouseLeave);
        });
    }

    function popup(/*JQuery*/ clonedPost, /*JQuery*/ link) {

        var popupDeletionTimer = null;
        var parentPost = link.parent().parent();

        /* Callbacks
        * W: Each one assumes that clonedPost and link are valid JQuery objects.*/
        const cbs = {
            _initiateCountdown: () => {
                popupDeletionTimer = setTimeout( () => {
                    nav.clonePost(clonedPost, parentPost, false);
                    link.removeAttr('locked');
                }, 1000 );
            },

            /* Postlink mouseleave callback. */
            linkLeave: function linkLeave(e) {
                cbs._initiateCountdown();
                clonedPost.on('mouseenter', cbs.popupEnter);

                link.off('mouseleave');
            },

            /* Fires when cursor leaves a popup. */
            popupLeave: function postLeave() {
                cbs._initiateCountdown();
                clonedPost.on('mouseenter', cbs.popupEnter);
            },

            /* Fires if cursor returns onto a popup before postDeletionTimer's time is up.
               Otherwise popup will be removed from document. */
            popupEnter: function postEnter() {
                clearTimeout(popupDeletionTimer);
                postDeletionTimer = null;
                clonedPost.off('mouseenter', popupEnter);
            }

        };

        if (link.attr('locked')) return;
        link.attr('locked', true);
        nav.clonePost(clonedPost, parentPost);

        let _l = node(link), _ld = _l.getBoundingClientRect();
        clonedPost
            .css('position', 'absolute')
            .css('left', _l.offsetLeft + 'px')
            .css('top',  _l.offsetTop + _ld.height + 'px')
        ;

        link.on('mouseleave', cbs.linkLeave);
        clonedPost.on('mouseleave', cbs.popupLeave);
    }

    function show(e) {

        let link = $(e.target),
            numb = link.text().substr(2),
            post = $(`#reply${numb}`) || null;

        if (node(post)) {
            if( beyond(node(post)) ) {
                let _embed = node(post).cloneNode(true);

                each(_embed.children, item => {
                    if (item.classList.contains(popup)) item.remove();

                });

                popup($(_embed), link);
            } else {
                highlightOnLinkEnter(post, link);
            }
        }
    }

    $(document).on('mouseenter', '.message a[href*="res"]', show);
}

document.addEventListener('DOMContentLoaded', enableFastNavigation);