diff --git a/index.html b/index.html
index f6fd752..f7345ca 100644
--- a/index.html
+++ b/index.html
@@ -58,13 +58,6 @@
-
-
Leaderboard
-
-
This is a record of who has recovered the most sondes.
-
-
No leaderboard data :-(
-
Recoveries
@@ -72,6 +65,11 @@
Recoveries
No recent recoveries :-(
+
+
Statistics
+
+
No leaderboard data :-(
+
diff --git a/js/tracker.js b/js/tracker.js
index dca21e5..daccab9 100644
--- a/js/tracker.js
+++ b/js/tracker.js
@@ -3605,34 +3605,40 @@ function updateRecoveryMarker(recovery) {
if(!r) return;
ls_recoveries = true;
+
+ var dateNow = Date.now();
+
var i = 0, ii = r.length;
for(; i < ii; i++) {
- var lat = parseFloat(r[i].lat);
- var lon = parseFloat(r[i].lon);
-
- if(lat < -90 || lat > 90 || lon < -180 || lon > 180) continue;
-
- var r_index = $.inArray(r[i].serial, recovery_names);
-
- if(r_index == -1) {
- recovery_names.push(r[i].serial);
- r_index = recovery_names.length - 1;
- recoveries[r_index] = {marker: null, infobox: null};
- }
-
- var recovery = recoveries[r_index];
- recovery.serial = r[i].serial;
- recovery.lat = lat;
- recovery.lon = lon;
- recovery.recovered_by = r[i].recovered_by;
- recovery.alt = parseFloat(r[i].alt);
- recovery.recovered = r[i].recovered;
- recovery.description = r[i].description;
- recovery.datetime = r[i].datetime;
- recovery.fresh = true;
-
- updateRecoveryMarker(recovery);
+ var date = Date.parse(r[i].datetime);
+ if (((dateNow - date) / 86400000) < 3) {
+ var lat = parseFloat(r[i].lat);
+ var lon = parseFloat(r[i].lon);
+
+ if(lat < -90 || lat > 90 || lon < -180 || lon > 180) continue;
+
+ var r_index = $.inArray(r[i].serial, recovery_names);
+
+ if(r_index == -1) {
+ recovery_names.push(r[i].serial);
+ r_index = recovery_names.length - 1;
+ recoveries[r_index] = {marker: null, infobox: null};
+ }
+
+ var recovery = recoveries[r_index];
+ recovery.serial = r[i].serial;
+ recovery.lat = lat;
+ recovery.lon = lon;
+ recovery.recovered_by = r[i].recovered_by;
+ recovery.alt = parseFloat(r[i].alt);
+ recovery.recovered = r[i].recovered;
+ recovery.description = r[i].description;
+ recovery.datetime = r[i].datetime;
+ recovery.fresh = true;
+
+ updateRecoveryMarker(recovery);
+ }
}
// clear old recovery markers
@@ -3708,11 +3714,13 @@ function updateLeaderboardPane(r){
if(!r) return;
html = "";
- var leaderboard = [];
+ var leaderboard = {};
+ var recovered = 0;
var i = 0, ii = r.length;
for(; i < ii; i++) {
if (r[i].recovered) {
+ recovered+=1;
if (leaderboard.hasOwnProperty(r[i].recovered_by)) {
leaderboard[r[i].recovered_by] = leaderboard[r[i].recovered_by] + 1;
} else {
@@ -3732,6 +3740,10 @@ function updateLeaderboardPane(r){
var list = sortable.slice(0,5);
+ html += "
Total sondes recovered: " + recovered + "/" + r.length + "
";
+ html += "
Total hunters: " + sortable.length + "
";
+ html += "
Leaderboard:
";
+
for (var i = 0; i < list.length; i++) {
html += "
" + (parseInt(i)+1) + ". " + list[i][0] + " - " + list[i][1] + "
";
}