11 Drew Barth
11 - Drew Barth
Height: 6-3
Weight: 205
Year: Sr
Hometown: Minonk, Ill.
High School: Fieldcrest
Position: QB
gp 10
yds 2306
td 27
yds/g 230.6

Honors & Awards

  • All-NACC Honorable Mention (2018)

Career Notes (Through 2018): Ranks second on Eureka's modern-era list with a .634 completion percentage among players with at least 100 career pass attempts ... Ranks four on the program's modern-era list with a 134.20 NCAA Passing Efficiency among players with at least 100 career pass attempts ... The active Eureka leader in passing yards (3,202), completions (264), pass attempts (439) and passing touchdowns (26).

Freshman (2016): Shared quarterbacking duties and went 65-for-125 for 676 yards and four touchdowns … His 52% completion rate was the highest among freshmen to attempt at least 100 passes during EC’s Division III era … His completion, yardage and touchdown totals were most by a Eureka freshman since 2006 … Also rushed 108 times for 437 yards, third-most by an EC freshman and most by an EC freshman quarterback since 1978 … Logged three rushing touchdowns … Completed six passes for 55 yards and ran for an additional 34 yards in his collegiate debut, a Lincoln Bowl victory at Knox on Sept. 3 … Tossed his first career touchdown pass in the home-opening win over Martin Luther on Sept. 10 … Set season highs with 18 completions, 197 passing yards and two touchdowns in a win at Crown on Oct. 22 … Became the first Eureka quarterback to have a 100-yard rushing game since 2009 when he erupted for 127 yards on the ground in a home win over Minnesota Morris on Oct. 29.

Sophomore (2017): Appeared in seven contests, including five starting assignments at quarterback ... Led the Red Devils with 64 completions, 796 yards, six touchdowns and a 137.17 NCAA Passing Efficiency ... Also rushed 41 times for 195 yards ... Completed 15 passes for 149 yards and a touchdown and also ran for 97 yards in the season opener against Knox on Sept. 2 ... Set career highs with 25 completions and 242 yards and ran for an additional 48 yards at Northwestern (Minn.) on Sept. 9 ... Notched seven completions for 109 yards in a win at Iowa Wesleyan on Sept. 30 ... Ran for 30 yards and threw a pair of touchdowns in Eureka's homecoming victory over Westminster on Oct. 7 ... Went 6-for-9 for 76 yards and a touchdown in the NCAA playoffs Nov. 18 at St. Thomas (Minn.).

Junior (2018): Appeared in all 11 games as the starting quarterback for the Red Devils … Compiled 135 completions, 1,730 yards, 16 touchdowns and a 153.9 NCAA Passing Efficiency, all of which which were career highs … Also rushed 71 times for 322 yards … Completed 14 passes on 17 attempts for 172 yards and two touchdowns on Sept. 1 at Knox to reclaim the Lincoln Bowl Trophy… Notched 25 completions and 238 yards and two touchdowns at Wisconsin-Whitewater on Nov. 17… Recorded a career-best 64.3 completion percentage … Received Honorable Mention on the All-NACC Team.

Fieldcrest High School: A two-time All-Heart of Illinois Conference First Team pick at quarterback ... Guided the Knights to the semifinals of the IHSA 2A playoffs in 2014 and a pair of HOIC titles.

Personal: The son of Tom and Shelly Barth, Drew was born March 17, 1998 ... Has three brothers, Jerrod, Jake and Ryan ... Drew's brother Ryan is also a member of the Eureka football program ... Nephew of head coach Kurt Barth ... Majoring in business.

