2018-19 Football Statistics - UCLA

Yds 392.6
Rush 154.8
Pass 237.8
Pts/game 24.6
Yds allowed 444.9
Rush allowed 199.4
Pass allowed 245.5
Pts allowed/game 34.1
Schedule Summary
Overall (Pct.)3-9 (.250)
Conference (Pct.) 3-6 (.333)
StreakLost 1
Home2-5
Away1-4
Neutral0-0
Full Scores and Schedule »
Recent Games
Oct 20 Arizona W, 31-30
Oct 26 Utah L, 41-10
Nov 3 at Oregon L, 42-21
Nov 10 at Arizona State L, 31-28
Nov 17 USC W, 34-27
Nov 24 Stanford L, 49-42
Statistics category Overall Conf
Games 12 8th 9 8th
Scoring 295 11th 243 7th
Points per game 24.6 11th 27.0 7th
Total offense 4711 9th 3752 6th
Yards per game 392.6 8th 416.9 6th
Passing yards 2853 11th 2286 3rd
Comp-Att-Int 239-403-10 10th 190-316-7 5th
Passing yards per game 237.8 9th 254.0 3rd
Passing yards per attempt 7.1 10th 7.2 9th
Passing yards per completion 11.9 8th 12.0 8th
Passing touchdowns 13 12th 11 11th
Rushing yards 1858 8th 1466 6th
Rushing attempts 451 9th 339 7th
Rushing yards per game 154.8 8th 162.9 6th
Yards per rush 4.1 7th 4.3 6th
Rushing touchdowns 20 8th 15 5th
1st downs 253 8th 204 2nd
Rushing 1st downs 98 8th 80 6th
Passing 1st downs 134 6th 107 3rd
Penalty 1st downs 21 8th 17 6th
1st downs per game 21.1 7th 22.7 2nd
3rd-down conversions 66-175 11th 54-135 6th
3rd down % 38% 8th 40% 7th
4th-down conversions 14-26 5th 11-19 4th
4th down % 54% 8th 58% 8th
Kick returns (No.-Yards) 9-248 12th 5-182 11th
Kick return average 27.6 1st 36.4 1st
Punt returns (No.-Yards) 11-100 10th 6-78 10th
Punt return average 9.1 6th 13.0 1st
Field goals 14-19 6th 13-18 4th
Field goal % 73.7% 6th 72.2% 5th
PATs 35-35 11th 28-28 8th
PAT % 100.0% 1st 100.0% 5th
Punts (No.-Yards) 60-2674 4th 40-1762 6th
Average per punt 44.6 2nd 44.0 2nd
Red zone scores 30-37 10th 25-32 9th
Red zone % 81% 8th 78% 10th
Red zone touchdowns 22-37 10th 17-32 8th
Red zone touchdown % 59% 6th 53% 10th
Fumbles-lost 15-7 9th 11-5 8th
Fumbles recovered 7 6th 4 10th
Defensive INTs 11 6th 10 4th
Interception returns (No.-Yds) 11-81 10th 10-81 8th
Interception return average 7.4 10th 8.1 9th
Defensive TDs 2 4th 2 3rd
Tackles 852 5th 624 1st
Sacks 15 11th 10 12th
Penalties 82 9th 59 10th
Penalty yards 684 8th 485 6th
Time of possession per game 27:34 12th 28:12 12th
Home Attendance 358147 3rd 243164 2nd
Home Attendance average 51164 4th 48633 4th
Passing
No. Name Yr Pos gp comp att pct yds y/g y/a td int lg effic
3 Wilton Speight Sr QB 7 126 208 60.6% 1527 218.1 7.3 6 6 66 126.0
7 D Thompson-Robinson Fr QB 10 112 194 57.7% 1311 131.1 6.8 7 4 65 122.3
2Z Stefan Flintoft Sr P 11 1 1 100.0% 15 1.4 15.0 0 0 15 226.0
  Totals     12 239 403 59.3% 2853 237.8 7.1 13 10 66 124.5
  Opponent     12 226 371 60.9% 2946 245.5 7.9 19 11 67 138.6
