﻿// JScript File
function colocarCostos(valores, panel)
{
    var opciones = valores.split('@');
    var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel' + panel.toString() + '_txtNiv_';
    var metal, cristal, deuterio, energia;
    var metalAcum, cristalAcum, deuterioAcum, energiaAcum;
    var limite, k;
    var acumulativo = MM_findObj('drpMetodo').value=="2"?true:false;

    if (MM_findObj(prefNivel+opciones[0]).value!="" && MM_findObj(prefNivel+opciones[0]).value!="0" && MM_findObj(prefNivel+opciones[0]).value!="00" )
    {
        
        metal = parseInt(opciones[1]);
        cristal =  parseInt(opciones[2]);
        deuterio = parseInt(opciones[3]);
        energia = parseInt(opciones[4]);
        
        metalAcum = 0;
        cristalAcum = 0;
        deuterioAcum = 0;
        energiaAcum = 0;

        if(panel=="1" || panel=="2")
        {
            if (parseInt(MM_findObj(prefNivel+opciones[0]).value)>50) 
            {
                MM_findObj(prefNivel+opciones[0]).value = "50"; 
            }
            if (acumulativo)
            {
                k = 0;
                limite = parseInt(MM_findObj(prefNivel+opciones[0]).value)-1;
                while (k<=limite)
                {
                    metalAcum += Math.floor(metal*Math.pow(parseFloat(opciones[5]), k));
                    cristalAcum +=  Math.floor(cristal*Math.pow(parseFloat(opciones[5]), k));
                    deuterioAcum += Math.floor(deuterio*Math.pow(parseFloat(opciones[5]), k));
                    energiaAcum += Math.floor(energia*Math.pow(parseFloat(opciones[5]), k));
                    k++;
                }
                metal = metalAcum;
                cristal = cristalAcum;
                deuterio = deuterioAcum;
                energia = energiaAcum;
            }
            else
            {
                metal = Math.floor(metal*Math.pow(parseFloat(opciones[5]), parseInt(MM_findObj(prefNivel+opciones[0]).value)-1));
                cristal =  Math.floor(cristal*Math.pow(parseFloat(opciones[5]), parseInt(MM_findObj(prefNivel+opciones[0]).value)-1));
                deuterio = Math.floor(deuterio*Math.pow(parseFloat(opciones[5]), parseInt(MM_findObj(prefNivel+opciones[0]).value)-1));
                energia = Math.floor(energia*Math.pow(parseFloat(opciones[5]), parseInt(MM_findObj(prefNivel+opciones[0]).value)-1));
            }
            
        }
        
        if(panel=="1")
        {
            MM_findObj('tie_'+opciones[0]).innerHTML=tiempo(metal+cristal, 'edificio', opciones[0]);
        }
        if(panel=="2")
        {
            MM_findObj('tie_'+opciones[0]).innerHTML=tiempo(metal+cristal, 'investigacion', opciones[0]);
        }
        if(panel=="3")
        {
            tie = tiempo(metal+cristal, 'flota', opciones[0]);
            if(tie == '00:00:00') tie = tiempo(opciones[0], 'otro', opciones[0]);
            metal = metal * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            cristal = cristal * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            deuterio = deuterio * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            MM_findObj('tie_'+opciones[0]).innerHTML=tie;
        }
        if(panel=="4")
        {
            tie = tiempo(metal+cristal, 'defensa', opciones[0]);
            if(tie == '00:00:00') tie = tiempo(opciones[0], 'otro', opciones[0]);
            metal = metal * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            cristal = cristal * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            deuterio = deuterio * parseInt(MM_findObj(prefNivel+opciones[0]).value);
            MM_findObj('tie_'+opciones[0]).innerHTML=tie;
        }
        MM_findObj('met_'+opciones[0]).innerHTML=colocarPuntos(metal);
        MM_findObj('cri_'+opciones[0]).innerHTML=colocarPuntos(cristal);
        MM_findObj('deu_'+opciones[0]).innerHTML=colocarPuntos(deuterio);
        MM_findObj('ene_'+opciones[0]).innerHTML=colocarPuntos(energia);
        MM_findObj('pun_'+opciones[0]).innerHTML=puntos(opciones[0]).toFixed(2);
    }
    else
    {
		MM_findObj('met_'+opciones[0]).innerHTML="";
        MM_findObj('cri_'+opciones[0]).innerHTML="";
        MM_findObj('deu_'+opciones[0]).innerHTML="";
        MM_findObj('ene_'+opciones[0]).innerHTML="";
        MM_findObj('tie_'+opciones[0]).innerHTML="";
        MM_findObj('pun_'+opciones[0]).innerHTML="";
    }
    calcularTotales();
}

