NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name [2015] Variacion del TOP en galaxia
// @description En la vista de galaxia, muestra si el jugador subió o bajó posiciones desde la ultima vez que visitaste su sistema solar.
// @include http://*.ogame.gameforge.com/game/index.php?page=galaxy*
// @namespace variacion-top-galaxia
// @version 2015.1
// @grant GM_getValue
// @grant GM_setValue
// ==/UserScript==
(function() {
var myFunction = (function () {
if (!this.GM_getValue || (this.GM_getValue.toString && this.GM_getValue.toString().indexOf("not supported") != -1)) {this.GM_getValue = function(key, def){return localStorage[key] || def;};this.GM_setValue = function(key, value){return localStorage[key] = value;};this.GM_deleteValue = function(key){return delete localStorage[key];};}
var setValue = function(key, value) {GM_setValue(key, JSON.stringify(value));}
var getValue = function(key, def) {var value = GM_getValue(key); if (value === undefined) {return def;} return JSON.parse(value);}
$(document).ajaxSuccess(function (e, xhr, settings) {
if (document.getElementById('galaxytable') != null && document.getElementById('divgalaxydata') == null) {
var info = document.getElementById("colonized");
info.innerHTML = info.innerHTML + ' | '
var button = document.createElement('span');
button.className = 'tooltip';
button.appendChild(document.createTextNode( 'Reiniciar clasificación (' + GM_getValue("date") + ')' ));
button.title = "Click para reiniciar todas las clasificaciones (inclusive otros sistemas solares)";
button.onclick = function() {
var players = new Object();
GM_setValue("players", players.toSource() );
var dt = new Date().toLocaleDateString();
GM_setValue("date", dt);
alert('Variaciones reiniciadas');
};
button.style.cursor ="pointer";
info.appendChild(button);
var link = document.createElement("div");
link.id = "divgalaxydata";
document.getElementById('galaxytable').getElementsByTagName('tr')[18].appendChild(link);
if (document.getElementById('galaxytable').getElementsByClassName('bdaySlot')[0] != undefined) {
var i = 5;
} else {
var i = 4;
}
var id;
var players = eval(GM_getValue("players"));
if( players == 'undefined' || players == null) {
players = new Object();
}
while (i < 19) {
var idDiv = document.getElementById('galaxytable').getElementsByTagName('tr')[i].getElementsByTagName('td')[7];
var idRank = document.getElementById('galaxytable').getElementsByTagName('tr')[i].getElementsByTagName('td')[8];
if (idDiv.innerHTML.indexOf('<div id="player') > -1) {
var id = (idDiv.innerHTML.split('<div id="player'))[1].split('"');
if (id[0] != "") {
id = id[0];
var rank = (document.getElementById('player'+id)
.getElementsByTagName('li')[0]
.getElementsByTagName('a')[0]).innerHTML;
if(isNaN(rank)){
rank = 0;
}
if(players[id] == 'undefined' || players[id] == null) {
players[id] = rank;
}
var variation = rank - players[id];
var span = document.createElement('span');
span.appendChild(document.createTextNode( variation ));
span.title = "Click para reiniciar la clasificación de este jugador";
span.className = 'tooltip';
span.id = id;
span.onclick = function() {
this.innerHTML = '0';
var players = eval(GM_getValue("players"));
if( players == 'undefined' || players == null) {
players = new Object();
}
players[this.id] = null;
GM_setValue("players", players.toSource() );
this.style.color ="lime";
alert('La variación de TOP del jugador fue reiniciada');
};
span.style.cursor ="pointer";
if( variation < 0) {
span.style.color ="red";
} else {
span.style.color ="lime";
}
var player = document.getElementById('player'+id[0]);
idRank.appendChild(span);
}
}
i = i + 1;
}
GM_setValue("players", players.toSource() );
}
});
}).toString ();
var script = document.createElement ("script");
script.setAttribute ("type", "application/javascript");
script.textContent = "(" + myFunction + ") ();";
document.body.appendChild (script);
})();