Rushing
No. Name Yr Pos gp rush yds y/g avg td lg fum lost
27 Joshua Kelley Jr RB 11 225 1243 113.0 5.5 12 61 2 0
19 Kazmeir Allen Fr RB 9 30 188 20.9 6.3 1 74 - -
26 Martell Irby Fr RB 12 45 187 15.6 4.2 1 16 - -
4 Bolu Olorunfunmi Jr RB 6 31 85 14.2 2.7 4 8 - -
7 D Thompson-Robinson Fr QB 10 50 68 6.8 1.4 0 23 4 2
10 Demetric Felton So WR 12 5 27 2.3 5.4 0 14 - -
3 Wilton Speight Sr QB 7 39 27 3.9 0.7 2 14 3 2
14 Theo Howard Jr WR 12 3 26 2.2 8.7 0 26 - -
28 Cole Kinder Fr RB 2 6 19 9.5 3.2 0 8 - -
1 Soso Jamabo Jr RB 3 5 12 4.0 2.4 0 5 - -
81 Caleb Wilson Jr TE 12 1 4 0.3 4.0 0 4 - -
17 Christian Pabico Jr WR 10 2 2 0.2 1.0 0 5 - -
15 Matt Lynch So QB 11 1 0 0.0 0.0 0 0 - -
21 Michael Ezeike Fr WR 10 1 -2 -0.2 -2.0 0 0 - -
9 Dymond Lee So WR 10 1 -7 -0.7 -7.0 0 0 - -
  Totals     12 451 1858 154.8 4.1 20 74 15 7
  Opponent     12 520 2393 199.4 4.6 31 72 12 7
Receiving
No. Name Yr Pos gp rec rec/g yds y/g avg td lg
81 Caleb Wilson Jr TE 12 60 5.0 965 80.4 16.1 4 66
14 Theo Howard Jr WR 12 51 4.3 677 56.4 13.3 4 58
27 Joshua Kelley Jr RB 11 27 2.5 193 17.5 7.1 0 22
10 Demetric Felton So WR 12 20 1.7 207 17.3 10.3 1 31
23 Chase Cota Fr WR 12 13 1.1 168 14.0 12.9 0 33
17 Christian Pabico Jr WR 10 13 1.3 140 14.0 10.8 0 29
21 Michael Ezeike Fr WR 10 12 1.2 136 13.6 11.3 2 19
26 Martell Irby Fr RB 12 8 0.7 60 5.0 7.5 0 19
9 Dymond Lee So WR 10 8 0.8 61 6.1 7.6 0 13
19 Kazmeir Allen Fr RB 9 7 0.8 35 3.9 5.0 1 16
86 Devin Asiasi So TE 9 6 0.7 130 14.4 21.7 1 30
2 Kyle Philips Fr WR 4 6 1.5 31 7.8 5.2 0 9
4 Bolu Olorunfunmi Jr RB 6 3 0.5 8 1.3 2.7 0 5
39 Ethan Fernea So WR 12 2 0.2 19 1.6 9.5 0 15
87 Jordan Wilson Fr TE 10 2 0.2 17 1.7 8.5 0 12
85 Greg Dulcich Fr TE 3 1 0.3 6 2.0 6.0 0 6
  Totals     12 239 - 2853 237.8 11.9 13 66
  Opponent     12 226 - 2946 245.5 13.0 19 67
Kicking
No. Name Yr Pos gp fgm fga pct lg xpm xpa pct pts
1G Jj Molson Jr K 12 14 19 74% 50 35 35 100% 77
  Totals     12 14 19 74% 50 35 35 100% 77
  Opponent     12 14 18 78% 49 49 50 98% 91
Punting
No. Name Yr Pos gp punt yds avg lg in20 fc tb blk
2Z Stefan Flintoft Sr P 11 56 2565 45.8 70 19 17 6 1
1K Andrew Strauch Jr K 1 3 109 36.3 42 0 2 0 0
  Totals     12 60 2674 44.6 70 19 19 6 1
  Opponent     12 49 2050 41.8 72 25 13 7 0
Returns
No. Name Yr Pos kr yds avg td lg pr yds avg td lg
0A Darnay Holmes So DB 4 143 35.8 1 93 4 18 4.5 0 9
10 Demetric Felton So WR 5 105 21.0 0 35 - - - - -
2 Kyle Philips Fr WR - - - - - 2 36 18.0 0 32
0F Adarius Pickett Sr DB - - - - - 5 46 9.2 0 40
  Totals     9 248 27.6 1 93 11 100 9.1 0 40
  Opponent     22 572 26.0 0 86 19 325 17.1 2 66
