2017-18 Baseball Statistics - Stanford

Games 56
Runs 364
Batting Average .280
On Base Percentage .365
Slugging Percentage .444
Home Runs 54
Schedule Summary
Overall (Pct.)44-12 (.786)
Conference (Pct.) 22-8 (.733)
StreakLost 2
Home23-2
Away12-6
Neutral9-4
Full Scores and Schedule »
Recent Games
May 20 Washington State W, 4-2
May 24 at Washington L, 7-0
May 25 at Washington L, 4-2
May 26 at Washington W, 6-5
Jun 2 vs. Cal St. Fullerton L, 2-1
Jun 3 vs. Cal St. Fullerton L, 5-2
Statistics category Overall Conf
Games 56 2nd 30 6th
At Bats 1863 5th 1041 3rd
Runs 364 4th 217 1st
Hits 522 7th 307 2nd
Doubles 103 3rd 62 2nd
Triples 20 2nd 12 2nd
Home Runs 54 2nd 33 1st
Runs Batted In 336 4th 206 1st
Extra Base Hits 177 2nd 107 1st
Total Bases 827 3rd 492 1st
Walks 208 6th 108 7th
Hit by pitch 55 5th 30 6th
Strikeouts 416 7th 244 10th
Sacrifice Flies 24 5th 12 7th
Sacrifice Hits 27 7th 20 8th
Hit into double play 31 11th 14 11th
Stolen Bases 52 3rd 28 2nd
Caught Stealing 24 3rd 9 7th
Batting Average .280 6th .295 2nd
On Base Percentage .365 6th .374 4th
Slugging Percentage .444 3rd .473 1st
Earned Run Average 2.88 1st 3.60 3rd
Shutouts 6 1st 2 5th
At Bats Against 1819 7th 992 9th
Batting Average Against .222 1st .254 3rd
Home Attendance 36289 5th 25124 5th
Home Attendance average 1451.6 5th 1674.9 5th
Hitting
No. Yr Pos
4 Nick Hoerner Jr INF 55 223 43 78 17 6 2 39 19 22 15 4 .350 .395 .507
21 Tim Tawa Fr OF 56 213 44 63 16 3 7 40 15 55 7 3 .296 .349 .498
25 A. Daschbach So INF/OF 56 209 40 59 8 1 16 61 17 58 4 3 .282 .350 .560
6 Kyle Stowers So LHP/OF 56 197 39 57 10 3 10 42 30 48 6 3 .289 .389 .523
5 Beau Branton Sr INF 51 160 35 59 6 1 1 22 19 26 2 3 .369 .449 .438
10 Maverick Handley So C 44 143 31 33 9 1 2 23 20 27 3 2 .231 .362 .350
11 Alec Wilson Jr OF 47 107 20 29 5 1 1 14 13 23 8 3 .271 .355 .364
29 Brandon Wulff Jr OF 30 95 20 30 5 1 4 20 15 28 1 - .316 .425 .516
7 Jesse Kuet Sr INF 35 94 11 17 1 - - 11 8 14 1 1 .181 .278 .191
44 Christian Robinson Fr OF 32 85 14 21 8 2 - 16 8 29 1 1 .247 .302 .388
2 Christian Molfetta So UTL 33 79 15 16 4 - 1 7 11 21 1 1 .203 .330 .291
19 Will Matthiessen So RHP/INF 30 75 20 22 2 - 7 22 11 23 1 - .293 .411 .600
28 Bryce Carter Sr C 26 58 5 10 4 1 - 4 9 12 - - .172 .284 .276
3 Daniel Bakst So INF 22 48 7 10 5 - - 4 5 9 1 - .208 .278 .313
24 Nick Brueser Fr INF 31 44 9 9 2 - - 2 3 14 1 - .205 .300 .250
16 Matthew Decker Sr C 12 14 4 3 1 - - 2 - 3 - - .214 .313 .286
23 Nick Oar So OF 14 12 5 4 - - 3 5 4 3 - - .333 .529 1.083
20 Brendan Beck Fr RHP/INF 20 7 1 2 - - - 2 - 1 - - .286 .286 .286
31 Nick Bellafronto Jr INF 2 0 1 0 - - - 0 1 - - - - 1.000 -
  Totals     56 1863 364 522 103 20 54 336 208 416 52 24 .280 .365 .444
  Opponent     56 1819 191 403 76 4 30 177 174 437 19 23 .222 .304 .317
Extended Hitting
No. Yr Pos
4 Nick Hoerner Jr INF 55 1 5 - 113 25 7 59 65 0.91 248
21 Tim Tawa Fr OF 56 4 3 10 106 26 4 47 54 0.87 245
25 A. Daschbach So INF/OF 56 7 4 - 117 25 3 40 52 0.77 237
6 Kyle Stowers So LHP/OF 56 4 3 - 103 23 3 48 45 1.07 234
5 Beau Branton Sr INF 51 5 1 6 70 8 3 37 41 0.90 191
10 Maverick Handley So C 44 11 3 3 50 12 - 41 45 0.91 180
11 Alec Wilson Jr OF 47 1 - 4 39 7 - 36 23 1.57 125
29 Brandon Wulff Jr OF 30 3 - - 49 10 2 8 29 0.28 113
7 Jesse Kuet Sr INF 35 5 1 2 18 1 1 26 38 0.68 110
44 Christian Robinson Fr OF 32 - 3 - 33 10 3 8 30 0.27 96
2 Christian Molfetta So UTL 33 4 - 1 23 5 2 13 28 0.46 95
19 Will Matthiessen So RHP/INF 30 4 - - 45 9 1 11 16 0.69 90
28 Bryce Carter Sr C 26 - - - 16 5 - 13 21 0.62 67
3 Daniel Bakst So INF 22 - 1 - 15 5 - 12 17 0.71 54
24 Nick Brueser Fr INF 31 3 - - 11 2 2 12 8 1.50 50
16 Matthew Decker Sr C 12 2 - 1 4 1 - 1 6 0.17 17
23 Nick Oar So OF 14 1 - - 13 3 - 3 2 1.50 17
20 Brendan Beck Fr RHP/INF 20 - - - 2 0 - - 3 - 7
31 Nick Bellafronto Jr INF 2 - - - 0 0 - - - - 1
  Totals     56 55 24 27 827 177 31 415 523 0.79 2177
  Opponent     56 47 14 23 577 110 28 466 523 0.89 2077