function tiempo(met_cri, tipo, i)
{
    switch (tipo) {
        case 'edificio': 
            var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel1_txtNiv_';
            var i = (met_cri * 3600) / (2500 * (MM_findObj('txtRobots').value -1 * -1) * Math.pow(2, MM_findObj('txtNanobots').value)); 
            break;
	    case 'investigacion': 
		    var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel2_txtNiv_';
	        var i = (met_cri * 3600) / (1000 * (MM_findObj('txtInvestigacion').value -1 * -1)); 
	    break;
	    case 'flota':
	        var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel3_txtNiv_';
	        var i = Math.floor((met_cri * 3600) / (2500 * (MM_findObj('txtHangar').value -1 * -1) * Math.pow(2, MM_findObj('txtNanobots').value)))*parseInt(MM_findObj(prefNivel+i.toString()).value);
        break;
        case 'defensa':
            var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel4_txtNiv_';
            var i = Math.floor((met_cri * 3600) / (2500 * (MM_findObj('txtHangar').value -1 * -1) * Math.pow(2, MM_findObj('txtNanobots').value)))*parseInt(MM_findObj(prefNivel+i.toString()).value);
	    break;
	    case 'otro': var i = met_cri; 
	    break;
	    default: var i = Math.floor((met_cri * 3600) / (2500 * (MM_findObj('txtHangar').value -1 * -1) * Math.pow(2, MM_findObj('txtNanobots').value)))*parseInt(MM_findObj(prefNivel+i.toString()).value);
    }
    speed = MM_findObj('drpSpeed').value;
    i = i / speed;
    i = Math.floor(i);
    return formatoTiempo(i);
}

function recalcularTiempos()
{
    for (i = 1; i <= 18; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML) || isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            MM_findObj('tie_'+i.toString()).innerHTML=tiempo(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML) + formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML), 'edificio', i);
        }
    }
    for (i = 101; i <= 116; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML) || isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            MM_findObj('tie_'+i.toString()).innerHTML=tiempo(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML) + formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML), 'investigacion', i);
        }
    }
    for (i = 201; i <= 214; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML) || isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel3_txtNiv_';
            metal= formatoNumero(MM_findObj('met_' + i.toString()).innerHTML)/parseInt(MM_findObj(prefNivel+i.toString()).value);
            cristal=formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML)/parseInt(MM_findObj(prefNivel+i.toString()).value);
            
            tie=tiempo(metal + cristal, 'flota', i);
            if(tie == '00:00:00') tie = tiempo(i, 'otro', i);
            MM_findObj('tie_'+i.toString()).innerHTML = tie;
        }
    }
    for (i = 301; i <= 310; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML) || isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            var prefNivel = 'ctl00_cntContenido_TabContainer1_TabPanel4_txtNiv_';
            metal= formatoNumero(MM_findObj('met_' + i.toString()).innerHTML)/parseInt(MM_findObj(prefNivel+i.toString()).value);
            cristal=formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML)/parseInt(MM_findObj(prefNivel+i.toString()).value);
            
            tie=tiempo(metal + cristal, 'defensa', i);
            if(tie == '00:00:00') tie = tiempo(i, 'otro', i);
            MM_findObj('tie_'+i.toString()).innerHTML = tie;
        }
    }
    calcularTotales();
}