All-Purpose
No. Name Yr Pos gp rush rcv pr kr yds ypg
27 Joshua Kelley Jr RB 11 1243 193 - - 1436 130.5
81 Caleb Wilson Jr TE 12 4 965 - - 969 80.8
14 Theo Howard Jr WR 12 26 677 - - 703 58.6
10 Demetric Felton So WR 12 27 207 - 105 339 28.3
19 Kazmeir Allen Fr RB 9 188 35 - - 223 24.8
26 Martell Irby Fr RB 12 187 60 - - 247 20.6
2 Kyle Philips Fr WR 4 - 31 36 - 67 16.8
4 Bolu Olorunfunmi Jr RB 6 85 8 - - 93 15.5
86 Devin Asiasi So TE 9 - 130 - - 130 14.4
17 Christian Pabico Jr WR 10 2 140 - - 142 14.2
23 Chase Cota Fr WR 12 - 168 - - 168 14.0
0A Darnay Holmes So DB 12 - - 18 143 161 13.4
21 Michael Ezeike Fr WR 10 -2 136 - - 134 13.4
28 Cole Kinder Fr RB 2 19 - - - 19 9.5
7 D Thompson-Robinson Fr QB 10 68 - - - 68 6.8
9 Dymond Lee So WR 10 -7 61 - - 54 5.4
1 Soso Jamabo Jr RB 3 12 - - - 12 4.0
3 Wilton Speight Sr QB 7 27 - - - 27 3.9
0F Adarius Pickett Sr DB 12 - - 46 - 46 3.8
85 Greg Dulcich Fr TE 3 - 6 - - 6 2.0
87 Jordan Wilson Fr TE 10 - 17 - - 17 1.7
39 Ethan Fernea So WR 12 - 19 - - 19 1.6
  Totals     12 1858 2853 100 248 5059 421.6
  Opponent     12 2393 2946 325 572 6236 519.7
Scoring
No. Name Yr Pos pts pts/g rush rec kr pr int fum xpm fgm 2pt misc
1G Jj Molson Jr K 77 6.4 - - - - - - 35 14 0 0
27 Joshua Kelley Jr RB 72 6.5 12 0 - - - - - - - 0
14 Theo Howard Jr WR 24 2.0 0 4 - - - - - - - 0
4 Bolu Olorunfunmi Jr RB 24 4.0 4 0 - - - - - - - 0
81 Caleb Wilson Jr TE 24 2.0 0 4 - - - - - - - 0
19 Kazmeir Allen Fr RB 12 1.3 1 1 - - - - - - - 0
21 Michael Ezeike Fr WR 12 1.2 0 2 - - - - - - - 0
0A Darnay Holmes So DB 12 1.0 - - 1 0 1 0 - - - 0
3 Wilton Speight Sr QB 12 1.7 2 - - - - - 0 - 0 0
86 Devin Asiasi So TE 6 0.7 - 1 - - - - - - - 0
10 Demetric Felton So WR 6 0.5 0 1 0 - - - - - - 0
26 Martell Irby Fr RB 6 0.5 1 0 - - - - - - - 0
1A Keisean Lucier-South Jr LB 6 0.5 - - - - 0 1 - - - 0
  Totals     295 24.6 20 13 1 0 1 1 35 14 0 0
  Opponent     409 34.1 31 19 0 2 0 0 49 14 2 0
