// ==UserScript==
// @name           SBMCounter Comment Minibuffer Command
// @namespace      http://www.pshared.net/
// @description    SBM カウンタのコメント周り操作へのショートカットキーを割り当てます。
// @include        *
// ==/UserScript==

window.Minibuffer.addShortcutkey({
    key: "C-c c",
    description: "SBM カウンタのコメント開閉を行います。",
    command: function() {
        var comments = document.getElementById("SBMCounterComments");
        var tab = document.getElementById("SBMCounterCommentsTab");
        var area = document.getElementById("SBMCounterCommentsArea");
        if (!(comments && tab && area)) {
            return;
        }

        var visible = !(tab.style.display == "block");
        comments.style.width = visible ? "auto" : "30px";
        comments.style.height = visible ? "auto" : "30px";
        tab.style.display = visible ? "block" : "none";
        area.style.display = visible ? "block" : "none";
    }
});

window.Minibuffer.addShortcutkey({
    key: "C-c n",
    description: "SBM カウンタが開いているコメント欄を下にスクロールします。",
    command: function() {
        var comments = document.getElementById("SBMCounterComments");
        var tab = document.getElementById("SBMCounterCommentsTab");
        var area = document.getElementById("SBMCounterCommentsArea");
        if (!(comments && tab && area)) {
            return;
        }

        var visible = (tab.style.display == "block");
        if (!visible) {
            return;
        }

        area.scrollTop = area.scrollTop + area.clientHeight / 4;
    }
});

window.Minibuffer.addShortcutkey({
    key: "C-c p",
    description: "SBM カウンタが開いているコメント欄を上にスクロールします。",
    command: function() {
        var comments = document.getElementById("SBMCounterComments");
        var tab = document.getElementById("SBMCounterCommentsTab");
        var area = document.getElementById("SBMCounterCommentsArea");
        if (!(comments && tab && area)) {
            return;
        }

        var visible = (tab.style.display == "block");
        if (!visible) {
            return;
        }

        area.scrollTop = area.scrollTop - area.clientHeight / 4;
    }
});

