// vim: fileencoding=utf8
// ==UserScript==
// @include *okoun.cz/favourites.jsp*
// @include *okoun.cz/myBoards.jsp*
// @require http://code.jquery.com/jquery-1.3.min.js
// @name Okoun.cz -- Otevři kluby s novými příspěvky.
// @description Otevře najednou všechny kluby s novými příspěvky.
// @grant GM_openInTab
// @version 2024-11-11
// ==/UserScript==

/*
 * 2010-??-??  První verze.
 * 2010-08-04  Otevře první stranu s novými příspěvky.
 * 2016-04-17  Oprava: skript otevíral okoun.cz//boards (dvě lomítka)
 * 2016-04-25  Přidáno @grant GM_openInTab. Zdá se, že bez toho se v novějším Chromu otevřelo maximálně jedno další okno.
 * 2022-02-22  Kompatibilita s Okoun Bookmarks
 * 2024-11-11  Podpora Moje kluby
 */

function findPlaceForInsertion() {
    const place_favs = $("div.yui-u.first.main");
    return place_favs.length > 0 ? place_favs : $(".yui-g");
}

var i = location.toString().lastIndexOf('/');
var prefix = location.toString().substring(0, i);
var openFunction = window.open;
if (typeof(GM_openInTab) == 'function') {
    openFunction = GM_openInTab;
}

function openWindow(index, link) {
    if (index > 0) {
        openFunction(prefix + link);
    }
}

var linky;
var alreadyLoading = false;
function openNewClubs(e) {
    e.preventDefault();
    if (alreadyLoading) {
        return;
    } else {
        alreadyLoading = true;
    }
    $.each(linky, openWindow);
    window.location = linky[0];
}

function letsJQuery() {
    linky = $("div.item b a")
        .map(function() {
        return $(this).attr('href');
    });
    var pocet = linky.length;
    if (pocet > 0) {
        var place = findPlaceForInsertion();
        if (place != null) {
            place.before(
                '<a id="new-opener" style="cursor:pointer;float:left">' +
                'Otevřít nepřečtené [' + pocet + "]</a><br/>"
            );
            $("#new-opener").click(openNewClubs);
        }
    }
}

letsJQuery();