#TTUPurplePride Tennessee Tech Logo
 
10 Catherine Taylor
10 Catherine Taylor
Height: 5-9
Year: Freshman
Hometown: Arrington, Tenn.
High School: Page
Position: Guard
gp 30
pts/g 4.6
fg % 36.3
3pt % 30.8
ft % 76.0
reb/g 1.9
a/g 0.9

High School: Playing under coach William Mooney at Fred J. Page High School, Catherine Taylor emerged as a promising shooting guard…Taylor averaged 15 points and five rebounds during her senior season, while helping lead her team to a 29-4 record… Taylor was named to the 2010 all-season team, the all-tournament team for the TSSAA 12AA district…in 2012, she earned all-season team honors, all-district team honors, district tournament MVP, and region 6AA all-region honors… during the 2013 season she earned all-season MVP, all-tournament team, and 6AA all region team.  

Personal: Catherine Burton Taylor is the daughter of Michael and Cindy Taylor...Taylor was born on March 9, 1995 and plans on majoring in Pre-Physical Therapy. 

Recent Games
Feb 15 Morehead State W, 71-58
Feb 17 Eastern Kentucky L, 74-70
Feb 24 Southeast Missouri W, 63-61
Feb 27 at Eastern Kentucky W, 76-74
Mar 1 at Morehead State L, 81-74
Mar 6 vs. Jacksonville State L, 57-56
Statistics category Overall Conf
Games 30 16
Games started 7 5
Minutes 483 246
Minutes per game 16.1 15.4
FG 49-135 22-66
FG Pct 36.3 33.3
3PT 20-65 8-32
3PT Pct 30.8 25.0
FT 19-25 11-15
FT Pct 76.0 73.3
Off rebounds 9 2
Def rebounds 47 28
Total rebounds 56 30
Rebounds per game 1.9 1.9
Personal fouls 64 33
Disqualifications 0 0
Assists 26 15
Turnovers 55 26
Assist to turnover ratio 0.5 0.6
Steals 11 5
Blocks 3 2
Points 137 63
Points per game 4.6 3.9
Points per 40 min 11.3 10.2
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 5 Truett-McConnell W, 93-54 - 10 3-5 60.0 0-2 0.0 4-4 100.0 10
Nov 9 Tenn. Wesleyan W, 94-41 1 17 2-7 28.6 1-4 25.0 1-2 50.0 6
Nov 12 at Akron L, 118-71 - 14 1-7 14.3 0-3 0.0 2-3 66.7 4
Nov 21 at Mississippi St. L, 90-45 - 22 1-6 16.7 0-1 0.0 2-2 100.0 4
Nov 24 Valparaiso W, 84-78 - 9 3-4 75.0 2-2 100.0 0-0 - 8
Nov 29 vs. Marquette L, 84-64 - 16 1-6 16.7 0-4 0.0 0-0 - 2
Nov 30 vs. Ball St. L, 76-64 - 13 3-6 50.0 3-5 60.0 0-0 - 9
Dec 5 at Alcorn St. W, 66-38 1 17 1-3 33.3 0-1 0.0 0-0 - 2
Dec 7 at South Alabama L, 66-58 - 20 3-5 60.0 0-1 0.0 0-0 - 6
Dec 14 Memphis L, 78-76 - 7 1-1 100.0 0-0 - 0-0 - 2
Dec 16 Florida Int'l L, 70-65 - 12 0-3 0.0 0-1 0.0 0-0 - 0
Dec 18 at Arkansas St. L, 90-75 - 28 4-8 50.0 1-2 50.0 1-1 100.0 10
Dec 20 at Arkansas L, 79-53 - 20 1-3 33.3 1-2 50.0 0-0 - 3
Dec 28 Jacksonville State W, 72-67 1 8 0-0 - 0-0 - 0-0 - 0
Jan 2 at Middle Tennessee L, 84-53 - 20 4-7 57.1 2-4 50.0 0-0 - 10
Jan 4 at Belmont L, 62-53 - 17 0-3 0.0 0-3 0.0 0-0 - 0
Jan 11 SIUE W, 72-66 - 11 2-6 33.3 1-4 25.0 0-0 - 5
Jan 13 Eastern Illinois W, 64-54 - 4 0-0 - 0-0 - 0-0 - 0
Jan 16 at Tennessee State W, 77-68 - 17 3-5 60.0 1-2 50.0 2-3 66.7 9
Jan 20 at UT Martin L, 102-78 - 20 4-9 44.4 1-4 25.0 0-0 - 9
Jan 25 at Austin Peay L, 79-70 - 9 1-3 33.3 1-3 33.3 2-2 100.0 5
Jan 27 at Murray State W, 81-65 1 20 3-5 60.0 1-1 100.0 0-0 - 7
Feb 1 Belmont L, 69-56 1 17 2-6 33.3 1-4 25.0 3-4 75.0 8
Feb 3 Tennessee State W, 79-75 - 18 3-6 50.0 0-1 0.0 0-0 - 6
Feb 8 at Jacksonville State L, 74-67 - 26 0-3 0.0 0-2 0.0 0-0 - 0
Feb 15 Morehead State W, 71-58 1 19 0-1 0.0 0-1 0.0 4-4 100.0 4
Feb 17 Eastern Kentucky L, 74-70 1 15 0-6 0.0 0-2 0.0 0-0 - 0
Feb 24 Southeast Missouri W, 63-61 - 16 0-3 0.0 0-1 0.0 0-0 - 0
Feb 27 at Eastern Kentucky W, 76-74 - 13 1-2 50.0 1-2 50.0 0-2 0.0 3
Mar 1 at Morehead State L, 81-74 - 16 3-8 37.5 1-2 50.0 0-0 - 7
Mar 6 vs. Jacksonville State L, 57-56 - 22 2-3 66.7 2-3 66.7 2-2 100.0 8
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 5 Truett-McConnell W, 93-54 - 10 0 0 0 3 1 3.0 0 0 1 0
Nov 9 Tenn. Wesleyan W, 94-41 1 17 0 5 5 1 1 1.0 1 0 2 0
Nov 12 at Akron L, 118-71 - 14 0 0 0 1 2 0.5 0 0 1 0
Nov 21 at Mississippi St. L, 90-45 - 22 1 2 3 0 4 0.0 0 0 1 0
Nov 24 Valparaiso W, 84-78 - 9 0 1 1 0 2 0.0 1 0 3 0
Nov 29 vs. Marquette L, 84-64 - 16 0 0 0 2 1 2.0 0 0 1 0
Nov 30 vs. Ball St. L, 76-64 - 13 0 0 0 1 4 0.3 1 0 1 0
Dec 5 at Alcorn St. W, 66-38 1 17 2 0 2 0 1 0.0 0 0 4 0
Dec 7 at South Alabama L, 66-58 - 20 2 3 5 1 2 0.5 0 1 2 0
Dec 14 Memphis L, 78-76 - 7 0 2 2 1 4 0.3 0 0 1 0
Dec 16 Florida Int'l L, 70-65 - 12 0 0 0 1 0 - 0 0 2 0
Dec 18 at Arkansas St. L, 90-75 - 28 1 4 5 1 2 0.5 2 0 4 0
Dec 20 at Arkansas L, 79-53 - 20 1 2 3 1 3 0.3 0 0 3 0
Dec 28 Jacksonville State W, 72-67 1 8 0 1 1 0 1 0.0 0 0 4 0
Jan 2 at Middle Tennessee L, 84-53 - 20 0 0 0 0 2 0.0 0 0 3 0
Jan 4 at Belmont L, 62-53 - 17 0 3 3 0 1 0.0 0 0 2 0
Jan 11 SIUE W, 72-66 - 11 0 1 1 0 3 0.0 1 0 1 0
Jan 13 Eastern Illinois W, 64-54 - 4 0 0 0 0 0 - 0 0 1 0
Jan 16 at Tennessee State W, 77-68 - 17 0 3 3 0 4 0.0 1 0 3 0
Jan 20 at UT Martin L, 102-78 - 20 0 2 2 1 1 1.0 0 0 3 0
Jan 25 at Austin Peay L, 79-70 - 9 1 2 3 0 0 - 0 0 1 0
Jan 27 at Murray State W, 81-65 1 20 1 1 2 1 2 0.5 0 0 3 0
Feb 1 Belmont L, 69-56 1 17 0 0 0 0 2 0.0 0 1 2 0
Feb 3 Tennessee State W, 79-75 - 18 0 5 5 4 2 2.0 0 0 1 0
Feb 8 at Jacksonville State L, 74-67 - 26 0 4 4 3 2 1.5 1 0 2 0
Feb 15 Morehead State W, 71-58 1 19 0 2 2 2 2 1.0 1 0 3 0
Feb 17 Eastern Kentucky L, 74-70 1 15 0 0 0 0 2 0.0 0 0 1 0
Feb 24 Southeast Missouri W, 63-61 - 16 0 2 2 1 1 1.0 0 0 2 0
Feb 27 at Eastern Kentucky W, 76-74 - 13 0 1 1 2 1 2.0 1 1 1 0
Mar 1 at Morehead State L, 81-74 - 16 0 1 1 1 2 0.5 0 0 3 0
Mar 6 vs. Jacksonville State L, 57-56 - 22 0 0 0 1 1 1.0 1 0 3 0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 30 7 16.1 1.6-4.5 36.3 0.7-2.2 30.8 0.6-0.8 76.0 4.6
Conference 16 5 15.4 1.4-4.1 33.3 0.5-2.0 25.0 0.7-0.9 73.3 3.9
Exhibition 1 - 10.0 3.0-5.0 60.0 0.0-2.0 0.0 4.0-4.0 100.0 10.0