Pitching
No. Yr Pos
36 Kris Bubic Jr LHP 15 15 8 1 0 - 86.0 60 28 25 32 101 10.57 5 2.62
34 Tristan Beck Jr RHP 14 14 8 4 0 - 84.1 74 32 28 29 66 7.04 5 2.99
20 Brendan Beck Fr RHP/INF 15 11 6 0 1 - 59.0 52 17 16 12 37 5.64 4 2.44
26 Erik Miller So LHP 13 13 4 4 0 - 48.2 43 26 22 23 52 9.62 3 4.07
39 Jacob Palisch Fr LHP 24 0 3 1 4 - 43.1 33 11 9 10 32 6.65 1 1.87
33 Jack Little So RHP 23 0 3 0 15 - 41.0 24 5 3 7 54 11.85 2 0.66
42 Austin Weiermiller Fr LHP 23 2 5 1 0 - 38.1 31 16 14 15 27 6.34 3 3.29
30 Zach Grech So RHP 28 1 3 0 0 - 34.0 29 15 10 11 22 5.82 2 2.65
19 Will Matthiessen So RHP/INF 13 0 2 1 0 - 18.0 12 6 4 11 17 8.50 3 2.00
3 Daniel Bakst So INF 14 0 1 0 0 - 15.1 12 6 6 4 12 7.04 2 3.52
27 Carson Rudd Fr RHP 15 0 0 0 0 - 15.0 23 12 11 7 9 5.40 - 6.60
13 John henry Styles Sr LHP 10 0 0 0 0 - 8.2 9 15 11 9 4 4.15 - 11.42
6 Kyle Stowers So LHP/OF 4 0 0 0 1 - 3.2 - 2 - 3 3 7.36 - 0.00
37 Luke Sleeper So LHP 2 0 0 0 0 - 1.1 1 - - 1 1 6.75 - 0.00
  Totals     56 56 43 12 21 - 496.2 403 191 159 174 437 7.92 30 2.88
  Opponent     56 56 12 43 4 - 475.1 522 364 299 208 416 7.88 54 5.66
Fielding
No. Yr Pos
25 A. Daschbach So INF/OF 56 406 377 26 3 .993 17 - - - - -
10 Maverick Handley So C 44 355 305 46 4 .989 1 9 17 .654 3 1
6 Kyle Stowers So LHP/OF 56 112 104 4 4 .964 - - - - - -
24 Nick Brueser Fr INF 31 94 90 4 0 1.000 8 - - - - -
21 Tim Tawa Fr OF 56 161 90 65 6 .963 5 - - - - -
2 Christian Molfetta So UTL 33 94 87 7 0 1.000 2 8 3 .273 6 -
5 Beau Branton Sr INF 51 185 77 102 6 .968 15 - - - - -
4 Nick Hoerner Jr INF 55 208 72 129 7 .966 18 - - - - -
11 Alec Wilson Jr OF 47 70 64 4 2 .971 1 - - - - -
29 Brandon Wulff Jr OF 30 63 61 1 1 .984 1 - - - - -
44 Christian Robinson Fr OF 32 55 54 0 1 .982 - - - - - -
28 Bryce Carter Sr C 26 59 49 7 3 .949 1 2 - - 7 -
7 Jesse Kuet Sr INF 35 86 28 51 7 .919 3 - - - - -
20 Brendan Beck Fr RHP/INF 20 18 8 10 0 1.000 1 3 2 .400 - -
34 Tristan Beck Jr RHP 14 15 4 10 1 .933 - 8 5 .385 - -
30 Zach Grech So RHP 28 16 4 11 1 .938 - 3 2 .400 - -
36 Kris Bubic Jr LHP 15 14 3 11 0 1.000 - 2 7 .778 - -
39 Jacob Palisch Fr LHP 24 11 3 8 0 1.000 1 - 1 1.000 - -
3 Daniel Bakst So INF 22 4 2 2 0 1.000 - - 1 1.000 - -
16 Matthew Decker Sr C 12 2 2 0 0 1.000 - - - - - -
19 Will Matthiessen So RHP/INF 30 4 2 2 0 1.000 - 1 - - - -
23 Nick Oar So OF 14 2 2 0 0 1.000 - - - - - -
33 Jack Little So RHP 23 4 1 3 0 1.000 1 - 1 1.000 - -
42 Austin Weiermiller Fr LHP 23 4 1 3 0 1.000 - 1 1 .500 - -
31 Nick Bellafronto Jr INF 2 1 0 1 0 1.000 - - - - - -
26 Erik Miller So LHP 13 4 0 4 0 1.000 - - 1 1.000 - -
27 Carson Rudd Fr RHP 15 1 0 1 0 1.000 - 1 2 .667 - -
37 Luke Sleeper So LHP 2 0 0 0 0 - - - - - - -
13 John henry Styles Sr LHP 10 1 0 1 0 1.000 - - - - - -
  Totals     56 2049 1490 513 46 .978 28 19 20 .513 16 1
  Opponent     56 1976 1426 484 66 .967 31 52 21 .288 14 -
Hitting
No. Yr Pos
4 Nick Hoerner Jr INF 30 124 21 43 9 3 - 26 12 13 8 2 .347 .396 .468
25 A. Daschbach So INF/OF 30 121 22 34 3 - 10 35 7 35 1 2 .281 .328 .554
21 Tim Tawa Fr OF 30 117 26 36 12 1 3 22 8 30 6 1 .308 .359 .504
5 Beau Branton Sr INF 30 115 27 46 6 1 1 17 15 17 1 1 .400 .474 .496
6 Kyle Stowers So LHP/OF 30 109 24 29 5 2 6 21 14 26 4 - .266 .367 .514
10 Maverick Handley So C 21 74 17 18 6 1 1 14 7 17 2 - .243 .337 .392
44 Christian Robinson Fr OF 24 66 12 17 6 2 - 14 8 20 1 - .258 .325 .409
11 Alec Wilson Jr OF 27 64 15 19 3 1 1 10 8 13 2 2 .297 .375 .422
2 Christian Molfetta So UTL 21 50 10 12 4 - 1 5 7 13 1 - .240 .367 .380
19 Will Matthiessen So RHP/INF 19 48 15 15 2 - 5 16 9 16 1 - .313 .459 .667
28 Bryce Carter Sr C 15 34 4 5 1 1 - 4 4 10 - - .147 .237 .235
7 Jesse Kuet Sr INF 15 34 5 7 1 - - 3 3 6 - 1 .206 .317 .235
24 Nick Brueser Fr INF 16 29 5 7 2 - - 1 1 12 1 - .241 .313 .310
29 Brandon Wulff Jr OF 10 29 4 10 1 - 2 10 3 11 - - .345 .424 .586
16 Matthew Decker Sr C 10 12 4 3 1 - - 2 - 2 - - .250 .357 .333
23 Nick Oar So OF 9 8 5 4 - - 3 4 2 2 - - .500 .636 1.625
20 Brendan Beck Fr RHP/INF 10 7 1 2 - - - 2 - 1 - - .286 .286 .286
  Totals     30 1041 217 307 62 12 33 206 108 244 28 9 .295 .374 .473
  Opponent     30 992 124 252 49 3 21 119 102 220 7 15 .254 .335 .373
