// ==UserScript==
// @name KAT - Toggle All Folders
// @namespace ToggleAll
// @version 1.21
// @description Adds a button to expand/minimise all folders in a torrent on KAT
// @match http://kat.cr/*.html
// @match https://kat.cr/*.html
// @exclude http://kat.cr/tos.html
// @exclude https://kat.cr/tos.html
// @downloadURL https://update.greasyfork.icu/scripts/2179/KAT%20-%20Toggle%20All%20Folders.user.js
// @updateURL https://update.greasyfork.icu/scripts/2179/KAT%20-%20Toggle%20All%20Folders.meta.js
// ==/UserScript==
$(".folderopen:first").attr("class", "folder");
$('button[id$="AllFolders"]').remove();
var temp = $('a[href^="javascript:getFiles"]:first').attr("href");
var subfolder = $('table[id$="_1"]:first').attr("id");
if (temp != undefined)
{
temp = temp.split(", ");
morelink = temp[0] + ", " + temp[1];
var pattern = new RegExp(";$");
if (pattern.test(morelink)) // if morelink is found in root directory
{
if (subfolder != undefined) // if subfolder is found
{
$(".torrent_files").prepend('');
$('
Please wait before expanding the folders
').insertBefore(".data:first");
}
}
else // if morelink is found in a sub folder
{
morelink = morelink + ");"
$(".torrent_files").prepend('');
$('
Please wait before expanding the folders
').insertBefore(".data:first");
}
window.open(morelink, "_self");
}
else // if no morelink is found
{
if (subfolder != undefined) // if subfolder is found
{
$(".torrent_files").prepend('');
}
// if no subfolder (or morelink) is found
}
var count = $('table[id^="ul_"][id!="ul_top"]').length;
var timer = count * 10;
if (timer < 500 ) { timer = 500; }
setTimeout(function()
{
$('.torrent_files').bind("DOMSubtreeModified",function()
{
$("#loading").remove();
$("#Toggle").removeAttr("style");
$("#Toggle").css("margin-right", "5px");
$("#ul_top").css("display", "block");
});
}, timer);
$("#Toggle").click( function()
{
$('span[class^="folder"][class!="foldericon"]').each(function()
{
if ($(this).attr("class") == "folder")
{
$(this).attr("class", "folderopen");
}
else
{
$(this).attr("class", "folder");
}
});
$('table[id^="ul_"][id!="ul_top"]').after(function(ind)
{
if ($(this).css("display") == "none")
{
$(this).css("display", "block");
}
else
{
$(this).css("display", "none");
}
});
});