Duke / Produktion OGame v7.1

// ==UserScript==
// @name Produktion OGame v7.1
// @version 0.1
// @author Duke of Cologne
// @copyright 2019, Duke of Cologne
// @include *ogame.gameforge.com/game/index.php?page=resourceSettings*
// @grant none
// @license MIT
// @updateURL https://openuserjs.org/meta/Duke/Produktion_OGame_v7.1.meta.js
// @downloadURL https://openuserjs.org/install/Duke/Produktion_OGame_v7.1.user.js
// ==/UserScript==





(function () {

    var SCRIPT_VERSION = "0.1";

    var unsafe = (typeof unsafeWindow) != "undefined" ? unsafeWindow : window;

    const openImg  = "data:image/gif;base64," +
        "R0lGODlhEgAQALMAACQuNxsiKRsiKBgcIxccHxYbH2B3ghccICMtNmN5hSUvOBYbHhggJAAAAAAAA" +
        "AAAACH5BAAAAAAALAAAAAASABAAAARFMKhJq1WS6c07m164gWJIlt2JjgqXvPBrsF0McwpyLDxv94" +
        "sDQgf0vYpCYnGRWCZ3y+gzKh1CqUACAlDAFgcAAeBCVoQjADs=";

    const closeImg = "data:image/gif;base64," +
        "R0lGODlhEgAQALMAACQuNxsiKRsiKBgcIxccHxYbH2B3ghccICMtNmN5hSUvOBYbHhggJAAAAAAAA" +
        "AAAACH5BAAAAAAALAAAAAASABAAAARFUABFq7VAjsW79wWAEF/ZHQhymCaqsqW7fkmbzl2ix7en/x" +
        "+UgkFk/I5FIqVoOCKLy6R0Gp1aGdWrNKuFDrvbwGV8CUQAADs=";


    var patron_basico;
    var patron_completo;


    function addEvent (el, evt, fxn)
    {
        if (el.addEventListener)
            el.addEventListener (evt, fxn, false);
        else if (el.attachEvent)
            el.attachEvent ("on" + evt, fxn);
            else
            el ['on' + evt] = fxn;
    }

    var LANG_ES = {
        domain: ".ogame.com.es || .ogame.es"
        ,produccion_imp: "Producción imperial de "
        ,recplaneta: "Recursos diarios por planeta "
        ,almacen_tiempo: "Almacén y tiempo de llenado"
        ,metal: "Metal"
        ,cristal: "Cristal"
        ,deuterio: "Deuterio"
        ,total: "Total (M+C+D)"
        ,en_metal: "En Metal (ratio 3x2x1)"
        ,diaria: "Diaria"
        ,semanal: "Semanal"
        ,mensual: "Mensual"
        ,planetas: "Planetas"
        ,produccion: "Producción"
        ,excedentes: "Excedentes día"
        ,dia: "Día"
        ,semana: "Semana"
        ,hora: "Hora"
        ,produccion_flota: "Producción estimada de flota"
        ,produccion_def: "Producción estimada de defensas"
        ,producc_diaria: "Producción diaria de"
        ,translate_by: ""
        ,bbcode: "BBCode"
        ,almacenes: "Almacenes"
        ,flota: "Flota"
        ,defensa: "Defensas"
        ,produccion_basica: "Producción básica"
        ,produccion_completa: "Producción completa"
        ,geologo: "Geólogo"

        ,p_carga: "P. Carga"
        ,g_carga: "G. Carga"
        ,c_ligero: "C. Ligero"
        ,c_pesado: "C. Pesado"
        ,crucero: "Crucero"
        ,nbatalla: "N. Batalla"
        ,colonizador: "Colonizador"
        ,reciclador: "Reciclador"
        ,sonda: "Sonda Esp."
        ,bombardero: "Bombardero"
        ,destructor: "Destructor"
        ,edlm: "EDLM"
        ,acorazado: "Acorazado"
        ,satelite: "Sat. Solar"
        ,taladrador: "Taladrador"
        ,segador: "Segador"
        ,explorador: "Explorador"

        ,lanzamisiles: "Lanzamisiles"
        ,laser_peq: "Láser Pequeño"
        ,laser_gra: "Láser Grande"
        ,c_gaus: "Cañón Gauss"
        ,c_ionico: "Cañón Iónico"
        ,c_plasma: "Cañón Plasma"
        ,m_anti: "M. Antibalístico"
        ,m_plan: "M. Interplan."

        ,h_hora: "h"
        ,d_dia: "d"
        ,s_semana: "s"
    };


    var LANG_EN = {
        domain: "*"
        ,produccion_imp: "Produktion für "
        ,recplaneta: "Tägliche Produktion pro Planet"
        ,almacen_tiempo: "Speicher und Zeit bis voll"
        ,metal: "Metall"
        ,cristal: "Kristall"
        ,deuterio: "Deuterium"
        ,total: "Total (M+C+D)"
        ,en_metal: "In Metall(3x2x1 ratio)"
        ,diaria: "Tag"
        ,semanal: "Woche"
        ,mensual: "Monat"
        ,planetas: "Planeten"
        ,produccion: "Produktion"
        ,excedentes: "Übrig pro Tag"
        ,dia: "Tag"
        ,semana: "Woche"
        ,hora: "Stunde"
        ,produccion_flota: "Mögliche Flottenproduktion"
        ,produccion_def: "Mögliche Def Produktion"
        ,producc_diaria: "Tägliche Produktion"
        ,bbcode: "BBCode"
        ,almacenes: "Speicher"
        ,flota: "Flotte"
        ,defensa: "Verteiligung"
        ,produccion_basica: "Basis Produktion"
        ,produccion_completa: "Komplette Produktion"
        ,geologo: "Geologe"
        ,translate_by: ""


        ,p_carga: "Kleiner Tansporter"
        ,g_carga: "Großer Transporter"
        ,c_ligero: "Leichter Jäger"
        ,c_pesado: "Schwerer Jäger"
        ,crucero: "Kreuzer"
        ,nbatalla: "Schlachtschiff"
        ,colonizador: "Kolonieschiff"
        ,reciclador: "Recycler"
        ,sonda: "Spiosonde"
        ,bombardero: "Bomber"
        ,destructor: "Zerstörer"
        ,edlm: "Todesstern"
        ,acorazado: "Schlachtkreuzer"
        ,satelite: "Solarsatellit"
        ,taladrador: "Crawler"
        ,segador: "Segador"
        ,explorador: "Explorador"

        ,lanzamisiles: "Raketenwerfer"
        ,laser_peq: "Leichter Laser"
        ,laser_gra: "Schwerer Laser"
        ,c_gaus: "Gauss Kanone"
        ,c_ionico: "Ionen Geschütz"
        ,c_plasma: "Plasmawerfer"
        ,m_anti: "Abfangrakete"
        ,m_plan: "Interplanetar Rakete"

        ,h_hora: "h"
        ,d_dia: "d"
        ,s_semana: "w"
    };

    var op = function () {
        this.set = function(key, value) {
            return localStorage.setItem ("ogres_" + getServer() + "_" + key, value);
        }

        this.get = function(key){
            var def = 0;
            return localStorage.getItem ("ogres_" + getServer() + "_" + key) || def;
        }
    }

    var options = new op();



    function getServer() {

        var server = location.href;
        server = server.replace("https://", "").replace("www.", "");
        server = server.substring(0, server.indexOf("."));

        return server;
    }


    function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if (node == null)
            node = document;
        if (tag == null)
            tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;

        for (var i = 0, j = 0; i < elsLen; i++) {
            var sep = els[i].className.split(" ");
            var content = false;

            for(var k = 0; k < sep.length; k++){
                if(sep[k] == searchClass)
                    content = true;
            }

            if (els[i].className == searchClass || content) {
                classElements[j] = els[i];
                j++;
            }
        }
        return classElements;
    }


    function mostrarNumero(num) {
        num = parseInt(num);
        var neg = "";

        if(num<0) {
            neg = "-";
            num *= -1;
        }

        var nNmb = String(parseInt(num));
        var sRes = "";
        for (var j, i = nNmb.length - 1, j = 0; i >= 0; i--, j++)
            sRes = nNmb.charAt(i) + ((j > 0) && (j % 3 == 0)? ".": "") + sRes;

        return neg + sRes;
    }


    function getPosActual () {
        return "[" + document.getElementsByName("ogame-planet-coordinates")[0].content + "]";
    }


    function getNombreJugador () {
        return document.getElementsByName("ogame-player-name")[0].content;
    }


    function geologoActivo() {
        var salida = false;
        var oficiales = document.getElementById("officers").getElementsByTagName("a");
        var geologo = oficiales[3].className;

        if(geologo.indexOf(" on ") != -1) {
            salida = true;
        }
        return salida;
    }

    function equipoComandoActivo() {
        var salida = true;
        var oficiales = document.getElementById("officers").getElementsByTagName("a");

        var i = 0;
        for(i = 0; i < 5; i++) {
            var oficial = oficiales[i].className;
            if(oficial.indexOf(" on ") == -1) {
                salida = false;
            }
        }
        return salida;
    }


    function getFecha()  {
        var fecha=new Date();
        return fecha.getFullYear() + "/" + (fecha.getMonth()+1) + "/" + fecha.getDate() ;
    }


    function generarFilaProduccion(nombre, pM, pC, pD, cM, cC, cD, c) {
        var salida = "";
        var diario = 0;
        var semanal = 0;

        // diario
        if(pD == 0) {
            diario = parseInt(Math.min(pM/cM,pC/cC));
        } else {
            diario = parseInt(Math.min(pM/cM,pC/cC, pD/cD));
        }

        if(isNaN(diario))
            diario = 0;

        var exM = pM - (diario*cM);
        var exC = pC - (diario*cC);
        var exD = pD - (diario*cD);

        // semanal
        pM *= 7;
        pC *= 7;
        pD *= 7;

        if(pD == 0) {
            semanal = parseInt(Math.min(pM/cM,pC/cC));
        } else {
            semanal = parseInt(Math.min(pM/cM,pC/cC, pD/cD));
        }

        if(isNaN(semanal))
            semanal = 0;

        salida += '<tr class="' + c + '" align="right"><td class="label">' + nombre + '</td><td class="undermark"><b>'
        salida += mostrarNumero(diario) + '</b></td><td class="undermark">' + mostrarNumero(semanal) + '</td><td>';
        salida += mostrarNumero(exM) + '</td><td>';
        salida += mostrarNumero(exC) + '</td><td>';
        salida += mostrarNumero(exD) + '</td></tr>'

        return(salida);
    }


    function getColumnas(tabla){
        return tabla.rows[0].cells.length;
    }

    function getFilas(tabla){
        return tabla.rows.length;
    }

    function getContenido(tabla, fila, col)
    {
        var rowElem = tabla.rows[fila];
        var tdValue = rowElem.cells[col];
        return tdValue;
    }

    function A(almacen) {
        var ret = "-";

        if(typeof almacen != 'undefined' && almacen > 0) {

            almacen = parseInt(almacen)/1000;
            ret = mostrarNumero(almacen) + " k";
        }
        return ret
    }


    function getTiempoLlenado(produccion, almacen) {
        var ret = '-';

        if(typeof almacen != 'undefined' && produccion > 0) {


            almacen = parseInt(almacen);
            produccion = parseInt(produccion) / 24;
            horas = parseInt(almacen/produccion);

            if(horas > 24) {
                dias = horas/24;
                if(dias > 7) {
                    semanas = dias / 7;
                    ret = parseInt(semanas) + LANG.s_semana + " " + parseInt(dias % 7) + LANG.d_dia;

                }else {
                    ret = parseInt(dias) + LANG.d_dia + " " + parseInt(horas % 24) + LANG.h_hora;
                }
            }
            else {
                ret = parseInt(horas) + LANG.h_hora;
            }
        }

        return  ret;
    }


    function getNivelMina(tipo, sep, pos) {

        var ret = "";
        var mediana = 0;
        var nivel = 0;

        switch(tipo)
        {
            case 1:
                var lista = new Array(sep.length);

                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k]  = planeta.metal_nivel_mina*10;
                    if(k == pos) {
                        nivel = planeta.metal_nivel_mina*10;
                    }
                }
                lista.sort(sortNumerico);
                var mitad = parseInt(sep.length/2)
                mediana = lista[mitad-1];
                break;
            case 2:
                var lista = new Array(sep.length);

                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k]  = planeta.cristal_nivel_mina*10;
                    if(k == pos) {
                        nivel = planeta.cristal_nivel_mina*10;
                    }
                }
                lista.sort(sortNumerico);
                var mitad = parseInt(sep.length/2)
                mediana = lista[mitad-1];
                break;
            case 3:
                var lista = new Array(sep.length);

                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k]  = planeta.deuterio_nivel_mina*10;
                    if(k == pos) {
                        nivel = planeta.deuterio_nivel_mina*10;
                    }
                }
                lista.sort(sortNumerico);
                var mitad = parseInt(sep.length/2)
                mediana = lista[mitad-1];
                break;
            default:
                break;
        }



        if(nivel < mediana) {
            ret = ' <font color="#FF0000"><b>[' + nivel/10 + ']</b></font>';
        } else {
            if(nivel == mediana) {
                ret = ' <font color="#A9BCF5"><b>[' + nivel/10 + ']</b></font>';
            } else {
                ret = ' <font color="#5858FA"><b>[' + nivel/10 + ']</b></font>';
            }
        }

        return ret;
    }



    function getStrNiveles(tipo, sep) {

        var ret = "";
        var lista = new Array(sep.length);

        switch(tipo)
        {
            case 1:
                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k] = planeta.metal_nivel_mina*10;
                }
                break;
            case 2:
                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k] = planeta.cristal_nivel_mina*10;
                }
                break;
            case 3:
                for(var k = 0; k < sep.length; k++){
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));
                    lista[k] = planeta.deuterio_nivel_mina*10;
                }
                break;
            default:
                break;
        }


        lista.sort(sortNumerico);

        for(var k = 0; k < lista.length-1; k++) {
            ret += lista[k]/10 + " ";
        }

        return ret;
    }



    function sortNumerico(a,b){
        if (a < b) return 1;
        if (a > b) return -1;
        if (a = b) return 0;
    }


    function mostrarDetallesRecursos(id) {
        var asig;

        var img = document.getElementById("img_" + id);
        var fila = document.getElementById(id + "_1");

        if (fila.style.display != "none") {
            asig = "none";
            img.setAttribute ("src", openImg);
        } else {
            asig = "";
            img.setAttribute ("src", closeImg);
        }

        for(var i = 1; (fila = document.getElementById(id + "_" + i)) != null; i++) {
            fila.style.display = asig;
        }
    }


    function mostrarSeccion(id) {
        var div = document.getElementById("sec_" + id);
        var anterior = div.style.display;
        var img;


        for(var i = 1; (div = document.getElementById("sec_" + i)) != null; i++) {
            div.style.display = "none";
            img = document.getElementById("img_sec" + i);
            img.setAttribute("src", openImg);
        }

        for(var i = 1; (fila = document.getElementById("mostrar_sec" + i)) != null; i++) {
            fila.parentNode.style.backgroundColor = "#240B3B";
        }


        div = document.getElementById("sec_" + id);
        img = document.getElementById("img_sec" + id);

        if (anterior != "none") {
            div.style.display = "none";
            img.setAttribute("src", openImg);
            document.getElementById("mostrar_sec" + id).parentNode.style.backgroundColor = "#240B3B";
        } else {
            div.style.display = "";
            img.setAttribute("src", closeImg);
            document.getElementById("mostrar_sec" + id).parentNode.style.backgroundColor = "#4C0B5F";
        }


    }

    // ============================================================
    // ============================================================


    function translate(text) {

        text = text.replace(/{RECURSOS_PLANETAS}/gi, LANG.recplaneta)
        text = text.replace(/{PRODUCCION_IMPERIAL}/gi, LANG.produccion_imp)
        text = text.replace(/{METAL}/gi, LANG.metal)
        text = text.replace(/{CRISTAL}/gi, LANG.cristal)
        text = text.replace(/{DEUTERIO}/gi, LANG.deuterio)
        text = text.replace(/{SEMANA}/gi, LANG.semana)
        text = text.replace(/{HORA}/gi, LANG.hora)
        text = text.replace(/{DIA}/gi, LANG.dia)
        text = text.replace(/{DIARIA}/gi, LANG.diaria)
        text = text.replace(/{SEMANAL}/gi, LANG.semanal)
        text = text.replace(/{MENSUAL}/gi, LANG.mensual)

        text = text.replace(/{EXCEDENTES_DIA}/gi, LANG.excedentes)
        text = text.replace(/{PRODUCCION}/gi, LANG.produccion)
        text = text.replace(/{PRODUCCION_FLOTA}/gi, LANG.produccion_flota)
        text = text.replace(/{PRODUCCION_DEFENSAS}/gi, LANG.produccion_def)
        text = text.replace(/{ALMACEN_TIEMPO}/gi, LANG.almacen_tiempo)
        text = text.replace(/{PLANETAS}/gi, LANG.planetas)
        text = text.replace(/{TOTAL}/gi, LANG.total)
        text = text.replace(/{PRODUCCION_DIARIA_DE}/gi, LANG.producc_diaria)
        text = text.replace(/{TRANSLATE_BY}/gi, LANG.translate_by)
        text = text.replace(/{EN_METAL}/gi, LANG.en_metal)

        text = text.replace(/{BBCODE}/gi, LANG.bbcode)
        text = text.replace(/{ALMACENES}/gi, LANG.almacenes)
        text = text.replace(/{FLOTA}/gi, LANG.flota)
        text = text.replace(/{DEFENSA}/gi, LANG.defensa)
        text = text.replace(/{PRODUCCION_BASICA}/gi, LANG.produccion_basica)
        text = text.replace(/{PRODUCCION_COMPLETA}/gi, LANG.produccion_completa)
        text = text.replace(/{GEOLOGO}/gi, LANG.geologo)


        text = text.replace('{P_CARGA}', LANG.p_carga)
        text = text.replace('{G_CARGA}', LANG.g_carga)
        text = text.replace('{C_LIGERO}', LANG.c_ligero)
        text = text.replace('{C_PESADO}', LANG.c_pesado)
        text = text.replace('{CRUCERO}', LANG.crucero)
        text = text.replace('{NBATALLA}', LANG.nbatalla)
        text = text.replace('{COLONIZADOR}', LANG.colonizador)
        text = text.replace('{RECICLADOR}', LANG.reciclador)
        text = text.replace('{SONDA}', LANG.sonda)
        text = text.replace('{BOMBARDERO}', LANG.bombardero)
        text = text.replace('{DESTRUCTOR}', LANG.destructor)
        text = text.replace('{EDLM}', LANG.edlm)
        text = text.replace('{ACORAZADO}', LANG.acorazado)
        text = text.replace('{SATELITE}', LANG.satelite)
        text = text.replace('{TALADRADOR}', LANG.taladrador)
        text = text.replace('{SEGADOR}', LANG.segador)
        text = text.replace('{EXPLORADOR}', LANG.explorador)

        text = text.replace('{LANZAMISILES}', LANG.lanzamisiles)
        text = text.replace('{LASER_PEQ}', LANG.laser_peq)
        text = text.replace('{LASER_GRA}', LANG.laser_gra)
        text = text.replace('{C_GAUS}', LANG.c_gaus)
        text = text.replace('{C_IONICO}', LANG.c_ionico)
        text = text.replace('{C_PLASMA}', LANG.c_plasma)
        text = text.replace('{M_ANTI}', LANG.m_anti)
        text = text.replace('{M_PLAN}', LANG.m_plan)


        return text;
    }


    function codificar(patron, tipo) {
        var marcas = new Array();

        var colores = [
            [/{COLOR_METAL}/gi, '#9999ff'],
            [/{COLOR_CRISTAL}/gi, '#00ff00'],
            [/{COLOR_DEUTERIO}/gi, '#ff00ff'],
            [/{COLOR_NARANJA}/gi, '#ff4000'],
            [/{COLOR_TOTAL1}/gi, '#999900'],
            [/{COLOR_TOTAL2}/gi, '#ffff00']];


        if(tipo == "html") {

            marcas = [
                [/{B}/gi, '<b>'],
                [/{\/B}/gi, '</b>'],
                [/{U}/gi, '<u>'],
                [/{\/U}/gi, '</u>'],
                [/{NL}/gi, '<br>\n'],
                [/{SIZE_PEQ}/gi, '<font style="font-size:8pt;">'],
                [/{SIZE_MED}/gi, '<font style="font-size:8pt;">'],
                [/{SIZE_GRA}/gi, '<font style="font-size:11pt;">'],
                [/{\/SIZE}/gi, '</font>'],
                [/{\/COLOR}/gi, '</font>'] ];

            patron = patron.replace(/{URL_SCRIPT}/gi, '<a href="https://openuserjs.org/scripts/Duke/Produktion_OGame_v7.1">Produktion OGame v7.1 ' + SCRIPT_VERSION.substr(0,SCRIPT_VERSION.lastIndexOf(".")) + '</a>');

            for(var i = 0; i < colores.length; i++)
                patron = patron.replace(colores[i][0],'<font color="' + colores[i][1] + '">');
        }


        if(tipo == "phpbb") {

            marcas = [
                [/{B}/gi, '[b]'],
                [/{\/B}/gi, '[/b]'],
                [/{U}/gi, '[u]'],
                [/{\/U}/gi, '[/u]'],
                [/{NL}/gi, '\n'],
                [/{SIZE_PEQ}/gi, '[size=12]'],
                [/{SIZE_MED}/gi, '[size=12]'],
                [/{SIZE_GRA}/gi, '[size=14]'],
                [/{\/SIZE}/gi, '[/size]'],
                [/{\/COLOR}/gi, '[/color]'] ];

            patron = patron.replace(/{URL_SCRIPT}/gi, '[url="https://openuserjs.org/scripts/Duke/Produktion_OGame_v7.1">Produktion OGame v7.1 ' + SCRIPT_VERSION.substr(0,SCRIPT_VERSION.lastIndexOf(".")) + '[/url]');

            for(var i = 0; i < colores.length; i++)
                patron = patron.replace(colores[i][0],'[color=' + colores[i][1] + ']');
        }

		if(tipo == "smf") {

            marcas = [
                [/{B}/gi, '[b]'],
                [/{\/B}/gi, '[/b]'],
                [/{U}/gi, '[u]'],
                [/{\/U}/gi, '[/u]'],
                [/{NL}/gi, '\n'],
                [/{SIZE_PEQ}/gi, '[size=12pt]'],
                [/{SIZE_MED}/gi, '[size=12pt]'],
                [/{SIZE_GRA}/gi, '[size=14pt]'],
                [/{\/SIZE}/gi, '[/size]'],
                [/{\/COLOR}/gi, '[/color]'] ];

            patron = patron.replace(/{URL_SCRIPT}/gi, '[url="https://openuserjs.org/scripts/Duke/Produktion_OGame_v7.1">Produktion OGame v7.1 ' + SCRIPT_VERSION.substr(0,SCRIPT_VERSION.lastIndexOf(".")) + '[/url]');

            for(var i = 0; i < colores.length; i++)
                patron = patron.replace(colores[i][0],'[color=' + colores[i][1] + ']');
        }


        for(var i = 0; i < marcas.length; i++)
            patron = patron.replace(marcas[i][0],marcas[i][1]);


        return patron;
    }


    function setTxtBBCode(tipo) {

        if(tipo == 0) {
            document.getElementById("txtBB").value = codificar(bbcode_basico, "phpbb");
            document.getElementById("preview").innerHTML = codificar(bbcode_basico, "html");
        } else {
            document.getElementById("txtBB").value = codificar(bbcode_completo, "phpbb");
            document.getElementById("preview").innerHTML = codificar(bbcode_completo, "html");
        }

    }


    function getNivelPlasma() {
        var lista = getElementsByClass("list")[0];
        var nivel_plasma = getContenido(lista, 10,0).innerHTML;
        nivel_plasma = parseInt(nivel_plasma.replace(/\D/g,''));
        return nivel_plasma;
    }


    function ObjPlaneta() {
        var metal_base;
        var metal_produccion_mina;
        var metal_produccion_amplificador;
        var metal_nivel_mina;
		var metal_geologo;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
		var metal_oficiales;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var metal_plasma;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var metal_taladrador;
        var metal_recolector;

        var cristal_base;
        var cristal_produccion_mina;
        var cristal_produccion_amplificador;
        var cristal_nivel_mina;
		var cristal_geologo;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
		var cristal_oficiales;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var cristal_plasma;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var cristal_taladrador;
        var cristal_recolector;

        var deuterio_base;
        var deuterio_produccion_mina;
        var deuterio_produccion_amplificador;
        var deuterio_nivel_mina;
        var deuterio_gasto_fusion;
		var deuterio_geologo;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
		var deuterio_oficiales;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var deuterio_plasma;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
        var deuterio_taladrador;
        var deuterio_recolector;

        var almacen_metal;
        var almacen_cristal;
        var almacen_deuterio;

        var nombre;
        var coordenadas;
        var actualizado;

        this.save = function() {
            var ret = "";
            var separador = "|#";

            ret += this.metal_base + separador;
            ret += this.metal_produccion_mina + separador;
            ret += this.metal_produccion_amplificador + separador;
            ret += this.metal_nivel_mina + separador;
			ret += this.metal_geologo + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			ret += this.metal_oficiales + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            ret += this.metal_plasma + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            ret += this.metal_taladrador + separador;
            ret += this.metal_recolector + separador;

            ret += this.cristal_base + separador;
            ret += this.cristal_produccion_mina + separador;
            ret += this.cristal_produccion_amplificador + separador;
            ret += this.cristal_nivel_mina + separador;
            ret += this.cristal_geologo + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			ret += this.cristal_oficiales + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			ret += this.cristal_plasma + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            ret += this.cristal_taladrador + separador;
            ret += this.cristal_recolector + separador;

            ret += this.deuterio_base + separador;
            ret += this.deuterio_produccion_mina + separador;
            ret += this.deuterio_produccion_amplificador + separador;
            ret += this.deuterio_nivel_mina + separador;
            ret += this.deuterio_gasto_fusion + separador;
			ret += this.deuterio_geologo + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			ret += this.deuterio_oficiales + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			ret += this.deuterio_plasma + separador;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            ret += this.deuterio_taladrador + separador;
            ret += this.deuterio_recolector + separador;

            ret += this.almacen_metal + separador;
            ret += this.almacen_cristal + separador;
            ret += this.almacen_deuterio + separador;

            ret += this.nombre + separador;
            ret += this.coordenadas + separador;

            ret += this.actualizado + separador;

            return ret;
        }

        this.load = function(saved) {
            var str = saved + "  ";
            var partes = str.split("|#");

            this.metal_base = partes[0] || 0;
            this.metal_produccion_mina = partes[1] || 0;
            this.metal_produccion_amplificador = partes[2] || 0;
            this.metal_nivel_mina = partes[3] || 0;
            this.metal_geologo = partes[4] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.metal_oficiales = partes[5] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.metal_plasma = partes[6] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            this.metal_taladrador = partes[7] || 0;
            this.metal_recolector = partes[8] || 0;

            this.cristal_base = partes[9] || 0;
            this.cristal_produccion_mina = partes[10] || 0;
            this.cristal_produccion_amplificador = partes[11] || 0;
            this.cristal_nivel_mina = partes[12] || 0;
            this.cristal_geologo = partes[13] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.cristal_oficiales = partes[14] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.cristal_plasma = partes[15] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            this.cristal_taladrador = partes[16] || 0;
            this.cristal_recolector = partes[17] || 0;

            this.deuterio_base = partes[18] || 0;
            this.deuterio_produccion_mina = partes[19] || 0;
            this.deuterio_produccion_amplificador = partes[20] || 0;
            this.deuterio_nivel_mina = partes[21] || 0;
            this.deuterio_gasto_fusion = partes[22] || 0;
            this.deuterio_geologo = partes[23] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.deuterio_oficiales = partes[24] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
			this.deuterio_plasma = partes[25] || 0;//Es parte de la tabla asi que se obtiene igual de la mina.--------------------------------VERSION OGAME 6.5.1 +
            this.deuterio_taladrador = partes[26] || 0;
            this.deuterio_recolector = partes[27] || 0;

            this.almacen_metal = partes[28] || 0;
            this.almacen_cristal = partes[29] || 0;
            this.almacen_deuterio = partes[30] || 0;

            this.nombre = partes[31] || "-"; //25
            this.coordenadas = partes[32] || "-"; //26

            this.actualizado = new Date(partes[33] || ""); //27

        }

        this.getTotalM = function() {
            var total = 0;
            var geo = 0;
            var ofi = 0;

            var base = parseInt(this.metal_base || 0);
            var mina = parseInt(this.metal_produccion_mina || 0);
            //var plasma = Math.round( (this.metal_produccion_mina || 0) * getNivelPlasma() / 100);
            var amplificador = parseInt(this.metal_produccion_amplificador || 0);
            var plasma = parseInt(this.metal_plasma || 0);
            var taladrador = parseInt(this.metal_taladrador || 0);
            var recolector = parseInt(this.metal_recolector || 0);

            if(equipoComandoActivo()) {
                //geo = Math.round((this.metal_produccion_mina || 0) * 0.12);
				geo = parseInt(this.metal_geologo || 0);
				ofi = parseInt(this.metal_oficiales || 0);
            } else {
                if(geologoActivo()) {
					//geo = Math.round((this.metal_produccion_mina ||0) * 0.10);
                    geo = parseInt(this.metal_geologo || 0);
                }
            }
            return base + mina + geo + ofi + plasma + amplificador + taladrador + recolector ;
        }

        this.getTotalC = function() {
            var total = 0;
            var geo = 0;
            var ofi = 0;

            var base = parseInt(this.cristal_base || 0);
            var mina = parseInt(this.cristal_produccion_mina || 0);
            //var plasma = Math.round((this.cristal_produccion_mina || 0) * (getNivelPlasma() * 0.66) / 100)
            var amplificador = parseInt(this.cristal_produccion_amplificador || 0);
            var plasma = parseInt(this.cristal_plasma || 0);
            var taladrador = parseInt(this.cristal_taladrador || 0);
            var recolector = parseInt(this.cristal_recolector || 0);

            if(equipoComandoActivo()) {
                //geo = Math.round((this.cristal_produccion_mina ||0) * 0.12);
				geo = parseInt(this.cristal_geologo || 0);
				ofi = parseInt(this.cristal_oficiales || 0);
            } else {

                if(geologoActivo()) {
                    //geo = Math.round((this.cristal_produccion_mina ||0) * 0.10);
					geo = parseInt(this.cristal_geologo || 0);
                }
            }
            return base + mina + geo + ofi + plasma + amplificador + taladrador + recolector ;
        }

        this.getTotalD = function() {
            var total = 0;
            var geo = 0;
            var ofi = 0;

            var mina = parseInt(this.deuterio_produccion_mina || 0);
			//var plasma = Math.round((this.deuterio_produccion_mina || 0) * (getNivelPlasma() * 0.33) / 100)
            var amplificador = parseInt(this.deuterio_produccion_amplificador || 0);
            var fusion = parseInt(this.deuterio_gasto_fusion || 0);
            var plasma = parseInt(this.deuterio_plasma || 0);
            var taladrador = parseInt(this.deuterio_taladrador || 0);
            var recolector = parseInt(this.deuterio_recolector || 0);

            if(equipoComandoActivo()) {
                //geo = Math.round((this.deuterio_produccion_mina ||0) * 0.12);
				geo = parseInt(this.deuterio_geologo || 0);
				ofi = parseInt(this.deuterio_oficiales || 0);
            } else {

                if(geologoActivo()) {
                    //geo = Math.round((this.deuterio_produccion_mina ||0) * 0.10);
					geo = parseInt(this.deuterio_geologo || 0);
                }
            }
            return mina + geo + plasma + ofi + amplificador - fusion + taladrador + recolector;
        }

        this.getActualizado = function() {
            var str = "  ";
            var ahora = new Date();
            var dif = (ahora - this.actualizado) || -1;

            if(dif == -1) {
                return "";
            }

            var dias = Math.floor(dif / 86400000);
            dif -= dias * 86400000;
            var horas = Math.floor(dif / 3600000);
            dif -= horas * 3600000;
            var minutos = Math.floor(dif / 60000);
            dif -= minutos * 60000;
            var segundos = Math.floor(dif / 1000);

            if(dias > 0) {
                str += '<font color="#FF0000">(' + dias + 'd' + horas + 'h)</font>';
            }
            else {
                if(horas < 3) {
                    if(horas == 0 && minutos < 60) {
                        str += '<font color="#01DF01">(' + minutos + 'm)</font>';
                        if(minutos == 0 && segundos < 5) {
                            str += '<font color="red"><b> <<-- updated -->> </b></font>';
                        }
                    } else {
                        str += '<font color="#01DF01">(' + horas + 'h' + minutos + 'm)</font>';
                    }
                }
                else {
                    str += '<font color="#FFFF00">(' + horas + 'h' + minutos + 'm)</font>';
                }
            }

            return str;
        }



    }

    function getStrSummary(str) {
        var lista = getElementsByClass("list")[0];
        var ret = "";

        // Ingresos básicos
        if(str.toUpperCase() == "BASICO") {
            ret = getContenido(lista, 2,0).innerHTML;
        }

        // Mina de metal (Nivel xx)
        if(str.toUpperCase() == "METAL") {
            ret = getContenido(lista, 3,0).innerHTML;
            ret = ret.substring(0, ret.indexOf("("));
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Mina de cristal (Nivel xx)
        if(str.toUpperCase() == "CRISTAL") {
            ret = getContenido(lista, 4,0).innerHTML;
            ret = ret.substring(0, ret.indexOf("("));
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Sintetizador de deuterio (Nivel xx)
        if(str.toUpperCase() == "DEUTERIO") {
            ret = getContenido(lista, 5,0).innerHTML;
            ret = ret.substring(0, ret.indexOf("("));
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Planta de energía solar (Nivel xx)

        // Planta de fusión (Nivel xx)
        if(str.toUpperCase() == "FUSION") {
            ret = getContenido(lista, 7,0).innerHTML;
            ret = ret.substring(0, ret.indexOf("("));
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Satélite solar (Número: x.xxx)

        // Taladrador (Número: x.xxx)
        if(str.toUpperCase() == "TALADRADOR") {
            ret = getContenido(lista, 9,0).innerHTML;
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Tecnología de plasma (Nivel xx)
        if(str.toUpperCase() == "PLASMA") {
            ret = getContenido(lista, 10,0).innerHTML;
            ret = ret.substring(0, ret.indexOf("("));
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Objetos
        if(str.toUpperCase() == "AMPLIFICADOR") {
            ret = getContenido(lista, 11,0).innerHTML;
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }

        // Geólogo

        // Ingeniero

        // Equipo de comando

        // Recolector
        if(str.toUpperCase() == "RECOLECTOR") {
            ret = getContenido(lista, 15,0).innerHTML;
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
        }


        if(str.toUpperCase() == "TOTAL_DIA") {
            ret = getContenido(lista, 18,0).innerHTML;
            ret = ret.replace(/\./g, "").replace(/\,/g, "").trim();
            ret = ret.replace("<em>","").replace("</em>","");
        }



        return ret;
    }



    function getDatosSummary() {


        var tipo = document.getElementsByName("ogame-planet-type")[0].content;

        if(tipo.indexOf("planet") != -1) {

            var parcial = 0;

            var planeta = new ObjPlaneta();

            planeta.nombre = document.getElementsByName("ogame-planet-name")[0].content;
            planeta.coordenadas = "[" + document.getElementsByName("ogame-planet-coordinates")[0].content + "]";
            planeta.actualizado = new Date();


            var metal = 0;
            var cristal = 0;
            var deu = 0;

            var almM = 0;
            var almC = 0;
            var almD = 0;

            var baseM = 0;
            var baseC = 0;
            var baseD = 0;

            var minaM = 0;
            var minaC = 0;
            var minaD = 0;

            var plasmaM = 0;
            var plasmaC = 0;
            var plasmaD = 0;

            var lista = getElementsByClass("list")[0];


            // ------- metal --------------------

            // produccion base
            parcial = getContenido(lista, 2,1).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_base = parseInt(parcial);

            // produccion minas
            parcial = getContenido(lista, 3,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_produccion_mina = parseInt(parcial);

            // nivel de mina
            parcial = getContenido(lista, 3,0).innerHTML;
            parcial = parcial.replace(/\D/g,'');
            planeta.metal_nivel_mina = parseInt(parcial)

			// taladrador
            parcial = getContenido(lista, 9,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_taladrador = parseInt(parcial);


            // plasma
            parcial = getContenido(lista, 10,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_plasma = parseInt(parcial);


            // amplificador
            parcial = getContenido(lista, 11,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_produccion_amplificador = parseInt(parcial);


			// geologo
            parcial = getContenido(lista, 12,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_geologo = parseInt(parcial);

			// oficiales
            parcial = getContenido(lista, 14,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_oficiales = parseInt(parcial);


            // recolector
            parcial = getContenido(lista, 15,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.metal_recolector = parseInt(parcial);


            // ---------- cristal ---------------------

            // produccion base
            parcial = getContenido(lista, 2,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_base = parseInt(parcial);

            // produccion minas
            parcial = getContenido(lista, 4,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_produccion_mina = parseInt(parcial);

            // nivel de mina
            parcial = getContenido(lista, 4,0).innerHTML;
            parcial = parcial.replace(/\D/g,'');
            planeta.cristal_nivel_mina = parseInt(parcial);

			// taladrador
            parcial = getContenido(lista, 9,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_taladrador = parseInt(parcial);

			// plasma
            parcial = getContenido(lista, 10,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_plasma = parseInt(parcial);

            // amplificador
            parcial = getContenido(lista, 11,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_produccion_amplificador = parseInt(parcial);

            // geologo
            parcial = getContenido(lista, 12,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_geologo = parseInt(parcial);

			// oficiales
            parcial = getContenido(lista, 14,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_oficiales = parseInt(parcial);

            // recolector
            parcial = getContenido(lista, 15,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.cristal_recolector = parseInt(parcial);

            // ------- deuterio ------------------------------

            planeta.deuterio_base = 0;

            // deuterio produccion minas
            parcial = getContenido(lista, 5,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_produccion_mina = parseInt(parcial);

            // deuterio nivel de mina
            parcial = getContenido(lista, 5,0).innerHTML;
            parcial = parcial.replace(/\D/g,'');
            planeta.deuterio_nivel_mina = parseInt(parcial);

            // deuterio resta el gasto de la planta de fusion
            parcial = getContenido(lista, 7,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_gasto_fusion = parseInt(parcial);

			// taladrador
            parcial = getContenido(lista, 9,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_taladrador = parseInt(parcial);

			// plasma
            parcial = getContenido(lista, 10,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_plasma = parseInt(parcial);

            // amplificador
            parcial = getContenido(lista, 11,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_produccion_amplificador = parseInt(parcial);

			// geologo
            parcial = getContenido(lista, 12,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_geologo = parseInt(parcial);

			// oficiales
            parcial = getContenido(lista, 14,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_oficiales = parseInt(parcial);

            // recolector
            parcial = getContenido(lista, 15,4).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.replace(/\./g, "").replace(/\,/g, "").trim();
            planeta.deuterio_recolector = parseInt(parcial);


            // ----- almacenes ------------------------------------------------------------

            // almacen de metal
            parcial = getContenido(lista, 16,1).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.trim();
            if(parcial.indexOf(unsafe.LocalizationStrings.unitMega) != -1) {
                parcial = parcial.replace(unsafe.LocalizationStrings.unitMega,'').replace(',', '.');
                parcial = parseFloat(parcial);
                parcial *= 1000000;
            }
            else  {
                parcial = parcial.replace('.', '');
            }
            planeta.almacen_metal = parseInt(parcial);


            // almacen de cristal
            parcial = getContenido(lista, 16,2).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.trim();
            if(parcial.indexOf(unsafe.LocalizationStrings.unitMega) != -1) {
                parcial = parcial.replace(unsafe.LocalizationStrings.unitMega,'').replace(',', '.');
                parcial = parseFloat(parcial);
                parcial *= 1000000;
            }
            else  {
                parcial = parcial.replace('.', '');
            }
            planeta.almacen_cristal = parseInt(parcial);


            // almacen de deuterio
            parcial = getContenido(lista, 16,3).innerHTML;
            parcial = parcial.substring(parcial.indexOf('">')+2, parcial.indexOf("</span>"));
            parcial = parcial.trim();
            if(parcial.indexOf(unsafe.LocalizationStrings.unitMega) != -1) {
                parcial = parcial.replace(unsafe.LocalizationStrings.unitMega,'').replace(',', '.');
                parcial = parseFloat(parcial);
                parcial *= 1000000;
            }
            else  {
                parcial = parcial.replace('.', '');
            }
            planeta.almacen_deuterio = parseInt(parcial);




            // ----------- geologo ------------------------------------------
            // resta el bonus del geologo de la produccion base de la mina
            /*YA NO ESTA INTEGRADO POR ESO NO REQUIERE RESTARLO.--------------------------------VERSION OGAME 6.5.1 +
            if(equipoComandoActivo()) {
                planeta.metal_produccion_mina = parseInt((planeta.metal_produccion_mina/112)*100);
                planeta.cristal_produccion_mina = parseInt((planeta.cristal_produccion_mina/112)*100);
                planeta.deuterio_produccion_mina = parseInt((planeta.deuterio_produccion_mina/112)*100);
            } else {
                if(geologoActivo()) {
                    planeta.metal_produccion_mina = parseInt((planeta.metal_produccion_mina/110)*100);
                    planeta.cristal_produccion_mina = parseInt((planeta.cristal_produccion_mina/110)*100);
                    planeta.deuterio_produccion_mina = parseInt((planeta.deuterio_produccion_mina/110)*100);
                }
            }*///YA NO ESTA INTEGRADO POR ESO NO REQUIERE RESTARLO.--------------------------------VERSION OGAME 6.5.1 +


            options.set(getPosActual() + "_objplanet", planeta.save());

        }


    }


    // ============================================================
    // ============================================================
    // ============================================================



    if ( location.href.indexOf('/game/index.php?page=resourceSettings') != -1 ) {

        getDatosSummary();


        var LANG = LANG_EN;


        if (location.href.indexOf('-es.ogame.gameforge.com') != -1) { LANG = LANG_ES; }
        if (location.href.indexOf('-ar.ogame.gameforge.com') != -1) { LANG = LANG_ES; }
        if (location.href.indexOf('-mx.ogame.gameforge.com') != -1) { LANG = LANG_ES; }


        var nivel_plasma = getNivelPlasma();

        var planets = getElementsByClass("smallplanet");
        var numPlanets = planets.length;


        if ( numPlanets > 0 ) {


            // --- lista de planetas ---
            var listaPlanetas = "";
            for (var i=0; i<planets.length; i++ ) {
                var cord = getElementsByClass("planet-koords", planets[i]);
                var nombre = getElementsByClass("planet-name", planets[i]);
                listaPlanetas += cord[0].innerHTML + ";";
                options.set(cord[0].innerHTML + "_nombre", nombre[0].innerHTML);
            }

            options.set("lista", listaPlanetas);

            // --- calcular total ---
            var metalTH = 0;
            var cristalTH = 0;
            var deuTH = 0;
            var sep = listaPlanetas.split(";");

            var plasmaM = 0;
            var plasmaC = 0;
            var plasmaD = 0;

            var baseM = 0;
            var baseC = 0;
            var baseD = 0;

            var minaM = 0;
            var minaC = 0;
            var minaD = 0;

            var geoM = 0;
            var geoC = 0;
            var geoD = 0;

			var ofiM = 0;
            var ofiC = 0;
            var ofiD = 0;

            var amplificadoresM = 0;
            var amplificadoresC = 0;
            var amplificadoresD = 0;

            var taladradoresM = 0;
            var taladradoresC = 0;
            var taladradoresD = 0;

            var recolectorM = 0;
            var recolectorC = 0;
            var recolectorD = 0;

            var geoSTR = " (+0%)";
            var plasmaSTR_metal = " (+" + nivel_plasma + "%)";
            var plasmaSTR_cristal = " (+" + (Math.round((nivel_plasma*0.66)*100)/100)  + "%)";
			var plasmaSTR_deuterio = " (+" + (Math.round((nivel_plasma*0.33)*100)/100)  + "%)";

            var gastoFusion = 0;

            var totalM = 0;
            var totalC = 0;
            var totalD = 0;

            for(var k = 0; k < sep.length; k++){
                if(sep[k].length > 3) {
                    var planeta = new ObjPlaneta();
                    planeta.load(options.get(sep[k] + "_objplanet"));

                    baseM += parseInt(planeta.metal_base || 0);
                    baseC += parseInt(planeta.cristal_base || 0);
                    baseD += parseInt(planeta.deuterio_base || 0);

                    minaM += parseInt(planeta.metal_produccion_mina || 0);
                    minaC += parseInt(planeta.cristal_produccion_mina || 0);
                    minaD += parseInt(planeta.deuterio_produccion_mina || 0);

                    plasmaM += parseInt(planeta.metal_plasma || 0);
                    plasmaC += parseInt(planeta.cristal_plasma || 0) ;
					plasmaD += parseInt(planeta.deuterio_plasma || 0);

                    amplificadoresM += parseInt(planeta.metal_produccion_amplificador || 0);
                    amplificadoresC += parseInt(planeta.cristal_produccion_amplificador || 0);
                    amplificadoresD += parseInt(planeta.deuterio_produccion_amplificador || 0);

                    taladradoresM += parseInt(planeta.metal_taladrador || 0);
                    taladradoresC += parseInt(planeta.cristal_taladrador || 0);
                    taladradoresD += parseInt(planeta.deuterio_taladrador || 0);

                    recolectorM += parseInt(planeta.metal_recolector || 0);
                    recolectorC += parseInt(planeta.cristal_recolector || 0);
                    recolectorD += parseInt(planeta.deuterio_recolector || 0);

                    gastoFusion += parseInt(planeta.deuterio_gasto_fusion || 0);

                    if(equipoComandoActivo()) {
                        geoM += parseInt(planeta.metal_geologo || 0);
                        geoC += parseInt(planeta.cristal_geologo || 0);
                        geoD += parseInt(planeta.deuterio_geologo || 0);
						ofiM += parseInt(planeta.metal_oficiales || 0);
                        ofiC += parseInt(planeta.cristal_oficiales || 0);
                        ofiD += parseInt(planeta.deuterio_oficiales || 0);
                        geoSTR = " (+12%)";
                    } else {

                        if(geologoActivo()) {
                            geoM += parseInt(planeta.metal_geologo || 0);
							geoC += parseInt(planeta.cristal_geologo || 0);
							geoD += parseInt(planeta.deuterio_geologo || 0);
                            geoSTR = " (+10%)";
                        }
                    }


                    totalM = baseM + minaM + geoM + ofiM + plasmaM + amplificadoresM + taladradoresM + recolectorM;
                    totalC = baseC + minaC + geoC + ofiC + plasmaC + amplificadoresC + taladradoresC + recolectorC;
                    totalD = baseD + minaD + geoD + ofiD + plasmaD + amplificadoresD - gastoFusion + taladradoresD + recolectorD;


                }
            }


            // --- crea la tabla ---


            var main = getElementsByClass("mainRS")[0];


            var divPorPlanetas = document.createElement('div');
            var divAlmacen = document.createElement('div');
            var divRecursos = document.createElement('div');
            var divBB = document.createElement('div');
            var divFlotas = document.createElement('div');
            var divDefensas = document.createElement('div');
            var divFinal = document.createElement('div');

            var tabla = "";
            var textoBB = "";

            // --- tabla con los recursos diarios por planetas

            var tablaPlanetas = "";
            tablaPlanetas += '<table cellspacing="0" cellpadding="0" style="margin-top: 0px;" width="100%">';
            tablaPlanetas += '<tr><td></td><td></td><td></td><td><br></td></tr>';
            tablaPlanetas += '<tr><td class="" align="center" colspan="4"><font color="#FF4000"><p style="font-size:20px">';
            tablaPlanetas += ' {RECURSOS_PLANETAS} </p></font><br></td></tr>';
            tablaPlanetas += '<tr><td colspan="4"></td></tr>';
            tablaPlanetas += '<tr align="right"><td></td><td>{METAL}</td><td>{CRISTAL}</td><td>{DEUTERIO}</td></tr>';

            //var sep = listaPlanetas.split(";");
            for(var k = 0; k < sep.length; k++){
                if(sep[k].length > 3) {
                    var planeta = new ObjPlaneta()
                    planeta.load(options.get(sep[k] + "_objplanet"));

                    var tr = ((k % 2)==0)?'<tr class="alt">':'<tr>';
                    tablaPlanetas += tr + '<td class="label">';
                    tablaPlanetas += (getPosActual() == sep[k]?'<font color="#FF4000"><b>' + planeta.coordenadas + '</b></font>': planeta.coordenadas) + "  " + planeta.nombre;
                    tablaPlanetas += planeta.getActualizado();
                    tablaPlanetas += '</td><td class="undermark">' + mostrarNumero(planeta.getTotalM()*24) + getNivelMina(1, sep, k);
                    tablaPlanetas += '</td><td class="undermark">' + mostrarNumero(planeta.getTotalC()*24) + getNivelMina(2, sep, k);
                    tablaPlanetas += '</td><td class="undermark">' + mostrarNumero(planeta.getTotalD()*24) + getNivelMina(3, sep, k);
                    tablaPlanetas += '</td></tr>';

                }
            }

            tablaPlanetas += '<tr><td colspan="4"></td></tr>';
            tablaPlanetas += '</table>';


            // --- tabla con los almacenes

            var tablaAlmacen = "";
            tablaAlmacen += '<table cellspacing="0" cellpadding="0" style="margin-top: 0px;" width="100%">';
            tablaAlmacen += '<tr><td></td><td></td><td></td><td></td><td></td><td></td><td><br></td></tr>';
            tablaAlmacen += '<tr><td align="center" colspan="7"><font color="#FF4000"><p style="font-size:20px">{ALMACEN_TIEMPO} </p></font><br></td></tr>';
            tablaAlmacen += '<tr><td colspan="7"></td></tr>';
            tablaAlmacen += '<tr align="right"><td></td><td>{METAL}</td><td></td><td>{CRISTAL}</td><td></td><td>{DEUTERIO}</td><td></td></tr>';

            for(var k = 0; k < sep.length; k++){
                if(sep[k].length > 3) {
                    var planeta = new ObjPlaneta()
                    planeta.load(options.get(sep[k] + "_objplanet"));

                    var tr = ((k % 2)==0)?'<tr class="alt" align="right">':'<tr align="right">';

                    tablaAlmacen += tr + '<td class="label">';
                    tablaAlmacen += (getPosActual() == sep[k]?'<font color="#FF4000"><b>' + planeta.coordenadas + '</b></font>': planeta.coordenadas) + "  " + planeta.nombre;
                    tablaAlmacen += planeta.getActualizado() + '</td><td class="undermark">';
                    tablaAlmacen += A(planeta.almacen_metal) + '</td><td><p align="center">' + getTiempoLlenado(planeta.getTotalM()*24,planeta.almacen_metal);
                    tablaAlmacen += '</p></td><td class="undermark">' + A(planeta.almacen_cristal) + '</td><td><p align="center">';
                    tablaAlmacen += getTiempoLlenado(planeta.getTotalC()*24,planeta.almacen_cristal) + '</p></td><td class="undermark">' + A(planeta.almacen_deuterio);
                    tablaAlmacen += '</td><td><p align="center">' + getTiempoLlenado(planeta.getTotalD()*24, planeta.almacen_deuterio) + '</p></td></tr>';
                }
            }
            tablaAlmacen += '<tr><td colspan="7"></td></tr>';
            tablaAlmacen += '</table>';


            // --- tabla con los recursos diarios/semanales/mensuales

            tabla += '<table cellspacing="0" cellpadding="0" style="margin-top: 0px;" width="100%">';
            tabla += '<tr height="50"><td width="28%"></td><td width="18%"></td><td width="18%"></td><td width="18%"></td><td width="18%"></td></tr>';
            tabla += '<tr><td align="center" colspan="5"><font color="#FF4000"><p style="font-size:23px"> {PRODUCCION_IMPERIAL} ' + getNombreJugador() + ' </p></font></td></tr>';
            tabla += '<tr><td colspan="5"></td></tr>';
            tabla += '<tr align="right"><td></td><td>{HORA}</td><td>{DIARIA}</td><td>{SEMANAL}</td><td>{MENSUAL}</td></tr>';

            tabla += '<tr class="alt" align="right"><td class="label"><b><a id="mostrarDM" href="javascript:void(0)"><img src ="" id="img_detalleMetal"> {METAL}</a></b></td><td class="undermark"><b>' + mostrarNumero(totalM) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalM*24) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalM*168) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalM*720) + '</b></td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_1" style="display:none"><td class="label">' + getStrSummary("basico") + '</td><td class="">' + mostrarNumero(baseM) + '</td><td class="">' + mostrarNumero(baseM*24) + '</td><td class="">' + mostrarNumero(baseM*168) + '</td><td class="">' + mostrarNumero(baseM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_2" style="display:none"><td class="label">' + getStrSummary("metal") + '</td><td class="">' + mostrarNumero(minaM) + '</td><td class="">' + mostrarNumero(minaM*24) + '</td><td class="">' + mostrarNumero(minaM*168) + '</td><td class="">' + mostrarNumero(minaM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_3" style="display:none"><td class="label">' + "Taladradores" + '</td><td class="">' + mostrarNumero(taladradoresM) + '</td><td class="">' + mostrarNumero(taladradoresM*24) + '</td><td class="">' + mostrarNumero(taladradoresM*168) + '</td><td class="">' + mostrarNumero(taladradoresM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_4" style="display:none"><td class="label">' + "Tec. de Plasma" + ' ' + plasmaSTR_metal + '</td><td class="">' + mostrarNumero(plasmaM) + '</td><td class="">' + mostrarNumero(plasmaM*24) + '</td><td class="">' + mostrarNumero(plasmaM*168) + '</td><td class="">' + mostrarNumero(plasmaM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_5" style="display:none"><td class="label">{GEOLOGO}' + geoSTR + '</td><td class="">' + mostrarNumero(geoM) + '</td><td class="">' + mostrarNumero(geoM*24) + '</td><td class="">' + mostrarNumero(geoM*168) + '</td><td class="">' + mostrarNumero(geoM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_6" style="display:none"><td class="label">' + getStrSummary("amplificador") + '</td><td class="">' + mostrarNumero(amplificadoresM) + '</td><td class="">' + mostrarNumero(amplificadoresM*24) + '</td><td class="">' + mostrarNumero(amplificadoresM*168) + '</td><td class="">' + mostrarNumero(amplificadoresM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_7" style="display:none"><td class="label">' + getStrSummary("recolector") + '</td><td class="">' + mostrarNumero(recolectorM) + '</td><td class="">' + mostrarNumero(recolectorM*24) + '</td><td class="">' + mostrarNumero(recolectorM*168) + '</td><td class="">' + mostrarNumero(recolectorM*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleMetal_8" style="display:none"><td class="label"></td><td class=""></td><td class=""></td><td class=""></td><td class=""></td></tr>';

            tabla += '<tr class="alt" align="right"><td class="label"><b><a id="mostrarDC" href="javascript:void(0)"><img src ="" id="img_detalleCristal"> {CRISTAL}</a></b></td><td class="undermark"><b>' + mostrarNumero(totalC) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalC*24) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalC*168) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalC*720) + '</b></td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_1" style="display:none"><td class="label">' + getStrSummary("basico") + '</td><td class="">' + mostrarNumero(baseC) + '</td><td class="">' + mostrarNumero(baseC*24) + '</td><td class="">' + mostrarNumero(baseC*168) + '</td><td class="">' + mostrarNumero(baseC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_2" style="display:none"><td class="label">' + getStrSummary("cristal") + '</td><td class="">' + mostrarNumero(minaC) + '</td><td class="">' + mostrarNumero(minaC*24) + '</td><td class="">' + mostrarNumero(minaC*168) + '</td><td class="">' + mostrarNumero(minaC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_3" style="display:none"><td class="label">' + "Taladradores" + '</td><td class="">' + mostrarNumero(taladradoresC) + '</td><td class="">' + mostrarNumero(taladradoresC*24) + '</td><td class="">' + mostrarNumero(taladradoresC*168) + '</td><td class="">' + mostrarNumero(taladradoresC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_4" style="display:none"><td class="label">' + "Tec. de Plasma" + ' ' + plasmaSTR_cristal + '</td><td class="">' + mostrarNumero(plasmaC) + '</td><td class="">' + mostrarNumero(plasmaC*24) + '</td><td class="">' + mostrarNumero(plasmaC*168) + '</td><td class="">' + mostrarNumero(plasmaC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_5" style="display:none"><td class="label">{GEOLOGO}' + geoSTR + '</td><td class="">' + mostrarNumero(geoC) + '</td><td class="">' + mostrarNumero(geoC*24) + '</td><td class="">' + mostrarNumero(geoC*168) + '</td><td class="">' + mostrarNumero(geoC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_6" style="display:none"><td class="label">' + getStrSummary("amplificador") + '</td><td class="">' + mostrarNumero(amplificadoresC) + '</td><td class="">' + mostrarNumero(amplificadoresC*24) + '</td><td class="">' + mostrarNumero(amplificadoresC*168) + '</td><td class="">' + mostrarNumero(amplificadoresC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_7" style="display:none"><td class="label">' + getStrSummary("recolector") + '</td><td class="">' + mostrarNumero(recolectorC) + '</td><td class="">' + mostrarNumero(recolectorC*24) + '</td><td class="">' + mostrarNumero(recolectorC*168) + '</td><td class="">' + mostrarNumero(recolectorC*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleCristal_8" style="display:none"><td class="label"></td><td class=""></td><td class=""></td><td class=""></td><td class=""></td></tr>';

            tabla += '<tr class="alt" align="right"><td class="label"><b><a id="mostrarDD" href="javascript:void(0)"><img src ="" id="img_detalleDeuterio"> {DEUTERIO}</a></b></td><td class="undermark"><b>' + mostrarNumero(totalD) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalD*24) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalD*168) + '</b></td><td class="undermark"><b>' + mostrarNumero(totalD*720) + '</b></td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_1" style="display:none"><td class="label">' + getStrSummary("deuterio") + '</td><td class="">' + mostrarNumero(minaD) + '</td><td class="">' + mostrarNumero(minaD*24) + '</td><td class="">' + mostrarNumero(minaD*168) + '</td><td class="">' + mostrarNumero(minaD*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_2" style="display:none"><td class="label">' + "Taladradores" + '</td><td class="">' + mostrarNumero(taladradoresD) + '</td><td class="">' + mostrarNumero(taladradoresD*24) + '</td><td class="">' + mostrarNumero(taladradoresD*168) + '</td><td class="">' + mostrarNumero(taladradoresD*720) + '</td></tr>';
			tabla += '<tr class="" align="right" id="detalleDeuterio_3" style="display:none"><td class="label">' + "Tec. de Plasma" + ' ' + plasmaSTR_deuterio + '</td><td class="">' + mostrarNumero(plasmaD) + '</td><td class="">' + mostrarNumero(plasmaD*24) + '</td><td class="">' + mostrarNumero(plasmaD*168) + '</td><td class="">' + mostrarNumero(plasmaD*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_4" style="display:none"><td class="label">{GEOLOGO}' + geoSTR + '</td><td class="">' + mostrarNumero(geoD) + '</td><td class="">' + mostrarNumero(geoD*24) + '</td><td class="">' + mostrarNumero(geoD*168) + '</td><td class="">' + mostrarNumero(geoD*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_5" style="display:none"><td class="label">' + getStrSummary("amplificador") + '</td><td class="">' + mostrarNumero(amplificadoresD) + '</td><td class="">' + mostrarNumero(amplificadoresD*24) + '</td><td class="">' + mostrarNumero(amplificadoresD*168) + '</td><td class="">' + mostrarNumero(amplificadoresD*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_6" style="display:none"><td class="label">' + getStrSummary("recolector") + '</td><td class="">' + mostrarNumero(recolectorD) + '</td><td class="">' + mostrarNumero(recolectorD*24) + '</td><td class="">' + mostrarNumero(recolectorD*168) + '</td><td class="">' + mostrarNumero(recolectorD*720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_7" style="display:none"><td class="label">' + getStrSummary("fusion") + '</td><td class="">' + mostrarNumero(gastoFusion*-1) + '</td><td class="">' + mostrarNumero(gastoFusion*-24) + '</td><td class="">' + mostrarNumero(gastoFusion*-168) + '</td><td class="">' + mostrarNumero(gastoFusion*-720) + '</td></tr>';
            tabla += '<tr class="" align="right" id="detalleDeuterio_8" style="display:none"><td class="label"></td><td class=""></td><td class=""></td><td class=""></td><td class=""></td></tr>';

            tabla += '<tr><td colspan="5"><br></td></tr>';
            tabla += '<tr class="" align="right"><td class="label">{TOTAL}</td><td class="nomark">' + mostrarNumero((totalM+totalC+totalD)) + '</td><td class="nomark">' + mostrarNumero((totalM+totalC+totalD)*24) + '</td><td class="nomark">' + mostrarNumero((totalM+totalC+totalD)*168) + '</td><td class="momark">' + mostrarNumero((totalM+totalC+totalD)*720) + '</td></tr>';
            tabla += '<tr class="" align="right"><td class="label">{EN_METAL}</td><td class="nomark">' + mostrarNumero((totalM)+((totalC)*1.5)+((totalD)*3)) + '</td><td class="nomark">' + mostrarNumero((totalM*24)+((totalC*24)*1.5)+((totalD*24)*3)) + '</td><td class="nomark">' + mostrarNumero((totalM*168)+((totalC*168)*1.5)+((totalD*168)*3)) + '</td><td class="momark">' + mostrarNumero((totalM*720)+((totalC*720)*1.5)+((totalD*720)*3))+ '</td></tr>';
            tabla += '<tr class="" align="right" height="50"><td colspan="5">' + numPlanets + ' {PLANETAS}:   ' + listaPlanetas.replace(/;/g, "  ") + '</td></tr></form>';
            tabla += '</table><br><br>';

            tabla += '<table class="" width="100%">';
            tabla += '<tr>'
            tabla += '<td width="20%" style="text-align:center;" bgcolor="#240B3B"><a style="color: #FFFFFF; font-size: 10pt" id="mostrar_sec1" href="javascript:void(0)"><img src ="" id="img_sec1">{PLANETAS}</a></td>';
            tabla += '<td width="20%" style="text-align:center;" bgcolor="#240B3B"><a style="color: #FFFFFF; font-size: 10pt" id="mostrar_sec2" href="javascript:void(0)"><img src ="" id="img_sec2">{BBCODE}</a></td>';
            tabla += '<td width="20%" style="text-align:center;" bgcolor="#240B3B"><a style="color: #FFFFFF; font-size: 10pt" id="mostrar_sec3" href="javascript:void(0)"><img src ="" id="img_sec3">{ALMACENES}</a></td>';
            tabla += '<td width="20%" style="text-align:center;" bgcolor="#240B3B"><a style="color: #FFFFFF; font-size: 10pt" id="mostrar_sec4" href="javascript:void(0)"><img src ="" id="img_sec4">{FLOTA}</a></td>';
            tabla += '<td width="20%" style="text-align:center;" bgcolor="#240B3B"><a style="color: #FFFFFF; font-size: 10pt" id="mostrar_sec5" href="javascript:void(0)"><img src ="" id="img_sec5">{DEFENSA}</a></td';
            tabla += '</tr></table>';

            // --- textarea con el BBCode
            // produccion basica
            textoBB = '{SIZE_GRA}{U}{B}{COLOR_NARANJA}{PRODUCCION_DIARIA_DE} ' + getNombreJugador() + '{/COLOR}{/B}{/U} {/SIZE}{SIZE_PEQ}(' + getFecha() + '){/SIZE}{NL}{NL}';

            textoBB += getStrSummary("basico") + " (" + numPlanets + " {PLANETAS}): {NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero((baseM+minaM)*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero((baseC+minaC)*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero((baseD+minaD-gastoFusion)*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += getStrSummary("plasma") + " :" + plasmaSTR_metal + " {METAL}, " + plasmaSTR_cristal + " {CRISTAL}, " + plasmaSTR_deuterio + " {DEUTERIO} {NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero(plasmaM*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero(plasmaC*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" +	mostrarNumero(plasmaD*24) + "{/COLOR} {DEUTERIO} {NL}{NL}";

            textoBB += "{SIZE_GRA}{B}{COLOR_NARANJA}" + getStrSummary("total_dia") + "{/COLOR}{/B}{/SIZE}{NL}";
            textoBB += "{SIZE_GRA}{B}{COLOR_METAL}" + mostrarNumero((baseM+minaM+plasmaM)*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero((baseC+minaC+plasmaC)*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero((baseD+minaD-gastoFusion+plasmaD)*24) + "{/COLOR} {DEUTERIO}{/B}{/SIZE}{NL}{NL}";

            textoBB += "{TOTAL}: {COLOR_TOTAL1}" + mostrarNumero(((baseM+minaM+plasmaM)*24)+((baseC+minaC+plasmaC)*24)+((baseD+minaD-gastoFusion+plasmaD)*24)) + "{/COLOR}{NL}";
            textoBB += "{EN_METAL}: {COLOR_TOTAL2}" + mostrarNumero(((baseM+minaM+plasmaM)*24)+((baseC+minaC+plasmaC)*24*3/2)+((baseD+minaD+plasmaD-gastoFusion)*24*3)) + "{/COLOR}{NL}{NL}";
            textoBB += "{SIZE_PEQ}{METAL}: " + getStrNiveles(1,sep) + "{/SIZE}{NL}";
            textoBB += "{SIZE_PEQ}{CRISTAL}: " + getStrNiveles(2,sep) + "{/SIZE}{NL}";
            textoBB += "{SIZE_PEQ}{DEUTERIO}: " + getStrNiveles(3,sep) + "{/SIZE}{NL}{NL}";
            textoBB += "{SIZE_PEQ}{URL_SCRIPT}{/SIZE}{NL}";
            bbcode_basico = translate(textoBB);

            // produccion completa
            textoBB = '{SIZE_GRA}{U}{B}{COLOR_NARANJA}{PRODUCCION_DIARIA_DE} ' + getNombreJugador() + '{/COLOR}{/B}{/U} {/SIZE}{SIZE_PEQ}(' + getFecha() + '){/SIZE}{NL}{NL}';

            textoBB += getStrSummary("basico") + " (" + numPlanets + " {PLANETAS}): {NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero((baseM+minaM)*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero((baseC+minaC)*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero((baseD+minaD-gastoFusion)*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += getStrSummary("plasma") + " :" + plasmaSTR_metal + " {METAL}, " + plasmaSTR_cristal + " {CRISTAL}, " + plasmaSTR_deuterio + " {DEUTERIO} {NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero(plasmaM*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero(plasmaC*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" +	mostrarNumero(plasmaD*24) + "{/COLOR} {DEUTERIO} {NL}{NL}";

            textoBB += "Crawler: {NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero((taladradoresM)*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero((taladradoresC)*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero((taladradoresD)*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += '{GEOLOGO}' + geoSTR + ":{NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero(geoM*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero(geoC*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero(geoD*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += getStrSummary("amplificador") + ":{NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero(amplificadoresM*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero(amplificadoresC*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero(amplificadoresD*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += getStrSummary("recolector") + ":{NL}";
            textoBB += "{COLOR_METAL}" + mostrarNumero((recolectorM)*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero((recolectorC)*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero((recolectorD)*24) + "{/COLOR} {DEUTERIO}{NL}{NL}";

            textoBB += "{SIZE_GRA}{B}{COLOR_NARANJA}" + getStrSummary("total_dia") + "{/COLOR}{/B}{/SIZE}{NL}";
            textoBB += "{SIZE_GRA}{B}{COLOR_METAL}" + mostrarNumero(totalM*24) + "{/COLOR} {METAL}, {COLOR_CRISTAL}" + mostrarNumero(totalC*24) + "{/COLOR} {CRISTAL}, {COLOR_DEUTERIO}" + mostrarNumero(totalD*24) + "{/COLOR} {DEUTERIO}{/B}{/SIZE}{NL}{NL}";

            textoBB += "{TOTAL}: {COLOR_TOTAL1}" + mostrarNumero((totalM*24)+(totalC*24)+(totalD*24)) + "{/COLOR}{NL}";
            textoBB += "{EN_METAL}: {COLOR_TOTAL2}" + mostrarNumero((totalM*24)+(totalC*24*3/2)+(totalD*24*3)) + "{/COLOR}{NL}{NL}";
            textoBB += "{SIZE_PEQ}{METAL}: " + getStrNiveles(1,sep) + "{/SIZE}{NL}";
            textoBB += "{SIZE_PEQ}{CRISTAL}: " + getStrNiveles(2,sep) + "{/SIZE}{NL}";
            textoBB += "{SIZE_PEQ}{DEUTERIO}: " + getStrNiveles(3,sep) + "{/SIZE}{NL}{NL}";
            textoBB += "{SIZE_PEQ}{URL_SCRIPT}{/SIZE}{NL}";
            bbcode_completo = translate(textoBB);


            produccionBB = '<p align="center"><br><textarea id="txtBB" name="txtBB" style="background-color:##0000FF;width:600px;height:100px;border: 2px solid #990000;" rows="5" cols="20" onclick="this.focus();this.select()" readonly="readonly">';
            produccionBB += codificar(bbcode_basico, "phpbb")
            produccionBB += '</textarea><br>';
            produccionBB += '<input id="op_p_bas" type="radio" name="tipo_bbc" value="basica" checked="checked">{PRODUCCION_BASICA}</input><br>';
            produccionBB += '<input id="op_p_comp" type="radio" name="tipo_bbc" value="completa">{PRODUCCION_COMPLETA}</input><br></p>';
            produccionBB += '<br><br><div id="preview" style="margin:25px">' + codificar(bbcode_basico, "html") + '</div>';


            var metalD = totalM * 24;
            var cristalD = totalC * 24;
            var deuD = totalD * 24;


            // --- tabla de produccion de flotas ---
            var txtTablaFlotas = "";
            txtTablaFlotas += '<table cellspacing="0" cellpadding="0" style="margin-top: 0px;" width="100%">';
            txtTablaFlotas += '<tr align="right"><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><br></tr>'
            txtTablaFlotas += '<tr align="center"><td colspan="6"><font color="#FF4000"><p style="font-size:20px"> {PRODUCCION_FLOTA} </p></font><br></tr>'
            txtTablaFlotas += '<tr align="right"><td></td><td>{PRODUCCION}</td><td></td><td></td><td>{EXCEDENTES_DIA}</td><td></td></tr>'
            txtTablaFlotas += '<tr align="right"><td></td><td>{DIA}</td><td>{SEMANA}</td><td>{METAL}</td><td>{CRISTAL}</td><td>{DEUTERIO}</td></tr>'
            txtTablaFlotas += '<tr><td><font color="#FF4000">Naves de Batalla:</font></td></tr>'
            txtTablaFlotas += generarFilaProduccion("{C_LIGERO}", metalD, cristalD, deuD, 3000, 1000, 0, "alt");
            txtTablaFlotas += generarFilaProduccion("{C_PESADO}", metalD, cristalD, deuD, 6000, 4000, 0);
            txtTablaFlotas += generarFilaProduccion("{CRUCERO}", metalD, cristalD, deuD, 20000, 7000, 2000, "alt");
            txtTablaFlotas += generarFilaProduccion("{NBATALLA}", metalD, cristalD, deuD, 45000, 15000, 0);
            txtTablaFlotas += generarFilaProduccion("{ACORAZADO}", metalD, cristalD, deuD, 30000, 40000, 15000, "alt");
            txtTablaFlotas += generarFilaProduccion("{BOMBARDERO}", metalD, cristalD, deuD, 50000, 25000, 15000);
            txtTablaFlotas += generarFilaProduccion("{DESTRUCTOR}", metalD, cristalD, deuD, 60000, 50000, 15000, "alt");
            txtTablaFlotas += generarFilaProduccion("{EDLM}", metalD, cristalD, deuD, 5000000, 4000000, 1000000);
            txtTablaFlotas += generarFilaProduccion("{SEGADOR}", metalD, cristalD, deuD, 85000, 55000, 20000, "alt");
            txtTablaFlotas += generarFilaProduccion("{EXPLORADOR}", metalD, cristalD, deuD, 8000, 15000, 8000);
            txtTablaFlotas += '<tr><td><font color="#FF4000">Naves Civiles:</font></td></tr>'
            txtTablaFlotas += generarFilaProduccion("{P_CARGA}", metalD, cristalD, deuD, 2000, 2000, 0, "alt");
            txtTablaFlotas += generarFilaProduccion("{G_CARGA}", metalD, cristalD, deuD, 6000, 6000, 0);
            txtTablaFlotas += generarFilaProduccion("{COLONIZADOR}", metalD, cristalD, deuD, 10000, 20000, 10000, "alt");
            txtTablaFlotas += generarFilaProduccion("{RECICLADOR}", metalD, cristalD, deuD, 10000, 6000, 2000);
            txtTablaFlotas += generarFilaProduccion("{SONDA}", metalD, cristalD, deuD, 0, 1000,0, "alt");
            txtTablaFlotas += generarFilaProduccion("{SATELITE}", metalD, cristalD, deuD, 0, 2000, 500);
            txtTablaFlotas += generarFilaProduccion("{TALADRADOR}", metalD, cristalD, deuD, 2000, 2000, 1000, "alt");
            txtTablaFlotas += '</table>';

            // --- tabla de produccion de defensas ---
            var txtTablaDef = "";
            txtTablaDef += '<table cellspacing="0" cellpadding="0" style="margin-top: 0px;" width="100%">';
            txtTablaDef += '<tr align="right"><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><td style="width: 16%"></td><br></tr>'
            txtTablaDef += '<tr align="center"><td colspan="6"><font color="#FF4000"><p style="font-size:20px"> {PRODUCCION_DEFENSAS} </p></font><br></tr>'
            txtTablaDef += '<tr align="right"><td></td><td>{PRODUCCION}</td><td></td><td></td><td>{EXCEDENTES_DIA}</td><td></td></tr>'
            txtTablaDef += '<tr align="right"><td></td><td>{DIA}</td><td>{SEMANA}</td><td>{METAL}</td><td>{CRISTAL}</td><td>{DEUTERIO}</td></tr>'
            txtTablaDef += generarFilaProduccion("{LANZAMISILES}", metalD, cristalD, deuD, 2000, 0, 0, "alt");
            txtTablaDef += generarFilaProduccion("{LASER_PEQ}", metalD, cristalD, deuD, 1500, 500, 0);
            txtTablaDef += generarFilaProduccion("{LASER_GRA}", metalD, cristalD, deuD, 6000, 2000, 0, "alt");
            txtTablaDef += generarFilaProduccion("{C_GAUS}", metalD, cristalD, deuD, 20000, 15000, 2000);
            txtTablaDef += generarFilaProduccion("{C_IONICO}", metalD, cristalD, deuD, 2000, 6000, 0, "alt");
            txtTablaDef += generarFilaProduccion("{C_PLASMA}", metalD, cristalD, deuD, 50000, 50000, 30000);
            txtTablaDef += generarFilaProduccion("{M_ANTI}", metalD, cristalD, deuD, 8000, 0, 2000, "alt");
            txtTablaDef += generarFilaProduccion("{M_PLAN}", metalD, cristalD, deuD, 15500, 2500, 10000);
            txtTablaDef += '</table>';


            var txtFinal = '<p align="center"><br><br><br><font size="1"><br><br>';
            txtFinal += '<a href="https://openuserjs.org/scripts/Duke/Produktion_OGame_v7.1" target="_blank"> Produktion OGame v7.1 </a><br>';
            txtFinal += '[version: ' + SCRIPT_VERSION +  ']<br><br>{TRANSLATE_BY}<BR></font>';
            txtFinal += '<a href="javascript:localStorage.clear();location.reload();" target="">Reset-Data</a><br></p>';


            var obj;

            // produccion imperial
            divRecursos.innerHTML = translate(tabla);
            divRecursos.id = "prod-imp";
            main.appendChild(divRecursos);

            // recursos por planetas
            divPorPlanetas.innerHTML = translate(tablaPlanetas);
            divPorPlanetas.id = "sec_1";
            divPorPlanetas.style.display = "";
            main.appendChild(divPorPlanetas);
            obj = document.getElementById("mostrar_sec1");
            addEvent(obj.parentNode, "click", function(){mostrarSeccion(1)});
            obj = document.getElementById("img_sec1");
            obj.setAttribute ("src", closeImg);


            // bb-code
            divBB.innerHTML = translate(produccionBB);
            divBB.id = "sec_2";
            divBB.style.display = "none";
            main.appendChild(divBB);
            obj = document.getElementById("mostrar_sec2");
            addEvent(obj.parentNode, "click", function(){mostrarSeccion(2)});
            obj = document.getElementById("img_sec2");
            obj.setAttribute ("src", openImg);


            // almacenes
            divAlmacen.innerHTML = translate(tablaAlmacen);
            divAlmacen.id = "sec_3";
            divAlmacen.style.display = "none";
            main.appendChild(divAlmacen);
            obj = document.getElementById("mostrar_sec3");
            addEvent(obj.parentNode, "click", function(){mostrarSeccion(3)});
            obj = document.getElementById("img_sec3");
            obj.setAttribute ("src", openImg);

            // produccion flotas
            divFlotas.innerHTML = translate(txtTablaFlotas);
            divFlotas.id = "sec_4";
            divFlotas.style.display = "none";
            main.appendChild(divFlotas);
            obj = document.getElementById("mostrar_sec4");
            addEvent(obj.parentNode, "click", function(){mostrarSeccion(4)});
            obj = document.getElementById("img_sec4");
            obj.setAttribute ("src", openImg);

            // produccion defensas
            divDefensas.innerHTML = translate(txtTablaDef);
            divDefensas.id = "sec_5";
            divDefensas.style.display = "none";
            main.appendChild(divDefensas);
            obj = document.getElementById("mostrar_sec5");
            addEvent(obj.parentNode, "click", function(){mostrarSeccion(5)});
            obj = document.getElementById("img_sec5");
            obj.setAttribute ("src", openImg);

            // div final (firma y enlace)
            divFinal.innerHTML = translate(txtFinal);
            main.appendChild(divFinal);



            // detalles de recursos
            obj = document.getElementById("mostrarDM");
            addEvent(obj.parentNode, "click", function(){mostrarDetallesRecursos("detalleMetal")});

            obj = document.getElementById("mostrarDC");
            addEvent(obj.parentNode, "click", function(){mostrarDetallesRecursos("detalleCristal")});

            obj = document.getElementById("mostrarDD");
            addEvent(obj.parentNode, "click", function(){mostrarDetallesRecursos("detalleDeuterio")});

            obj = document.getElementById("img_detalleMetal");
            obj.setAttribute ("src", openImg);

            obj = document.getElementById("img_detalleCristal");
            obj.setAttribute ("src", openImg);

            obj = document.getElementById("img_detalleDeuterio");
            obj.setAttribute ("src", openImg);


            // opciones para el bbcode con la produccion basica o completa
            obj = document.getElementById("op_p_bas");
            addEvent(obj, "click", function(){setTxtBBCode(0)});

            obj = document.getElementById("op_p_comp");
            addEvent(obj, "click", function(){setTxtBBCode(1)});


        }
    }


}) ()