Extended Hitting
No. Yr Pos
4 Nick Hoerner Jr INF 30 - 3 - 58 12 2 31 36 0.86 139
5 Beau Branton Sr INF 30 2 1 4 57 8 3 29 26 1.12 137
21 Tim Tawa Fr OF 30 2 1 8 59 16 - 20 36 0.56 136
25 A. Daschbach So INF/OF 30 2 1 - 67 13 1 24 29 0.83 131
6 Kyle Stowers So LHP/OF 30 4 1 - 56 13 1 25 28 0.89 128
10 Maverick Handley So C 21 4 1 3 29 8 - 16 25 0.64 89
44 Christian Robinson Fr OF 24 - 3 - 27 8 2 6 26 0.23 77
11 Alec Wilson Jr OF 27 - - 2 27 5 - 22 12 1.83 74
19 Will Matthiessen So RHP/INF 19 4 - - 32 7 1 7 9 0.78 61
2 Christian Molfetta So UTL 21 3 - 1 19 5 2 9 17 0.53 61
7 Jesse Kuet Sr INF 15 3 1 1 8 1 1 6 16 0.38 42
28 Bryce Carter Sr C 15 - - - 8 2 - 6 12 0.50 38
29 Brandon Wulff Jr OF 10 1 - - 17 3 - - 8 - 33
24 Nick Brueser Fr INF 16 2 - - 9 2 1 6 4 1.50 32
16 Matthew Decker Sr C 10 2 - 1 4 1 - 1 5 0.20 15
23 Nick Oar So OF 9 1 - - 13 3 - - 2 - 11
20 Brendan Beck Fr RHP/INF 10 - - - 2 0 - - 3 - 7
  Totals     30 30 12 20 492 107 14 208 294 0.71 1211
  Opponent     30 23 8 19 370 73 18 252 282 0.89 1144
Pitching
No. Yr Pos
34 Tristan Beck Jr RHP 10 10 6 4 0 - 62.1 58 25 21 23 43 6.21 4 3.03
36 Kris Bubic Jr LHP 10 10 5 1 0 - 55.2 43 22 20 23 64 10.35 5 3.23
26 Erik Miller So LHP 7 7 3 2 0 - 27.1 28 14 12 12 25 8.23 2 3.95
33 Jack Little So RHP 13 0 3 0 6 - 23.1 20 5 3 3 32 12.34 2 1.16
39 Jacob Palisch Fr LHP 11 0 2 1 1 - 21.0 21 10 8 6 12 5.14 1 3.43
20 Brendan Beck Fr RHP/INF 6 3 0 0 1 - 17.1 21 11 11 6 10 5.19 2 5.71
42 Austin Weiermiller Fr LHP 10 0 1 0 0 - 14.1 11 3 2 4 7 4.40 1 1.26
30 Zach Grech So RHP 11 0 0 0 0 - 11.1 15 10 6 5 9 7.15 2 4.76
27 Carson Rudd Fr RHP 10 0 0 0 0 - 10.2 17 10 10 6 3 2.53 - 8.44
19 Will Matthiessen So RHP/INF 7 0 1 0 0 - 10.0 8 4 3 6 8 7.20 2 2.70
3 Daniel Bakst So INF 5 0 1 0 0 - 6.2 6 2 2 1 4 5.40 - 2.70
13 John henry Styles Sr LHP 5 0 0 0 0 - 3.0 3 8 8 7 2 6.00 - 24.00
37 Luke Sleeper So LHP 1 0 0 0 0 - 1.0 1 - - - - .00 - 0.00
6 Kyle Stowers So LHP/OF 1 0 0 0 0 - 1.0 - - - - 1 9.00 - 0.00
  Totals     30 30 22 8 8 - 265.0 252 124 106 102 220 7.47 21 3.60
  Opponent     30 30 8 22 3 - 258.0 307 217 186 108 244 8.51 33 6.49
