// ==UserScript==
// @name MonzooBourse
// @namespace grenad-monzoo
// @description Amélioration de la page de la bourse sur le site monzoo.net
// @include http://www.monzoo.net/bourse.php*
// @version 1.02
// @copyright Copyright 2017 -- Grenad
// @author Grenad
// @downloadURL none
// ==/UserScript==
var x = document.querySelectorAll(".content_site table");
var head = x[3].tBodies[0].rows;
var head_tx = ["Nom", "Prix de base", "Prix actuel", "Tendance"];
x = x[4];
var tb = x.tBodies[0];
var arr_row = Array.prototype.slice.call(tb.rows, 0);
var config = 0;
var reverse = true;
init_b();
set_percent_b();
sort_b(0);
function init_b() {
for( var it = 0 ; it < 4 ; it ++) {
head[0].cells[it].style.cursor = "pointer";
head[0].cells[it].setAttribute("n", it);
head[0].cells[it].onclick = function() { sort_b(this.getAttribute("n")); }
}
x.insertAdjacentHTML('beforebegin', '');
}
function sort_b(_c) {
if(config == _c)
reverse = !reverse;
else
reverse = false;
config = _c;
if(config == 0) {
arr_row = arr_row.sort( function(a, b) {
return a.cells[0].textContent.trim().localeCompare(b.cells[0].textContent.trim()) * ((reverse) ? -1 : 1);
});
} else {
arr_row = arr_row.sort( function(a, b) {
if(reverse)
return parseInt(a.cells[config].textContent) > parseInt(b.cells[config].textContent);
else
return parseInt(a.cells[config].textContent) < parseInt(b.cells[config].textContent);
});
}
update_tb_b();
update_hd_b();
}
function update_tb_b() {
var e = 0;
for(var it = 0 ; it < arr_row.length ; it ++) {
if(arr_row[it].style.display != "none")
e++;
arr_row[it].setAttribute("bgcolor", (e % 2) ? "#FCF0DB" : "");
tb.appendChild(arr_row[it]);
}
}
function update_hd_b() {
for( var it = 0 ; it < 4 ; it ++) {
head[0].cells[it].style.fontWeight = (it == config) ? "800" : "inherit";
head[0].cells[it].style.textDecoration = (it == config) ? "underline" : "inherit";
head[0].cells[it].textContent = (it == config) ? head_tx[it] + ((reverse) ? " ▼" : " ▲") : head_tx[it];
}
}
function set_percent_b() {
for(var it = 0 ; it < arr_row.length ; it ++) {
var pc = (parseInt(arr_row[it].cells[2].textContent) * 100 / parseInt(arr_row[it].cells[1].textContent)).toFixed(2);
arr_row[it].cells[3].setAttribute("percent", pc);
arr_row[it].cells[3].innerHTML = '
';
arr_row[it].cells[3].innerHTML += " " + ((pc - 100 > 0) ? "+" : "") + (pc - 100).toFixed(2) + "%";
}
}
unsafeWindow.search = function() {
q = document.getElementById("search_name").value.toUpperCase().trim();
for(var it = 0 ; it < arr_row.length ; it ++) {
arr_row[it].style.display = (arr_row[it].textContent.toUpperCase().indexOf(q) > -1) ? "block" : "none";
}
update_tb_b();
}