Home 12 5 12.8 1.1-3.6 30.2 0.4-1.7 25.0 0.7-0.8 80.0 3.3
Away 15 2 18.6 2.0-5.1 39.0 0.7-2.2 30.3 0.6-0.9 69.2 5.3
Neutral 3 - 17.0 2.0-5.0 40.0 1.7-4.0 41.7 0.7-0.7 100.0 6.3

Wins 12 5 14.1 1.5-3.5 42.9 0.6-1.6 36.8 0.6-0.9 63.6 4.2
Losses 18 2 17.4 1.7-5.2 33.3 0.7-2.6 28.3 0.7-0.8 85.7 4.8

  gp gs min fg pct 3pt pct ft pct pts
Total 30 7 483 49-135 36.3 20-65 30.8 19-25 76.0 137
Conference 16 5 246 22-66 33.3 8-32 25.0 11-15 73.3 63
Exhibition 1 - 10 3-5 60.0 0-2 0.0 4-4 100.0 10

Home 12 5 153 13-43 30.2 5-20 25.0 8-10 80.0 39
Away 15 2 279 30-77 39.0 10-33 30.3 9-13 69.2 79
Neutral 3 - 51 6-15 40.0 5-12 41.7 2-2 100.0 19

Wins 12 5 169 18-42 42.9 7-19 36.8 7-11 63.6 50
Losses 18 2 314 31-93 33.3 13-46 28.3 12-14 85.7 87

  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
