// ==UserScript==
// @name Filter Ideabox
// @namespace PXgamer
// @version 0.2
// @description Sort ideabox ideas by different methods
// @author PXgamer
// @include *kat.cr/ideabox/*
// @grant none
// @downloadURL none
// ==/UserScript==
/*jshint multistr: true */
(function() {
'use strict';
$('.buttonsline.floatleft').append(' ');
$('.ideaBox').each(function(){
var html = $(this).html();
var title = $('.ideaBody h3 span', $(this)).text();
var age = $('.ideaBody div.greyText', $(this)).split('')[7];
var views = $('.ideaBody div.greyText', $(this)).split('')[3];
rows.push({"title":title,"age":age,"views":views,"html":html});
});
$('#sortIdeas').on('click', function() {
var ideaSortType = $('#sortIdeas-select').val();
switch (ideaSortType) {
case 'all':
$('div.ideaBox').show();
break;
case 'az': // Sort alphabetically (A-Z)
$('div.ideaBox').show();
sortIdeas('title', 'desc');
break;
case 'no': // Sort by age (Newest to Oldest)
$('div.ideaBox').show();
sortIdeas('age', 'desc');
break;
case 'views': // Sort by views (High to Low)
$('div.ideaBox').show();
sortIdeas('views', 'desc');
break;
default:
$('div.ideaBox').show();
break;
}
});
function sortByKey(array, key) {
return array.sort(function(a, b) {
var x = a[key];
var y = b[key];
if (typeof x == "string") {
x = x.toLowerCase();
y = y.toLowerCase();
}
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
});
}
function sortIdeas(sortName, sortType) {
sortByKey(rows, sortName);
//rows.reverse();
$('div.ideaBox').remove();
for (var i=0;i'+rows[i].html+'');
}
}
})();