");
+
+ var entries = root.getElementsByTagName("historyEntry");
+ for (var i = 0; i < entries.length; i++) {
+ var historyEntry = entries[i];
+ var winner = historyEntry.getAttribute("winner");
+ var loser = historyEntry.getAttribute("loser");
+ var winReason = historyEntry.getAttribute("winReason");
+ var loseReason = historyEntry.getAttribute("loseReason");
+ var endTime = formatDate(new Date(parseInt(historyEntry.getAttribute("endTime"))));
+ var gameRecordingId = historyEntry.getAttribute("gameRecordingId");
+
+ var row = $("
");
+ row.append($("
").html(winner));
+ row.append($("
").html(loser));
+ row.append($("
").html(winReason));
+ row.append($("
").html(loseReason));
+ row.append($("
").html(endTime));
+ if (gameRecordingId != null) {
+ var link = "game.html?replayId=" + root.getAttribute("playerId") + "$" + gameRecordingId;
+ var linkElem = $("replay game");
+ linkElem.attr("href", link);
+ row.append($("
").html(linkElem));
+ } else {
+ row.append($("
").html("not stored"));
+ }
+
+ historyTable.append(row);
+ }
+
+ $("#gameHistory").append(historyTable);
+ }
+ }
+});
\ No newline at end of file
diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js
index 1e9f51d52..040454d97 100644
--- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js
+++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/gameUi.js
@@ -67,7 +67,7 @@ var GempLotrGameUI = Class.extend({
this.animations = new GameAnimations(this);
- this.communication = new GempLotrCommunication("/gemp-lotr/server",
+ this.communication = new GempLotrCommunication(url,
function(xhr, ajaxOptions, thrownError) {
if (thrownError != "abort") {
if (xhr != null) {
@@ -642,20 +642,23 @@ var GempLotrGameUI = Class.extend({
}
if (this.allPlayerIds != null) {
- var clocks = element.getElementsByTagName("clocks")[0].getElementsByTagName("clock");
- for (var i = 0; i < clocks.length; i++) {
- var clock = clocks[i];
- var participantId = clock.getAttribute("participantId");
- var index = this.getPlayerIndex(participantId);
+ var clocksXml = element.getElementsByTagName("clocks");
+ if (clocksXml.length > 0) {
+ var clocks = clocksXml[0].getElementsByTagName("clock");
+ for (var i = 0; i < clocks.length; i++) {
+ var clock = clocks[i];
+ var participantId = clock.getAttribute("participantId");
+ var index = this.getPlayerIndex(participantId);
- var value = parseInt(clock.childNodes[0].nodeValue);
+ var value = parseInt(clock.childNodes[0].nodeValue);
- var sign = (value < 0) ? "-" : "";
- value = Math.abs(value);
- var minutes = Math.floor(value / 60);
- var seconds = value % 60;
+ var sign = (value < 0) ? "-" : "";
+ value = Math.abs(value);
+ var minutes = Math.floor(value / 60);
+ var seconds = value % 60;
- $("#clock" + index).text(sign + minutes + ":" + ((seconds < 10) ? ("0" + seconds) : seconds));
+ $("#clock" + index).text(sign + minutes + ":" + ((seconds < 10) ? ("0" + seconds) : seconds));
+ }
}
}