Fielding
No. Name Yr Pos g tc po a e fpct dp sba rcs rcs% pb ci
25 A. Daschbach So INF/OF 30 228 211 16 1 .996 11 - - - - -
10 Maverick Handley So C 21 181 156 22 3 .983 1 4 10 .714 2 1
6 Kyle Stowers So LHP/OF 30 63 61 0 2 .968 - - - - - -
2 Christian Molfetta So UTL 21 63 56 7 0 1.000 2 3 3 .500 2 -
5 Beau Branton Sr INF 30 134 55 75 4 .970 11 - - - - -
21 Tim Tawa Fr OF 30 94 49 45 0 1.000 3 - - - - -
24 Nick Brueser Fr INF 16 50 47 3 0 1.000 4 - - - - -
44 Christian Robinson Fr OF 24 44 43 0 1 .977 - - - - - -
4 Nick Hoerner Jr INF 30 111 39 68 4 .964 13 - - - - -
11 Alec Wilson Jr OF 27 37 33 3 1 .973 1 - - - - -
28 Bryce Carter Sr C 15 13 11 2 0 1.000 - - - - 3 -
29 Brandon Wulff Jr OF 10 11 11 0 0 1.000 - - - - - -
7 Jesse Kuet Sr INF 15 20 6 10 4 .800 - - - - - -
20 Brendan Beck Fr RHP/INF 10 8 5 3 0 1.000 - 1 - - - -
34 Tristan Beck Jr RHP 10 12 3 8 1 .917 - 5 4 .444 - -
16 Matthew Decker Sr C 10 2 2 0 0 1.000 - - - - - -
19 Will Matthiessen So RHP/INF 19 3 2 1 0 1.000 - - - - - -
23 Nick Oar So OF 9 2 2 0 0 1.000 - - - - - -
36 Kris Bubic Jr LHP 10 7 1 6 0 1.000 - - 4 1.000 - -
33 Jack Little So RHP 13 3 1 2 0 1.000 - - 1 1.000 - -
39 Jacob Palisch Fr LHP 11 5 1 4 0 1.000 1 - 1 1.000 - -
3 Daniel Bakst So INF 5 1 0 1 0 1.000 - - 1 1.000 - -
30 Zach Grech So RHP 11 3 0 2 1 .667 - - 1 1.000 - -
26 Erik Miller So LHP 7 3 0 3 0 1.000 - - 1 1.000 - -
27 Carson Rudd Fr RHP 10 0 0 0 0 - - - 1 1.000 - -
37 Luke Sleeper So LHP 1 0 0 0 0 - - - - - - -
13 John henry Styles Sr LHP 5 0 0 0 0 - - - - - - -
42 Austin Weiermiller Fr LHP 10 1 0 1 0 1.000 - 1 1 .500 - -
31 Nick Bellafronto Jr INF - 0 - - - - - - - - - -
  Totals     30 1099 795 282 22 .980 18 7 13 .650 7 1
  Opponent     30 1045 774 235 36 .966 14 28 6 .176 10 -