Defense
No. Name Yr Pos gp tkl ast tot tkl/g sck yds tfl yds ff fr yds int yds brup blk
0F Adarius Pickett Sr DB 12 77 46 123.0 10.3 - - 0 - - 1 0 2 34 4 -
1D Krys Barnes Jr LB 12 53 32 85.0 7.1 1 9 10 33 - - - 1 0 6 -
37 Quentin Lake Fr DB 12 51 16 67.0 5.6 - - 1 1 - - - 2 12 5 -
2E Tyree Thompson Jr LB 12 32 23 55.0 4.6 - - 6 8 - - - - - 1 -
0A Darnay Holmes So DB 12 36 12 48.0 4.0 - - 1 1 2 1 0 3 31 11 -
1A Keisean Lucier-South Jr LB 12 29 17 46.0 3.8 4 22 11.5 42 2 2 38 1 0 6 -
0I Elijah Gates Fr DB 12 29 10 39.0 3.3 - - 1 4 1 - - 1 4 5 -
2B Nate Meadors Sr DB 10 31 6 37.0 3.7 1 4 2 6 - - - 1 0 2 -
52 Lokeni Toailoa So LB 12 20 12 32.0 2.7 3 21 5.5 25 - 1 3 - - - -
2F Leni Toailoa So LB 9 15 15 30.0 3.3 - - 0 - - - - - - - -
92 Osa Odighizuwa So DL 11 20 9 29.0 2.6 3 16 6 25 1 - - - - 2 -
97 Odua Isibor Fr DL 12 17 8 25.0 2.1 1 8 1.5 8 1 1 0 - - - -
50 Tyler Manoa Fr DL 12 13 12 25.0 2.1 - - 0 - - - - - - 2 -
0D Stephan Blaylock Fr DB 12 12 10 22.0 1.8 - - 0 - - - - - - 1 -
91 Otito Ogbonnia Fr DL 12 9 12 21.0 1.8 - - 0 - - - - - - 1 -
1E Jaelan Phillips So LB 4 12 8 20.0 5.0 1 5 1 5 - - - - - - -
90 Rick Wade Jr DL 11 13 7 20.0 1.8 1 7 3 14 1 - - - - - -
9I Elijah Wade Fr LB 9 12 7 19.0 2.1 - - 0 - - - - - - - -
44 Martin Andrus So DL 12 7 11 18.0 1.5 - - 2.5 6 - - - - - - -
5F Atonio Mafi Fr DL 12 5 12 17.0 1.4 - - 2 4 - - - - - - -
3C Bo Calvert Fr LB 5 3 6 9.0 1.8 - - 0 - - - - - - - -
0G Mo Osling iii So DB 9 7 2 9.0 1.0 - - 0 - - - - - - - -
93 Chigozie Nnoruka Jr DL 11 4 3 7.0 .6 - - 0 - - - - - - - -
24 Jay Shaw Fr DB 12 6 1 7.0 .6 - - 0 - - - - - - 2 -
4A Jayce Smalley Fr LB 8 4 2 6.0 .8 - - 1 2 - - - - - 1 -
39 Ethan Fernea So WR 12 3 1 4.0 .3 - - 0 - - - - - - - -
29 Delon Hurt Fr WR 10 4 0 4.0 .4 - - 0 - 1 - - - - - -
95 Marcus Moore So DL 4 2 1 3.0 .8 - - 0 - - - - - - - -
47 Shea Pitts Fr DB 11 2 1 3.0 .3 - - 0 - - - - - - - -
23 Chase Cota Fr WR 12 1 1 2.0 .2 - - 0 - - - - - - - -
10 Demetric Felton So WR 12 1 1 2.0 .2 - - 0 - - - - - - - -
1 Soso Jamabo Jr RB 3 2 0 2.0 .7 - - 0 - - - - - - - -
1B Rahyme Johnson So LB 3 1 1 2.0 .7 - - 0 - - - - - - - -
1Z Colin Samuel Jr DB 5 1 1 2.0 .4 - - 0 - - - - - - - -
46 Donovan Williams Fr LB 10 2 0 2.0 .2 - - 0 - - - - - - - -
3Z Elisha Guidry Fr RB 3 1 0 1.0 .3 - - 0 - - - - - - - -
14 Theo Howard Jr WR 12 0 1 1.0 .1 - - 0 - - - - - - - -
26 Martell Irby Fr RB 12 1 0 1.0 .1 - - 0 - - - - - - - -
27 Joshua Kelley Jr RB 11 1 0 1.0 .1 - - 0 - - - - - - - -
1G Jj Molson Jr K 12 1 0 1.0 .1 - - 0 - - - - - - - -
2 Kyle Philips Fr WR 4 1 0 1.0 .3 - - 0 - - - - - - - -
33 Drew Platt Fr TE 11 1 0 1.0 .1 - - 0 - - - - - - - -
8E Moses Robinson-Carr So DL 6 1 0 1.0 .2 - - 0 - - - - - - - -
56 Josh Wariboko-Alali Jr OL 10 0 1 1.0 .1 - - 0 - - - - - - - -
81 Caleb Wilson Jr TE 12 1 0 1.0 .1 - - 0 - - - - - - - -
  Totals     12 544 308 852.0 71.0 15 92 55 184 9 7 41 11 81 49 -
  Opponent     12 505 282 787.0 65.6 32 216 75 338 9 7 11 10 37 38 1