Recent Games
Oct 12 at Wis. Lutheran W, 26-20
Oct 19 Concordia Chicago L, 35-34
Oct 26 at Benedictine (Ill.) L, 17-14
Nov 2 Lakeland W, 50-49
Nov 9 Concordia Wisconsin W, 24-0
Nov 16 at Rockford W, 38-28
Statistics category Overall Conf
Completions 170 108
Attempts 292 191
Completion % 58.2% 56.5%
Yards 2306 1305
Yards per game 230.6 186.4
Yards per attempt 7.9 6.8
Touchdowns 27 14
Interceptions 5 4
Sacks 13 12
Yards lost 69 66
Pass Efficiency 151.6 133.9
Date Opponent Score comp att pct yds y/a td int sac yds
Sep 7 Knox W, 42-28 18 25 72.0% 357 14.3 5 1 0 0
Sep 14 MacMurray W, 41-24 20 30 66.7% 234 7.8 4 0 0 0
Sep 21 at Albion L, 56-41 24 46 52.2% 410 8.9 4 0 1 3
Oct 5 at Aurora L, 62-35 30 48 62.5% 393 8.2 5 0 4 22
Oct 12 at Wis. Lutheran W, 26-20 16 33 48.5% 146 4.4 0 1 3 27
Oct 19 Concordia Chicago L, 35-34 13 23 56.5% 129 5.6 1 1 2 4
Oct 26 at Benedictine (Ill.) L, 17-14 11 17 64.7% 71 4.2 1 1 1 2
Nov 2 Lakeland W, 50-49 12 25 48.0% 309 12.4 4 0 1 4
Nov 9 Concordia Wisconsin W, 24-0 12 20 60.0% 137 6.8 1 0 1 7
Nov 16 at Rockford W, 38-28 14 25 56.0% 120 4.8 2 1 0 0
Date Opponent Score rush yds y/a lng td fum lost
Sep 7 Knox W, 42-28 - - - - - - -
Sep 14 MacMurray W, 41-24 4 20 5.0 11 0 - -
Sep 21 at Albion L, 56-41 9 49 5.4 23 1 - -
Oct 5 at Aurora L, 62-35 11 4 0.4 15 0 - -
Oct 12 at Wis. Lutheran W, 26-20 11 -5 -0.5 8 0 - -
Oct 19 Concordia Chicago L, 35-34 11 37 3.4 10 1 - -
Oct 26 at Benedictine (Ill.) L, 17-14 8 35 4.4 12 0 - -
Nov 2 Lakeland W, 50-49 10 73 7.3 27 2 - -
Nov 9 Concordia Wisconsin W, 24-0 3 3 1.0 7 0 - -
Nov 16 at Rockford W, 38-28 5 52 10.4 34 0 - -
Date Opponent Score rec yds y/r lng td fum lost
Sep 7 Knox W, 42-28 1 -1 -1.0 0 0 - -
Sep 14 MacMurray W, 41-24 - - - - - - -
Sep 21 at Albion L, 56-41 - - - - - - -
Oct 5 at Aurora L, 62-35 - - - - - - -
Oct 12 at Wis. Lutheran W, 26-20 - - - - - - -
Oct 19 Concordia Chicago L, 35-34 - - - - - - -
Oct 26 at Benedictine (Ill.) L, 17-14 - - - - - - -
Nov 2 Lakeland W, 50-49 - - - - - - -
Nov 9 Concordia Wisconsin W, 24-0 - - - - - - -
Nov 16 at Rockford W, 38-28 - - - - - - -
Date Opponent Score fgm fga lng xpm xpa pts
Sep 7 Knox W, 42-28 - - - - - 0
Sep 14 MacMurray W, 41-24 - - - - - 0
Sep 21 at Albion L, 56-41 - - - - - 0
Oct 5 at Aurora L, 62-35 - - - - - 0
Oct 12 at Wis. Lutheran W, 26-20 - - - 0 0 0
Oct 19 Concordia Chicago L, 35-34 - - - - - 0
Oct 26 at Benedictine (Ill.) L, 17-14 - - - - - 0
Nov 2 Lakeland W, 50-49 - - - - - 0
Nov 9 Concordia Wisconsin W, 24-0 - - - - - 0
Nov 16 at Rockford W, 38-28 - - - - - 0
Date Opponent Score punt yds avg long in20 fc tb blk
Sep 7 Knox W, 42-28 - - - - - - - -
Sep 14 MacMurray W, 41-24 - - - - - - - -
Sep 21 at Albion L, 56-41 - - - - - - - -
Oct 5 at Aurora L, 62-35 - - - - - - - -
Oct 12 at Wis. Lutheran W, 26-20 - - - - - - - -
Oct 19 Concordia Chicago L, 35-34 - - - - - - - -
Oct 26 at Benedictine (Ill.) L, 17-14 - - - - - - - -
Nov 2 Lakeland W, 50-49 - - - - - - - -
Nov 9 Concordia Wisconsin W, 24-0 - - - - - - - -
Nov 16 at Rockford W, 38-28 - - - - - - - -
Date Opponent Score kr yds avg lng td pr yds avg lng td
Sep 7 Knox W, 42-28 - - - - - - - - - -
Sep 14 MacMurray W, 41-24 - - - - - - - - - -
Sep 21 at Albion L, 56-41 - - - - - - - - - -
Oct 5 at Aurora L, 62-35 - - - - - - - - - -
Oct 12 at Wis. Lutheran W, 26-20 - - - - - - - - - -
Oct 19 Concordia Chicago L, 35-34 - - - - - - - - - -
Oct 26 at Benedictine (Ill.) L, 17-14 - - - - - - - - - -
Nov 2 Lakeland W, 50-49 - - - - - - - - - -
Nov 9 Concordia Wisconsin W, 24-0 - - - - - - - - - -
Nov 16 at Rockford W, 38-28 - - - - - - - - - -
Date Opponent Score gp rush rcv pr kr yds
Sep 7 Knox W, 42-28 1 - -1 - - -1
Sep 14 MacMurray W, 41-24 1 20 - - - 20
Sep 21 at Albion L, 56-41 1 49 - - - 49
Oct 5 at Aurora L, 62-35 1 4 - - - 4
Oct 12 at Wis. Lutheran W, 26-20 1 -5 - - - -5
Oct 19 Concordia Chicago L, 35-34 1 37 - - - 37
Oct 26 at Benedictine (Ill.) L, 17-14 1 35 - - - 35
Nov 2 Lakeland W, 50-49 1 73 - - - 73
Nov 9 Concordia Wisconsin W, 24-0 1 3 - - - 3
Nov 16 at Rockford W, 38-28 1 52 - - - 52
Date Opponent Score pts rush rec kr pr int fum xpm fgm saf misc 2pt
Sep 7 Knox W, 42-28 0 - 0 - - - - - - - 0 -
Sep 14 MacMurray W, 41-24 0 0 - - - - - - - - 0 -
Sep 21 at Albion L, 56-41 6 1 - - - - - - - - 0 -
Oct 5 at Aurora L, 62-35 0 0 - - - - - - - - 0 -
Oct 12 at Wis. Lutheran W, 26-20 0 0 - - - - - 0 - - 0 0
Oct 19 Concordia Chicago L, 35-34 6 1 - - - - - - - - 0 -
Oct 26 at Benedictine (Ill.) L, 17-14 0 0 - - - - - - - - 0 -
Nov 2 Lakeland W, 50-49 12 2 - - - - - - - - 0 -
Nov 9 Concordia Wisconsin W, 24-0 0 0 - - - - - - - - 0 -
Nov 16 at Rockford W, 38-28 0 0 - - - - - - - - 0 -
Date Opponent Score tack ast tot sack lost tfl yds ff fr td int yds td brup blk saf
Sep 7 Knox W, 42-28 - - 0.0 - - 0 - - - - - - - - - -
Sep 14 MacMurray W, 41-24 - - 0.0 - - 0 - - - - - - - - - -
Sep 21 at Albion L, 56-41 - - 0.0 - - 0 - - - - - - - - - -
Oct 5 at Aurora L, 62-35 1 0 1.0 - - 0 - - - - - - - - - -
Oct 12 at Wis. Lutheran W, 26-20 - - 0.0 - - 0 - - - - - - - - - -
Oct 19 Concordia Chicago L, 35-34 - - 0.0 - - 0 - - - - - - - - - -
Oct 26 at Benedictine (Ill.) L, 17-14 - - 0.0 - - 0 - - - - - - - - - -
Nov 2 Lakeland W, 50-49 - - 0.0 - - 0 - - - - - - - - - -
Nov 9 Concordia Wisconsin W, 24-0 - - 0.0 - - 0 - - - - - - - - - -
Nov 16 at Rockford W, 38-28 - - 0.0 - - 0 - - - - - - - - - -
  gp comp att pct yds y/g y/a td int lg effic
2016-17 10 65 125 52.0% 676 67.6 5.4 4 6 47 98.4
2017-18 7 64 104 61.5% 796 113.7 7.7 6 4 62 137.2
2018-19 11 135 210 64.3% 1730 157.3 8.2 16 5 80 153.9
2019-20 10 170 292 58.2% 2306 230.6 7.9 27 5 80 151.6
Total 38 434 731 59.4% 5508 144.9 7.5 53 20 80 141.1
  gp rush yds y/g avg td lg fum lost