Download roster: TRO (First Last) | TRO (Last, First) TRX (First Last) | TRX (Last, First)
There was a problem with a Velocity script
Pageteaminfo-network-template
ErrorVM #printCategories: too many arguments to macro. Wanted 2 got 3 at teaminfo-network-template[line 710, column 11]
Page source:
1:   ## PICK UP OPTIONS
2:   $website.include("options")
3:   #set ($options = $request.getAttribute("options"))
4: 
5:   #set ($locale = "en_us")
6:   #set ($locale = $options.get("locale"))
7: 
8:   #set ($showconf = true)
9:   #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
10:     #set ($showconf = false)
11:   #end
12: 
13:   #set ($teamId = $attributes.get("teamId"))
14:   #set ($stats = $splits.overall)
15: 
16:   #set ($pos = "")
17:   #if ($sport.enumCode == 0) ## Football
18:     #set ($pos = "off")
19:   #elseif ($sport.enumCode == 2) ## Basketball
20:     #set ($pos = "sh")
21:   #elseif ($sport.enumCode == 3) ## Soccer
22:     #set ($pos = "kickers")
23:   #elseif ($sport.enumCode == 9) ## Field Hockey
24:     #set ($pos = "fielder")
25:   #end
26: 
27:   #set ($posEsc = $formatter.escapeXml($request.getParameter("pos").toLowerCase()))
28:   #if ($posEsc.length() > 0)
29:     #set ($pos = $posEsc)
30:   #end
31: 
32:   #if ($sport.enumCode == 2) ## Basketball
33:     #if ($pos == "bc")
34:       #set ($pos = "sh")
35:     #end
36:     #if ($pos == "bt")
37:       #set ($pos = "st")
38:     #end
39:     #if ($pos == "bm")
40:       #set ($pos = "sm")
41:     #end
42:   #end
43: 
44:   #if ($sport.enumCode == 3) ## Soccer
45:     #if ($pos == "goalie")
46:       #set ($pos = "kickers")
47:     #end
48:     #if ($pos == "gg")
49:       #set ($pos = "kg")
50:     #end
51:   #end
52:   #if ($sport.enumCode == 9) ## Field Hockey
53:     #if ($pos == "goalie")
54:       #set ($pos = "fielder")
55:     #end
56:     #if ($pos == "gg")
57:       #set ($pos = "kg")
58:     #end
59:   #end
60: 
61:   #set ($view = "profile")
62:   #if ($request.getParameter("view"))
63:     #set ($view = $formatter.escapeXml($!request.getParameter("view")))
64:   #end
65: 
66:   #if($briefsCategoriesLabels)
67:   	#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
68:   	#set($firstCategoryPos = $briefsCategoriesSeason.keySet().iterator().next())
69:   #end
70: 
71:   #set ($showRoster = false)
72:   #if ($options.get("stats_show_roster") and $options.get("stats_show_roster").equalsIgnoreCase("yes"))
73:     #set ($showRoster = true)
74:   #end
75: 
76:   #set ($showAttendance = true)
77:   #if ($options.get("stats_show_attendance") and $options.get("stats_show_attendance").equalsIgnoreCase("hide"))
78:     #set ($showAttendance = false)
79:   #end
80: 
81:   ## MACROS
82:   #macro (printResultAriaLabel $event)
83: 	#set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
84: 	#if ($event.neutralSite.length() > 0 || $event.home) 
85: 		#set ($ariaLabel = "${ariaLabel} vs.")
86: 	#else
87: 		#set ($ariaLabel = "${ariaLabel} at")
88: 	#end
89: 	#set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
90: 	#if ($event.neutralSite.length() > 0)
91: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
92: 	#end
93: 	#set ($ariaLabel = "${ariaLabel} Box Score")
94: 	aria-label="$ariaLabel"
95:   #end
96:   
97:   #macro(printSubTab $active $url $label $class $ariaLabel)	
98:     <li #if ($active) class="active"#end>
99:   	  <a href="${url}" #if ($class.length() > 0)class="$!{class}"#end role="button" aria-label="${ariaLabel}: ${label} Stats">${label}</a>
100:   	</li>
101:   #end
102: 
103:   #macro(printSeasonGameMinutesTabs $r $v $ariaLabel)
104:   #if($briefsCategoriesLabels.containsKey("Game"))
105:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
106:     <div><ul class="clearfix">
107:   	#set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
108:   	#set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
109:   	
110:   	## Print the Game tab
111:   	#printSubTab($pos.equals($gamePos), "${url}?view=${v}&r=${r}&pos=${gamePos}", "Game", "t_game", $ariaLabel)	
112:     	
113:   	## Print the Season tab
114:   	#printSubTab($pos.equals($firstCategoryPos), "${url}?view=${v}&r=${r}&pos=${firstCategoryPos}", "Season", "t_season", $ariaLabel)
115:     	
116:   	#if($briefsCategoriesLabels.containsKey("Minutes"))
117:   		#set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
118:   		#set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
119:     		
120:   		#set($showMinutesTab = false)
121:     		
122:   		#if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
123:   			#set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
124:   			
125:   			#set($lineupMinOverallStat = $lineupMinOverallValues[0])
126:   			#set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
127:   			#set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
128:   			
129:   			#if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
130:   				#set($showMinutesTab = true)
131:   			#end	
132:   		#end	
133:     		
134:   		## Print the Minutes tab
135:   	 	#if($showMinutesTab)
136:   			#printSubTab($pos.equals($minutesPos), "${url}?view=${v}&r=${r}&pos=${minutesPos}", "Minutes", "t_minutes", $ariaLabel)
137:   		#end
138:   		
139:   	#end
140:     </ul>
141:     </div>
142:     </div>
143:   #end
144:   #end
145: 
146:   #macro(printBriefCategory $briefCatLabel $briefCatPos $r)
147:   	#if($locale == "en_gb" && $briefCatLabel == "Defense")
148:       	#set($briefCatLabel = "Defence")
149:       #end
150:   	
151:   	#if($lineupDefaultSorting && $lineupDefaultSorting.containsKey($briefCatPos))
152:   		#set($sort = $lineupDefaultSorting.get($briefCatPos))
153:   	#end	
154:   	
155:   	#if($allowChooseSort)
156:   		#set ($sortEsc = $formatter.escapeXml($request.getParameter("sort")))
157:   		#if ($sortEsc.length() > 0)
158:   			#set ($sort = $sortEsc)
159:   		#end
160:   	#end
161:   	
162:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=${briefCatPos}&r=${r}")
163:   	
164:   	#if($lineupMin && $lineupMin.containsKey($briefCatPos))
165:   		#set($minStat = $lineupMin.get($briefCatPos))
166:   		#set($url = $url + "&min=" + $minStat)
167:   	#end
168:   	
169:   	#if($lineupFilters)
170:   		#if($lineupFilters.containsKey("cs"))
171:   			#set($url = $url + "&cs=n")
172:   		#end
173:   		
174:   		#if($lineupFilters.containsKey("skipBlank"))
175:   		    #set($skipBlank = $lineupFilters.get("skipBlank"))	
176:   			
177:   			#if($skipBlank.contains($briefCatPos))
178:   				#set($url = $url + "&skipBlank=n")
179:   			#end	
180:   		#end	
181:   	#end	
182:   	
183: 	<div style="display:block; padding:5px 0; margin-bottom:10px; line-height:1; text-transform:uppercase; text-align:center" class="accent-bg"><strong>$briefCatLabel</strong></div>
184: 	
185:     $website.includeAgain($url)	
186:     
187:   #end ## printBriefCategory
188: 
189:   #macro(printBriefCategories $r)
190:   ## Set this for the inner page to pull something out
191:   #if ($r == "1")
192:     $!request.setAttribute("teamStats", $splits.conference)
193:   #else
194:     $!request.setAttribute("teamStats", $splits.overall)
195:   #end
196: 
197:   #if($briefsCategoriesLabels)
198:   	#set($allowChooseSort = false)
199:   	
200:   	#if($lineupFilters && $lineupFilters.containsKey("allowChooseSort"))
201:   		#set($allowChooseSort = true)
202:   	#end
203: 
204:     #if($briefsCategoriesLabels.containsKey("Game"))
205:   	  #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
206:       	
207:       ## Print Game categories tables
208:       ## Get the first Game category position
209:       #set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
210:       
211:       ## GAME
212:       <div class="tab-panel clearfix #if ($pos.equals($gamePos)) active #end">
213:         #foreach($briefsCatGame in $briefsCategoriesGame.entrySet())
214:           #printBriefCategory($briefsCatGame.value, $briefsCatGame.key, $r)
215:         #end
216:       </div>
217: 
218:       ## Print the Season categories tables
219:   	  #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
220:    
221:       ## SEASON
222:       <div class="tab-panel clearfix #if ($pos.equals($firstCategoryPos)) active #end">
223:   		  #foreach($briefCat in $briefsCategoriesSeason.entrySet())
224:   			  #printBriefCategory($briefCat.value, $briefCat.key, $r)
225:   		  #end
226:       </div>
227:   		
228:   		
229:       ## Print the Minutes categories tables
230:   		#if($briefsCategoriesLabels.containsKey("Minutes"))
231:   		
232:   		  #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
233:   		  #set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
234:       		
235:   		  #set($showMinutesTab = false)
236:   		  #if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
237:           #set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
238:   			
239:           #set($lineupMinOverallStat = $lineupMinOverallValues[0])
240:           #set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
241:           #set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
242:   			
243:           #if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
244:   				  #set($showMinutesTab = true)
245:           #end	
246:   		  #end
247: 
248:         #if ($showMinutesTab)
249:           ## MINUTES
250:           <div class="tab-panel clearfix #if ($pos.equals($minutesPos)) active #end">
251:     			  #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet())
252:               #printBriefCategory($briefsCatMinutes.value, $briefsCatMinutes.key, $r)
253:     			  #end
254:           </div>
255:   			#end
256:   		#end ## end minutes
257: 
258:   	#else
259: 
260:   		#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
261:   		## SINGLE SEASON
262:   		#foreach($briefCat in $briefsCategoriesSeason.entrySet())
263:   			#printBriefCategory($briefCat.value, $briefCat.key, $r)
264:     	#end
265: 
266:   	#end
267: 
268:   #elseif($lineupFilters)
269: 
270:   	## All of the supported sports has lineupFilters, so print it without matter it does not have briefs category, yeah voleyball is you :)
271:   	#set ($sort = $formatter.escapeXml($request.getParameter("sort")))
272:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${r}")
273:   	$website.includeAgain($url) 
274: 
275:   #else
276:   	We do not support this sport
277:   #end
278: 
279:   #end ## printBriefCategories
280: 
281:   #macro (printLineupTabs $r $v $ariaLabel)
282:     #if($briefsCategoriesLabels.containsKey("Game"))
283:       <div class="tab-container secondary tab-container-floated clearfix" data-module="stats/tabs" data-type="secondary">
284:         #printSeasonGameMinutesTabs($r $v $ariaLabel)
285:         <div class="tab-panels tab-panels-floated clearfix">
286:           #printBriefCategories($r)
287:         </div>
288:       </div>
289:     #else
290:       #printBriefCategories($r)
291:     #end
292:   #end ## printLineupTabs
293: 
294:   #macro (printCategories $briefCategoryLabels $v $ariaLabel)
295:   <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
296:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
297:       <div>
298:         <ul class="clearfix">
299: 		#foreach($label in $briefCategoryLabels.entrySet())
300: 			#set($catLabel = $label.value)
301: 			#if ($locale == "en_gb" && $catLabel == "Defense")
302: 				#set ($catLabel = "Defence")
303: 			#end
304: 			<li #if ($pos == $label.key || ($pos.length() == 0 && $velocityCount == 1)) class="active" #end>  
305: 				<a href="${page.url}?view=${v}&pos=${label.key}" role="button" aria-label="${ariaLabel}: ${catLabel}">${catLabel}</a>
306: 			</li>
307: 		#end
308:         </ul>
309:       </div>
310:     </div>
311:     <div class="tab-panels">
312:       #foreach ($briefCat in $briefCategoryLabels.entrySet())
313:         #set ($class = "tab-panel clearfix")
314:         #if ($briefCat.key == $pos || ($velocityCount == 1 && $pos.length() == 0))
315:           #set ($class = "tab-panel active clearfix")
316:         #end
317:         <div class="${class}">
318:           <div class="stats-wrap clearfix">
319:             #if ($v == "gamelog")
320:               #gamelogData($briefCat.key)
321:             #elseif ($v == "splits")
322:               #splitsData($briefCat.key)
323:             #end
324:           </div>
325:         </div>
326:       #end  
327:     </div>
328:   </div> ## tab-container
329:   #end ## printCategories
330: 
331:   #macro (printHighlights)
332:   #if ($highlights)
333:     <div class="highlights highlights-standalone accent-bg">
334:       #foreach ($highlight in $highlights.keySet())
335:         #set ($value = "-")
336:         #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
337:         <div class="stat clearfix">
338:           <span class="stat-title">$!highlights.get($highlight)</span>
339:           <span class="stat-value">$!value</span>
340:         </div>
341:       #end
342:     </div>
343:   #end ## has highlights
344:   #end ## macro printHighlights
345: 
346:   #macro (gamelogData $p)
347:   #set ($gamelogStats = $gamelogs.get($p))
348: 
349:   <div class="stats-box full clearfix">
350:       <div class="scrollable">
351:           <div>
352:               <table>
353:                   <tr class="thead accent-bg">
354:                       <th class="text">Date</th>
355:                       <th class="pinned-col text">Opponent</th>
356:                       <th>Score</th>
357:                       #foreach ($gamelog in $gamelogStats)
358:                         <th>$gamelog</th>
359:                       #end
360:                   </tr>
361:                   #foreach ($event in $events)
362:   	                <tr>
363:   	                    <td class="text">
364:   	                      $formatter.formatDate($event.event.date, "MMM d") 
365:   	                      #if (!$event.event.overall)
366:   	                        #set ($atLeastOneNotOverall = true) # 
367:   	                      #end
368:   	                    </td>
369:   	                    <td class="pinned-col text">
370:   	                        #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
371:   	                        $event.event.opponent.name
372:   	                    </td>
373:   	                    <td>
374:   	                        #if ($event.event.statusCode >= 0)
375:   	                          #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
376:                                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
377:   	                          #else
378:   	                            ${event.event.APResult}
379:   	                          #end
380:   	                        #else &nbsp; #end
381:   	                    </td>
382:   	                    #foreach ($gamelog in $gamelogStats.keySet())
383:   	                      #set ($value = "-")
384:   	                      #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
385:   	                      <td>$value</td>
386:   	                    #end
387:   	                </tr>
388:                   #end
389:               </table>
390:           </div>
391:       </div> ## scrollable
392:   </div> ## stats-box
393: 
394:   #end ## gamelogData
395: 
396:   #macro (printRecentGames)
397:   <table>
398:       <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
399: 
400:       #set ($eventEnd = -1)
401:       #foreach ($event in $events)
402:         #if ($event.event.result.resolved)
403:           #set ($eventEnd = $velocityCount)
404:         #end
405:       #end
406: 
407:       #set ($eventStart = $eventEnd - 5)
408:       #if ($eventStart < 0) #set ($eventStart = 0) #end
409: 
410:       #foreach ($event in $events)
411:       #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
412:       <tr>
413:           <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
414:           <td class="text">
415:               #if ($event.event.neutralSite.length() > 0) vs.
416:               #elseif (!$event.event.home) at
417:               #else ## nothing for a home game
418:               #end
419:               $event.event.opponent.name
420:           </td>
421:           <td class="text">
422:               #if ($event.event.statusCode >= 0)
423:               #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
424:                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
425:               #else
426:               ${event.event.APResult}
427:               #end
428:               #end
429:           </td>
430:       </tr>
431:       #end ## if
432:       #end
433:   </table>
434:   #end ## printRecentGames
435: 
436:   #macro (split $statPosBriefs $label $stats)
437:     <tr>
438:       <td class="pinned-col text">${label}</td>
439:       #foreach ($brief in $statPosBriefs.keySet())
440:         #set ($value = "-")
441:         #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
442:         <td>#if ($value.length() > 0) $value #else - #end</td>
443:       #end
444:     </tr>
445:   #end ## split
446: 
447:   #macro (splitsData $p)
448:   #set ($statPosBriefs = $briefs.get($p))
449:   #set ($colspan = $statPosBriefs.size())  
450:     
451:   #if ($statPosBriefs.size() > 0)
452:   <div class="stats-box full clearfix">
453:   <div class="scrollable">
454:   <div>
455:   <table>
456:     <tr class="accent-bg">
457:       <th class="pinned-col">&nbsp;</th>
458:       #foreach ($brief in $statPosBriefs)
459:         <th>$brief</th>
460:       #end
461:     </tr>
462: 
463:   #split($statPosBriefs, "Total", $splits.overall)
464:   #if ($showconf)
465:     #split($statPosBriefs, "Conference", $splits.conference)
466:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
467:   #else
468:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
469:   #end ## hide overall/conf
470: 
471:   <tr class="empty-row">
472: 	<td class="pinned-col">&nbsp;</td>
473: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
474:   </tr>
475: 
476:   #split($statPosBriefs, "Home", $splits.home)
477:   #split($statPosBriefs, "Away", $splits.away)
478:   #split($statPosBriefs, "Neutral", $splits.neutral)
479: 
480:   <tr class="empty-row">
481: 	<td class="pinned-col">&nbsp;</td>
482: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
483:   </tr>
484: 
485:   #foreach($gameResult in $gamesResults.entrySet())
486:     #if ($gameResult.key == "wins")
487:       #set ($splitGameResult = $splits.inWins)
488:     #elseif ($gameResult.key == "losses")
489:       #set ($splitGameResult = $splits.inLosses)
490:     #elseif ($gameResult.key == "ties")
491:       #set ($splitGameResult = $splits.inTies)
492:     #end
493:     
494:     #split($statPosBriefs, $gameResult.value, $splitGameResult)
495:   #end
496: 
497:   <tr class="empty-row">
498: 	<td class="pinned-col">&nbsp;</td>
499: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
500:   </tr>
501: 
502:   #if ($monthsPlayed and $monthsPlayed.size() > 0)
503:     #foreach($month in $monthsPlayed)
504:       #if ($month == 'January')
505:         #set ($splitMonth = $splits.january)
506:       #elseif ($month == 'February')
507:         #set ($splitMonth = $splits.february)
508:       #elseif ($month == 'March')
509:         #set($splitMonth = $splits.march)
510:       #elseif ($month == 'April')
511:         #set($splitMonth = $splits.april)
512:       #elseif ($month == 'May')
513:         #set ($splitMonth = $splits.may)
514:       #elseif ($month == 'June')
515:         #set ($splitMonth = $splits.june)
516:       #elseif ($month == 'July')
517:         #set($splitMonth = $splits.july)
518:       #elseif ($month == 'August')
519:         #set ($splitMonth = $splits.august)
520:       #elseif ($month == 'September')
521:         #set($splitMonth = $splits.september)
522:       #elseif ($month == 'October')
523:         #set($splitMonth = $splits.october)
524:       #elseif ($month == 'November')
525:         #set ($splitMonth = $splits.november)
526:       #elseif ($month == 'December')
527:         #set($splitMonth = $splits.december)
528:       #end
529:       
530:       #split($statPosBriefs, $month, $splitMonth)
531:     #end ## foreach
532:   #end
533:   </table>
534:   </div>
535:   </div> ## scrollable
536:   </div> ## srollable-table
537:   #end
538: 
539:   #end ## splitsData
540: 
541: 
542:   ############ END MACROS #############
543: 
544: #set ($pageTitle = $page.title)
545: #if ($pageTitle.trim().length() == 0)
546: 	#set ($season = "")
547: 	#if ($page.url.matches(".*/\d{4}-\d{2}/.*"))
548: 		#set ($truncateStr = $page.url.split("/\d{4}-\d{2}/").get(0))
549: 		#set ($season = $page.url.replace($truncateStr, "").substring(1, 8))
550: 	#end
551: 	
552: 	#set ($gender = "")
553: 	#if ($sport.enumCode == 6 or $sport.enumCode == 10)
554: 	#else
555: 		#if ($page.url.matches(".*/sports/m.*") || $page.url.matches(".*/sports/m-*"))
556: 			##set ($gender = "Men's")
557: 		#elseif ($page.url.matches(".*/sports/w.*") || $page.url.matches(".*/sports/w-*"))
558: 			##set ($gender = "Women's")
559: 		#end
560: 	#end
561: 	
562: 	#set ($pageTitle = "${season} ${gender} ${sport} Statistics")
563: 	
564: 	#if ($attributes.get("school_name").length() > 0)
565: 		#set ($pageTitle = "${pageTitle} - ${attributes.get('school_name')}")
566: 	#end
567: #end
568: 
569: <head><title>$pageTitle</title></head>
570: <h1>$pageTitle</h1>
571: 	
572: 
573:   <div class="stats-container" data-module="stats/responsive-container">
574: 
575:   #printHighlights  
576: 
577:   ## TABS
578:   <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
579:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
580:         <div>
581:             <ul class="clearfix">
582:                 <li #if ($view == "profile")class="active"#end><a href="${page.url}?view=profile">Team Profile</a></li>
583:                 #if ($showRoster)
584:                   <li #if ($view == "roster")class="active"#end><a href="${page.url}?view=roster">Roster</a></li>
585:                 #end
586:                 <li #if ($view == "lineup")class="active"#end><a href="${page.url}?view=lineup">Lineup</a></li>
587:                 <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog">Game Log</a></li>
588:                 <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits">Split Stats</a></li>
589: 					
590: 				#set ($coachesViewUrl = "${page.url}?tmpl=teaminfo-network-monospace-template")
591: 				#set ($enumCode = $sport.enumCode)
592: 				#if ($enumCode == 2)
593: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ptspg") 
594: 				#elseif ($enumCode == 1 || $enumCode == 11)
595: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ab&pos=h")
596: 				#end
597: 				#if ($enumCode == 7 || $enumCode == 8 || $enumCode > 11) #else
598: 					<li data-skip="true"><a href="$coachesViewUrl" target="_blank">Coach's View</a></li>
599: 				#end
600:                 #if ($showAttendance)
601:                   <li #if ($view == "attendance")class="active"#end><a href="${page.url}?view=attendance">Attendance</a></li>
602:                 #end
603:             </ul>
604:         </div>
605:     </div> ## tab-nav
606: 
607:     <div class="tab-panels clearfix">
608:       ## TEAM PROFILE
609:       #set ($class = "tab-panel clearfix")
610:       #if ($view == "profile")
611:         #set ($class = "tab-panel active clearfix")
612:       #end
613:       <div class="${class}">
614:         <div class="clearfix stats-wrap">
615:           <div class="stats-box half">
616:             ## SCHEDULE INFORMATION
617:             $website.include("schedule?teamId=${teamId}&tmpl=schedule-data-template")
618: 
619:             #printRecentGames
620: 
621:           </div> ## stats-box
622: 
623:           <div class="stats-box half">
624:             ## RANKINGS
625:             $website.include("../teams?tmpl=stats-teams-rank-template&rank=${teamId}")
626:           </div>
627: 
628:         </div> ## stats-wrap
629:       </div> ## team profile
630: 
631:       ## ROSTER
632:       #if ($showRoster)
633:         #set ($class = "tab-panel clearfix")
634:         #if ($view == "roster")
635:           #set ($class = "tab-panel active clearfix")
636:         #end
637:         <div class="${class}">
638:           $website.includeAgain("../players?teamId=${teamId}&view=roster&tmpl=stats-bios-template")
639:         </div>
640:       #end
641: 
642:       ## LINEUP
643:       #set ($class = "tab-panel clearfix")
644:       #if ($view == "lineup")
645:         #set ($class = "tab-panel active clearfix")
646:       #end
647: 
648:       <div class="${class}">
649:         #set ($restriction = "0")
650:         #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r")))
651:         #if ($restrictionEsc.length() > 0)
652:           #set ($restriction = $restrictionEsc)
653:         #end
654: 
655:         ## start of overall/conference
656:         #set ($url = $request.requestURI)
657:         #if ($showconf)
658:           <div class="tab-container secondary #if($briefsCategoriesLabels.containsKey("Game")) tab-container-floated #end
659:            clearfix" data-module="stats/tabs" data-type="secondary">
660:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
661:               <div>
662:                 <ul class="clearfix">
663:                   #printSubTab($restriction.equals("0"), "${url}?view=lineup&r=0&pos=${pos}", "Overall", "first t_overall", 'Lineup')
664:                   #printSubTab($restriction.equals("1"), "${url}?view=lineup&r=1&pos=${pos}", "Conference", "t_conf", 'Lineup')
665:                 </ul>
666:               </div>
667:             </div> ## tab-nav
668: 
669:             ## overall/conference tab panels
670:             <div class="tab-panels clearfix">
671: 
672:               ## overall
673:               <div class="tab-panel #if ($restriction.equals("0")) active #end">
674:                 #printLineupTabs(0 'lineup' 'Lineup: Overall Stats')
675:               </div> ## overall tab-panel
676: 
677:               ## conference
678:               <div class="tab-panel #if ($restriction.equals("1")) active #end">
679:                 #printLineupTabs(1 'lineup' 'Lineup: Conference Stats')
680:               </div> ## conference tab-panel
681: 
682:             </div> ## overall/conference tab-panels
683:           </div> ## tab-container
684: 
685:         #else ## no overall conf
686: 		  #set ($lineupAriaLabel = "Lineup: Overall Stats")
687: 		  #if ($restriction == 1)
688: 		    #set ($lineupAriaLabel = "Lineup: Conference Stats")	
689: 		  #end	
690:           #printLineupTabs($restriction 'lineup' $lineupAriaLabel)
691:         #end ## overall/conf
692:            
693:         Download roster:
694:         <a href="../players?teamId=${attributes.teamId}&view=ext">${rosterExtension} (First Last) </a> | 
695:         <a href="../players?teamId=${attributes.teamId}&view=ext&type=lf"> ${rosterExtension} (Last, First)</a>
696:         #if ($rosterExtraExtension)
697:           <a href="../players?teamId=${attributes.teamId}&view=exte">${rosterExtraExtension} (First Last)</a> | 
698:           <a href="../players?teamId=${attributes.teamId}&view=exte&type=lf">${rosterExtraExtension} (Last, First)</a>
699:         #end
700: 
701:       </div> ##lineup
702: 
703:       ## GAMELOG
704:       #set ($class = "tab-panel clearfix")
705:       #if ($view == "gamelog")
706:         #set ($class = "tab-panel active clearfix")
707:       #end
708:       <div class="${class}">
709:         #if($gamelogsCategoriesLabels && $gamelogsCategoriesLabels.size() > 1)
710:           #printCategories($gamelogsCategoriesLabels 'gamelog' 'Game log')
711:         #else
712:           <div class="stats-wrap clearfix">#gamelogData($pos)</div>
713:         #end ## gamelogsCategoriesLabels
714: 
715:       </div> ## gamelog
716: 
717:       ## SPLITS
718:       #set ($class = "tab-panel clearfix")
719:       #if ($view == "splits")
720:         #set ($class = "tab-panel active clearfix")
721:       #end
722:       <div class="${class}">
723:       #if($briefsTeamCategoriesLabels && $briefsTeamCategoriesLabels.size() > 1)
724:           #printCategories($briefsTeamCategoriesLabels 'splits' 'Splits Stats')
725:         #else
726:           <div class="stats-wrap clearfix">#splitsData($pos)</div>
727:         #end ## briefsTeamCategoriesLabels
728:       </div> ## splits
729: 
730: 
731:       ## ATTENDANCE
732:       #if ($showAttendance)
733:         #set ($class = "tab-panel clearfix")
734:         #if ($view == "attendance")
735:           #set ($class = "tab-panel active clearfix")
736:         #end
737:         <div class="${class}">
738:           <div class="clearfix stats-wrap">
739:             <div class="stats-box full">
740:               <div class="scrollable">
741:               <div>
742:               <table>
743:                 <tr class="accent-bg">
744:                   <th class="text">Date</th>
745:                   <th class="text pinned-col">Opponent</th>
746:                   <th>Score</th>
747:                   <th>Attend</th>
748:                 </tr>
749:                 #set ($counter = 0)
750:                 #foreach ($event in $events)
751:                 <tr>
752:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
753:                   <td class="text pinned-col">
754:                   #if ($event.event.neutralSite.length() > 0) vs.
755:                   #elseif (!$event.event.home) at
756:                   #else ## nothing for a home game
757:                   #end
758:                   $event.event.opponent.name
759:                   </td>
760:                   <td>
761:                   #if ($event.event.statusCode >= 0)
762:                     #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
763:                         <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
764:                     #else
765:                       ${event.event.result}
766:                     #end
767:                   #else &nbsp; #end
768:                   </td>
769:                   <td>
770:                   #set ($value = "-")
771:                   #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
772:                   #if ($value.length() > 0)$value#else - #end
773:                   </td>
774:               </tr>
775:               #end
776:             </table>
777:             </div>
778:             </div> ## scrollable
779:             </div> ## stats-box
780:           </div> ## stats-wrap
781:         </div> ## attendance
782:       #end ## showAttendance
783: 
784:     </div> ## tab-panels
785:   </div> ## tab-container
786:   </div> ## stats-container
787:   $wiki.su