2019-20 Baseball Statistics - USC

Games 15
Runs 91
Batting Average .281
On Base Percentage .374
Slugging Percentage .401
Home Runs 8
Schedule Summary
Overall (Pct.)10-5 (.667)
Conference (Pct.) 0-0 (.000)
StreakWon 1
Home7-4
Away2-0
Neutral1-1
Full Scores and Schedule »
Recent Games
Mar 1 Seton Hall W, 10-1
Mar 3 UC Irvine L, 5-1
Mar 6 TCU W, 2-1
Mar 7 Vanderbilt W, 2-1
Mar 8 UCLA L, 15-3
Mar 11 Xavier W, 7-3
Statistics category Overall Conf
Games 15 5th - -
At Bats 494 8th - -
Runs 91 5th - -
Hits 139 6th - -
Doubles 21 7th - -
Triples 7 1st - -
Home Runs 8 6th - -
Runs Batted In 77 6th - -
Extra Base Hits 36 4th 0 8th
Total Bases 198 5th 0 8th
Walks 68 5th - -
Hit by pitch 9 9th - -
Strikeouts 100 1st - -
Sacrifice Flies 7 6th - -
Sacrifice Hits 9 2nd - -
Hit into double play 12 4th - -
Stolen Bases 16 3rd - -
Caught Stealing 6 2nd - -
Batting Average .281 3rd - -
On Base Percentage .374 6th - -
Slugging Percentage .401 4th - -
Earned Run Average 2.42 2nd 0.00 8th
Shutouts 1 2nd - -
At Bats Against 495 7th - -
Batting Average Against .218 5th - -
Home Attendance 7972 6th - -
Home Attendance average 724.7 7th - -
Hitting
No. Yr Pos
8 Ben Ramirez Jr INF 15 58 10 18 3 1 3 13 6 7 - - .310 .375 .552
22 Clay Owens So C/1B 15 52 6 18 1 1 3 17 6 10 - - .346 .400 .577
2 Tyler Lozano So C 15 47 12 8 1 1 - 3 5 16 1 1 .170 .259 .234
10 Tyler Pritchard Sr INF 15 46 6 9 1 - - 3 6 7 4 - .196 .302 .217
3 Jamal O'Guinn Jr INF/OF 14 45 11 17 6 - - 7 12 15 2 2 .378 .533 .511
32 Rhylan Thomas Fr OF 15 45 13 16 1 1 - 6 4 5 2 1 .356 .412 .422
15 Ben Wanger Sr RHP/1B 13 39 5 16 4 1 - 8 7 10 1 - .410 .500 .564
13 Tyresse Turner Fr OF/INF 14 35 8 9 - 2 - 2 7 4 6 - .257 .372 .371
23 Brady Shockey Sr OF 13 34 5 8 2 - - 1 1 5 - - .235 .257 .294
9 Preston Hartsell So OF 9 17 2 2 - - 1 4 3 4 - - .118 .273 .294
18 Trevor Halsema Jr OF 9 16 2 5 1 - - 3 4 4 - - .313 .450 .375
25 John Thomas Sr INF/OF 14 16 3 3 - - - 3 2 4 - - .188 .278 .188
36 Bart West Jr OF 10 16 1 4 1 - - 2 2 1 - - .250 .368 .313
21 Adrian Colon-Rosado Fr OF 5 8 2 4 - - - 0 - - - - .500 .500 .500
4 Johnny Olmstead Fr INF 6 7 2 2 - - 1 4 - 1 - 1 .286 .375 .714
31 Connor Cirillo Fr INF 7 3 1 0 - - - 1 - 3 - 1 .000 .000 .000
17 Riley Lamb So C/RHP 3 3 0 0 - - - 0 - 1 - - .000 .000 .000
5 Miko Rodriguez Fr OF 6 3 1 0 - - - 0 2 1 - - .000 .400 .000
27 Emilio Rosas So INF 4 3 1 0 - - - 0 1 2 - - .000 .250 .000
34 Taylor Johnson Fr C 1 1 0 0 - - - 0 - - - - .000 .000 .000
  Totals     15 494 91 139 21 7 8 77 68 100 16 6 .281 .374 .401
  Opponent     15 495 56 108 17 - 8 46 58 144 6 3 .218 .313 .301
