// ==UserScript==
// @name Achievement Filter
// @namespace pxgamer
// @version 0.7
// @description Filter cheevos on the cheevo page.
// @author pxgamer
// @include *kat.cr/achievements/
// @grant none
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
var year = new Date().getFullYear();
var assigned = $('table.achTable tbody tr td.width100perc ul li span.achBadge.assignedAchievement').length;
var unassigned = $('table.achTable tbody tr td.width100perc ul li span.achBadge').length - assigned;
$('table.achTable').before('
Show All Show Only Achieved ('+assigned+') Show Non-Collected Achievements ('+unassigned+') Show Current Achievements
');
// Only show achievements you've already got
$('.showOnlyCollected').on('click', function() {
$('table.achTable tbody tr td.width100perc ul li').each(function() {
$(this).show();
});
$('table.achTable tbody tr td.width100perc ul li span.achBadge').each(function() {
if (!$(this).hasClass('assignedAchievement')) {
$(this).parent().hide();
}
});
});
// Only show achievements you haven't got
$('.showNonCollected').on('click', function() {
$('table.achTable tbody tr td.width100perc ul li').each(function() {
$(this).show();
});
$('table.achTable tbody tr td.width100perc ul li span.achBadge').each(function() {
if ($(this).hasClass('assignedAchievement')) {
$(this).parent().hide();
}
});
});
// Only current achievements
$('.showCurrentCheevos').on('click', function() {
$('table.achTable tbody tr td.width100perc ul li').each(function() {
$(this).show();
});
$('table.achTable tbody tr td.width100perc ul li span.achBadge').each(function() {
if (!$(this).hasClass('assignedAchievement') && $(this).children('a').children('span.achTitle').text().substring(0, 4) < year) {
$(this).parent().hide();
}
if (!$(this).hasClass('assignedAchievement') && $(this).children('a').children('span.achTitle').text().substring($(this).children('a').children('span.achTitle').text().length - 4) < year) {
$(this).parent().hide();
}
});
});
// Show all cheevos (reset)
$('.showAllCheevos').on('click', function() {
$('table.achTable tbody tr td.width100perc ul li').each(function() {
$(this).show();
});
});
})();