function calcularTotales()
{
    met=0;
    cri=0;
    deu=0;
    ene=0;
    seg=0;
    
    totMet=0;
    totCri=0;
    totDeu=0;
    totEne=0;
    totSeg=0;
    
    var tie, dia;

    for (i = 1; i <= 18; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML))
        {
            met = met + parseInt(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML));          
        }
        if (isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            cri = cri + parseInt(formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('deu_' + i.toString()).innerHTML))
        {
            deu = deu + parseInt(formatoNumero(MM_findObj('deu_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('ene_' + i.toString()).innerHTML))
        {
            ene = ene + parseInt(formatoNumero(MM_findObj('ene_' + i.toString()).innerHTML));
        }
        if (MM_findObj('tie_' + i.toString()).innerHTML.indexOf(":")!=-1)
        {
            tie = MM_findObj('tie_' + i.toString()).innerHTML.split(':');
            seg = seg + parseFloat(tie[2]) + (60*parseFloat(tie[1]));
            if (tie[0].indexOf('d') != -1)
            {
                dia = tie[0].split('d');
                seg = seg + parseFloat(dia[1])*3600;
                seg = seg + parseFloat(dia[0])*86400;
            }
            else
            {
                seg = seg + parseFloat(tie[0])*3600;
            }
        }
        
    }
    MM_findObj('met_edificios').innerHTML=colocarPuntos(met);
    MM_findObj('cri_edificios').innerHTML=colocarPuntos(cri);
    MM_findObj('deu_edificios').innerHTML=colocarPuntos(deu);
    MM_findObj('ene_edificios').innerHTML=colocarPuntos(ene);
    MM_findObj('pun_edificios').innerHTML=puntos('edificios').toFixed(2);
    MM_findObj('tie_edificios').innerHTML=formatoTiempo(seg);
    
    totMet=totMet + met;
    totCri=totCri+cri;
    totDeu=totDeu+deu;
    totEne=totEne+ene;
    totSeg=totSeg+seg;
    
    met=0;
    cri=0;
    deu=0;
    ene=0;
    seg=0;
    
    for (i = 101; i <= 117; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML))
        {
            met = met + parseInt(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML));          
        }
        if (isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            cri = cri + parseInt(formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('deu_' + i.toString()).innerHTML))
        {
            deu = deu + parseInt(formatoNumero(MM_findObj('deu_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('ene_' + i.toString()).innerHTML))
        {
            ene = ene + parseInt(formatoNumero(MM_findObj('ene_' + i.toString()).innerHTML));
        }
        if (MM_findObj('tie_' + i.toString()).innerHTML.indexOf(":")!=-1)
        {
            tie = MM_findObj('tie_' + i.toString()).innerHTML.split(':');
            seg = seg + parseFloat(tie[2]) + (60*parseFloat(tie[1]));
            if (tie[0].indexOf('d') != -1)
            {
                dia = tie[0].split('d');
                seg = seg + parseFloat(dia[1])*3600;
                seg = seg + parseFloat(dia[0])*86400;
            }
            else
            {
                seg = seg + parseFloat(tie[0])*3600;
            }
        }
        
    }
    MM_findObj('met_investigacion').innerHTML=colocarPuntos(met);
    MM_findObj('cri_investigacion').innerHTML=colocarPuntos(cri);
    MM_findObj('deu_investigacion').innerHTML=colocarPuntos(deu);
    MM_findObj('ene_investigacion').innerHTML=colocarPuntos(ene);
    MM_findObj('pun_investigacion').innerHTML=puntos('investigacion').toFixed(2);
    MM_findObj('tie_investigacion').innerHTML=formatoTiempo(seg);

    totMet=totMet + met;
    totCri=totCri+cri;
    totDeu=totDeu+deu;
    totEne=totEne+ene;
    totSeg=totSeg+seg;
    
    met=0;
    cri=0;
    deu=0;
    ene=0;
    seg=0;
    
    for (i = 201; i <= 214; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML))
        {
            met = met + parseInt(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML));          
        }
        if (isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            cri = cri + parseInt(formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('deu_' + i.toString()).innerHTML))
        {
            deu = deu + parseInt(formatoNumero(MM_findObj('deu_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('ene_' + i.toString()).innerHTML))
        {
            ene = ene + parseInt(formatoNumero(MM_findObj('ene_' + i.toString()).innerHTML));
        }
        if (MM_findObj('tie_' + i.toString()).innerHTML.indexOf(":")!=-1)
        {
            tie = MM_findObj('tie_' + i.toString()).innerHTML.split(':');
            seg = seg + parseFloat(tie[2]) + (60*parseFloat(tie[1]));
            if (tie[0].indexOf('d') != -1)
            {
                dia = tie[0].split('d');
                seg = seg + parseFloat(dia[1])*3600;
                seg = seg + parseFloat(dia[0])*86400;
            }
            else
            {
                seg = seg + parseFloat(tie[0])*3600;
            }
        }
        
    }
    MM_findObj('met_flota').innerHTML=colocarPuntos(met);
    MM_findObj('cri_flota').innerHTML=colocarPuntos(cri);
    MM_findObj('deu_flota').innerHTML=colocarPuntos(deu);
    MM_findObj('ene_flota').innerHTML=colocarPuntos(ene);
    MM_findObj('pun_flota').innerHTML=puntos('flota').toFixed(2);
    MM_findObj('tie_flota').innerHTML=formatoTiempo(seg);
    
    totMet=totMet + met;
    totCri=totCri+cri;
    totDeu=totDeu+deu;
    totEne=totEne+ene;
    totSeg=totSeg+seg;
    
    met=0;
    cri=0;
    deu=0;
    ene=0;
    seg=0;
    
    for (i = 301; i <= 310; i++)
    {
        if (isNumeric(MM_findObj('met_' + i.toString()).innerHTML))
        {
            met = met + parseInt(formatoNumero(MM_findObj('met_' + i.toString()).innerHTML));          
        }
        if (isNumeric(MM_findObj('cri_' + i.toString()).innerHTML))
        {
            cri = cri + parseInt(formatoNumero(MM_findObj('cri_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('deu_' + i.toString()).innerHTML))
        {
            deu = deu + parseInt(formatoNumero(MM_findObj('deu_' + i.toString()).innerHTML));
        }
        if (isNumeric(MM_findObj('ene_' + i.toString()).innerHTML))
        {
            ene = ene + parseInt(formatoNumero(MM_findObj('ene_' + i.toString()).innerHTML));
        }
        if (MM_findObj('tie_' + i.toString()).innerHTML.indexOf(":")!=-1)
        {
            tie = MM_findObj('tie_' + i.toString()).innerHTML.split(':');
            seg = seg + parseFloat(tie[2]) + (60*parseFloat(tie[1]));
            if (tie[0].indexOf('d') != -1)
            {
                dia = tie[0].split('d');
                seg = seg + parseFloat(dia[1])*3600;
                seg = seg + parseFloat(dia[0])*86400;
            }
            else
            {
                seg = seg + parseFloat(tie[0])*3600;
            }
        }
        
    }
    MM_findObj('met_defensa').innerHTML=colocarPuntos(met);
    MM_findObj('cri_defensa').innerHTML=colocarPuntos(cri);
    MM_findObj('deu_defensa').innerHTML=colocarPuntos(deu);
    MM_findObj('ene_defensa').innerHTML=colocarPuntos(ene);
    MM_findObj('pun_defensa').innerHTML=puntos('defensa').toFixed(2);
    MM_findObj('tie_defensa').innerHTML=formatoTiempo(seg);
    
    totMet=totMet + met;
    totCri=totCri+cri;
    totDeu=totDeu+deu;
    totEne=totEne+ene;
    totSeg=totSeg+seg;

    
    MM_findObj('met_final').innerHTML=colocarPuntos(totMet);
    MM_findObj('cri_final').innerHTML=colocarPuntos(totCri);
    MM_findObj('deu_final').innerHTML=colocarPuntos(totDeu);
    MM_findObj('ene_final').innerHTML=colocarPuntos(totEne);
    MM_findObj('pun_final').innerHTML=puntos('final').toFixed(2);
    MM_findObj('tie_final').innerHTML=formatoTiempo(totSeg);

    
}

function puntos(campo)
{
    var total = 0;
    if (isNumeric(MM_findObj('met_' + campo.toString()).innerHTML) || isNumeric(MM_findObj('cri_' + campo.toString()).innerHTML))
    {
        total = parseInt(formatoNumero(MM_findObj('met_' + campo.toString()).innerHTML)) + parseInt(formatoNumero(MM_findObj('cri_' + campo.toString()).innerHTML))+ parseInt(formatoNumero(MM_findObj('deu_' + campo.toString()).innerHTML));
    }
    return total/1000;
}

function formatoTiempo(i)
{
    var sec = mod(i, 60);
    i = div(i, 60);
    var min = mod(i, 60);
    i = div(i, 60);
    var h = mod(i, 24);
    var d = div(i, 24);
    if(sec < 10) {
        sec = '0' + sec;
    }
    if(min < 10) {
	    min = '0' + min;
    }
    if(h < 10) {
	    h = '0' + h;
    }
    if(d == 0) {
	    return h + ':' + min + ':' + sec;
    }else{
	    return d+"d "+h+":"+min+":"+sec;
    }
}

function mod(a, b)
{
  return a - Math.floor(a / b) * b;
}

function div(a, b)
{
  return Math.floor(a / b);
}

function graviton(cristal, deuterio) {
  if (MM_findObj('txtNivel').value > 35) MM_findObj('txtNivel').value = '35';
  if (MM_findObj('txtMaxTemp').value >= -76) {
    var vgraven   = 100000*Math.pow(3,MM_findObj('txtNivel').value);
    var vgraven1  = Math.floor(20*MM_findObj('txtPlantaSolar').value*Math.pow(1.1,MM_findObj('txtPlantaSolar').value));
    var vgraven2  = Math.floor(30*MM_findObj('txtPlantaFusion').value*Math.pow(1.05+MM_findObj('txtTecEnergia').value*0.01,MM_findObj('txtPlantaFusion').value));
    var vtxtMaxTemp = MM_findObj('txtMaxTemp').value;
    var vgravsat  = Math.floor(vtxtMaxTemp/4+20);
    if(vgravsat > 50) vgravsat = 50;
    var vgravsats = Math.ceil((vgraven-vgraven1-vgraven2)/vgravsat);
    if(vgravsats < 0) vgravsats = 0;

    MM_findObj('energia').innerHTML = pc(vgraven);
    MM_findObj('energia1').innerHTML = pc(vgraven1);
    MM_findObj('energia2').innerHTML = pc(vgraven2);
    MM_findObj('satelites').innerHTML = pc(vgravsats);
    MM_findObj('costos').innerHTML = '~ ' + pc(vgravsats*2) + 'k ' + cristal + ' &<br/>' + pc(Math.ceil(vgravsats*0.5)) + 'k ' + deuterio;
    MM_findObj('tiempo').innerHTML = tiempoSatelites(vgravsats)
  } else {
    MM_findObj('satelites').innerHTML = 'Check Temperatur input';
    MM_findObj('costos').innerHTML = '&nbsp;';
    MM_findObj('tiempo').innerHTML = '&nbsp;';
  }
}

function tiempoSatelites(anzahl) {
  var txtHangar = parseInt(MM_findObj('txtHangar').value);

  var i = 7200000 / (2500 * (txtHangar+1)) * Math.pow(0.5, MM_findObj('txtNanobots').value);
  i = Math.floor(i)*anzahl;
  if(i==0) i = anzahl;

  return  formatoTiempo(i);
}


function pc(s1) {
  return pointconvert(s1);
}

function pointconvert(s) {
  var sx = '';
  s = s + '';
  for (ipc = s.length; ipc >= 0; ipc--) {
    sx = s.charAt(ipc) + sx;
    if ((div(s.length - ipc,3) == (s.length - ipc) / 3) && (s.length != ipc) && (0 != ipc)) sx = '.' + sx;
  }
  return sx;
}

var data2 = Array(
  //    typ,ant,speed,speed2,verbr,lager)
  //    0  , 1, 2   , 3    , 4 , 5      )
  Array(201, 1, 5000, 10000, 10, 5000), //KT
  Array(202, 1, 7500, 0, 50, 25000),    //GT
  Array(203, 1, 12500, 0, 20, 50),      //LJ
  Array(204, 2, 10000, 0, 75, 100),     //SJ
  Array(205, 2, 15000, 0, 300, 800),    //KRZ
  Array(206, 3, 10000, 0, 500, 1500),   //SS
  Array(207, 2, 2500, 0, 1000, 7500),   //KS
  Array(208, 1, 2000, 0, 300, 20000),   //REC
  Array(209, 1, 100000000, 0, 1, 0),    //Spio
  Array(211, 2, 4000, 5000, 1000, 500), //Bomber
  Array(212, 3, 5000, 0, 1000, 2000),   //Zer
  Array(213, 3, 100, 0, 1, 1000000),    //TS
  Array(214, 3, 10000, 0, 250, 750)     //SK
);

function retint(s) {
  var sxx = '';
  s = s + '';
  var sx = s.toUpperCase();
  for(ir = 0; ir < sx.length; ir++) {
    if(sx.charCodeAt(ir) >= 48 && sx.charCodeAt(ir) <= 57) {
      sxx = sxx + sx.charAt(ir);
    }
  }
  return sxx;
}

function berechne_table(id) {
  id++;
  id--;
  var antrieb = Array(MM_findObj('vbt').value,  MM_findObj('imp').value,  MM_findObj('ha').value);
  var spd = 0;

//-- data2 array --//

  for (i = 0; i < data2.length; i++) {
    if ((data2[i][0] == id) || (id == -1)) {
      spd = data2[i][2] * (1 + antrieb[data2[i][1]-1] * data2[i][1] / 10); //normal
      if (data2[i][3] != 0) {                                                                        //-exceptions-
        if ((data2[i][0] == 201) && (antrieb[1] > 4)) spd = data2[i][3] * (1 + antrieb[1] * 2 / 10); //kt neu
        if ((data2[i][0] == 211) && (antrieb[2] > 7)) spd = data2[i][3] * (1 + antrieb[2] * 3 / 10); //bomber neu
      }
      MM_findObj('s' + data2[i][0]).firstChild.nodeValue = pc(Math.round(spd));
      MM_findObj('l' + data2[i][0]).firstChild.nodeValue = pc(data2[i][5] * MM_findObj('i' + data2[i][0]).value);
    }
  }
  berechne();
}

function berechne() {
  var start  = Array(MM_findObj('st_gal').value, MM_findObj('st_sys').value, MM_findObj('st_pla').value);
  var ziel   = Array(MM_findObj('zi_gal').value, MM_findObj('zi_sys').value, MM_findObj('zi_pla').value);
  var anz    = 0;
  var enf    = 0;
  var lag    = 0;
  var spd    = 110000000000;
  var factor = MM_findObj('drpSpeed').value;
  var time   = 0;

  if (start[0] != ziel[0]) {
    enf = 20000 * Math.abs(start[0] - ziel[0]);
  } else {
    if (start[1] != ziel[1]) {
      enf = 95 * Math.abs(start[1] - ziel[1]) + 2700;
    } else {
      if (start[2] != ziel[2]) {
        enf = 5 * Math.abs(start[2] - ziel[2]) + 1000;
      } else {
        enf = 5;
      }
    }
  }

  //Berechnung - Anzahl/Lagerkapazität
  var i;
  for (i = 201; i < 202+data2.length; i++) {
    if (i != 210) {
      if (MM_findObj('i' + i).value > 0) spd = Math.min(spd,retint(MM_findObj('s' + i).firstChild.nodeValue));
      anz = anz - -1 * MM_findObj('i' + i).value;
      lag = lag - -1 * retint(MM_findObj('l' + i).firstChild.nodeValue);
    }
  }

  var time2 = Math.round(time = (10+ (350 / MM_findObj('sel2').value * Math.sqrt(enf*1000/spd))));
  time = Math.round(time / factor);

  //Berechnung - Treibstoff
  var verbrauch = 0;
  var gesverbrauch = 0;
  var shipspd = 0;
  var spd2 = 0;
  var num = 0;
  for (i = 0; i < data2.length; i++) {
    num = MM_findObj('i'+data2[i][0]).value;
    if (num != 0) {
      shipspd = retint(MM_findObj('s'+data2[i][0]).firstChild.nodeValue);
      spd2 = 35000 / ( time2 - 10 ) * Math.sqrt( enf * 10 / shipspd );
      verbrauch = num * (data2[i][4] + (data2[i][0] == 201 && MM_findObj('imp').value > 4 ? 10 : 0));
      gesverbrauch += verbrauch * enf / 35000 * Math.pow(spd2 / 10 + 1 , 2);
    }
  }

  MM_findObj('verbrauch').innerHTML = (anz == 0) ? '-' : pc(Math.round(gesverbrauch) + 1);

  MM_findObj('iges').firstChild.nodeValue = pc(anz);
  MM_findObj('lges').firstChild.nodeValue = pc(lag);
  MM_findObj('sges').firstChild.nodeValue = (spd == 110000000000) ? '-' : pc(spd);
  MM_findObj('distance').firstChild.nodeValue = pc(enf);
  MM_findObj('dauer').firstChild.nodeValue = (anz == 0) ? '-' : formatoTiempo(time);
}