Passing
No. Name Yr Pos gp comp att pct yds y/g y/a td int lg effic
3 Wilton Speight Sr QB 6 118 196 60.2% 1482 247.0 7.6 6 5 66 128.7
7 D Thompson-Robinson Fr QB 7 71 119 59.7% 789 112.7 6.6 5 2 63 125.9
2Z Stefan Flintoft Sr P 8 1 1 100.0% 15 1.9 15.0 0 0 15 226.0
  Totals     9 190 316 60.1% 2286 254.0 7.2 11 7 66 128.0
  Opponent     9 171 277 61.7% 2260 251.1 8.2 15 10 67 140.9
Rushing
No. Name Yr Pos gp rush yds y/g avg td lg fum lost
27 Joshua Kelley Jr RB 9 214 1216 135.1 5.7 12 61 2 0
26 Martell Irby Fr RB 9 26 116 12.9 4.5 1 16 - -
7 D Thompson-Robinson Fr QB 7 26 37 5.3 1.4 0 23 1 1
19 Kazmeir Allen Fr RB 6 9 27 4.5 3.0 0 8 - -
10 Demetric Felton So WR 9 5 27 3.0 5.4 0 14 - -
14 Theo Howard Jr WR 9 3 26 2.9 8.7 0 26 - -
28 Cole Kinder Fr RB 2 6 19 9.5 3.2 0 8 - -
3 Wilton Speight Sr QB 6 36 15 2.5 0.4 2 14 3 2
4 Bolu Olorunfunmi Jr RB 3 3 9 3.0 3.0 0 5 - -
81 Caleb Wilson Jr TE 9 1 4 0.4 4.0 0 4 - -
1 Soso Jamabo Jr RB 2 1 0 0.0 0.0 0 0 - -
15 Matt Lynch So QB 8 1 0 0.0 0.0 0 0 - -
21 Michael Ezeike Fr WR 8 1 -2 -0.3 -2.0 0 0 - -
9 Dymond Lee So WR 7 1 -7 -1.0 -7.0 0 0 - -
  Totals     9 339 1466 162.9 4.3 15 61 11 5
  Opponent     9 382 1870 207.8 4.9 20 72 9 4
Receiving
No. Name Yr Pos gp rec rec/g yds y/g avg td lg
81 Caleb Wilson Jr TE 9 52 5.8 837 93.0 16.1 4 66
14 Theo Howard Jr WR 9 40 4.4 492 54.7 12.3 3 58
27 Joshua Kelley Jr RB 9 24 2.7 174 19.3 7.3 0 22
10 Demetric Felton So WR 9 20 2.2 207 23.0 10.3 1 31
21 Michael Ezeike Fr WR 8 11 1.4 127 15.9 11.5 1 19
17 Christian Pabico Jr WR 7 9 1.3 94 13.4 10.4 0 29
26 Martell Irby Fr RB 9 7 0.8 57 6.3 8.1 0 19
19 Kazmeir Allen Fr RB 6 6 1.0 39 6.5 6.5 1 16
86 Devin Asiasi So TE 9 6 0.7 130 14.4 21.7 1 30
23 Chase Cota Fr WR 9 6 0.7 70 7.8 11.7 0 19
9 Dymond Lee So WR 7 3 0.4 25 3.6 8.3 0 13
39 Ethan Fernea So WR 9 2 0.2 19 2.1 9.5 0 15
2 Kyle Philips Fr WR 1 2 2.0 10 10.0 5.0 0 9
85 Greg Dulcich Fr TE 3 1 0.3 6 2.0 6.0 0 6
4 Bolu Olorunfunmi Jr RB 3 1 0.3 -1 -0.3 -1.0 0 0
  Totals     9 190 - 2286 254.0 12.0 11 66
  Opponent     9 171 - 2260 251.1 13.2 15 67