Total 30 7 16.1 4.1-11.2 36.3 1.7-5.4 30.8 1.6-2.1 76.0 11.3
Conference 16 5 15.4 3.6-10.7 33.3 1.3-5.2 25.0 1.8-2.4 73.3 10.2
Exhibition 1 - 10.0 12.0-20.0 60.0 0.0-8.0 0.0 16.0-16.0 100.0 40.0

Home 12 5 12.8 3.4-11.2 30.2 1.3-5.2 25.0 2.1-2.6 80.0 10.2
Away 15 2 18.6 4.3-11.0 39.0 1.4-4.7 30.3 1.3-1.9 69.2 11.3
Neutral 3 - 17.0 4.7-11.8 40.0 3.9-9.4 41.7 1.6-1.6 100.0 14.9

Wins 12 5 14.1 4.3-9.9 42.9 1.7-4.5 36.8 1.7-2.6 63.6 11.8
Losses 18 2 17.4 3.9-11.8 33.3 1.7-5.9 28.3 1.5-1.8 85.7 11.1

  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
Total 30 7 16.1 0.3 1.6 1.9 2.1 0.0 0.9 1.8 0.5 0.4 0.1
Conference 16 5 15.4 0.1 1.8 1.9 2.1 0.0 0.9 1.6 0.6 0.3 0.1
Exhibition 1 - 10.0 0.0 0.0 0.0 1.0 0.0 3.0 1.0 3.0 0.0 0.0

Home 12 5 12.8 0.0 1.6 1.6 1.9 0.0 0.8 1.7 0.5 0.3 0.1
Away 15 2 18.6 0.6 1.9 2.5 2.4 0.0 0.8 1.9 0.4 0.3 0.1
Neutral 3 - 17.0 0.0 0.0 0.0 1.7 0.0 1.3 2.0 0.7 0.7 0.0

Wins 12 5 14.1 0.3 1.8 2.1 2.3 0.0 0.9 1.7 0.6 0.5 0.1
Losses 18 2 17.4 0.3 1.4 1.7 2.0 0.0 0.8 1.9 0.4 0.3 0.1

  gp gs min off def reb pf dq ast to a/to stl blk
