arnaucube
arnaucube/gogame-old-frontendPublic Self-hosted repository
gogame-old-frontend/buildings.js
buildings.jsRaw
  1function secondsToTime(secs) {
  2  var h = Math.floor(secs / (60 * 60));
  3
  4  var divisor_for_minutes = secs % (60 * 60);
  5  var m = Math.floor(divisor_for_minutes / 60);
  6
  7  var divisor_for_seconds = divisor_for_minutes % 60;
  8  var s = Math.ceil(divisor_for_seconds);
  9
 10  return h + "h " + m + "m " + s + "s";
 11}
 12
 13function printNeededResources(r) {
 14  let enough = true;
 15  let enoughEnergy = true;
 16  let html = "";
 17  html += `Requires:`;
 18  if (r.Metal <= planet.Resources.Metal) {
 19    html += ` Metal: <b style="color:lime;">` + r.Metal + `</b>`;
 20  } else {
 21    enough = false;
 22    html += ` Metal: <b style="color:red;">` + r.Metal + `</b>`;
 23  }
 24
 25  if (r.Crystal <= planet.Resources.Crystal) {
 26    html += ` Crystal: <b style="color:lime;">` + r.Crystal + `</b>`;
 27  } else {
 28    enough = false;
 29    html += ` Crystal: <b style="color:red;">` + r.Crystal + `</b>`;
 30  }
 31
 32  if (r.Deuterium <= planet.Resources.Deuterium) {
 33    html += ` Deuterium: <b style="color:lime;">` + r.Deuterium + `</b>`;
 34  } else {
 35    enough = false;
 36    html += ` Deuterium: <b style="color:red;">` + r.Deuterium + `</b>`;
 37  }
 38
 39  if (r.Energy <= planet.Resources.Energy) {
 40    html += ` Energy: <b style="color: lime;">` + r.Energy + `</b>`;
 41  } else {
 42    enough = false;
 43    enoughEnergy = true;
 44    html += ` Energy: <b style="color: red;">` + r.Energy + `</b>`;
 45  }
 46
 47  return {html, enough, enoughEnergy};
 48}
 49
 50function printResources(r) {
 51  console.log(r)
 52  document.getElementById("metal").innerHTML = r.Metal;
 53  document.getElementById("crystal").innerHTML = r.Crystal;
 54  document.getElementById("deuterium").innerHTML = r.Deuterium;
 55  document.getElementById("energy").innerHTML = r.Energy;
 56}
 57
 58function coundown(t) {
 59  document.getElementById("countdown").innerHTML = `
 60    Countdown: <b>` + secondsToTime(t) + `</b>`;
 61  let timer = setInterval(function() {
 62    if (t > 0) {
 63      t--;
 64      document.getElementById("countdown").innerHTML = `
 65      Countdown: <b>` + secondsToTime(t) + `</b>`;
 66    } else {
 67      clearInterval(timer);
 68      getUser();
 69    }
 70  }, 1000);
 71}
 72
 73function printBuildings(planet) {
 74  let r = {};
 75  let resrourcesHtml = {};
 76  document.getElementById("planetname").innerHTML = planet.Name;
 77
 78  if (planet.CurrentBuild.Title !== "") {
 79    document.getElementById("currentBuild").innerHTML = `
 80      Currently building: <b>` + planet.CurrentBuild.Title + `</b>
 81      <br>
 82      Finishes at: <b>` + planet.CurrentBuild.Ends + `</b>
 83    `
 84    coundown(planet.CurrentBuild.CountDown);
 85  } else {
 86    document.getElementById("currentBuild").innerHTML = "";
 87    document.getElementById("countdown").innerHTML = "";
 88  }
 89
 90  // metalmine
 91  if (planet.Buildings.metalmine == undefined) {
 92    document.getElementById("btnBuildMetalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('metalmine')">Build building</div>`;
 93    r = metalmineCost(1);
 94    t = constructionTime(r, 1);
 95    resrourcesHtml = printNeededResources(r);
 96    document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
 97      <br>
 98      Construction time: ` + secondsToTime(t);
 99  } else {
100    document.getElementById("metalmineLevel").innerHTML = "(Level " + planet.Buildings.metalmine + ")";
101    document.getElementById("btnBuildMetalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('metalmine')">Build level ` + (+ (planet.Buildings.metalmine) + + (1)) + `</div>`;
102    r = metalmineCost((+ (planet.Buildings.metalmine) + + (1)));
103    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
104    resrourcesHtml = printNeededResources(r);
105    document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
106      <br>
107      Construction time: ` + secondsToTime(t);
108  }
109  if (!resrourcesHtml.enough) {
110    document.getElementById("btnBuildMetalMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
111  }
112  if (planet.CurrentBuild.Title !== "") {
113    document.getElementById("btnBuildMetalMine").innerHTML = `<span style="color: red;">building</span>`;
114  }
115
116  // crystalmine
117  if (planet.Buildings.crystalmine == undefined) {
118    document.getElementById("btnBuildCrystalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalmine')">Build building</div>`;
119    r = crystalmineCost(1);
120    t = constructionTime(r, 1);
121    resrourcesHtml = printNeededResources(r);
122    document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
123      <br>
124      Construction time: ` + secondsToTime(t);
125  } else {
126    document.getElementById("crystalmineLevel").innerHTML = "(Level " + planet.Buildings.crystalmine + ")";
127    document.getElementById("btnBuildCrystalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalmine')">Build level ` + (+ (planet.Buildings.crystalmine) + + (1)) + `</div>`;
128    r = crystalmineCost((+ (planet.Buildings.crystalmine) + + (1)));
129    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
130    resrourcesHtml = printNeededResources(r);
131    document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
132      <br>
133      Construction time: ` + secondsToTime(t);
134  }
135  if (!resrourcesHtml.enough) {
136    document.getElementById("btnBuildCrystalMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
137  }
138  if (planet.CurrentBuild.Title !== "") {
139    document.getElementById("btnBuildCrystalMine").innerHTML = `<span style="color: red;">building</span>`;
140  }
141
142  // deuteriummine{
143  if (planet.Buildings.deuteriummine == undefined) {
144    document.getElementById("btnBuildDeuteriumMine").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriummine')">Build building</div>`;
145    r = deuteriummineCost(1);
146    t = constructionTime(r, 1);
147    resrourcesHtml = printNeededResources(r);
148    document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
149      <br>
150      Construction time: ` + secondsToTime(t);
151  } else {
152    document.getElementById("deuteriummineLevel").innerHTML = "(Level " + planet.Buildings.deuteriummine + ")";
153    document.getElementById("btnBuildDeuteriumMine").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriummine')">Build level ` + (+ (planet.Buildings.deuteriummine) + + (1)) + `</div>`;
154    r = deuteriummineCost((+ (planet.Buildings.deuteriummine) + + (1)));
155    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
156    resrourcesHtml = printNeededResources(r);
157    document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
158      <br>
159      Construction time: ` + secondsToTime(t);
160  }
161  if (!resrourcesHtml.enough) {
162    document.getElementById("btnBuildDeuteriumMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
163  }
164  if (planet.CurrentBuild.Title !== "") {
165    document.getElementById("btnBuildDeuteriumMine").innerHTML = `<span style="color: red;">building</span>`;
166  }
167
168  // energymine
169  if (planet.Buildings.energymine == undefined) {
170    document.getElementById("btnBuildEnergyMine").innerHTML = `<div class="allowed" onclick="buildBuilding('energymine')">Build building</div>`;
171    r = energymineCost(1);
172    t = constructionTime(r, 1);
173    resrourcesHtml = printNeededResources(r);
174    document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
175      <br>
176      Construction time: ` + secondsToTime(t);
177  } else {
178    document.getElementById("energymineLevel").innerHTML = "(Level " + planet.Buildings.energymine + ")";
179    document.getElementById("btnBuildEnergyMine").innerHTML = `<div class="allowed" onclick="buildBuilding('energymine')">Build level ` + (+ (planet.Buildings.energymine) + + (1)) + `</div>`;
180    r = energymineCost((+ (planet.Buildings.energymine) + + (1)));
181    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
182    resrourcesHtml = printNeededResources(r);
183    document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
184      <br>
185      Construction time: ` + secondsToTime(t);
186  }
187  if (!resrourcesHtml.enoughEnergy) {
188    document.getElementById("btnBuildEnergyMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
189  }
190  if (planet.CurrentBuild.Title !== "") {
191    document.getElementById("btnBuildEnergyMine").innerHTML = `<span style="color: red;">building</span>`;
192  }
193
194  // fusionreactor
195  if (planet.Buildings.fusionreactor == undefined) {
196    document.getElementById("btnBuildFusionReactor").innerHTML = `<div class="allowed" onclick="buildBuilding('fusionreactor')">Build building</div>`;
197    r = fusionreactorCost(1);
198    t = constructionTime(r, 1);
199    resrourcesHtml = printNeededResources(r);
200    document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
201      <br>
202      Construction time: ` + secondsToTime(t);
203  } else {
204    document.getElementById("fusionreactorLevel").innerHTML = "(Level " + planet.Buildings.fusionreactor + ")";
205    document.getElementById("btnBuildFusionReactor").innerHTML = `<div class="allowed" onclick="buildBuilding('fusionreactor')">Build level ` + (+ (planet.Buildings.fusionreactor) + + (1)) + `</div>`;
206    r = fusionreactorCost((+ (planet.Buildings.fusionreactor) + + (1)));
207    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
208    resrourcesHtml = printNeededResources(r);
209    document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
210      <br>
211      Construction time: ` + secondsToTime(t);
212  }
213  if (!resrourcesHtml.enough) {
214    document.getElementById("btnBuildFusionReactor").innerHTML = `<span style="color: red;">not enough resources</span>`;
215  }
216  if (planet.CurrentBuild.Title !== "") {
217    document.getElementById("btnBuildFusionReactor").innerHTML = `<span style="color: red;">building</span>`;
218  }
219
220  // roboticsfactory
221  if (planet.Buildings.roboticsfactory == undefined) {
222    document.getElementById("btnBuildRoboticsFactory").innerHTML = `<div class="allowed" onclick="buildBuilding('roboticsfactory')">Build building</div>`;
223    r = roboticsfactoryCost(1);
224    t = constructionTime(r, 1);
225    resrourcesHtml = printNeededResources(r);
226    document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
227      <br>
228      Construction time: ` + secondsToTime(t);
229  } else {
230    document.getElementById("roboticsfactoryLevel").innerHTML = "(Level " + planet.Buildings.roboticsfactory + ")";
231    document.getElementById("btnBuildRoboticsFactory").innerHTML = `<div class="allowed" onclick="buildBuilding('roboticsfactory')">Build level ` + (+ (planet.Buildings.roboticsfactory) + + (1)) + `</div>`;
232    r = roboticsfactoryCost((+ (planet.Buildings.roboticsfactory) + + (1)));
233    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
234    resrourcesHtml = printNeededResources(r);
235    document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
236      <br>
237      Construction time: ` + secondsToTime(t);
238  }
239  if (!resrourcesHtml.enough) {
240    document.getElementById("btnBuildRoboticsFactory").innerHTML = `<span style="color: red;">not enough resources</span>`;
241  }
242  if (planet.CurrentBuild.Title !== "") {
243    document.getElementById("btnBuildRoboticsFactory").innerHTML = `<span style="color: red;">building</span>`;
244  }
245
246  // shipyard
247  if (planet.Buildings.shipyard == undefined) {
248    document.getElementById("btnBuildShipyard").innerHTML = `<div class="allowed" onclick="buildBuilding('shipyard')">Build building</div>`;
249    r = shipyardCost(1);
250    t = constructionTime(r, 1);
251    resrourcesHtml = printNeededResources(r);
252    document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
253      <br>
254      Construction time: ` + secondsToTime(t);
255  } else {
256    document.getElementById("shipyardLevel").innerHTML = "(Level " + planet.Buildings.shipyard + ")";
257    document.getElementById("btnBuildShipyard").innerHTML = `<div class="allowed" onclick="buildBuilding('shipyard')">Build level ` + (+ (planet.Buildings.shipyard) + + (1)) + `</div>`;
258    r = shipyardCost((+ (planet.Buildings.shipyard) + + (1)));
259    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
260    resrourcesHtml = printNeededResources(r);
261    document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
262      <br>
263      Construction time: ` + secondsToTime(t);
264  }
265  if (!resrourcesHtml.enough) {
266    document.getElementById("btnBuildShipyard").innerHTML = `<span style="color: red;">not enough resources</span>`;
267  }
268  if (planet.CurrentBuild.Title !== "") {
269    document.getElementById("btnBuildShipyard").innerHTML = `<span style="color: red;">building</span>`;
270  }
271
272  // metalstorage
273  if (planet.Buildings.metalstorage == undefined) {
274    document.getElementById("btnBuildMetalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('metalstorage')">Build building</div>`;
275    r = metalstorageCost(1);
276    t = constructionTime(r, 1);
277    resrourcesHtml = printNeededResources(r);
278    document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
279      <br>
280      Construction time: ` + secondsToTime(t);
281  } else {
282    document.getElementById("metalstorageLevel").innerHTML = "(Level " + planet.Buildings.metalstorage + ")";
283    document.getElementById("btnBuildMetalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('metalstorage')">Build level ` + (+ (planet.Buildings.metalstorage) + + (1)) + `</div>`;
284    r = metalstorageCost((+ (planet.Buildings.metalstorage) + + (1)));
285    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
286    resrourcesHtml = printNeededResources(r);
287    document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
288      <br>
289      Construction time: ` + secondsToTime(t);
290  }
291  if (!resrourcesHtml.enough) {
292    document.getElementById("btnBuildMetalStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
293  }
294  if (planet.CurrentBuild.Title !== "") {
295    document.getElementById("btnBuildMetalStorage").innerHTML = `<span style="color: red;">building</span>`;
296  }
297
298  // crystalstorage
299  if (planet.Buildings.crystalstorage == undefined) {
300    document.getElementById("btnBuildCrystalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalstorage')">Build building</div>`;
301    r = crystalstorageCost(1);
302    t = constructionTime(r, 1);
303    resrourcesHtml = printNeededResources(r);
304    document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
305      <br>
306      Construction time: ` + secondsToTime(t);
307  } else {
308    document.getElementById("crystalstorageLevel").innerHTML = "(Level " + planet.Buildings.crystalstorage + ")";
309    document.getElementById("btnBuildCrystalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalstorage')">Build level ` + (+ (planet.Buildings.crystalstorage) + + (1)) + `</div>`;
310    r = crystalstorageCost((+ (planet.Buildings.crystalstorage) + + (1)));
311    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
312    resrourcesHtml = printNeededResources(r);
313    document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
314      <br>
315      Construction time: ` + secondsToTime(t);
316  }
317  if (!resrourcesHtml.enough) {
318    document.getElementById("btnBuildCrystalStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
319  }
320  if (planet.CurrentBuild.Title !== "") {
321    document.getElementById("btnBuildCrystalStorage").innerHTML = `<span style="color: red;">building</span>`;
322  }
323
324  // deuteriumstorage
325  if (planet.Buildings.deuteriumstorage == undefined) {
326    document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriumstorage')">Build building</div>`;
327    r = deuteriumstorageCost(1);
328    t = constructionTime(r, 1);
329    resrourcesHtml = printNeededResources(r);
330    document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
331      <br>
332      Construction time: ` + secondsToTime(t);
333  } else {
334    document.getElementById("deuteriumstorageLevel").innerHTML = "(Level " + planet.Buildings.deuteriumstorage + ")";
335    document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriumstorage')">Build level ` + (+ (planet.Buildings.deuteriumstorage) + + (1)) + `</div>`;
336    r = deuteriumstorageCost((+ (planet.Buildings.deuteriumstorage) + + (1)));
337    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
338    resrourcesHtml = printNeededResources(r);
339    document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
340      <br>
341      Construction time: ` + secondsToTime(t);
342  }
343  if (!resrourcesHtml.enough) {
344    document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
345  }
346  if (planet.CurrentBuild.Title !== "") {
347    document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<span style="color: red;">building</span>`;
348  }
349
350  // ressearchlab
351  if (planet.Buildings.ressearchlab == undefined) {
352    document.getElementById("btnBuildRessearchLab").innerHTML = `<div class="allowed" onclick="buildBuilding('ressearchlab')">Build building</div>`;
353    r = ressearchlabCost(1);
354    t = constructionTime(r, 1);
355    resrourcesHtml = printNeededResources(r);
356    document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
357      <br>
358      Construction time: ` + secondsToTime(t);
359  } else {
360    document.getElementById("ressearchlabLevel").innerHTML = "(Level " + planet.Buildings.ressearchlab + ")";
361    document.getElementById("btnBuildRessearchLab").innerHTML = `<div class="allowed" onclick="buildBuilding('ressearchlab')">Build level ` + (+ (planet.Buildings.ressearchlab) + + (1)) + `</div>`;
362    r = ressearchlabCost((+ (planet.Buildings.ressearchlab) + + (1)));
363    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
364    resrourcesHtml = printNeededResources(r);
365    document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
366      <br>
367      Construction time: ` + secondsToTime(t);
368  }
369  if (!resrourcesHtml.enough) {
370    document.getElementById("btnBuildRessearchLab").innerHTML = `<span style="color: red;">not enough resources</span>`;
371  }
372  if (planet.CurrentBuild.Title !== "") {
373    document.getElementById("btnBuildRessearchLab").innerHTML = `<span style="color: red;">building</span>`;
374  }
375
376  // alliancedepot
377  if (planet.Buildings.alliancedepot == undefined) {
378    document.getElementById("btnBuildAllianceDepot").innerHTML = `<div class="allowed" onclick="buildBuilding('alliancedepot')">Build building</div>`;
379    r = alliancedepotCost(1);
380    t = constructionTime(r, 1);
381    resrourcesHtml = printNeededResources(r);
382    document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
383      <br>
384      Construction time: ` + secondsToTime(t);
385  } else {
386    document.getElementById("alliancedepotLevel").innerHTML = "(Level " + planet.Buildings.alliancedepot + ")";
387    document.getElementById("btnBuildAllianceDepot").innerHTML = `<div class="allowed" onclick="buildBuilding('alliancedepot')">Build level ` + (+ (planet.Buildings.alliancedepot) + + (1)) + `</div>`;
388    r = alliancedepotCost((+ (planet.Buildings.alliancedepot) + + (1)));
389    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
390    resrourcesHtml = printNeededResources(r);
391    document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
392      <br>
393      Construction time: ` + secondsToTime(t);
394  }
395  if (!resrourcesHtml.enough) {
396    document.getElementById("btnBuildAllianceDepot").innerHTML = `<span style="color: red;">not enough resources</span>`;
397  }
398  if (planet.CurrentBuild.Title !== "") {
399    document.getElementById("btnBuildAllianceDepot").innerHTML = `<span style="color: red;">building</span>`;
400  }
401
402  // missilesilo
403  if (planet.Buildings.missilesilo == undefined) {
404    document.getElementById("btnBuildMissileSilo").innerHTML = `<div class="allowed" onclick="buildBuilding('missilesilo')">Build building</div>`;
405    r = missilesiloCost(1);
406    t = constructionTime(r, 1);
407    resrourcesHtml = printNeededResources(r);
408    document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
409      <br>
410      Construction time: ` + secondsToTime(t);
411  } else {
412    document.getElementById("missilesiloLevel").innerHTML = "(Level " + planet.Buildings.missilesilo + ")";
413    document.getElementById("btnBuildMissileSilo").innerHTML = `<div class="allowed" onclick="buildBuilding('missilesilo')">Build level ` + (+ (planet.Buildings.missilesilo) + + (1)) + `</div>`;
414    r = missilesiloCost((+ (planet.Buildings.missilesilo) + + (1)));
415    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
416    resrourcesHtml = printNeededResources(r);
417    document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
418      <br>
419      Construction time: ` + secondsToTime(t);
420  }
421  if (!resrourcesHtml.enough) {
422    document.getElementById("btnBuildMissileSilo").innerHTML = `<span style="color: red;">not enough resources</span>`;
423  }
424  if (planet.CurrentBuild.Title !== "") {
425    document.getElementById("btnBuildMissileSilo").innerHTML = `<span style="color: red;">building</span>`;
426  }
427
428  // spacedock
429  if (planet.Buildings.spacedock == undefined) {
430    document.getElementById("btnBuildSpacedock").innerHTML = `<div class="allowed" onclick="buildBuilding('spacedock')">Build building</div>`;
431    r = spacedockCost(1);
432    t = constructionTime(r, 1);
433    resrourcesHtml = printNeededResources(r);
434    document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
435      <br>
436      Construction time: ` + secondsToTime(t);
437  } else {
438    document.getElementById("spacedockLevel").innerHTML = "(Level " + planet.Buildings.spacedock + ")";
439    document.getElementById("btnBuildSpacedock").innerHTML = `<div class="allowed" onclick="buildBuilding('spacedock')">Build level ` + (+ (planet.Buildings.spacedock) + + (1)) + `</div>`;
440    r = spacedockCost((+ (planet.Buildings.spacedock) + + (1)));
441    t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
442    resrourcesHtml = printNeededResources(r);
443    document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
444      <br>
445      Construction time: ` + secondsToTime(t);
446  }
447  if (!resrourcesHtml.enough) {
448    document.getElementById("btnBuildSpacedock").innerHTML = `<span style="color: red;">not enough resources</span>`;
449  }
450  if (planet.CurrentBuild.Title !== "") {
451    document.getElementById("btnBuildSpacedock").innerHTML = `<span style="color: red;">building</span>`;
452  }
453}
454
455function buildBuilding(building) {
456  console.log("build " + building);
457  const data = {
458    planetid: planetid,
459    building: building
460  }
461  axios.post(url + "/buildings", data, config).then(function(res) {
462    console.log("buildings", res.data);
463    planet = res.data.planet;
464    // printResources(planet.Resources);
465    printBuildings(planet);
466  }).catch(function(error) {
467    console.log(error);
468  });
469}