OGame - Full Galaxia

By Lordmokuba Last update Mar 11, 2008 — Installed 979 times.
// Versión 0.1
// 20080309

// ==UserScript==
// @name           OGame - Full Galaxia
// @author		   LordMokuba
// @namespace      http://userscripts.org/scripts/show/23731
// @description	   Ogame Galaxia Full
// @include        http://*ogame.*/game/index.php?page=galaxy*
// ==/UserScript==

const cnst_ranking = ' en el ranking ';
const cnst_posicion = ' en la posición ';

//inactivos de rojo
var allElements, thisElement;
var cadena, suma;
allElements = document.getElementsByTagName('span');
for (var i = 0; i < allElements.length; i++) {
    thisElement = allElements[i];
    
	if (thisElement.className.substring(0,8)=='inactive')
		{

		thisElement.style.color = "red";
		
		}
	if (thisElement.className.substring(0,12)=='longinactive')
		{

		thisElement.style.color = "red";
		
		}
}
//fin inactivos de rojo




// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) {return LTrim(RTrim(value))}

function locate(xpath, xpres) {
	return document.evaluate(xpath, document, null, xpres, null);
}

function locateFirst(xpath) {
	return locate(xpath, XPathResult.FIRST_ORDERED_NODE_TYPE).singleNodeValue;
}

(function(){
//Colonizar desde la galaxia
	var session = document.getElementsByName("session")[0].getAttribute("value");
	var galaxy = document.getElementsByName("galaxy")[0].getAttribute("value");
	var system = document.getElementsByName("system")[0].getAttribute("value");

	var rows = document.getElementById("content").getElementsByTagName("table")[3].getElementsByTagName("tr");
	for (var i = 0; i < rows.length; i++) {
		if (rows[i].getElementsByTagName("th").length > 0) {
			var link = rows[i].getElementsByTagName("th")[0].getElementsByTagName("a")[0];
			if (link) {
				if (link.getAttribute("tabIndex")==null || link.getAttribute("tabIndex")==0) {
					var planet = link.innerHTML;
					link.setAttribute("href", "index.php?page=flotten1&session=" + session + "&galaxy=" + galaxy + "&system=" + system + "&planet=" + planet + "&planettype=1&target_mission=7");
				}
			}
		}
	}
//fin colonizar
	if (location.href.search('galaxy') != -1 ) {
        // ank de nombre y alianza
		var sMember;
		var iRank;
		var sTemp;
		var gTable = locateFirst('//div[@id="content"]/center/center/table').childNodes[1];
				
		var p = document.createElement("td");
		p.setAttribute('class', 'c');
		p.innerHTML = 'Estadísticas';
		gTable.childNodes[2].appendChild(p);
		
		var publi = gTable.getElementsByTagName("tr");
		for (var i = 2; i < publi.length - 2; i++) {
			var p = document.createElement("th");
			p.setAttribute('style', 'white-space: nowrap;');
			publi[i].appendChild(p);
		};
		
		publi = document.getElementsByTagName ('th');
	
		for (i = 0; i < publi.length; i++) {
			p = publi[i].parentNode.lastChild;
			
			// es el nombre del jugador
			if ((publi[i].width == 150) && (publi[i].innerHTML.length > 100)) {
				sMember = publi[i].getElementsByTagName('span')[0].innerHTML;
				sTemp = publi[i].innerHTML.search(sMember) + sMember.length + cnst_ranking.length;
				iRank = publi[i].innerHTML.slice(sTemp, publi[i].innerHTML.search('</td>'));

                if(iRank > 1 && iRank < 200)
				{
				p.innerHTML = 'J: <font color=\'#FF0000\' size=1> ' + iRank + '</font>';  
				}
				if(iRank > 200 && iRank < 400)
				{
				p.innerHTML = 'J: <font color=\'#FFcc00\' size=1> ' + iRank + '</font>';  
				}
                if(iRank > 400 && iRank < 600)
                {
				p.innerHTML = 'J: <font color=\'#00DAB9\' size=1> ' + iRank + '</font>';  
				}
				if(iRank > 600 && iRank < 5000)
                {
				p.innerHTML = 'J: <font color=\'#00DDff\' size=1> ' + iRank + '</font>';   
				}
				if(iRank > 5000 && iRank < 16000)
                {
				p.innerHTML = 'J: <font color=\'#00DDff\' size=1> ' + iRank + '</font>';  
				}

			}
			
			// es el nombre de la alianza
			if ((publi[i].width == 80) && (publi[i].innerHTML.length > 100)) {
				sMember = LTrim(RTrim(publi[i].getElementsByTagName('a')[0].innerHTML));
				if (sMember.search('class') != -1) sMember = LTrim(RTrim(publi[i].getElementsByTagName('a')[0].childNodes[1].innerHTML));
				// si está instalado algúnm script que agrega información a la alianza entre ()
				if (sMember.search('[\(]') != -1) sMember = RTrim(sMember.substring(0, sMember.search('[\(]')));
				sTemp = publi[i].innerHTML.search(sMember) + sMember.length + cnst_posicion.length;
				iRank = publi[i].innerHTML.slice(sTemp, publi[i].innerHTML.search(' con '));

				p.innerHTML += ' A: <font color=\'#FFDAB9\'>' + iRank + '</font>';
			}
		}
		
		// colspan para los encabezados y pie de la tabla
		publi = document.getElementsByTagName('td');
		for (i = publi.length - 1; i >= 0; i--) {
			if (publi[i].hasAttribute('colspan') && publi[i].hasAttribute('class')){
				if (publi[i].getAttribute('class') == 'c') {
					if (publi[i].getAttribute('colspan') == '8') publi[i].setAttribute('colspan', '9');
					else if (publi[i].getAttribute('colspan') == '2') publi[i].setAttribute('colspan', '3');
				}
			}
		}
		
		// colspan para las filas de estado 
		publi = document.getElementById('fleetstatusrow');
		publi.firstChild.setAttribute('colspan', '9');
		//publi.setAttribute('colspan', '9');
	}

})();