1 function load_roster(sheet, cb)
3 var req = new XMLHttpRequest();
4 req.onload = function(e) {
5 var response = JSON.parse(req.responseText);
8 if (response.values[0].length >= 1 &&
9 response.values[0][0] !== undefined &&
10 response.values[0][0] !== null) {
11 team_name = response.values[0][0];
16 for (i = 0; i < response.values.length; ++i) {
17 if (response.values[i][0] === 'Number') {
23 for ( ; response.values[i] !== undefined && response.values[i].length >= 3; ++i) {
24 var display_number = response.values[i][1];
25 var name = response.values[i][2];
27 "number": display_number,
31 cb(team_name, roster);
33 req.open('GET', 'https://sheets.googleapis.com/v4/spreadsheets/1RciMlauWxqM9LYKdsY6lPjJbIAcHJpCXTqyZSEHxH3U/values/\'' + sheet + '\'!A1:J50?key=AIzaSyAuP9yQn8g0bSay6r_RpGtpFeIbwprH1TU');
37 function display_roster(team_name, roster)
39 document.getElementById('entire-bug').style.display = 'none';
41 var carousel = document.getElementById('carousel');
42 clear_carousel(carousel);
44 if (team_name === '') {
45 addheading(carousel, 4, 'Team lineup');
47 addheading(carousel, 4, 'Team lineup<br />' + team_name);
50 for (var i = 0; i < roster.length; i += 2) {
51 var tr = document.createElement("tr");
53 addth(tr, "playernum", roster[i].number);
54 addtd(tr, "playername", roster[i].name);
56 if (i + 1 < roster.length) {
57 addth(tr, "playernum", roster[i + 1].number);
58 addtd(tr, "playername", roster[i + 1].name);
60 addth(tr, "playernum", "");
61 addtd(tr, "playername", "");
63 carousel.appendChild(tr);
65 fade_in_rows(carousel);
67 carousel.style.display = 'table';
70 function showroster(sheet)
72 load_roster(sheet, display_roster);
75 function showroster_from_state()
77 showroster(state['team_code']);
80 function showrostercarousel(sheet1, sheet2)
82 var team_names = [null, null];
83 var rosters = [null, null];
86 var cb = function(id, team_name, roster) {
87 team_names[id] = team_name;
89 if (--num_left == 0) {
91 [ 13000, function() { display_roster(team_names[0], rosters[0]); } ],
92 [ 2000, function() { hidetable(); } ],
93 [ 13000, function() { display_roster(team_names[1], rosters[1]); } ],
94 [ 2000, function() { hidetable(); } ]
99 load_roster(sheet1, function(team_name, roster) { cb(0, team_name, roster); });
100 load_roster(sheet2, function(team_name, roster) { cb(1, team_name, roster); });
103 function showrostercarousel_from_state()
105 showrostercarousel(state['team1'], state['team2']);