2016-17 10 108 437 43.7 4.0 3 28 - -
2017-18 7 41 195 27.9 4.8 0 39 2 2
2018-19 11 71 322 29.3 4.5 2 23 7 2
2019-20 10 72 268 26.8 3.7 4 34 - -
Total 38 292 1222 32.2 4.2 9 39 9 4
  gp rec rec/g yds y/g avg td lg
2016-17 10 - - - - - - -
2017-18 7 - - - - - - -
2018-19 11 - - - - - - -
2019-20 10 1 0.1 -1 -0.1 -1.0 0 0
Total 38 1 0.0 -1 -0.0 -1.0 0 0
  gp fgm fga pct lg xpm xpa pct pts
2016-17 10 - - - - 0 0 - 0
2017-18 7 - - - - - - - 0
2018-19 11 - - - - - - - 0
2019-20 10 - - - - 0 0 - 0
Total 38 - - - - 0 0 - 0
  gp punt yds avg lg in20 fc tb blk
2016-17 10 - - - - - - - -
2017-18 7 - - - - - - - -
2018-19 11 - - - - - - - -
2019-20 10 - - - - - - - -
Total 38 - - - - - - - -
  kr yds avg td lg pr yds avg td lg
2016-17 - - - - - - - - - -
2017-18 - - - - - - - - - -
2018-19 - - - - - - - - - -
2019-20 - - - - - - - - - -
Total - - - - - - - - - -
  gp rush rcv pr kr yds ypg
2016-17 10 437 - - - 437 43.7
2017-18 7 195 - - - 195 27.9
2018-19 11 322 - - - 322 29.3
2019-20 10 268 -1 - - 267 26.7
Total 38 1222 -1 - - 1221 32.1
  pts pts/g rush rec kr pr int fum xpm fgm 2pt misc
2016-17 18 1.8 3 - - - - - 0 - 0 0
2017-18 0 0.0 0 - - - - - - - - 0
2018-19 12 1.1 2 - - - - - - - - 0
2019-20 24 2.4 4 0 - - - - 0 - 0 0
Total 54 1.4 9 0 - - - - 0 - 0 0
  gp tkl ast tot tkl/g sck yds tfl yds ff fr yds int yds brup blk
2016-17 10 - - 0.0 .0 - - 0 - - - - - - - -
2017-18 7 - - 0.0 .0 - - 0 - - - - - - - -
2018-19 11 - - 0.0 .0 - - 0 - - - - - - - -
2019-20 10 1 0 1.0 .1 - - 0 - - - - - - - -
Total 38 1 0 1.0 .0 - - 0 - - - - - - - -
  gp comp att pct yds y/g y/a td int lg effic
Total 10 170 292 58.2% 2306 230.6 7.9 27 5 80 151.6
Conference 7 108 191 56.5% 1305 186.4 6.8 14 4 68 133.9
Exhibition - - - - - - - - - - 0.0
-
Home 5 75 123 61.0% 1166 233.2 9.5 15 2 68 177.6
Away 5 95 169 56.2% 1140 228.0 6.7 12 3 80 132.8
Neutral - - - - - - - - - - 0.0
-
Wins 6 92 158 58.2% 1303 217.2 8.2 16 3 68 157.1
Losses 4 78 134 58.2% 1003 250.8 7.5 11 2 80 145.2
-
September 3 62 101 61.4% 1001 333.7 9.9 13 1 80 185.1
October 4 70 121 57.9% 739 184.8 6.1 7 3 61 123.3
November 3 38 70 54.3% 566 188.7 8.1 7 1 68 152.3
  gp rush yds y/g avg td lg fum lost
Total 10 72 268 26.8 3.7 4 34 - -
Conference 7 59 199 28.4 3.4 3 34 - -
Exhibition - - - - - - - - -
-
Home 5 28 133 26.6 4.8 3 27 - -
Away 5 44 135 27.0 3.1 1 34 - -
Neutral - - - - - - - - -
-
Wins 6 33 143 23.8 4.3 2 34 - -
Losses 4 39 125 31.3 3.2 2 23 - -
-
September 3 13 69 23.0 5.3 1 23 - -
October 4 41 71 17.8 1.7 1 15 - -
November 3 18 128 42.7 7.1 2 34 - -
  gp rec rec/g yds y/g avg td lg
