summaryrefslogtreecommitdiffstats
path: root/js/scores.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/scores.js')
-rw-r--r--js/scores.js73
1 files changed, 42 insertions, 31 deletions
diff --git a/js/scores.js b/js/scores.js
index 3fba599..e384831 100644
--- a/js/scores.js
+++ b/js/scores.js
@@ -20,7 +20,8 @@ function scoresRequestPage(mapid, page) {
//console.log("Requesting Page", mapid, page, ajax.inUse);
// == Additionally, check for achievements.
- ajax.requestFile = "do.php?r=reqScorePage&mapid="+mapid+"&reqPage="+page;
+ //ajax.requestFile = "do.php?r=reqScorePage&mapid="+mapid+"&reqPage="+page;
+ ajax.requestFile = "a/score/"+mapid+"_"+page+".js";
ajax.onCompletion = scoresRequestPageDone; // Specify function to be executed on response.
//ajax.onLoading = '';
//ajax.onLoaded = '';
@@ -113,10 +114,15 @@ function scoresFormatPage(JO) {
//console.log("jo object", JO);
var navi = '';
if (JO.pageCount > 1) {
- navi = "<tr><th colspan='3' style='text-align:center;'>"+formatPageNavi(JO, "scoresShowPage", JO.mapid)+"</th></tr>";
+ navi = "<tr><th class='unselectable' colspan='3' style='text-align:center;'>"+formatPageNavi(JO, "scoresShowPage", JO.mapid)+"</th></tr>";
p = p+navi;
}
- p = p+"<tr title='Updated "+JO.updateTime+"'>";
+
+ var localTime = new Date();
+ var updatedLocalTime = new Date();
+ updatedLocalTime.setTime(JO.updateTime * 1000);
+
+ p = p+"<tr title='Last-Update: "+updatedLocalTime.format("mmm d, h:MM TT")+"'>";
p = p+"<th>Rank</th>";
p = p+"<th style='width:125px; overflow:hidden; text-align:left; padding-left:42px;'>Name</th>";
p = p+"<th>Moves</th>";
@@ -127,9 +133,6 @@ function scoresFormatPage(JO) {
var x = 0;
var previousI = 0;
- //TODO !!
- //var isWeeklyMap = (document.getElementById("dl-5").className.indexOf('selected') >= 0);
-
for (var i in JO.users) {
var u = JO.users[i];
var scoredLocalTime = new Date();
@@ -137,33 +140,37 @@ function scoresFormatPage(JO) {
var styleClass = '';
- if (previousI != i + 1)
- if (previousI < i - 1 && previousI != 0)
- styleClass = 'border-top: 6px solid #777799;';
- //TODO:
- //var scoredTimeFormat = (isWeeklyMap ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
- var scoredTimeFormat = (false ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
+ if (previousI != i + 1 && previousI < i - 1 && previousI != 0) {
+ styleClass = 'border-top: 6px solid #777799;';
+ }
+
+ var wasLongAgo = localTime.getTime() > (scoredLocalTime.getTime() + 43200000); //12*60*60*1000
+ var scoredTimeFormat = (wasLongAgo ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
var scoredTimeStr = scoredLocalTime.format(scoredTimeFormat);
var rowclass = 'scoreRow'+((i % 2)+1);
-
- if (u.isUser) {
+
+ if (u.ID == userObj.ID) {
rowclass = 'scoreRowSelf';
+ }
+ if (typeof(pointerUserID) != 'undefined' && u.ID == pointerUserID) {
+ setTimeout("useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\");", 400);
+ pointerUserID = '';
}
if (u.solution) {
rowclass += ' scoreRowSolutionAvailable';
p += "<tr class='"+rowclass+"' ";
p += "onmouseover='showTempSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\")'";
- p += "onclick='useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\")'";
+ p += "onclick='useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\");saveScoreLocation("+JO.page+", "+u.ID+");'";
p += "onmouseout='restoreSolution(\""+JO.mapid+"\")' ";
- p += " style='"+styleClass+" color:"+u.displayColor+";' title='Scored "+scoredTimeStr+"'>";
+ p += " style='"+styleClass+";' title='Last improved "+scoredTimeStr+"'>";
} else {
- p = p+ "<tr class='"+rowclass+"' style='"+styleClass+" color:"+u.displayColor+";' title='Scored "+scoredTimeStr+"'>";
+ p = p+ "<tr class='"+rowclass+"' style='"+styleClass+"' title='Last improved "+scoredTimeStr+"'>";
}
// background-color: "+u.background+";
- p = p+ "<td class='scoreMedal'>";
+ p = p+ "<td class='scoreMedal' style='color:"+u.displayColor+"'>";
if (u.medal == 'gold') {
p = p+ "<img title='Current Champion' src='../images/MedalGoldCAR.png'>";
@@ -179,9 +186,12 @@ function scoresFormatPage(JO) {
p = p+ "";
p = p+ "<span class='scoreName'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
p = p+ "</td>";
- p = p+ "<td style='text-align:right;'>"+u.moves+"</td>";
if (u.solution) {
- p += "<td>"+u.points+"</td>";
+ p = p+ "<td style='text-align:right;'><a href='javascript: void(0);'>"+u.moves+"</a></td>";
+ p = p+ "<td style='text-align:right;'>"+u.points+"</td>";
+ } else {
+ p = p+ "<td style='text-align:right;'>"+u.moves+"</td>";
+ p = p+ "<td></td>";
}
p = p+ "</tr>";
@@ -338,11 +348,12 @@ function formatPageNavi(JO, callback) {
if (!showedPrevPage)
r = r + ' ... ';
if (JO.page == i) {
- r = r + " <b style='color:#aaaabb; font-size:150%;'>" + i + "</b>";
+ r = r + " <b class='unselectable' style='color:#aaaabb; font-size:150%;'>" + i + "</b>";
} else if (i == JO.userPage) {
- r = r + " <a href='javascript:"+callback+"("+i+", "+arguments[2]+", "+arguments[3]+")' style='color:#99cc99;' title='You are on this page'><i>" + i + '</i></a>';
+ r = r + " <a class='unselectable' href='javascript:"+callback+"("+i+", "+arguments[2]+", "+arguments[3]
+ + ")' style='color:#99cc99;' title='You are on this page'><i>" + i + '</i></a>';
} else {
- r = r + " <a href='javascript:"+callback+"("+i+", "+arguments[2]+", "+arguments[3]+")'>" + i + '</a>';
+ r = r + " <a class='unselectable' href='javascript:"+callback+"("+i+", "+arguments[2]+", "+arguments[3]+")'>" + i + '</a>';
}
showedPrevPage = true;
} else {
@@ -353,18 +364,18 @@ function formatPageNavi(JO, callback) {
var prevPage = JO.page - 1;
if (JO.pageCount > 1) {
if (JO.page < JO.pageCount) {
- r = r+" <a class='scoreRight' title='Last' href='javascript:"+callback+"("+JO.pageCount+", "+arguments[2]+", "+arguments[3]+")'>&gt;&gt;&gt;</a>";
- r = r+" <a class='scoreRight' title='Next' href='javascript:"+callback+"("+nextPage+", "+arguments[2]+", "+arguments[3]+")'>&gt;</a>";
+ r = r+" <a class='scoreRight unselectable' title='Last' href='javascript:"+callback+"("+JO.pageCount+", "+arguments[2]+", "+arguments[3]+")'>&gt;&gt;&gt;</a>";
+ r = r+" <a class='scoreRight unselectable' title='Next' href='javascript:"+callback+"("+nextPage+", "+arguments[2]+", "+arguments[3]+")'>&gt;</a>";
} else {
- r = r+" <span class='scoreRight'>&gt;&gt;&gt;</span>";
- r = r+" <span class='scoreRight'>&gt;</span>";
+ r = r+" <span class='scoreRight unselectable'>&gt;&gt;&gt;</span>";
+ r = r+" <span class='scoreRight unselectable'>&gt;</span>";
}
if (JO.page > 1) {
- r = " <a class='scoreLeft' title='Previous' href='javascript:"+callback+"("+prevPage+", "+arguments[2]+", "+arguments[3]+")'>&lt;</a>"+r;
- r = " <a class='scoreLeft' title='First' href='javascript:"+callback+"(1, "+arguments[2]+", "+arguments[3]+")'>&lt;&lt;&lt;</a>"+r;
+ r = " <a class='scoreLeft unselectable' title='Previous' href='javascript:"+callback+"("+prevPage+", "+arguments[2]+", "+arguments[3]+")'>&lt;</a>"+r;
+ r = " <a class='scoreLeft unselectable' title='First' href='javascript:"+callback+"(1, "+arguments[2]+", "+arguments[3]+")'>&lt;&lt;&lt;</a>"+r;
} else {
- r = r+" <span class='scoreLeft'>&lt;&lt;&lt;</span>";
- r = r+" <span class='scoreLeft'>&lt;</span>";
+ r = r+" <span class='scoreLeft unselectable'>&lt;&lt;&lt;</span>";
+ r = r+" <span class='scoreLeft unselectable'>&lt;</span>";
}
}