You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.4 KiB

  1. function toggleLeaderBoard(){
  2. var leaderBoard = document.getElementById("leaderBoard");
  3. if( hasClass(leaderBoard, "open")){
  4. removeClass(leaderBoard, "open");
  5. }else{
  6. leaderBoard.className += " open";
  7. }
  8. updateLeaderBoard()
  9. }
  10. function populateBoard(){
  11. var listBoard = document.getElementById("listBoard");
  12. var results = "";
  13. var rankings = data.data.rankings;
  14. var date = new Date();
  15. var seconds = date.getSeconds();
  16. var minutes = date.getMinutes();
  17. var hour = date.getHours();
  18. for (var i = rankings.length - 1; i >= 0; i--) {
  19. if( rankings[i].teamId == 235 ){
  20. results += "<p>Updated "+hour+"h "+minutes+"m "+seconds+"s</p>";
  21. results += "<h1>Cazziammolla Placement: "+rankings[i].rank+"</h1>";
  22. results += "<h2>with a score of: "+rankings[i].score+"</h2>";
  23. if (rankings[i].rank != points && points != 0){
  24. ringTheBell();
  25. }
  26. points = rankings[i].rank;
  27. }
  28. };
  29. var settings = data.data.settings;
  30. for (var i = 0; i < settings.length; i++) {
  31. for (var j = settings[i].rankings.length - 1; j >= 0; j--) {
  32. if(settings[i].rankings[j].teamId == 235){
  33. results += "<tr><td>"+i+"</td><td>"+settings[i].rankings[j].rank+"</td><td>"+settings[i].rankings[j].score+"</td></tr>"
  34. }
  35. };
  36. };
  37. var results = "<table><thead><th>Setting</th><th>Placement</th><th>Score</th></thead>"+results+"</table>";
  38. listBoard.innerHTML = results;
  39. }
  40. function updateLeaderBoard(){
  41. loadRankingJs('https://davar.icfpcontest.org/rankings.js?cachebuster='+ new Date().getTime());
  42. var intervalID = setInterval( function(){
  43. loadRankingJs('https://davar.icfpcontest.org/rankings.js?cachebuster='+ new Date().getTime());
  44. }, 30000);
  45. console.dir(intervalID);
  46. }
  47. function loadRankingJs(scriptName) {
  48. var rankingScript = document.getElementById("rankingScript");
  49. if ( rankingScript ){
  50. removeId("rankingScript");
  51. }
  52. var docHeadObj = document.getElementsByTagName("head")[0];
  53. var dynamicScript = document.createElement("script");
  54. dynamicScript.type = "text/javascript";
  55. dynamicScript.id = "rankingScript";
  56. dynamicScript.src = scriptName;
  57. dynamicScript.onload = function(){ populateBoard();};
  58. docHeadObj.appendChild(dynamicScript);
  59. return dynamicScript;
  60. }
  61. function ringTheBell(){
  62. document.getElementById("bell").play();
  63. }
  64. document.onkeydown = checkKey;
  65. function checkKey(e) {
  66. e = e || window.event;
  67. if (e.keyCode == '37') {
  68. slideBack();
  69. }else if(e.keyCode == '39') {
  70. slideForward();
  71. }
  72. }