Total 10 1 0.1 -1 -0.1 -1.0 0 0
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 5 got 3 at bio-template[line 294, column 1]
Page source:
1: $website.addCss($website.cdn("/info/photo-gallery.css"))
2: <script src="${website.cdn("/info/klass.min.js")}"></script>
3: <script src="${website.cdn("/info/code.photoswipe.jquery-3.0.5.min.js")}"></script>
4: <script src="${website.cdn("/info/masonry.pkgd.min.js")}"></script>
5: <script src="${website.cdn("/info/imagesloaded.pkgd.min.js")}"></script>
6: <script src="${website.cdn("/info/photogallery/photogallery.js")}"></script>
7: 
8: ## PICK UP OPTIONS
9: $website.include("options")
10: #set ($options = $request.getAttribute("options"))
11: #set ($locale = "en_us")
12: #set ($locale = $options.get("locale"))
13: 
14: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
15: #set ($bioObject = $page.getDataAsObject())
16: #set ($statsURL = $bioObject.statsURL)
17: 
18: #if ($statsURL.length() > 0)
19:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
20:   ## various settings to get the variables set
21:   #set ($events = $request.getAttribute("bio_events"))
22:   #set ($seasons = $request.getAttribute("bio_seasons"))
23:   #set ($career = $request.getAttribute("bio_career"))
24:   #set ($labels = $request.getAttribute("bio_labels"))
25:   #set ($briefs = $request.getAttribute("bio_briefs"))
26:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
27:   #set ($splits = $request.getAttribute("bio_splits"))
28:   #set ($statPosition = $request.getAttribute("bio_position"))
29:   #set ($positions = $request.getAttribute("bio_positions"))
30:   #set ($playerId = $request.getAttribute("bio_player_id"))
31:   #set ($highlights = $request.getAttribute("bio_highlights"))
32:   #set ($formats = $request.getAttribute("bio_formats"))
33:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
34:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
35:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
36:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
37: #end
38: 
39: #set ($pos = "")
40: #set ($pos = $attributes.get("position"))
41: #set ($pos = $statPosition)
42: #set ($posVec = $pos.split("/"))
43: #set ($pos = $posVec[0])
44: #set ($pos = $pos.toLowerCase())
45: #set ($statPos = $positions.get($pos))
46: #set ($paramPos = $request.getParameter("pos"))
47: 
48: #set ($playerId = $attributes.get("playerId"))
49: #set ($stats = $splits.overall)
50: #set ($highlights = $highlights.get($statPos))
51: 
52: #set ($showHighlights = true)
53: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
54: 	#set ($showHighlights = false)
55: #end
56: 
57: #set ($enhancedLayout = false)
58: #if (($options.get("bio_enhanced_layout") == "yes") || ($request.getParameter("bio_enhanced_layout") == true))
59: 	#set ($enhancedLayout = true)
60: 	$website.addCss($website.cdn("/info/bio-styles-enhanced.css"))
61: #end
62: 
63: #set ($showActionShots = true)
64: #if ($options.get("bio_show_action_shots") && $options.get("bio_show_action_shots") == false)
65: 	#set ($showActionShots = false)
66: #end
67: 
68: #set ($actionShotsLimit = 5)
69: #set ($actionShotsLimit = $tool.math.toInteger($options.get("bio_action_shots_limit")))
70: 
71: #set ($showCareer = $wiki.valid() && $seasons)
72: #if ("yes" == $options.get("stats_show_career") && $seasons)
73:   #set ($showCareer = true)
74: #end
75: 
76: #set ($hasEvents = $events.size() > 0)
77: #set ($hasSynopsis = $synopsis.trim().length() > 0)
78: #set ($htmlStatsURL = "${page.url}-stats")
79: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
80: #set ($bioBriefURL = "${page.url}-brief")
81: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
82: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
83: #if ($options.get("bio_hide_roster") == true)
84:   #set ($showRoster = false)
85: #end
86: 
87: #set ($view = "")
88: #if ($hasSynopsis || $hasBioBrief)
89:   #set ($view = "bio")
90: #elseif ($statsURL.length() > 0)
91:   #set ($view = "profile")
92: #elseif ($hasHTMLStats)
93:   #set ($view = "htmlstats")
94: #elseif ($releases.size() > 0)
95:   #set ($view = "news")
96: #elseif ($playerPhotos.size() > 0)
97:   #set ($view = "photos")
98: #elseif ($playerVideos.size() > 0)
99:   #set ($view = "videos")
100: #end
101: 
102: #if ($options.get("bio_default_view").length() > 0)
103:   #set ($checkView = $options.get("bio_default_view"))
104: #end
105: 
106: #if ($request.getParameter("view"))
107:   #set ($checkView = $request.getParameter("view"))
108: #end
109: 
110: #if ($checkView == "profile" && $statsURL.length() > 0)
111:   #set ($view = "profile")
112: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
113:   #set ($view = "bio")
114: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
115:   #set ($view = "gamelog")
116: #elseif ($checkView == "career" && $showCareer)
117:   #set ($view = "career")
118: #elseif ($checkView == "splits" && $statsURL.length() > 0)
119:   #set ($view = "splits")
120: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
121:   #set ($view = "htmlstats")
122: #elseif ($checkView == "news" && $releases.size() > 0)
123:   #set ($view = "news")
124: #elseif ($checkView == "photos" && $playerPhotos.size() > 0)
125:   #set ($view = "photos")
126: #elseif ($checkView == "videos" && $playerVideos.size() > 0)
127:     #set ($view = "videos")
128: #end
129: 
130: #macro (printResultAriaLabel $event)
131:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
132:     #if ($event.neutralSite.length() > 0 || $event.home)
133:     	#set ($ariaLabel = "${ariaLabel} vs.")
134:     #else
135:     	#set ($ariaLabel = "${ariaLabel} at")
136:     #end
137:     #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
138:     #if ($event.neutralSite.length() > 0)
139:     	#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
140:     #end
141:     #set ($ariaLabel = "${ariaLabel} Box Score")
142:     aria-label="$ariaLabel"
143: #end
144: 
145: #macro (printGrid $items $type)
146: <div class="news-layout grid">
147:     <div class="stories">
148:         <ul>
149:         #foreach ($item in $items)
150:             #if ($item.title.length() > 0)
151: 
152:                 <li class="story ${type}">
153:                 	<div class="clearfix">
154:                 	<a href="$item.url" class="title-box">
155:                         <span class="thumb">
156:                         #if ($item.thumbnailURL)
157:                         	<img src="$website.cdn("/info/images/spacer.gif")" data-src="${item.thumbnailURL}?max_width=300" alt="" class="lazyload" />
158: 						#elseif ($item.contentType == "loki/youtube")
159: 							<img src="$website.cdn("/info/images/spacer.gif")" data-src="http://img.youtube.com/vi/${item.dataAsString}/0.jpg" alt="" class="lazyload" />
160:                         #else
161:                         	<img src="$website.cdn("/info/images/spacer.gif")" data-src="/images/setup/thumbnail_default.jpg?max_width=300" alt="" class="lazyload" />
162:                         #end
163:                         </span>
164:                 		<span class="title">$item.title</span>
165:                 	</a>
166:                 	</div>
167:                 </li>
168:             #end
169:         #end ## foreach
170:         </ul>
171:     </div>
172: </div>
173: #end ## ends macro
174: 
175: #macro (gamelogData $p)
176: 
177: #set ($p = $positions.get($p))
178: #set ($gamelogs = $gamelogs.get($p))
179: 
180: #if ($hasEvents)
181: <div class="stats-box full clearfix">
182: <div class="scrollable">
183: <div>
184: <table>
185:   <tr class="thead">
186:     <th class="text">Date</th>
187:     <th class="pinned-col text">Opponent</th>
188:     <th>Score</th>
189:     #foreach ($gamelog in $gamelogs)
190:       <th>$gamelog</th>
191:     #end
192:   </tr>
193: #foreach ($event in $events)
194:   <tr>
195:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
196:     <td class="pinned-col text">
197:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
198:       $event.event.opponent.name
199:     </td>
200:     <td>
201:     #if ($event.event.statusCode >= 0)
202:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
203:           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
204:       #else
205:       ${event.event.APResult}
206:       #end
207:     #else &nbsp; #end
208:     </td>
209:     #foreach ($gamelog in $gamelogs.keySet())
210:       #set ($value = "-")
211:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
212:       <td>$value</td>
213:     #end
214:   </tr>
215: #end
216: </table>
217: </div>
218: </div> ## scrollable
219: </div> ## stats-box
220: #end
221: 
222: #end ## macro gamelogData
223: 
224: #macro (split $statPosBriefs $label $stats)
225:   <tr>
226:     <td class="pinned-col text">${label}</td>
227:     #foreach ($brief in $statPosBriefs.keySet())
228:       #set ($value = "-")
229:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
230:       <td>#if ($value.length() > 0) $value #else - #end</td>
231:     #end
232:   </tr>
233: #end
234: 
235: #macro (careerData $p)
236: #set ($p = $positions.get($p))
237: #set ($statPosBriefs = $briefs.get($p))
238: 
239: <div class="stats-box full clearfix">
240: <div class="scrollable">
241: <div>
242: <table>
243: <tr class="thead">
244:   <th class="pinned-col">&nbsp;</th>
245:   #foreach ($brief in $statPosBriefs)
246:     <th>$brief</th>
247:   #end
248: </tr>
249: 
250: #set ($careerTotals = $request.getAttribute("careerTotals"))
251: #set ($careerMap = $request.getAttribute("careerMap"))
252: 
253: #foreach ($season in $seasons)
254:   ## Check if we did not get stats for this season
255:   #if ($careerMap.get($season.seasonName))
256:     #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
257:     #split($statPosBriefs, $label, $careerMap[$season.seasonName])
258:   #elseif ($wiki.valid())
259:     <tr>
260:       <td class="text">${season.seasonName}</td>
261:       <td colspan="${statPosBriefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
262:     </tr>
263:   #end
264: #end
265: 
266: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
267: 
268: </table>
269: </div>
270: </div> ## scrollable
271: </div> ## stats-box
272: 
273: #end ## macro careerData
274: 
275: #macro (splitsData $p)
276: 
277: #set ($p = $positions.get($p))
278: #set ($statPosBriefs = $briefs.get($p))
279: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))
280: 
281: #if ($statPosBriefs.size() > 0)
282: <div class="stats-box full clearfix">
283: <div class="scrollable">
284: <div>
285: <table>
286:   <tr>
287:     <th class="pinned-col">&nbsp;</th>
288:     #foreach ($brief in $statPosBriefs)
289:       <th>$brief</th>
290:     #end
291:   </tr>
292: 
293: #split($statPosBriefs, "Total", $splits.overall)
294: #split($statPosBriefs, "Conference", $splits.conference)
295: #split($statPosBriefs, "Exhibition", $splits.exhibition)
296: 
297: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
298: 
299: #split($statPosBriefs, "Home", $splits.home)
300: #split($statPosBriefs, "Away", $splits.away)
301: #split($statPosBriefs, "Neutral", $splits.neutral)
302: 
303: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
304: 
305: #foreach($gameResult in $gamesResults.entrySet())
306:   #if ($gameResult.key == "wins")
307:     #set ($splitGameResult = $splits.inWins)
308:   #elseif ($gameResult.key == "losses")
309:     #set ($splitGameResult = $splits.inLosses)
310:   #elseif ($gameResult.key == "ties")
311:     #set ($splitGameResult = $splits.inTies)
312:   #end
313: 
314:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
315: #end
316: 
317: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
318: 
319: #if ($monthsPlayed and $monthsPlayed.size() > 0)
320:   #foreach($month in $monthsPlayed)
321:     #if ($month == 'January')
322:       #set ($splitMonth = $splits.january)
323:     #elseif ($month == 'February')
324:       #set ($splitMonth = $splits.february)
325:     #elseif ($month == 'March')
326:       #set($splitMonth = $splits.march)
327:     #elseif ($month == 'April')
328:       #set($splitMonth = $splits.april)
329:     #elseif ($month == 'May')
330:       #set ($splitMonth = $splits.may)
331:     #elseif ($month == 'June')
332:       #set ($splitMonth = $splits.june)
333:     #elseif ($month == 'July')
334:       #set($splitMonth = $splits.july)
335:     #elseif ($month == 'August')
336:       #set ($splitMonth = $splits.august)
337:     #elseif ($month == 'September')
338:       #set($splitMonth = $splits.september)
339:     #elseif ($month == 'October')
340:       #set($splitMonth = $splits.october)
341:     #elseif ($month == 'November')
342:       #set ($splitMonth = $splits.november)
343:     #elseif ($month == 'December')
344:       #set($splitMonth = $splits.december)
345:     #end
346: 
347:     #split($statPosBriefs, $month, $splitMonth)
348:   #end ## foreach
349: #end
350: </table>
351: </div>
352: </div> ## scrollable
353: </div> ## srollable-table
354: #end
355: 
356: #end ## macro splitsData
357: 
358: #macro (printRecentGames)
359: #if ($hasEvents)
360: <table>
361:   <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
362: 
363: #set ($eventEnd = -1)
364: #foreach ($event in $events)
365:   #if ($event.event.result.resolved)
366:     #set ($eventEnd = $velocityCount)
367:   #end
368: #end
369: 
370: #set ($eventStart = $eventEnd - 5)
371: #if ($eventStart < 0) #set ($eventStart = 0) #end
372: 
373: #foreach ($event in $events)
374: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
375:   <tr>
376:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
377:     <td class="text">
378:       #if ($event.event.neutralSite.length() > 0) vs.
379:       #elseif (!$event.event.home) at
380:       #else ## nothing for a home game
381:       #end
382:       $event.event.opponent.name
383:     </td>
384:     <td class="text">
385:     #if ($event.event.statusCode >= 0)
386:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
387:           <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
388:       #else
389:       ${event.event.APResult}
390:       #end
391: 	#end
392: 	</td>
393:   </tr>
394: #end ## if
395: #end
396: </table>
397: #end
398: #end ## macro printRecentGames
399: 
400: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
401: 
402: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
403: <div class="tab-nav" data-module="jscroll" data-momentum="false">
404: <div>
405: <ul class="clearfix">
406: #foreach($briefCat in $briefCategoryLabels.entrySet())
407:   #set ($briefCatLabel = $briefCat.value)
408:   #set ($briefCatKey = $briefCat.key)
409: 
410:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
411:     #set ($briefCatLabel = "Defence")
412:   #end
413: 
414:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="button" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
415: #end
416: </ul>
417: </div>
418: </div>
419: <div class="tab-panels">
420: #foreach ($briefCat in $briefCategoryLabels.entrySet())
421:   #set ($class = "tab-panel clearfix")
422:   #if ($briefCat.key == $activePos)
423:     #set ($class = "tab-panel active clearfix")
424:   #end
425:   <div class="$class">
426:     <div class="stats-wrap clearfix">
427:     #if ($v == "splits")
428:       #splitsData($briefCat.key)
429:     #elseif ($v == "career")
430:       #careerData($briefCat.key)
431:     #end
432:     </div>
433:   </div>
434: #end
435: </div>
436: </div> ## tab-container
437: 
438: #end ## macro printCategories
439: 
440: #macro (printHeadshot)
441: #if ($enhancedLayout)
442: 
443:   #if ($headshot.url)
444:     <img src="$headshot.url?max_width=300&max_height=400" alt="$fullName" />
445:   #else
446:     #if ($website.exists("/images/setup/headshot_default.jpg"))
447:       <img src="/images/setup/headshot_default.jpg?max_width=300&max_height=400" alt="$fullName" />
448:     #else
449:       <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=300&max_height=400")" alt="$fullName" />
450:     #end
451:   #end
452: 
453: #else
454: 
455:   #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span>#end
456: 
457:   #if ($headshot.url)
458:     <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" />
459:   #else
460:     #if ($website.exists("/images/setup/headshot_default.jpg"))
461:       <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="" />
462:     #else
463:       <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=160&max_height=210")" alt="" />
464:     #end
465:   #end
466: 
467: #end ## ## enhancedLayout check
468: #end ## macro printHeadshot
469: 
470: #macro (printBioInfo)
471: #if ($enhancedLayout)
472: 
473: <h2 class="player-heading">
474:   #if ($!attributes.get("number").length() > 0)<span class="number accent-bg">$!attributes.get("number")</span>#end
475:   <span class="name">$fullName</span>
476: </h2>
477: 
478: <ul>
479: #foreach ($i in [1..10])
480:   #set ($stickyKey = "bio_custom${i}_sticky")
481:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
482:     <li>
483:       <dl>
484:         <dt class="label">$options.get($stickyKey): </dt>
485:         <dd class="value">$!attributes.get("custom${i}")</dd>
486:       </dl>
487:     </li>
488:   #end
489: #end
490: 
491: #foreach ($field in $fields)
492:   #if (!$field.key.startsWith("custom"))
493:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
494:       #if ($field.key == "phone1" || $field.key == "phone2")
495:         <li>
496:           <dl>
497:             <dt class="label">Phone: </dt>
498:             <dd class="value">$!attributes.get($field.key)</dd>
499:           </dl>
500:         </li>
501:       #elseif ($field.key == "email_address")
502:         #set ($emailAdd = $attributes.get($field.key))
503:         <li>
504:           <dl>
505:             <dt class="label">Email: </dt>
506:             <dd class="value"><a href="mailto:${emailAdd}">$emailAdd</a></dd>
507:           </dl>
508:         </li>
509:       #elseif ($field.key == "weight_class")
510:         <li>
511:           <dl>
512:             <dt class="label">Class: </dt>
513:             <dd class="value">$!attributes.get($field.key)</dd>
514:           </dl>
515:         </li>
516:       #elseif ($field.key != "position_abbr")
517:         <li>
518:           <dl>
519:             <dt class="label">$field.value: </dt>
520:             <dd class="value">$!attributes.get($field.key)</dd>
521:           </dl>
522:         </li>
523:       #end
524:     #end
525:   #end
526: #end
527: 
528: #foreach ($i in [1..10])
529:   #set ($customKey = "bio_custom${i}")
530:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
531:     <li>
532:       <dl>
533:         <dt class="label">$options.get($customKey): </dt>
534:         <dd class="value">$!attributes.get("custom${i}")</dd>
535:       </dl>
536:     </li>
537:   #end
538: #end
539: </ul>
540: 
541: #else
542: ## default layout
543: 
544: <div class="player-name">
545:   #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span><span class="sep"> - </span>#end
546:   <span class="name">$fullName</span>
547: </div>
548: 
549: <table role="presentation">
550: #foreach ($i in [1..10])
551:   #set ($stickyKey = "bio_custom${i}_sticky")
552:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
553:     <tr>
554:       <td class="label">$options.get($stickyKey): </td>
555:       <td class="value">$!attributes.get("custom${i}")</td>
556:     </tr>
557:   #end
558: #end
559: 
560: #foreach ($field in $fields)
561:   #if (!$field.key.startsWith("custom"))
562:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
563:       #if ($field.key == "phone1" || $field.key == "phone2")
564:         <tr>
565:           <td class="label">Phone: </td>
566:           <td class="value">$!attributes.get($field.key)</td>
567:         </tr>
568:       #elseif ($field.key == "email_address")
569:         #set ($emailAdd = $attributes.get($field.key))
570:         <tr>
571:           <td class="label">Email: </td>
572:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
573:         </tr>
574:       #elseif ($field.key == "weight_class")
575:         <tr>
576:           <td class="label">Class: </td>
577:           <td class="value">$!attributes.get($field.key)</td>
578:         </tr>
579:       #elseif ($field.key != "position_abbr")
580:         <tr>
581:           <td class="label">$field.value: </td>
582:           <td class="value">$!attributes.get($field.key)</td>
583:         </tr>
584:       #end
585:     #end
586:   #end
587: #end
588: 
589: #foreach ($i in [1..10])
590:   #set ($customKey = "bio_custom${i}")
591:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
592:     <tr>
593:       <td class="label">$options.get($customKey): </td>
594:       <td class="value">$!attributes.get("custom${i}")</td>
595:     </tr>
596:   #end
597: #end
598: </table>
599: #end ## enhancedLayout check
600: #end ## macro printBioInfo
601: 
602: #macro (printActionShots)
603: #if ($showActionShots)
604: 	## BANNERS SLIDER
605:     #set ($slickSettings = {
606: 		"autoplay": true,
607:         "fade": true,
608:         "arrows": false,
609:         "slidesToShow": 1,
610:         "slidesToScroll": 1,
611:         "lazyLoad": "ondemand",
612:         "responsive": "none"
613:     })
614:     #set ($slickSettings = $slickSettings.toString().replace("=", ":"))
615:     <div class="action-shots clearfix">
616:         <div class="slider" data-module="slick-slider-init" data-slick-settings="$slickSettings">
617:             #foreach ($photo in $playerPhotos)
618: 				#if ($velocityCount <= $actionShotsLimit)
619:     				#set ($imgAlt = "")
620:     				#if (!$image.altText.equals($image.title))
621:     					#set ($imgAlt = $image.altText)
622:     				#elseif( $image.title.length() == 0 )
623:     					#set ($imgAlt = "Action shot for $page.title image $velocityCount")
624:     				#end
625:             		<div class="image">
626:             			<img data-lazy="$photo.url" alt="$imgAlt" />
627:             	    </div>
628: 				#end
629:     	    #end
630: 	    </div>
631:     </div>
632: #end
633: #end ## macro printActionShots
634: 
635: #macro (printHighlights)
636: #if ($highlights && $showHighlights)
637:   <div class="highlights #if ($enhancedLayout) highlights-bio-enhanced #else highlights-bio #end clearfix">
638:     #foreach ($highlight in $highlights.keySet())
639:       #set ($value = "-")
640:       #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
641:       <div class="stat clearfix">
642:         <span class="stat-title">$!highlights.get($highlight)</span>
643:         <span class="stat-value">$value</span>
644:       </div>
645:     #end
646:   </div>
647: #end
648: #end ## macro printHighlights
649: #macro (printRoster)
650: #if ($enhancedLayout)
651:   $website.includeAgain("${page.url}?tmpl=roster-switcher-template&id=roster-list")
652: #else
653: #if ($page.contentType == "loki/bio")
654:   #set ($headlinesFeaturedSize = 0)
655:   #foreach ($featuredPage in $page.headlinesFeatured)
656:     #if ($featuredPage.contentType == "loki/headlines")
657:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
658:     #end
659:   #end
660:   #if ($headlinesFeaturedSize > 0)
661:       <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
662:         <option selected="selected">Related Bios</option>
663:         #foreach ($featuredPage in $page.headlinesFeatured)
664:           #if ($featuredPage.contentType == "loki/headlines")
665:             $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
666: 		  #end
667: 	    #end
668:       </select>
669:   #end
670: #elseif ($page.contentType == "loki/bio-network")
671:   #set ($relatedPlayers = $page.sectionPage.children)
672:   #set ($teamNames = {})
673:   #foreach ($relatedPlayer in $relatedPlayers)
674:     #if ($relatedPlayer.contentType == "loki/bio-network")
675:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
676:       #set ($teamName = $relatedPlayerObj.get("team"))
677:       #if ($teamName.length() > 0)
678:         #if (!$teamNames.containsValue($teamName))
679:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
680:         #end
681:       #end
682:     #end
683:   #end
684: 
685:   <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
686:   #foreach ($i in [1..$teamNames.size()])
687:     #if ($teamNames.size() > 1)
688:       <optgroup label="$teamNames.get($i)">
689:     #end
690: 
691:     #foreach ($relatedPlayer in $relatedPlayers)
692:       #if ($relatedPlayer.contentType == "loki/bio-network")
693:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
694:         #set ($teamName = $relatedPlayerObj.get("team"))
695:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
696:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
697:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
698:           #if ($page.url == $relatedPlayer.url)
699:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
700:           #else
701:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
702:           #end
703:         #end
704:       #end
705:     #end
706: 
707:     #if ($teamNames.size() > 1)
708:       </optgroup>
709:     #end
710:   #end
711:   </select>
712: #end
713: #end ## enhancedLayout check
714: #end ## macro printRoster
715: 
716: ################################################## END MACROS  #############################################################
717: 
718: #if ($attributes.get("full_name").length() > 0)
719:   #set ($fullName = $attributes.get("full_name"))
720: #else
721:   #set ($firstName = $!attributes.get("first_name"))
722:   #set ($lastName = $!attributes.get("last_name"))
723:   #set ($fullName = "${firstName} ${lastName}")
724: #end
725: 
726: #set ($actionShots = false)
727: #if ($enhancedLayout && $playerPhotos.size() > 0)
728:   #set ($actionShots = true)
729: #end
730: 
731: #if ($enhancedLayout)
732:   #set ($rootClass = "bio-enhanced")
733:   #if ($actionShots && $showActionShots)
734:   	#set ($rootClass = "${rootClass} action")
735:   #else
736:   	#set ($rootClass = "${rootClass} plain")
737:   #end
738: #else
739:   #set ($rootClass = "bio-wrap")
740: #end
741: 
742: ## FULL ROSTER
743: <div class="${rootClass} #if ($highlights) bio-wrap-has-highlights #end clearfix" data-module="stats/responsive-container">
744: 
745: ## RELATED BIOS
746: #if ($showRoster)
747:   <div class="related-bios clearfix">#printRoster</div>
748: #end
749: 
750: #if ($actionShots)
751:   #printActionShots
752: #end
753: 
754: <div class="head clearfix">
755: <div class="clearfix">
756: 
757: <div class="player-about clearfix">
758:   <div class="player-headshot">#printHeadshot</div>
759:   <div class="player-info">#printBioInfo</div>
760: </div>
761: 
762: #printHighlights
763: 
764: </div>
765: </div> ## head
766: 
767: #if ($view.length() > 0)
768: <div class="body clearfix">
769: 
770: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
771: <div class="tab-nav" data-module="jscroll" data-momentum="false">
772:   <div>
773:   <ul class="clearfix">
774:   #if ($hasSynopsis || $hasBioBrief)
775:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
776:   #end
777: 
778:   #if ($statsURL.length() > 0)
779:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
780:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
781:     #if ($showCareer)
782:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
783:     #end
784:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
785:   #end
786: 
787:   #if ($hasHTMLStats)
788:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
789:   #end
790: 
791:   #if ($releases.size() > 0)
792: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
793:   #end
794: 
795:   #if ($playerPhotos.size() > 0)
796: 	<li #if ($view == "photos") class="active" #end><a href="${page.url}?view=photos">Photos</a></li>
797:   #end
798: 
799:   #if ($playerVideos.size() > 0)
800:     <li #if ($view == "videos") class="active" #end><a href="${page.url}?view=videos">Videos</a></li>
801:   #end
802:   </ul>
803:   </div>
804: </div> ## tab-nav
805: 
806: <div class="tab-panels clearfix">
807: 
808: ## BIO
809: #if ($hasSynopsis || $hasBioBrief)
810: 
811: #set ($class = "tab-panel clearfix")
812: #if ($view == "bio")
813:   #set ($class = "tab-panel active clearfix")
814: #end
815: <div class="${class}">
816: 
817: <div class="synopsis clearfix">
818: #if ($hasSynopsis)
819:   $synopsis
820: #elseif ($hasBioBrief)
821:   $website.include("$bioBriefURL")
822: #end
823: </div>
824: 
825: </div> ## tab-panel
826: #end
827: ## BIO
828: 
829: ## STATS
830: #if ($statsURL.length() > 0)
831: 
832: ## PROFILE
833: #set ($class = "tab-panel clearfix")
834: #if ($view == "profile")
835:   #set ($class = "tab-panel active clearfix")
836: #end
837: <div class="${class}">
838: <div class="stats-wrap clearfix">
839: 
840: ## LAST SIX GAMES
841: <div class="stats-box half">
842: #printRecentGames()
843: </div>
844: 
845: ## RANKING
846: <div class="stats-box half">
847: #if ($statPos.length() > 0)
848:   $website.include("players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
849: #end
850: </div>
851: 
852: </div> ## stats-wrap
853: </div> ## tab-content
854: ## PROFILE
855: 
856: ## GAMELOG
857: #set ($class = "tab-panel clearfix")
858: #if ($view == "gamelog")
859:   #set ($class = "tab-panel active clearfix")
860: #end
861: 
862: #set ($activePos = $statPos)
863: #if ($view == "gamelog" && $paramPos.length() > 0)
864:   #if ($positions.get($paramPos).length() > 0)
865:     #set ($activePos = $positions.get($paramPos))
866:   #end
867: #end
868: 
869: <div class="${class}">
870: 
871: #if ($gamelogsCategoriesLabels)
872: <div class="tab-container clearfix secondary" data-module="stats/tabs" data-type="secondary">
873:   <div class="tab-nav" data-module="jscroll" data-momentum="false">
874:     <div>
875:     <ul class="clearfix">
876:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
877:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
878: 
879:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
880:         #set($gamelogsCatLabelVal = "Defence")
881:       #end
882: 
883:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="button" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a></li>
884:     #end
885:     </ul>
886: 	</div>
887:   </div>
888:   <div class="tab-panels">
889:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
890:     #set ($class = "tab-panel clearfix")
891:     #if ($gamelogsCatLabel.key == $activePos)
892:       #set ($class = "tab-panel active clearfix")
893:     #end
894:     <div class="${class}">
895:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
896: 	</div>
897:   #end
898:   </div>
899: </div>
900: #else
901:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
902: #end
903: 
904: </div> ## tab-panel
905: ## GAMELOG
906: 
907: 
908: ## CAREER
909: #if ($showCareer)
910: 
911: #set ($activePos = $statPos)
912: #if ($view == "career" && $paramPos.length() > 0)
913:   #if ($positions.get($paramPos).length() > 0)
914:     #set ($activePos = $positions.get($paramPos))
915:   #end
916: #end
917: 
918: #set ($class = "tab-panel clearfix")
919: #if ($view == "career")
920:   #set ($class = "tab-panel active clearfix")
921: #end
922: 
923: <div class="${class}">
924: 
925: #if ($briefsCategoriesLabels)
926:   #printCategories($briefsCategoriesLabels "career" "Career Stats")
927: #else
928:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
929: #end
930: 
931: </div> ## tab-panel
932: #end
933: ## CAREER
934: 
935: ## SPLITS
936: #set ($class = "tab-panel clearfix")
937: #if ($view == "splits")
938: 	#set ($class = "tab-panel active clearfix")
939: #end
940: 
941: #set ($activePos = $statPos)
942: #if ($view == "splits" && $paramPos.length() > 0)
943:   #if ($positions.get($paramPos).length() > 0)
944:     #set ($activePos = $positions.get($paramPos))
945:   #end
946: #end
947: 
948: <div class="${class}">
949: 
950: #if ($briefsCategoriesLabels)
951:   #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
952: #else
953:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
954: #end
955: 
956: </div> ## tab-panel
957: ## SPLITS
958: 
959: #end
960: ## STATS
961: 
962: ## HTML STATS
963: #if ($hasHTMLStats)
964: 
965: #set ($class = "tab-panel clearfix")
966: #if ($view == "htmlstats")
967:   #set ($class = "tab-panel active clearfix")
968: #end
969: <div class="${class}">
970:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
971: </div>
972: 
973: #end
974: ## HTML STATS
975: 
976: ## NEWS
977: #if ($releases.size() > 0)
978: #set ($class = "tab-panel clearfix")
979: #if ($view == "news")
980:   #set ($class = "tab-panel active clearfix")
981: #end
982: <div class="${class}">
983: 	#printGrid($releases, "article")
984: </div> ## tab-content
985: #end
986: ## NEWS
987: 
988: ## PHOTOS
989: #if ($playerPhotos.size() > 0)
990: #set ($class = "tab-panel clearfix")
991: #if ($view == "photos")
992:   #set ($class = "tab-panel active clearfix")
993: #end
994: <div class="${class}">
995:     $website.includeAgain("${page.url}?tmpl=bio-photos-template")
996: </div> ## tab-content
997: #end
998: ## PHOTOS
999: 
1000: ## VIDEOS
1001: #if ($playerVideos.size() > 0)
1002:   #set ($class = "tab-panel clearfix")
1003:   #if ($view == "videos")
1004:     #set ($class = "tab-panel active clearfix")
1005:   #end
1006: <div class="${class}">
1007: 	#printGrid($playerVideos, "video")
1008: </div> ## tab-content
1009: #end
1010: ## VIDEOS
1011: 
1012: </div> ## tab-panels
1013: </div> ## tab-container
1014: </div> ## body
1015: #end
1016: 
1017: $wiki
1018: </div> ## ends bio-wrap
1019: 
1020: ## GLOBAL ADS SERVER
1021: #if ($website.ads.isAdvertisingEnabled('BIOS'))
1022:         $website.includeAgain("global-adserver-slots?adSlot=bios")
1023: #end