Extended Hitting
No. Yr Pos
8 Ben Ramirez Jr INF 15 - - 1 32 7 2 19 13 1.46 65
3 Jamal O'Guinn Jr INF/OF 14 3 - 1 23 6 2 7 6 1.17 61
22 Clay Owens So C/1B 15 - 2 - 30 5 - 13 12 1.08 60
2 Tyler Lozano So C 15 1 1 2 11 2 - 12 10 1.20 56
10 Tyler Pritchard Sr INF 15 1 - - 10 1 1 19 10 1.90 53
32 Rhylan Thomas Fr OF 15 1 1 - 19 2 1 16 6 2.67 51
15 Ben Wanger Sr RHP/1B 13 - - - 22 5 1 8 4 2.00 46
13 Tyresse Turner Fr OF/INF 14 - 1 1 13 2 - 10 13 0.77 44
23 Brady Shockey Sr OF 13 - - 1 10 2 3 9 11 0.82 36
9 Preston Hartsell So OF 9 1 1 - 5 1 - 3 9 0.33 22
18 Trevor Halsema Jr OF 9 - - - 6 1 - 3 3 1.00 20
25 John Thomas Sr INF/OF 14 - - 2 3 0 1 6 3 2.00 20
36 Bart West Jr OF 10 1 - - 5 1 1 7 3 2.33 19
4 Johnny Olmstead Fr INF 6 1 - 1 5 1 - 2 3 0.67 9
21 Adrian Colon-Rosado Fr OF 5 - - - 4 0 - 3 1 3.00 8
5 Miko Rodriguez Fr OF 6 - - - 0 0 - 1 1 1.00 5
31 Connor Cirillo Fr INF 7 - 1 - 0 0 - - 1 - 4
27 Emilio Rosas So INF 4 - - - 0 0 - - 1 - 4
17 Riley Lamb So C/RHP 3 - - - 0 0 - - 2 - 3
34 Taylor Johnson Fr C 1 - - - 0 0 - 1 - - 1
  Totals     15 9 7 9 198 36 12 139 112 1.24 587
  Opponent     15 12 3 10 149 25 7 121 125 0.97 578
Pitching
No. Yr Pos
6 John Beller Jr LHP 4 2 3 0 1 - 24.0 10 4 3 6 25 9.38 2 1.13
30 Alex Cornwell So LHP 4 4 2 1 0 - 19.2 24 13 8 5 14 6.41 2 3.66
28 Kyle Hurt Jr RHP 4 4 2 1 0 - 17.0 11 7 7 8 25 13.24 2 3.71
29 Isaac Esqueda Jr LHP 3 2 0 1 0 - 15.0 14 3 2 6 13 7.80 - 1.20
37 Brian Gursky Jr LHP 4 3 1 1 0 - 12.0 4 2 0 3 12 9.00 - 0.00
20 Ethan Hoopingarner Fr RHP 9 0 1 0 0 - 11.1 3 1 1 4 16 12.71 - 0.79
55 Chandler Champlain So RHP 6 0 0 0 1 - 7.1 12 4 1 5 6 7.36 - 1.23
24 Ethan Reed So RHP 7 0 1 0 0 - 7.0 8 5 5 6 10 12.86 1 6.43
11 Carson Lambert So RHP 7 0 0 0 0 - 6.2 8 3 3 3 6 8.10 1 4.05
15 Ben Wanger Sr RHP/1B 6 0 0 0 3 - 6.1 5 1 0 1 8 11.37 - 0.00
14 Gus Culpo Jr RHP 5 0 0 0 0 - 4.2 4 1 0 3 3 5.79 - 0.00
51 Quentin Longrie Sr LHP 6 0 0 1 0 - 3.0 5 12 6 8 6 18.00 - 18.00
  Totals     15 15 10 5 5 - 134.0 108 56 36 58 144 9.67 8 2.42
  Opponent     15 15 5 10 2 - 127.0 139 91 63 68 100 7.09 8 4.46
Fielding
No. Yr Pos
2 Tyler Lozano So C 15 142 133 8 1 .993 - 6 2 .250 5 -
22 Clay Owens So C/1B 15 100 94 6 0 1.000 4 - - - - -
25 John Thomas Sr INF/OF 14 28 27 1 0 1.000 2 - - - - -
23 Brady Shockey Sr OF 13 25 24 0 1 .960 - - - - - -
32 Rhylan Thomas Fr OF 15 25 24 1 0 1.000 - - - - - -
10 Tyler Pritchard Sr INF 15 51 19 32 0 1.000 6 - - - - -
13 Tyresse Turner Fr OF/INF 14 19 19 0 0 1.000 - - - - - -
8 Ben Ramirez Jr INF 15 59 17 37 5 .915 4 - - - - -
9 Preston Hartsell So OF 9 8 8 0 0 1.000 - - - - - -
34 Taylor Johnson Fr C 1 5 5 0 0 1.000 - - - - - -
17 Riley Lamb So C/RHP 3 5 5 0 0 1.000 - - - - - -
3 Jamal O'Guinn Jr INF/OF 14 32 4 24 4 .875 - - - - - -
36 Bart West Jr OF 10 4 4 0 0 1.000 - - - - - -
21 Adrian Colon-Rosado Fr OF 5 4 3 1 0 1.000 - - - - - -
18 Trevor Halsema Jr OF 9 3 3 0 0 1.000 - - - - - -
4 Johnny Olmstead Fr INF 6 3 2 0 1 .667 - - - - - -
5 Miko Rodriguez Fr OF 6 2 2 0 0 1.000 - - - - - -
27 Emilio Rosas So INF 4 4 2 2 0 1.000 1 - - - - -
6 John Beller Jr LHP 4 5 1 4 0 1.000 - - 1 1.000 - -
31 Connor Cirillo Fr INF 7 7 1 6 0 1.000 1 - - - - -
29 Isaac Esqueda Jr LHP 3 5 1 4 0 1.000 - 2 1 .333 - -
37 Brian Gursky Jr LHP 4 3 1 2 0 1.000 - 1 - - - -
28 Kyle Hurt Jr RHP 4 3 1 2 0 1.000 - 1 - - - -
11 Carson Lambert So RHP 7 3 1 2 0 1.000 - - - - - -
24 Ethan Reed So RHP 7 1 1 0 0 1.000 - - - - - -
55 Chandler Champlain So RHP 6 0 0 0 0 - - - - - - -
30 Alex Cornwell So LHP 4 3 0 2 1 .667 - 1 - - - -
14 Gus Culpo Jr RHP 5 0 0 0 0 - - - - - - -
20 Ethan Hoopingarner Fr RHP 9 1 0 1 0 1.000 - 1 1 .500 - -
51 Quentin Longrie Sr LHP 6 2 0 1 1 .500 - - - - - -
15 Ben Wanger Sr RHP/1B 13 3 0 3 0 1.000 - - - - - -
  Totals     15 555 402 139 14 .975 7 6 2 .250 5 -
  Opponent     15 571 381 162 28 .951 12 16 6 .273 1 -