Total 30 7 483 9 47 56 64 0 26 55 0.5 11 3
Conference 16 5 246 2 28 30 33 0 15 26 0.6 5 2
Exhibition 1 - 10 0 0 0 1 0 3 1 3.0 0 0

Home 12 5 153 0 19 19 23 0 10 20 0.5 4 1
Away 15 2 279 9 28 37 36 0 12 29 0.4 5 2
Neutral 3 - 51 0 0 0 5 0 4 6 0.7 2 0

Wins 12 5 169 3 22 25 28 0 11 20 0.6 6 1
Losses 18 2 314 6 25 31 36 0 15 35 0.4 5 2

  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
Total 30 7 16.1 0.7 3.9 4.6 5.3 0.0 2.2 4.6 0.5 0.9 0.2
Conference 16 5 15.4 0.3 4.6 4.9 5.4 0.0 2.4 4.2 0.6 0.8 0.3
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too many arguments to macro. Wanted 3 got 4 at bio-template[line 167, column 1]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #elseif ($releases.size() > 0)
74:   #set ($view = "news")
75: #end
76: 
77: #if ($options.get("bio_default_view").length() > 0)
78:   #set ($checkView = $options.get("bio_default_view"))
79: #end
80: 
81: #if ($request.getParameter("view"))
82:   #set ($checkView = $request.getParameter("view"))
83: #end
84: 
85: #if ($checkView == "profile" && $statsURL.length() > 0)
86:   #set ($view = "profile")
87: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
88:   #set ($view = "bio")
89: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
90:   #set ($view = "gamelog")
91: #elseif ($checkView == "career" && $showCareer)
92:   #set ($view = "career")
93: #elseif ($checkView == "splits" && $statsURL.length() > 0)
94:   #set ($view = "splits")
95: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
96:   #set ($view = "htmlstats")
97: #elseif ($checkView == "news" && $releases.size() > 0)
98:   #set ($view = "news")
99: #end
100: 
101: #macro (gamelogData $p)
102: 
103: #set ($p = $positions.get($p))
104: #set ($gamelogs = $gamelogs.get($p))
105: 
106: #if ($hasEvents)
107: <div class="stats-box full clearfix">
108: <div class="scrollable">
109: <div>
110: <table>
111:   <tr class="thead">
112:     <th class="text">Date</th>
113:     <th class="pinned-col text">Opponent</th>
114:     <th>Score</th>
115:     #foreach ($gamelog in $gamelogs)
116:       <th>$gamelog</th>
117:     #end
118:   </tr>
119: #foreach ($event in $events)
120:   <tr>
121:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
122:     <td class="pinned-col text">
123:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
124:       $event.event.opponent.name
125:     </td>
126:     <td>
127:     #if ($event.event.statusCode >= 0)
128:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
129:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
130:       #else
131:       ${event.event.APResult}
132:       #end
133:     #else &nbsp; #end
134:     </td>
135:     #foreach ($gamelog in $gamelogs.keySet())
136:       #set ($value = "-")
137:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
138:       <td>$value</td>
139:     #end
140:   </tr>
141: #end
142: </table>
143: </div>
144: </div> ## scrollable
145: </div> ## stats-box
146: #end
147: 
148: #end ## macro gamelogData
149: 
150: #macro (split $statPosBriefs $label $stats)
151:   <tr>
152:     <td class="pinned-col text">${label}</td>
153:     #foreach ($brief in $statPosBriefs.keySet())
154:       #set ($value = "-")
155:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
156:       <td>#if ($value.length() > 0) $value #else - #end</td>
157:     #end
158:   </tr>
159: #end
160: 
161: #macro (careerData $p)
162: #set ($p = $positions.get($p))
163: #set ($statPosBriefs = $briefs.get($p))
164: 
165: <div class="stats-box full clearfix">
166: <div class="scrollable">
167: <div>
168: <table>
169: <tr class="thead">
170:   <th class="pinned-col">&nbsp;</th>
171:   #foreach ($brief in $statPosBriefs)
172:     <th>$brief</th>
173:   #end
174: </tr>
175: 
176: #set ($careerTotals = $request.getAttribute("careerTotals"))
177: #set ($careerMap = $request.getAttribute("careerMap"))
178: 
179: #foreach ($season in $seasons)
180:   ## Check if we did not get stats for this season
181:   #if ($careerMap.get($season.seasonName))
182:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
183:   #elseif ($wiki.valid())
184:     <tr>
185:       <td class="text">${season.seasonName}</td>
186:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
187:     </tr>
188:   #end
189: #end
190: 
191: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
192: 
193: </table>
194: </div>
195: </div> ## scrollable
196: </div> ## stats-box
197: 
198: #end ## macro careerData
199: 
200: #macro (splitsData $p)
201: 
202: #set ($p = $positions.get($p))
203: #set ($statPosBriefs = $briefs.get($p))
204: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))
205: 
206: #if ($statPosBriefs.size() > 0)
207: <div class="stats-box full clearfix">
208: <div class="scrollable">
209: <div>
210: <table>
211:   <tr>
212:     <th class="pinned-col">&nbsp;</th>
213:     #foreach ($brief in $statPosBriefs)
214:       <th>$brief</th>
215:     #end
216:   </tr>
217: 
218: #split($statPosBriefs, "Total", $splits.overall)
219: #split($statPosBriefs, "Conference", $splits.conference)
220: #split($statPosBriefs, "Exhibition", $splits.exhibition)
221: 
222: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
223: 
224: #split($statPosBriefs, "Home", $splits.home)
225: #split($statPosBriefs, "Away", $splits.away)
226: #split($statPosBriefs, "Neutral", $splits.neutral)
227: 
228: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
229: 
230: #foreach($gameResult in $gamesResults.entrySet())
231:   #if ($gameResult.key == "wins")
232:     #set ($splitGameResult = $splits.inWins)
233:   #elseif ($gameResult.key == "losses")
234:     #set ($splitGameResult = $splits.inLosses)
235:   #elseif ($gameResult.key == "ties")
236:     #set ($splitGameResult = $splits.inTies)
237:   #end
238: 
239:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
240: #end
241: 
242: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
243: 
244: #if ($monthsPlayed and $monthsPlayed.size() > 0)
245:   #foreach($month in $monthsPlayed)
246:     #if ($month == 'January')
247:       #set ($splitMonth = $splits.january)
248:     #elseif ($month == 'February')
249:       #set ($splitMonth = $splits.february)
250:     #elseif ($month == 'March')
251:       #set($splitMonth = $splits.march)
252:     #elseif ($month == 'April')
253:       #set($splitMonth = $splits.april)
254:     #elseif ($month == 'May')
255:       #set ($splitMonth = $splits.may)
256:     #elseif ($month == 'June')
257:       #set ($splitMonth = $splits.june)
258:     #elseif ($month == 'July')
259:       #set($splitMonth = $splits.july)
260:     #elseif ($month == 'August')
261:       #set ($splitMonth = $splits.august)
262:     #elseif ($month == 'September')
263:       #set($splitMonth = $splits.september)
264:     #elseif ($month == 'October')
265:       #set($splitMonth = $splits.october)
266:     #elseif ($month == 'November')
267:       #set ($splitMonth = $splits.november)
268:     #elseif ($month == 'December')
269:       #set($splitMonth = $splits.december)
270:     #end
271: 
272:     #split($statPosBriefs, $month, $splitMonth)
273:   #end ## foreach
274: #end
275: </table>
276: </div>
277: </div> ## scrollable
278: </div> ## srollable-table
279: #end
280: 
281: #end ## macro splitsData
282: 
283: #macro (printRecentGames)
284: #if ($hasEvents)
285: <table>
286:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
287: 
288: #set ($eventEnd = -1)
289: #foreach ($event in $events)
290:   #if ($event.event.result.resolved)
291:     #set ($eventEnd = $velocityCount)
292:   #end
293: #end
294: 
295: #set ($eventStart = $eventEnd - 5)
296: #if ($eventStart < 0) #set ($eventStart = 0) #end
297: 
298: #foreach ($event in $events)
299: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
300:   <tr>
301:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
302:     <td class="text">
303:       #if ($event.event.neutralSite.length() > 0) vs.
304:       #elseif (!$event.event.home) at
305:       #else ## nothing for a home game
306:       #end
307:       $event.event.opponent.name
308:     </td>
309:     <td class="text">
310:     #if ($event.event.statusCode >= 0)
311:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
312:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
313:       #else
314:       ${event.event.APResult}
315:       #end
316: 	#end
317: 	</td>
318:   </tr>
319: #end ## if
320: #end
321: </table>
322: #end
323: #end ## macro printRecentGames
324: 
325: #macro (printCategories $briefCategoryLabels $v)
326: 
327: <div class="tab-container secondary clearfix" data-module="amd-tabs">
328: <div class="tab-nav" data-module="jscroll" data-momentum="false">
329: <div>
330: <ul class="clearfix">
331: #foreach($briefCat in $briefCategoryLabels.entrySet())
332:   #set ($briefCatLabel = $briefCat.value)
333:   #set ($briefCatKey = $briefCat.key)
334: 
335:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
336:     #set ($briefCatLabel = "Defence")
337:   #end
338: 
339:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
340: #end
341: </ul>
342: </div>
343: </div>
344: <div class="tab-panels">
345: #foreach ($briefCat in $briefCategoryLabels.entrySet())
346:   #set ($class = "tab-panel clearfix")
347:   #if ($briefCat.key == $activePos)
348:     #set ($class = "tab-panel active clearfix")
349:   #end
350:   <div class="$class">
351:     <div class="stats-wrap clearfix">
352:     #if ($v == "splits")
353:       #splitsData($briefCat.key)
354:     #elseif ($v == "career")
355:       #careerData($briefCat.key)
356:     #end
357:     </div>
358:   </div>
359: #end
360: </div>
361: </div> ## tab-container
362: 
363: #end ## macro printCategories
364: 
365: #macro (printHeadshot)
366: 
367: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
368: 
369: #if ($headshot.url)
370:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
371: #else
372:   #if ($website.exists("/images/setup/headshot_default.jpg"))
373:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
374:   #else
375:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
376:   #end
377: #end
378: #end ## macro printHeadshot
379: 
380: #macro (printBioInfo)
381: <div class="player-name">
382:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
383:   <span class="name">$fullName</span>
384: </div>
385: 
386: <table>
387: #foreach ($i in [1..10])
388:   #set ($stickyKey = "bio_custom${i}_sticky")
389:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
390:     <tr>
391:       <td class="label">$options.get($stickyKey): </td>
392:       <td class="value">$!attributes.get("custom${i}")</td>
393:     </tr>
394:   #end
395: #end
396: 
397: #foreach ($field in $fields)
398:   #if (!$field.key.startsWith("custom"))
399:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
400:       #if ($field.key == "phone1" || $field.key == "phone2")
401:         <tr>
402:           <td class="label">Phone: </td>
403:           <td class="value">$!attributes.get($field.key)</td>
404:         </tr>
405:       #elseif ($field.key == "email_address")
406:         #set ($emailAdd = $attributes.get($field.key))
407:         <tr>
408:           <td class="label">Email: </td>
409:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
410:         </tr>
411:       #elseif ($field.key == "weight_class")
412:         <tr>
413:           <td class="label">Class: </td>
414:           <td class="value">$!attributes.get($field.key)</td>
415:         </tr>
416:       #else
417:         <tr>
418:           <td class="label">$field.value: </td>
419:           <td class="value">$!attributes.get($field.key)</td>
420:         </tr>
421:       #end
422:     #end
423:   #end
424: #end
425: 
426: #foreach ($i in [1..10])
427:   #set ($customKey = "bio_custom${i}")
428:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
429:     <tr>
430:       <td class="label">$options.get($customKey): </td>
431:       <td class="value">$!attributes.get("custom${i}")</td>
432:     </tr>
433:   #end
434: #end
435: </table>
436: #end ## macro printBioInfo
437: 
438: #macro (printHighlights)
439: #foreach ($highlight in $highlights.keySet())
440:   #set ($value = "-")
441:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
442:   <div class="stat clearfix">
443:     <span class="stat-title">$!highlights.get($highlight)</span>
444:     <span class="stat-value">$value</span>
445:   </div>
446: #end
447: #end ## macro printHighlights
448: 
449: #macro (printRoster)
450: #if ($page.contentType == "loki/bio")
451:   #set ($headlinesFeaturedSize = 0)
452:   #foreach ($featuredPage in $page.headlinesFeatured)
453:     #if ($featuredPage.contentType == "loki/headlines")
454:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
455:     #end
456:   #end
457:   #if ($headlinesFeaturedSize > 0)
458:     <select class="roster-select-list">
459:       <option selected="selected">Related Bios</option>
460:       #foreach ($featuredPage in $page.headlinesFeatured)
461:         #if ($featuredPage.contentType == "loki/headlines")
462:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
463: 		#end
464: 	  #end
465:     </select>
466:   #end
467: #elseif ($page.contentType == "loki/bio-network")
468:   #set ($relatedPlayers = $page.sectionPage.children)
469:   #set ($teamNames = {})
470:   #foreach ($relatedPlayer in $relatedPlayers)
471:     #if ($relatedPlayer.contentType == "loki/bio-network")
472:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
473:       #set ($teamName = $relatedPlayerObj.get("team"))
474:       #if ($teamName.length() > 0)
475:         #if (!$teamNames.containsValue($teamName))
476:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
477:         #end
478:       #end
479:     #end
480:   #end
481: 
482:   <select class="roster-select-list">
483:   #foreach ($i in [1..$teamNames.size()])
484:     #if ($teamNames.size() > 1)
485:       <optgroup label="$teamNames.get($i)">
486:     #end
487: 
488:     #foreach ($relatedPlayer in $relatedPlayers)
489:       #if ($relatedPlayer.contentType == "loki/bio-network")
490:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
491:         #set ($teamName = $relatedPlayerObj.get("team"))
492:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
493:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
494:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
495:           #if ($page.url == $relatedPlayer.url)
496:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
497:           #else
498:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
499:           #end
500:         #end
501:       #end
502:     #end
503: 
504:     #if ($teamNames.size() > 1)
505:       </optgroup>
506:     #end
507:   #end
508:   </select>
509: #end
510: #end ## macro printRoster
511: 
512: ################################################## END MACROS  #############################################################
513: 
514: #if ($attributes.get("full_name").length() > 0)
515:   #set ($fullName = $attributes.get("full_name"))
516: #else
517:   #set ($firstName = $!attributes.get("first_name"))
518:   #set ($lastName = $!attributes.get("last_name"))
519:   #set ($fullName = "${firstName} ${lastName}")
520: #end
521: 
522: ## FULL ROSTER
523: <div class="bio-wrap clearfix #if ($highlights) bio-wrap-has-highlights #end">
524: 
525: ## RELATED BIOS
526: #if ($showRoster)
527:   <div class="related-bios clearfix">#printRoster</div>
528: #end
529: 
530: <div class="head clearfix">
531: <div class="clearfix">
532: 
533: <div class="player-about clearfix">
534:   <div class="player-headshot">#printHeadshot</div>
535:   <div class="player-info">#printBioInfo</div>
536: </div>
537: 
538: #if ($highlights && $showHighlights)
539:   <div class="player-highlights clearfix">#printHighlights</div>
540: #end
541: 
542: </div>
543: </div> ## head
544: 
545: #if ($view.length() > 0)
546: <div class="body clearfix">
547: 
548: <div class="tab-container primary clearfix" data-module="amd-tabs">
549: <div class="tab-nav" data-module="jscroll" data-momentum="false">
550:   <div>
551:   <ul class="clearfix">
552:   #if ($hasSynopsis || $hasBioBrief)
553:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
554:   #end
555: 
556:   #if ($statsURL.length() > 0)
557:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
558:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
559:     #if ($showCareer)
560:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
561:     #end
562:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
563:   #end
564: 
565:   #if ($hasHTMLStats)
566:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
567:   #end
568: 
569:   #if ($releases.size() > 0)
570: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
571:   #end
572:   </ul>
573:   </div>
574: </div> ## tab-nav
575: 
576: <div class="tab-panels clearfix">
577: 
578: ## BIO
579: #if ($hasSynopsis || $hasBioBrief)
580: 
581: #set ($class = "tab-panel clearfix")
582: #if ($view == "bio")
583:   #set ($class = "tab-panel active clearfix")
584: #end
585: <div class="${class}">
586: 
587: <div class="synopsis clearfix">
588: #if ($hasSynopsis)
589:   $synopsis
590: #elseif ($hasBioBrief)
591:   $website.include("$bioBriefURL")
592: #end
593: </div>
594: 
595: </div> ## tab-panel
596: #end
597: ## BIO
598: 
599: ## STATS
600: #if ($statsURL.length() > 0)
601: 
602: ## PROFILE
603: #set ($class = "tab-panel clearfix")
604: #if ($view == "profile")
605:   #set ($class = "tab-panel active clearfix")
606: #end
607: <div class="${class}">
608: <div class="stats-wrap clearfix">
609: 
610: ## LAST SIX GAMES
611: <div class="stats-box half">
612: #printRecentGames()
613: </div>
614: 
615: ## RANKING
616: <div class="stats-box half">
617: #if ($statPos.length() > 0)
618:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
619: #end
620: </div>
621: 
622: </div> ## stats-wrap
623: </div> ## tab-content
624: ## PROFILE
625: 
626: ## GAMELOG
627: #set ($class = "tab-panel clearfix")
628: #if ($view == "gamelog")
629:   #set ($class = "tab-panel active clearfix")
630: #end
631: 
632: #set ($activePos = $statPos)
633: #if ($view == "gamelog" && $paramPos.length() > 0)
634:   #if ($positions.get($paramPos).length() > 0)
635:     #set ($activePos = $positions.get($paramPos))
636:   #end
637: #end
638: 
639: <div class="${class}">
640: 
641: #if ($gamelogsCategoriesLabels)
642: <div class="tab-container secondary clearfix" data-module="amd-tabs">
643:   <div class="tab-nav" data-module="jscroll" data-momentum="false">
644:     <div>
645:     <ul class="clearfix">
646:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
647:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
648: 
649:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
650:         #set($gamelogsCatLabelVal = "Defence")
651:       #end
652: 
653:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
654:     #end
655:     </ul>
656: 	</div>
657:   </div>
658:   <div class="tab-panels">
659:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
660:     #set ($class = "tab-panel clearfix")
661:     #if ($gamelogsCatLabel.key == $activePos)
662:       #set ($class = "tab-panel active clearfix")
663:     #end
664:     <div class="${class}">
665:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
666: 	</div>
667:   #end
668:   </div>
669: </div>
670: #else
671:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
672: #end
673: 
674: </div> ## tab-panel
675: ## GAMELOG
676: 
677: 
678: ## CAREER
679: #if ($showCareer)
680: 
681: #set ($activePos = $statPos)
682: #if ($view == "career" && $paramPos.length() > 0)
683:   #if ($positions.get($paramPos).length() > 0)
684:     #set ($activePos = $positions.get($paramPos))
685:   #end
686: #end
687: 
688: #set ($class = "tab-panel clearfix")
689: #if ($view == "career")
690:   #set ($class = "tab-panel active clearfix")
691: #end
692: 
693: <div class="${class}">
694: 
695: #if ($briefsCategoriesLabels)
696:   #printCategories($briefsCategoriesLabels "career")
697: #else
698:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
699: #end
700: 
701: </div> ## tab-panel
702: #end
703: ## CAREER
704: 
705: ## SPLITS
706: #set ($class = "tab-panel clearfix")
707: #if ($view == "splits")
708: 	#set ($class = "tab-panel active clearfix")
709: #end
710: 
711: #set ($activePos = $statPos)
712: #if ($view == "splits" && $paramPos.length() > 0)
713:   #if ($positions.get($paramPos).length() > 0)
714:     #set ($activePos = $positions.get($paramPos))
715:   #end
716: #end
717: 
718: <div class="${class}">
719: 
720: #if ($briefsCategoriesLabels)
721:   #printCategories($briefsCategoriesLabels "splits")
722: #else
723:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
724: #end
725: 
726: </div> ## tab-panel
727: ## SPLITS
728: 
729: #end
730: ## STATS
731: 
732: ## HTML STATS
733: #if ($hasHTMLStats)
734: 
735: #set ($class = "tab-panel clearfix")
736: #if ($view == "htmlstats")
737:   #set ($class = "tab-panel active clearfix")
738: #end
739: <div class="${class}">
740:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
741: </div>
742: 
743: #end
744: ## HTML STATS
745: 
746: ## NEWS
747: #set ($class = "tab-panel clearfix")
748: #if ($view == "news")
749:   #set ($class = "tab-panel active clearfix")
750: #end
751: <div class="bio-news ${class}">
752: 
753: #set ($counter = 0)
754: 
755: #foreach ($article in $releases)
756: #if ($article.title.length() > 0)
757: 
758: #set ($counter = $counter + 1)
759: 
760: #if ($counter == 1)
761:   <div class="row clearfix">
762: #end
763: 
764: <div class="item">
765: <div>
766: #if ($article.thumbnailURL)
767:   <img src="${article.thumbnailURL}?max_width=300" alt="" />
768: #else
769:   <img src="/images/setup/thumbnail_default.jpg" alt="" />
770: #end
771: 
772: <a href="$article.url" class="title">$article.title</a>
773: 
774: </div>
775: </div> ## item
776: 
777: #if ($counter == 3 || $velocityCount == $releases.size())
778:   </div> ## row
779:   #set ($counter = 0)
780: #end
781: 
782: #end
783: #end ## foreach
784: 
785: </div> ## tab-content
786: ## NEWS
787: 
788: </div> ## tab-panels
789: </div> ## tab-container
790: </div> ## body
791: #end
792: 
793: $wiki
794: </div> ## ends bio-wrap