Kicking
No. Name Yr Pos gp fgm fga pct lg xpm xpa pct pts
1G Jj Molson Jr K 9 13 18 72% 50 28 28 100% 67
  Totals     9 13 18 72% 50 28 28 100% 67
  Opponent     9 12 16 75% 49 36 36 100% 72
Punting
No. Name Yr Pos gp punt yds avg lg in20 fc tb blk
2Z Stefan Flintoft Sr P 8 36 1653 45.9 68 14 11 3 1
1K Andrew Strauch Jr K 1 3 109 36.3 42 0 2 0 0
  Totals     9 40 1762 44.0 68 14 13 3 1
  Opponent     9 34 1422 41.8 72 17 6 6 0
Returns
No. Name Yr Pos kr yds avg td lg pr yds avg td lg
0A Darnay Holmes So DB 1 93 93.0 1 93 - - - - -
10 Demetric Felton So WR 4 89 22.3 0 35 - - - - -
2 Kyle Philips Fr WR - - - - - 1 32 32.0 0 32
0F Adarius Pickett Sr DB - - - - - 5 46 9.2 0 40
  Totals     5 182 36.4 1 93 6 78 13.0 0 40
  Opponent     19 416 21.9 0 74 15 252 16.8 2 56
All-Purpose
Scoring
Defense
Download roster: FRO (First Last) | FRO (Last, First) FRX (First Last) | FRX (Last, First)
Date Opponent Score yds pass c-a comp % rush r y/r int fum tack sac pen yds top
Sep 1 Cincinnati L, 26-17 306 162 23-37 62% 144 31 4.6 - 1 79.0 4 26 25:39
Sep 8 at Oklahoma L, 49-21 383 254 16-26 62% 129 50 2.6 1 - 66.0 - 77 31:16
Sep 15 Fresno St. L, 38-14 270 151 10-24 42% 119 31 3.8 - 1 83.0 1 96 20:03
Sep 28 at Colorado L, 38-16 289 138 17-35 49% 151 28 5.4 - - 75.0 2 67 25:13
Oct 6 Washington L, 31-24 422 272 27-38 71% 150 27 5.6 1 - 84.0 2 45 21:51
Oct 13 at California W, 37-7 348 141 13-15 87% 207 55 3.8 2 3 67.0 3 30 31:23
Oct 20 Arizona W, 31-30 460 307 22-35 63% 153 47 3.3 2 1 60.0 - 103 32:42
Oct 26 Utah L, 41-10 291 164 20-40 50% 127 26 4.9 1 1 84.0 1 40 26:18
Nov 3 at Oregon L, 42-21 496 297 23-49 47% 199 38 5.2 - 1 64.0 - 64 30:45
Nov 10 at Arizona State L, 31-28 439 335 26-35 74% 104 29 3.6 1 1 78.0 1 58 23:50
Nov 17 USC W, 34-27 479 166 13-22 59% 313 52 6.0 2 - 57.0 1 15 32:58
Nov 24 Stanford L, 49-42 528 466 29-47 62% 62 37 1.7 1 - 55.0 - 63 28:51
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 724, 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:               #splitsTeamNetworkData($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 (splitTeamNetwork $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 (splitsTeamNetworkData $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:   #splitTeamNetwork($statPosBriefs, "Total", $splits.overall)
464:   #if ($showconf)
465:     #splitTeamNetwork($statPosBriefs, "Conference", $splits.conference)
466:     #splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
467:   #else
468:     #splitTeamNetwork($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:   #splitTeamNetwork($statPosBriefs, "Home", $splits.home)
477:   #splitTeamNetwork($statPosBriefs, "Away", $splits.away)
478:   #splitTeamNetwork($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:     #splitTeamNetwork($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:       #splitTeamNetwork($statPosBriefs, $month, $splitMonth)
531:     #end ## foreach
532:   #end
533:   </table>
534:   </div>
535:   </div> ## scrollable
536:   </div> ## srollable-table
537:   #end
538: 
539:   #end ## splitsTeamNetworkData
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">#splitsTeamNetworkData($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