There was a problem with a Velocity script
Pageteaminfo-network-template
ErrorVM #printLineupTabs: too many arguments to macro. Wanted 0 got 3 at teaminfo-network-template[line 679, column 17]
Page source:
1:   ## PICK UP OPTIONS
2:   $website.include("options")
3:   #set ($options = $request.getAttribute("options"))
4: 
5:   #set ($locale = "en_us")
6:   #set ($locale = $options.get("locale"))
7: 
8:   #set ($showconf = true)
9:   #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
10:     #set ($showconf = false)
11:   #end
12: 
13:   #set ($teamId = $attributes.get("teamId"))
14:   #set ($stats = $splits.overall)
15: 
16:   #set ($pos = "")
17:   #if ($sport.enumCode == 0) ## Football
18:     #set ($pos = "off")
19:   #elseif ($sport.enumCode == 2) ## Basketball
20:     #set ($pos = "sh")
21:   #elseif ($sport.enumCode == 3) ## Soccer
22:     #set ($pos = "kickers")
23:   #elseif ($sport.enumCode == 9) ## Field Hockey
24:     #set ($pos = "fielder")
25:   #end
26: 
27:   #set ($posEsc = $formatter.escapeXml($request.getParameter("pos").toLowerCase()))
28:   #if ($posEsc.length() > 0)
29:     #set ($pos = $posEsc)
30:   #end
31: 
32:   #if ($sport.enumCode == 2) ## Basketball
33:     #if ($pos == "bc")
34:       #set ($pos = "sh")
35:     #end
36:     #if ($pos == "bt")
37:       #set ($pos = "st")
38:     #end
39:     #if ($pos == "bm")
40:       #set ($pos = "sm")
41:     #end
42:   #end
43: 
44:   #if ($sport.enumCode == 3) ## Soccer
45:     #if ($pos == "goalie")
46:       #set ($pos = "kickers")
47:     #end
48:     #if ($pos == "gg")
49:       #set ($pos = "kg")
50:     #end
51:   #end
52:   #if ($sport.enumCode == 9) ## Field Hockey
53:     #if ($pos == "goalie")
54:       #set ($pos = "fielder")
55:     #end
56:     #if ($pos == "gg")
57:       #set ($pos = "kg")
58:     #end
59:   #end
60: 
61:   #set ($view = "profile")
62:   #if ($request.getParameter("view"))
63:     #set ($view = $formatter.escapeXml($!request.getParameter("view")))
64:   #end
65: 
66:   #if($briefsCategoriesLabels)
67:   	#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
68:   	#set($firstCategoryPos = $briefsCategoriesSeason.keySet().iterator().next())
69:   #end
70: 
71:   #set ($showRoster = false)
72:   #if ($options.get("stats_show_roster") and $options.get("stats_show_roster").equalsIgnoreCase("yes"))
73:     #set ($showRoster = true)
74:   #end
75: 
76:   #set ($showAttendance = true)
77:   #if ($options.get("stats_show_attendance") and $options.get("stats_show_attendance").equalsIgnoreCase("hide"))
78:     #set ($showAttendance = false)
79:   #end
80: 
81:   ## MACROS
82:   #macro (printResultAriaLabel $event)
83: 	#set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
84: 	#if ($event.neutralSite.length() > 0 || $event.home) 
85: 		#set ($ariaLabel = "${ariaLabel} vs.")
86: 	#else
87: 		#set ($ariaLabel = "${ariaLabel} at")
88: 	#end
89: 	#set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
90: 	#if ($event.neutralSite.length() > 0)
91: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
92: 	#end
93: 	#set ($ariaLabel = "${ariaLabel} Box Score")
94: 	aria-label="$ariaLabel"
95:   #end
96:   
97:   #macro(printSubTab $active $url $label $class $ariaLabel)	
98:     <li #if ($active) class="active"#end>
99:   	  <a href="${url}" #if ($class.length() > 0)class="$!{class}"#end role="button" aria-label="${ariaLabel}: ${label} Stats">${label}</a>
100:   	</li>
101:   #end
102: 
103:   #macro(printSeasonGameMinutesTabs $r $v $ariaLabel)
104:   #if($briefsCategoriesLabels.containsKey("Game"))
105:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
106:     <div><ul class="clearfix">
107:   	#set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
108:   	#set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
109:   	
110:   	## Print the Game tab
111:   	#printSubTab($pos.equals($gamePos), "${url}?view=${v}&r=${r}&pos=${gamePos}", "Game", "t_game", $ariaLabel)	
112:     	
113:   	## Print the Season tab
114:   	#printSubTab($pos.equals($firstCategoryPos), "${url}?view=${v}&r=${r}&pos=${firstCategoryPos}", "Season", "t_season", $ariaLabel)
115:     	
116:   	#if($briefsCategoriesLabels.containsKey("Minutes"))
117:   		#set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
118:   		#set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
119:     		
120:   		#set($showMinutesTab = false)
121:     		
122:   		#if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
123:   			#set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
124:   			
125:   			#set($lineupMinOverallStat = $lineupMinOverallValues[0])
126:   			#set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
127:   			#set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
128:   			
129:   			#if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
130:   				#set($showMinutesTab = true)
131:   			#end	
132:   		#end	
133:     		
134:   		## Print the Minutes tab
135:   	 	#if($showMinutesTab)
136:   			#printSubTab($pos.equals($minutesPos), "${url}?view=${v}&r=${r}&pos=${minutesPos}", "Minutes", "t_minutes", $ariaLabel)
137:   		#end
138:   		
139:   	#end
140:     </ul>
141:     </div>
142:     </div>
143:   #end
144:   #end
145: 
146:   #macro(printBriefCategory $briefCatLabel $briefCatPos $r)
147:   	#if($locale == "en_gb" && $briefCatLabel == "Defense")
148:       	#set($briefCatLabel = "Defence")
149:       #end
150:   	
151:   	#if($lineupDefaultSorting && $lineupDefaultSorting.containsKey($briefCatPos))
152:   		#set($sort = $lineupDefaultSorting.get($briefCatPos))
153:   	#end	
154:   	
155:   	#if($allowChooseSort)
156:   		#set ($sortEsc = $formatter.escapeXml($request.getParameter("sort")))
157:   		#if ($sortEsc.length() > 0)
158:   			#set ($sort = $sortEsc)
159:   		#end
160:   	#end
161:   	
162:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=${briefCatPos}&r=${r}")
163:   	
164:   	#if($lineupMin && $lineupMin.containsKey($briefCatPos))
165:   		#set($minStat = $lineupMin.get($briefCatPos))
166:   		#set($url = $url + "&min=" + $minStat)
167:   	#end
168:   	
169:   	#if($lineupFilters)
170:   		#if($lineupFilters.containsKey("cs"))
171:   			#set($url = $url + "&cs=n")
172:   		#end
173:   		
174:   		#if($lineupFilters.containsKey("skipBlank"))
175:   		    #set($skipBlank = $lineupFilters.get("skipBlank"))	
176:   			
177:   			#if($skipBlank.contains($briefCatPos))
178:   				#set($url = $url + "&skipBlank=n")
179:   			#end	
180:   		#end	
181:   	#end	
182:   	
183: 	<div style="display:block; padding:5px 0; margin-bottom:10px; line-height:1; text-transform:uppercase; text-align:center" class="accent-bg"><strong>$briefCatLabel</strong></div>
184: 	
185:     $website.includeAgain($url)	
186:     
187:   #end ## printBriefCategory
188: 
189:   #macro(printBriefCategories $r)
190:   ## Set this for the inner page to pull something out
191:   #if ($r == "1")
192:     $!request.setAttribute("teamStats", $splits.conference)
193:   #else
194:     $!request.setAttribute("teamStats", $splits.overall)
195:   #end
196: 
197:   #if($briefsCategoriesLabels)
198:   	#set($allowChooseSort = false)
199:   	
200:   	#if($lineupFilters && $lineupFilters.containsKey("allowChooseSort"))
201:   		#set($allowChooseSort = true)
202:   	#end
203: 
204:     #if($briefsCategoriesLabels.containsKey("Game"))
205:   	  #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
206:       	
207:       ## Print Game categories tables
208:       ## Get the first Game category position
209:       #set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
210:       
211:       ## GAME
212:       <div class="tab-panel clearfix #if ($pos.equals($gamePos)) active #end">
213:         #foreach($briefsCatGame in $briefsCategoriesGame.entrySet())
214:           #printBriefCategory($briefsCatGame.value, $briefsCatGame.key, $r)
215:         #end
216:       </div>
217: 
218:       ## Print the Season categories tables
219:   	  #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
220:    
221:       ## SEASON
222:       <div class="tab-panel clearfix #if ($pos.equals($firstCategoryPos)) active #end">
223:   		  #foreach($briefCat in $briefsCategoriesSeason.entrySet())
224:   			  #printBriefCategory($briefCat.value, $briefCat.key, $r)
225:   		  #end
226:       </div>
227:   		
228:   		
229:       ## Print the Minutes categories tables
230:   		#if($briefsCategoriesLabels.containsKey("Minutes"))
231:   		
232:   		  #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
233:   		  #set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
234:       		
235:   		  #set($showMinutesTab = false)
236:   		  #if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
237:           #set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
238:   			
239:           #set($lineupMinOverallStat = $lineupMinOverallValues[0])
240:           #set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
241:           #set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
242:   			
243:           #if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
244:   				  #set($showMinutesTab = true)
245:           #end	
246:   		  #end
247: 
248:         #if ($showMinutesTab)
249:           ## MINUTES
250:           <div class="tab-panel clearfix #if ($pos.equals($minutesPos)) active #end">
251:     			  #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet())
252:               #printBriefCategory($briefsCatMinutes.value, $briefsCatMinutes.key, $r)
253:     			  #end
254:           </div>
255:   			#end
256:   		#end ## end minutes
257: 
258:   	#else
259: 
260:   		#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
261:   		## SINGLE SEASON
262:   		#foreach($briefCat in $briefsCategoriesSeason.entrySet())
263:   			#printBriefCategory($briefCat.value, $briefCat.key, $r)
264:     	#end
265: 
266:   	#end
267: 
268:   #elseif($lineupFilters)
269: 
270:   	## All of the supported sports has lineupFilters, so print it without matter it does not have briefs category, yeah voleyball is you :)
271:   	#set ($sort = $formatter.escapeXml($request.getParameter("sort")))
272:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${r}")
273:   	$website.includeAgain($url) 
274: 
275:   #else
276:   	We do not support this sport
277:   #end
278: 
279:   #end ## printBriefCategories
280: 
281:   #macro (printLineupTabs $r $v $ariaLabel)
282:     #if($briefsCategoriesLabels.containsKey("Game"))
283:       <div class="tab-container secondary tab-container-floated clearfix" data-module="stats/tabs" data-type="secondary">
284:         #printSeasonGameMinutesTabs($r $v $ariaLabel)
285:         <div class="tab-panels tab-panels-floated clearfix">
286:           #printBriefCategories($r)
287:         </div>
288:       </div>
289:     #else
290:       #printBriefCategories($r)
291:     #end
292:   #end ## printLineupTabs
293: 
294:   #macro (printCategories $briefCategoryLabels $v $ariaLabel)
295:   <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
296:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
297:       <div>
298:         <ul class="clearfix">
299: 		#foreach($label in $briefCategoryLabels.entrySet())
300: 			#set($catLabel = $label.value)
301: 			#if ($locale == "en_gb" && $catLabel == "Defense")
302: 				#set ($catLabel = "Defence")
303: 			#end
304: 			<li #if ($pos == $label.key || ($pos.length() == 0 && $velocityCount == 1)) class="active" #end>  
305: 				<a href="${page.url}?view=${v}&pos=${label.key}" role="button" aria-label="${ariaLabel}: ${catLabel}">${catLabel}</a>
306: 			</li>
307: 		#end
308:         </ul>
309:       </div>
310:     </div>
311:     <div class="tab-panels">
312:       #foreach ($briefCat in $briefCategoryLabels.entrySet())
313:         #set ($class = "tab-panel clearfix")
314:         #if ($briefCat.key == $pos || ($velocityCount == 1 && $pos.length() == 0))
315:           #set ($class = "tab-panel active clearfix")
316:         #end
317:         <div class="${class}">
318:           <div class="stats-wrap clearfix">
319:             #if ($v == "gamelog")
320:               #gamelogData($briefCat.key)
321:             #elseif ($v == "splits")
322:               #splitsData($briefCat.key)
323:             #end
324:           </div>
325:         </div>
326:       #end  
327:     </div>
328:   </div> ## tab-container
329:   #end ## printCategories
330: 
331:   #macro (printHighlights)
332:   #if ($highlights)
333:     <div class="highlights highlights-standalone accent-bg">
334:       #foreach ($highlight in $highlights.keySet())
335:         #set ($value = "-")
336:         #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
337:         <div class="stat clearfix">
338:           <span class="stat-title">$!highlights.get($highlight)</span>
339:           <span class="stat-value">$!value</span>
340:         </div>
341:       #end
342:     </div>
343:   #end ## has highlights
344:   #end ## macro printHighlights
345: 
346:   #macro (gamelogData $p)
347:   #set ($gamelogStats = $gamelogs.get($p))
348: 
349:   <div class="stats-box full clearfix">
350:       <div class="scrollable">
351:           <div>
352:               <table>
353:                   <tr class="thead accent-bg">
354:                       <th class="text">Date</th>
355:                       <th class="pinned-col text">Opponent</th>
356:                       <th>Score</th>
357:                       #foreach ($gamelog in $gamelogStats)
358:                         <th>$gamelog</th>
359:                       #end
360:                   </tr>
361:                   #foreach ($event in $events)
362:   	                <tr>
363:   	                    <td class="text">
364:   	                      $formatter.formatDate($event.event.date, "MMM d") 
365:   	                      #if (!$event.event.overall)
366:   	                        #set ($atLeastOneNotOverall = true) # 
367:   	                      #end
368:   	                    </td>
369:   	                    <td class="pinned-col text">
370:   	                        #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
371:   	                        $event.event.opponent.name
372:   	                    </td>
373:   	                    <td>
374:   	                        #if ($event.event.statusCode >= 0)
375:   	                          #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
376:                                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
377:   	                          #else
378:   	                            ${event.event.APResult}
379:   	                          #end
380:   	                        #else &nbsp; #end
381:   	                    </td>
382:   	                    #foreach ($gamelog in $gamelogStats.keySet())
383:   	                      #set ($value = "-")
384:   	                      #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
385:   	                      <td>$value</td>
386:   	                    #end
387:   	                </tr>
388:                   #end
389:               </table>
390:           </div>
391:       </div> ## scrollable
392:   </div> ## stats-box
393: 
394:   #end ## gamelogData
395: 
396:   #macro (printRecentGames)
397:   <table>
398:       <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
399: 
400:       #set ($eventEnd = -1)
401:       #foreach ($event in $events)
402:         #if ($event.event.result.resolved)
403:           #set ($eventEnd = $velocityCount)
404:         #end
405:       #end
406: 
407:       #set ($eventStart = $eventEnd - 5)
408:       #if ($eventStart < 0) #set ($eventStart = 0) #end
409: 
410:       #foreach ($event in $events)
411:       #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
412:       <tr>
413:           <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
414:           <td class="text">
415:               #if ($event.event.neutralSite.length() > 0) vs.
416:               #elseif (!$event.event.home) at
417:               #else ## nothing for a home game
418:               #end
419:               $event.event.opponent.name
420:           </td>
421:           <td class="text">
422:               #if ($event.event.statusCode >= 0)
423:               #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
424:                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
425:               #else
426:               ${event.event.APResult}
427:               #end
428:               #end
429:           </td>
430:       </tr>
431:       #end ## if
432:       #end
433:   </table>
434:   #end ## printRecentGames
435: 
436:   #macro (split $statPosBriefs $label $stats)
437:     <tr>
438:       <td class="pinned-col text">${label}</td>
439:       #foreach ($brief in $statPosBriefs.keySet())
440:         #set ($value = "-")
441:         #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
442:         <td>#if ($value.length() > 0) $value #else - #end</td>
443:       #end
444:     </tr>
445:   #end ## split
446: 
447:   #macro (splitsData $p)
448:   #set ($statPosBriefs = $briefs.get($p))
449:   #set ($colspan = $statPosBriefs.size())  
450:     
451:   #if ($statPosBriefs.size() > 0)
452:   <div class="stats-box full clearfix">
453:   <div class="scrollable">
454:   <div>
455:   <table>
456:     <tr class="accent-bg">
457:       <th class="pinned-col">&nbsp;</th>
458:       #foreach ($brief in $statPosBriefs)
459:         <th>$brief</th>
460:       #end
461:     </tr>
462: 
463:   #split($statPosBriefs, "Total", $splits.overall)
464:   #if ($showconf)
465:     #split($statPosBriefs, "Conference", $splits.conference)
466:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
467:   #else
468:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
469:   #end ## hide overall/conf
470: 
471:   <tr class="empty-row">
472: 	<td class="pinned-col">&nbsp;</td>
473: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
474:   </tr>
475: 
476:   #split($statPosBriefs, "Home", $splits.home)
477:   #split($statPosBriefs, "Away", $splits.away)
478:   #split($statPosBriefs, "Neutral", $splits.neutral)
479: 
480:   <tr class="empty-row">
481: 	<td class="pinned-col">&nbsp;</td>
482: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
483:   </tr>
484: 
485:   #foreach($gameResult in $gamesResults.entrySet())
486:     #if ($gameResult.key == "wins")
487:       #set ($splitGameResult = $splits.inWins)
488:     #elseif ($gameResult.key == "losses")
489:       #set ($splitGameResult = $splits.inLosses)
490:     #elseif ($gameResult.key == "ties")
491:       #set ($splitGameResult = $splits.inTies)
492:     #end
493:     
494:     #split($statPosBriefs, $gameResult.value, $splitGameResult)
495:   #end
496: 
497:   <tr class="empty-row">
498: 	<td class="pinned-col">&nbsp;</td>
499: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
500:   </tr>
501: 
502:   #if ($monthsPlayed and $monthsPlayed.size() > 0)
503:     #foreach($month in $monthsPlayed)
504:       #if ($month == 'January')
505:         #set ($splitMonth = $splits.january)
506:       #elseif ($month == 'February')
507:         #set ($splitMonth = $splits.february)
508:       #elseif ($month == 'March')
509:         #set($splitMonth = $splits.march)
510:       #elseif ($month == 'April')
511:         #set($splitMonth = $splits.april)
512:       #elseif ($month == 'May')
513:         #set ($splitMonth = $splits.may)
514:       #elseif ($month == 'June')
515:         #set ($splitMonth = $splits.june)
516:       #elseif ($month == 'July')
517:         #set($splitMonth = $splits.july)
518:       #elseif ($month == 'August')
519:         #set ($splitMonth = $splits.august)
520:       #elseif ($month == 'September')
521:         #set($splitMonth = $splits.september)
522:       #elseif ($month == 'October')
523:         #set($splitMonth = $splits.october)
524:       #elseif ($month == 'November')
525:         #set ($splitMonth = $splits.november)
526:       #elseif ($month == 'December')
527:         #set($splitMonth = $splits.december)
528:       #end
529:       
530:       #split($statPosBriefs, $month, $splitMonth)
531:     #end ## foreach
532:   #end
533:   </table>
534:   </div>
535:   </div> ## scrollable
536:   </div> ## srollable-table
537:   #end
538: 
539:   #end ## splitsData
540: 
541: 
542:   ############ END MACROS #############
543: 
544: #set ($pageTitle = $page.title)
545: #if ($pageTitle.trim().length() == 0)
546: 	#set ($season = "")
547: 	#if ($page.url.matches(".*/\d{4}-\d{2}/.*"))
548: 		#set ($truncateStr = $page.url.split("/\d{4}-\d{2}/").get(0))
549: 		#set ($season = $page.url.replace($truncateStr, "").substring(1, 8))
550: 	#end
551: 	
552: 	#set ($gender = "")
553: 	#if ($sport.enumCode == 6 or $sport.enumCode == 10)
554: 	#else
555: 		#if ($page.url.matches(".*/sports/m.*") || $page.url.matches(".*/sports/m-*"))
556: 			##set ($gender = "Men's")
557: 		#elseif ($page.url.matches(".*/sports/w.*") || $page.url.matches(".*/sports/w-*"))
558: 			##set ($gender = "Women's")
559: 		#end
560: 	#end
561: 	
562: 	#set ($pageTitle = "${season} ${gender} ${sport} Statistics")
563: 	
564: 	#if ($attributes.get("school_name").length() > 0)
565: 		#set ($pageTitle = "${pageTitle} - ${attributes.get('school_name')}")
566: 	#end
567: #end
568: 
569: <head><title>$pageTitle</title></head>
570: <h1>$pageTitle</h1>
571: 	
572: 
573:   <div class="stats-container" data-module="stats/responsive-container">
574: 
575:   #printHighlights  
576: 
577:   ## TABS
578:   <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
579:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
580:         <div>
581:             <ul class="clearfix">
582:                 <li #if ($view == "profile")class="active"#end><a href="${page.url}?view=profile">Team Profile</a></li>
583:                 #if ($showRoster)
584:                   <li #if ($view == "roster")class="active"#end><a href="${page.url}?view=roster">Roster</a></li>
585:                 #end
586:                 <li #if ($view == "lineup")class="active"#end><a href="${page.url}?view=lineup">Lineup</a></li>
587:                 <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog">Game Log</a></li>
588:                 <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits">Split Stats</a></li>
589: 					
590: 				#set ($coachesViewUrl = "${page.url}?tmpl=teaminfo-network-monospace-template")
591: 				#set ($enumCode = $sport.enumCode)
592: 				#if ($enumCode == 2)
593: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ptspg") 
594: 				#elseif ($enumCode == 1 || $enumCode == 11)
595: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ab&pos=h")
596: 				#end
597: 				#if ($enumCode == 7 || $enumCode == 8 || $enumCode > 11) #else
598: 					<li data-skip="true"><a href="$coachesViewUrl" target="_blank">Coach's View</a></li>
599: 				#end
600:                 #if ($showAttendance)
601:                   <li #if ($view == "attendance")class="active"#end><a href="${page.url}?view=attendance">Attendance</a></li>
602:                 #end
603:             </ul>
604:         </div>
605:     </div> ## tab-nav
606: 
607:     <div class="tab-panels clearfix">
608:       ## TEAM PROFILE
609:       #set ($class = "tab-panel clearfix")
610:       #if ($view == "profile")
611:         #set ($class = "tab-panel active clearfix")
612:       #end
613:       <div class="${class}">
614:         <div class="clearfix stats-wrap">
615:           <div class="stats-box half">
616:             ## SCHEDULE INFORMATION
617:             $website.include("schedule?teamId=${teamId}&tmpl=schedule-data-template")
618: 
619:             #printRecentGames
620: 
621:           </div> ## stats-box
622: 
623:           <div class="stats-box half">
624:             ## RANKINGS
625:             $website.include("../teams?tmpl=stats-teams-rank-template&rank=${teamId}")
626:           </div>
627: 
628:         </div> ## stats-wrap
629:       </div> ## team profile
630: 
631:       ## ROSTER
632:       #if ($showRoster)
633:         #set ($class = "tab-panel clearfix")
634:         #if ($view == "roster")
635:           #set ($class = "tab-panel active clearfix")
636:         #end
637:         <div class="${class}">
638:           $website.includeAgain("../players?teamId=${teamId}&view=roster&tmpl=stats-bios-template")
639:         </div>
640:       #end
641: 
642:       ## LINEUP
643:       #set ($class = "tab-panel clearfix")
644:       #if ($view == "lineup")
645:         #set ($class = "tab-panel active clearfix")
646:       #end
647: 
648:       <div class="${class}">
649:         #set ($restriction = "0")
650:         #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r")))
651:         #if ($restrictionEsc.length() > 0)
652:           #set ($restriction = $restrictionEsc)
653:         #end
654: 
655:         ## start of overall/conference
656:         #set ($url = $request.requestURI)
657:         #if ($showconf)
658:           <div class="tab-container secondary #if($briefsCategoriesLabels.containsKey("Game")) tab-container-floated #end
659:            clearfix" data-module="stats/tabs" data-type="secondary">
660:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
661:               <div>
662:                 <ul class="clearfix">
663:                   #printSubTab($restriction.equals("0"), "${url}?view=lineup&r=0&pos=${pos}", "Overall", "first t_overall", 'Lineup')
664:                   #printSubTab($restriction.equals("1"), "${url}?view=lineup&r=1&pos=${pos}", "Conference", "t_conf", 'Lineup')
665:                 </ul>
666:               </div>
667:             </div> ## tab-nav
668: 
669:             ## overall/conference tab panels
670:             <div class="tab-panels clearfix">
671: 
672:               ## overall
673:               <div class="tab-panel #if ($restriction.equals("0")) active #end">
674:                 #printLineupTabs(0 'lineup' 'Lineup: Overall Stats')
675:               </div> ## overall tab-panel
676: 
677:               ## conference
678:               <div class="tab-panel #if ($restriction.equals("1")) active #end">
679:                 #printLineupTabs(1 'lineup' 'Lineup: Conference Stats')
680:               </div> ## conference tab-panel
681: 
682:             </div> ## overall/conference tab-panels
683:           </div> ## tab-container
684: 
685:         #else ## no overall conf
686: 		  #set ($lineupAriaLabel = "Lineup: Overall Stats")
687: 		  #if ($restriction == 1)
688: 		    #set ($lineupAriaLabel = "Lineup: Conference Stats")	
689: 		  #end	
690:           #printLineupTabs($restriction 'lineup' $lineupAriaLabel)
691:         #end ## overall/conf
692:            
693:         Download roster:
694:         <a href="../players?teamId=${attributes.teamId}&view=ext">${rosterExtension} (First Last) </a> | 
695:         <a href="../players?teamId=${attributes.teamId}&view=ext&type=lf"> ${rosterExtension} (Last, First)</a>
696:         #if ($rosterExtraExtension)
697:           <a href="../players?teamId=${attributes.teamId}&view=exte">${rosterExtraExtension} (First Last)</a> | 
698:           <a href="../players?teamId=${attributes.teamId}&view=exte&type=lf">${rosterExtraExtension} (Last, First)</a>
699:         #end
700: 
701:       </div> ##lineup
702: 
703:       ## GAMELOG
704:       #set ($class = "tab-panel clearfix")
705:       #if ($view == "gamelog")
706:         #set ($class = "tab-panel active clearfix")
707:       #end
708:       <div class="${class}">
709:         #if($gamelogsCategoriesLabels && $gamelogsCategoriesLabels.size() > 1)
710:           #printCategories($gamelogsCategoriesLabels 'gamelog' 'Game log')
711:         #else
712:           <div class="stats-wrap clearfix">#gamelogData($pos)</div>
713:         #end ## gamelogsCategoriesLabels
714: 
715:       </div> ## gamelog
716: 
717:       ## SPLITS
718:       #set ($class = "tab-panel clearfix")
719:       #if ($view == "splits")
720:         #set ($class = "tab-panel active clearfix")
721:       #end
722:       <div class="${class}">
723:       #if($briefsTeamCategoriesLabels && $briefsTeamCategoriesLabels.size() > 1)
724:           #printCategories($briefsTeamCategoriesLabels 'splits' 'Splits Stats')
725:         #else
726:           <div class="stats-wrap clearfix">#splitsData($pos)</div>
727:         #end ## briefsTeamCategoriesLabels
728:       </div> ## splits
729: 
730: 
731:       ## ATTENDANCE
732:       #if ($showAttendance)
733:         #set ($class = "tab-panel clearfix")
734:         #if ($view == "attendance")
735:           #set ($class = "tab-panel active clearfix")
736:         #end
737:         <div class="${class}">
738:           <div class="clearfix stats-wrap">
739:             <div class="stats-box full">
740:               <div class="scrollable">
741:               <div>
742:               <table>
743:                 <tr class="accent-bg">
744:                   <th class="text">Date</th>
745:                   <th class="text pinned-col">Opponent</th>
746:                   <th>Score</th>
747:                   <th>Attend</th>
748:                 </tr>
749:                 #set ($counter = 0)
750:                 #foreach ($event in $events)
751:                 <tr>
752:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
753:                   <td class="text pinned-col">
754:                   #if ($event.event.neutralSite.length() > 0) vs.
755:                   #elseif (!$event.event.home) at
756:                   #else ## nothing for a home game
757:                   #end
758:                   $event.event.opponent.name
759:                   </td>
760:                   <td>
761:                   #if ($event.event.statusCode >= 0)
762:                     #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
763:                         <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
764:                     #else
765:                       ${event.event.result}
766:                     #end
767:                   #else &nbsp; #end
768:                   </td>
769:                   <td>
770:                   #set ($value = "-")
771:                   #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
772:                   #if ($value.length() > 0)$value#else - #end
773:                   </td>
774:               </tr>
775:               #end
776:             </table>
777:             </div>
778:             </div> ## scrollable
779:             </div> ## stats-box
780:           </div> ## stats-wrap
781:         </div> ## attendance
782:       #end ## showAttendance
783: 
784:     </div> ## tab-panels
785:   </div> ## tab-container
786:   </div> ## stats-container
787:   $wiki.su