2023-24 Baseball Statistics - Olivet Nazarene (IL)

Games
53
Runs
412
Batting Average
.337
On Base Percentage
.425
Slugging Percentage
.455
Home Runs
24
Team Summary
Title Record
Overall 24-29 (.453)
Conference 19-13 (.594)
Streak Lost 2
Home 10-5
Away 10-18
Neutral 4-6
Recent Results
Date Opponent Result
Apr 27 at St. Francis (IL) W, 4-2
Apr 27 at St. Francis (IL) L, 9-7
May 3 vs. Saint Xavier (IL) W, 12-10
May 3 vs. St. Ambrose (IA) W, 8-3
May 4 at St. Francis (IL) L, 11-8
May 4 vs. St. Ambrose (IA) L, 14-11
Team Stats
Statistics Overall Conf
Games 53 32
At Bats 1684 1011
Runs 412 289
Hits 568 354
Doubles 91 62
Triples 18 17
Home Runs 24 14
Runs Batted In 347 248
Extra Base Hits 133 93
Total Bases 767 492
Walks 197 130
Hit by pitch 77 59
Strikeouts 236 118
Sacrifice Flies 24 17
Sacrifice Hits 46 28
Hit into double play 27 15
Stolen Bases 116 87
Caught Stealing 31 20
Batting Average .337 .350
On Base Percentage .425 .446
Slugging Percentage .455 .487
Earned Run Average 6.84 6.29
WHIP 1.73 1.70
At Bats Against 1599 939
Batting Average Against .296 .286
Home Games Played 15 14
Home Attendance 2,800 2,800
Home Attendance average 187 200
Hitting
There was a problem with a Velocity script
Page/httpd/prestosports/site-public/WEB-INF/themes/generic-bootstrap/teaminfo-network-template
ErrorInvocation of method 'includeAgain' in class com.prestosports.render.ContentEngineInvoker threw exception javax.servlet.ServletException: javax.servlet.ServletException: java.lang.NumberFormatException: For input string: "HALVES" at /httpd/prestosports/site-public/WEB-INF/themes/generic-bootstrap/teaminfo-network-template[line 148, column 26]
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: 
53: #if ($sport.enumCode == 9) ## Field Hockey
54:     #if ($pos == "goalie")
55:         #set ($pos = "fielder")
56:     #end
57:     #if ($pos == "gg")
58:         #set ($pos = "kg")
59:     #end
60: #end
61: 
62: #set ($restriction = 0)
63: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r")))
64: #if ($restrictionEsc.length() > 0 && $restrictionEsc.equals("1"))
65:     #set ($restriction = 1)
66: #end
67: 
68: #set ($view = "profile")
69: #if ($request.getParameter("view"))
70:     #set ($view = $formatter.escapeXml($!request.getParameter("view")))
71: #end
72: 
73: #if ($briefsCategoriesLabels)
74:     #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
75:     #set($firstCategoryPos = $briefsCategoriesSeason.keySet().iterator().next())
76: #end
77: 
78: #set ($showRoster = false)
79: #if ($options.get("stats_show_roster") and $options.get("stats_show_roster").equalsIgnoreCase("yes"))
80:     #set ($showRoster = true)
81: #end
82: 
83: #set ($showAttendance = true)
84: #if ($options.get("stats_show_attendance") and $options.get("stats_show_attendance").equalsIgnoreCase("hide"))
85:     #set ($showAttendance = false)
86: #end
87: 
88: ## MACROS
89: #macro (printTableHeader $label $class)
90: 	<th class="text-uppercase $class">$label</th>
91: #end
92: 
93: #macro (printResultAriaLabel $event)
94:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
95:     #if ($event.neutralSite.length() > 0 || $event.home) 
96:         #set ($ariaLabel = "${ariaLabel} vs.")
97: 	#else
98: 		#set ($ariaLabel = "${ariaLabel} at")
99: 	#end
100: 	#set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
101: 	#if ($event.neutralSite.length() > 0)
102: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
103: 	#end
104: 	#set ($ariaLabel = "${ariaLabel} Box Score")
105:     aria-label="$ariaLabel"
106: #end
107: 
108: #macro (printBriefCategory $briefCatLabel $briefCatPos $r)
109:   	#if ($locale == "en_gb" && $briefCatLabel == "Defense")
110:         #set ($briefCatLabel = "Defence")
111:     #end
112:   	
113:     #if ($lineupDefaultSorting && $lineupDefaultSorting.containsKey($briefCatPos))
114:         #set ($sort = $lineupDefaultSorting.get($briefCatPos))
115:     #end	
116:   	
117:     #if ($allowChooseSort)
118:         #set ($sortEsc = $formatter.escapeXml($request.getParameter("sort")))
119:         #if ($sortEsc.length() > 0)
120:             #set ($sort = $sortEsc)
121:         #end
122:     #end
123:   	
124: 	#set ($url = "")
125:     #set ($url = "${page.sectionPage.sectionPage.url}/players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=${briefCatPos}&r=${r}&tmpl=stats-bios-template")
126:   	
127:     #if ($lineupMin && $lineupMin.containsKey($briefCatPos))
128:         #set ($minStat = $lineupMin.get($briefCatPos))
129:         #set ($url = $url + "&min=" + $minStat)
130:     #end
131:   	
132:     #if ($lineupFilters)
133:         #if ($lineupFilters.containsKey("cs"))
134:             #set($url = $url + "&cs=n")
135:         #end
136:   		
137:         #if ($lineupFilters.containsKey("skipBlank"))
138:             #set($skipBlank = $lineupFilters.get("skipBlank"))	
139:   			
140:             #if ($skipBlank.contains($briefCatPos))
141:                 #set($url = $url + "&skipBlank=n")
142:             #end	
143:         #end	
144:     #end	
145:   	
146: 	<div class="my-3">
147: 		<h5>$briefCatLabel</h5>
148: 		$website.includeAgain($url)
149: 	</div>
150:     
151: #end ## printBriefCategory
152: 
153: #macro(printBriefCategories $r)
154: ## Set this for the inner page to pull something out
155: 	#if ($r == 1)
156: 		#set ($restrictionLabel = "conf")
157: 		$!request.setAttribute("teamStats", $splits.conference)
158: 	#else
159: 		#set ($restrictionLabel = "overall")
160: 		$!request.setAttribute("teamStats", $splits.overall)
161: 	#end
162: 
163: 	#if ($briefsCategoriesLabels)
164: 		#set($allowChooseSort = false)
165:   	
166: 		#if ($lineupFilters && $lineupFilters.containsKey("allowChooseSort"))
167: 			#set ($allowChooseSort = true)
168: 		#end
169: 
170: 		#if ($briefsCategoriesLabels.containsKey("Game"))
171: 			#set ($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
172:       	
173: 			## Print Game categories tables
174: 			## Get the first Game category position
175: 			#set ($gamePos = $briefsCategoriesGame.keySet().iterator().next())
176:       
177: 			## GAME
178: 			<div #if ($pos.equals($gamePos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-game" role="tabpanel">
179: 			#foreach($briefsCatGame in $briefsCategoriesGame.entrySet())
180: 				#printBriefCategory($briefsCatGame.value, $briefsCatGame.key, $r)
181: 			#end
182: 			</div>
183: 
184: 			## Print the Season categories tables
185: 			#set ($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
186:    
187: 			## SEASON
188: 			<div #if ($pos.equals($firstCategoryPos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-season" role="tabpanel">
189: 			#foreach ($briefCat in $briefsCategoriesSeason.entrySet())
190: 				#printBriefCategory($briefCat.value, $briefCat.key, $r)
191: 			#end
192: 			</div>
193:   		
194: 			## Print the Minutes categories tables
195: 			#if ($briefsCategoriesLabels.containsKey("Minutes"))
196: 				#set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
197: 				#set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
198:       		
199: 				#set($showMinutesTab = false)
200: 				#if ($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
201: 					#set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
202:   			
203: 					#set($lineupMinOverallStat = $lineupMinOverallValues[0])
204: 					#set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
205: 					#set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
206:   			
207: 					#if ($tool.math.round($splits.overall[$lineupMinOverallStat]) && $tool.math.round($splits.overall[$lineupMinOverallStat]) >= $lineupMinOverallMinNumericValue)
208: 						#set($showMinutesTab = true)
209: 					#end	
210: 				#end
211: 
212: 				#if ($showMinutesTab)
213: 					## MINUTES
214: 					<div #if ($pos.equals($minutesPos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-minutes" role="tabpanel">
215: 					#foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet())
216: 						#printBriefCategory($briefsCatMinutes.value, $briefsCatMinutes.key, $r)
217: 					#end
218: 					</div>
219: 				#end
220: 			#end ## end minutes
221: 		#else
222: 
223: 			#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
224: 			## SINGLE SEASON
225: 			#foreach($briefCat in $briefsCategoriesSeason.entrySet())
226: 				#printBriefCategory($briefCat.value, $briefCat.key, $r)
227: 			#end
228: 		#end
229: 		
230: 	#elseif ($lineupFilters)
231: 
232: 		## All of the supported sports has lineupFilters, so print it without matter it does not have briefs category, yeah voleyball is you :)
233: 		#set ($sort = $formatter.escapeXml($request.getParameter("sort")))
234: 		#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${r}")
235: 		$website.includeAgain($url)
236: 		
237: 	#else
238: 		We do not support this sport
239: 	#end
240: #end ## printBriefCategories
241: 
242: #macro (printCategories $briefCategoryLabels $v)
243: 	<div class="nav nav-pills mb-3" role="tablist">
244: 		#foreach($label in $briefCategoryLabels.entrySet())
245: 			#set($catLabel = $label.value)
246: 			#if ($locale == "en_gb" && $catLabel == "Defense")
247: 				#set ($catLabel = "Defence")
248: 			#end
249: 			#set ($btnClass = "btn btn-outline-secondary rounded-0")
250: 			#if ($pos == $label.key || ($pos.length() == 0 && $velocityCount == 1)) 
251: 				#set ($btnClass = "${btnClass} active") 
252: 			#end 
253: 			<button class="$btnClass" data-url="${page.url}?view=${v}&pos=${label.key}" data-toggle="tab" data-target="#gamelog-${v}-${label.key}" style="margin-right:-1px">${catLabel}</button>
254: 		#end
255: 	</div>
256: 	<div class="tab-content">
257: 		#foreach ($briefCat in $briefCategoryLabels.entrySet())
258: 			#set ($classAttr = "tab-pane")
259: 			#if ($briefCat.key == $pos || ($pos.length() == 0 && $velocityCount == 1))
260: 				#set ($classAttr = "${classAttr} active")
261: 			#end
262: 			<div class="$classAttr" id="gamelog-${v}-${briefCat.key}" role="tabpanel">
263: 				#if ($v == "gamelog")
264: 					#gamelogData($briefCat.key)
265: 				#elseif ($v == "splits")
266: 					#splitsTeamNetworkData($briefCat.key)
267: 				#end
268: 			</div>
269: 		#end  
270: 	</div>
271: #end ## printCategories
272:   
273: #macro (printSeasonGameMinutesTabs $r)
274:     #if ($briefsCategoriesLabels.containsKey("Game"))
275:         #set ($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
276:         #set ($gamePos = $briefsCategoriesGame.keySet().iterator().next())
277: 		
278: 		#set ($restrictionLabel = "overall")
279: 		#if ($r == 1)
280: 			#set ($restrictionLabel = "conf")
281: 		#end
282:         	
283: 		#set ($showMinutesTab = false)
284:         #if ($briefsCategoriesLabels.containsKey("Minutes"))
285:             #set ($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
286:             #set ($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
287:     		
288:             #if ($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
289:                 #set ($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
290:                 #set ($lineupMinOverallStat = $lineupMinOverallValues[0])
291:                 #set ($lineupMinOverallMinVal = $lineupMinOverallValues[1])
292:                 #set ($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
293:   			
294:                 #if ($tool.math.round($splits.overall[$lineupMinOverallStat]) && $tool.math.round($splits.overall[$lineupMinOverallStat]) >= $lineupMinOverallMinNumericValue)
295:                     #set($showMinutesTab = true)
296:                 #end	
297:   		    #end
298: 		#end
299: 		
300: 		<div class="nav nav-pills" role="tablist">
301: 			#printSubTab($pos.equals($gamePos), "${url}?view=lineup&r=${r}&pos=${gamePos}", "Game", "#lineup-${restrictionLabel}-game")
302: 			#printSubTab($pos.equals($firstCategoryPos), "${url}?view=lineup&r=${r}&pos=${firstCategoryPos}", "Season", "#lineup-${restrictionLabel}-season")
303:     		#if ($showMinutesTab)
304:                 #printSubTab($pos.equals($minutesPos), "${url}?view=lineup&r=${r}&pos=${minutesPos}", "Minutes", "#lineup-${restrictionLabel}-minutes")
305:     		#end
306: 		</div>
307: 		<div class="tab-content">
308: 			#printBriefCategories($r)
309: 		</div>
310:     #end
311: #end ## printSeasonGameMinutesTabs
312:   
313: #macro (printLineupTabs)
314: 	#set ($navClass = "nav nav-pills")
315: 	#if ($briefsCategoriesLabels.containsKey("Game"))
316: 		#set ($navClass = "${navClass} float-left mr-3")
317: 	#end
318: 	<div class="$navClass" role="tablist">
319: 		#printSubTab(true, "${url}?view=lineup&r=0&pos=${pos}", "Overall", "#lineup-overall-pane")
320: 		#if ($showConf)
321: 			#printSubTab(false, "${url}?view=lineup&r=1&pos=${pos}", "Conference", "#lineup-conf-pane")
322: 		#end
323: 	</div>
324: 		
325: 	<div class="tab-content">
326: 		<div class="tab-pane active" id="lineup-overall-pane" role="tabpanel">
327: 			#if ($briefsCategoriesLabels.containsKey("Game"))
328: 				#printSeasonGameMinutesTabs(0)
329: 			#else
330: 				#printBriefCategories(0)
331: 			#end
332: 		</div>
333: 		#if ($showConf)
334: 			<div class="tab-pane" id="lineup-conf-pane" role="tabpanel">
335: 				#if ($briefsCategoriesLabels.containsKey("Game"))
336: 					#printSeasonGameMinutesTabs(1)
337: 				#else
338: 					#printBriefCategories(1)
339: 				#end
340: 			</div>
341: 		#end
342: 	</div>
343: #end ## printLineupTabs
344: 
345: #macro (printHighlights)
346:     #if ($highlights)
347:         <div class="d-flex flex-wrap">
348:         #foreach ($highlight in $highlights.keySet())
349:             #set ($value = "-")
350:             #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
351:             #set ($classAttr = "flex-fill p-2 border border-white bg-primary text-white text-center")
352:             <div class="$classAttr">
353:                 <div class="text-uppercase small">$!highlights.get($highlight).replace("per game", "")</div>
354:                 <div class="h5 m-0 font-weight-bold">$!value</div>
355:             </div>
356:         #end
357:         </div>
358:     #end
359: #end ## macro printHighlights
360: #macro (gamelogData $p)
361: 
362:     #set ($gamelogStats = $gamelogs.get($p))
363: 
364: <table class="table table-hover">
365:     <thead class="thead-dark">
366:     <tr>
367: 		#printTableHeader("Date", "w-1 text-start text-left")
368:                 #printTableHeader("Opponent", "")
369:                 #printTableHeader("Score", "text-center")
370:                 #foreach ($gamelog in $gamelogStats)
371: 		#printTableHeader($gamelog, "text-center")
372: 	#end
373:     </tr>
374:     </thead>
375:         #foreach ($event in $events)
376:             <tr>
377:                 <td class="text-nowrap text-start text-left">
378:                     $formatter.formatDate($event.event.date, "MMM d") 
379:                     #if (!$event.event.overall)
380:                         #set ($atLeastOneNotOverall = true) # 
381:                     #end
382:                 </td>
383:                 <td class="text-nowrap">
384: 					#if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
385: 					$event.event.opponent.name
386:                 </td>
387:                 <td class="text-nowrap text-center">
388:                 #if ($event.event.statusCode >= 0)
389:                     #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
390:                         <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
391:                     #else
392:                         ${event.event.APResult}
393:                     #end
394:                 #else &nbsp; 
395:                 #end
396:                 </td>
397:                 #foreach ($gamelog in $gamelogStats.keySet())
398:                     #set ($value = "-")
399:                     #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
400:                     <td class="text-center text-nowrap">$value</td>
401:                 #end
402:             </tr>
403:         #end
404:     </table>
405: #end ## gamelogData
406: 
407: #macro (printRecentGames)
408:     <table class="table table-hover">
409:             <thead class="thead-dark">
410: 		<tr>
411: 			#printTableHeader("Date", "w-1 text-start text-left")
412: 			#printTableHeader("Opponent", "")
413: 			#printTableHeader("Result", "text-center")
414: 		</tr>
415:             </thead>
416: 
417:         #set ($eventEnd = -1)
418:         #foreach ($event in $events)
419:             #if ($event.event.result.resolved)
420:                 #set ($eventEnd = $velocityCount)
421:             #end
422:         #end
423: 
424:         #set ($eventStart = $eventEnd - 5)
425:         #if ($eventStart < 0) #set ($eventStart = 0) #end
426: 
427:         #foreach ($event in $events)
428:             #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
429:                 <tr>
430:                     <td class="text-nowrap text-start text-left">$formatter.formatDate($event.event.date, "MMM d")</td>
431:                     <td>
432:                         #if ($event.event.neutralSite.length() > 0) vs.
433:                         #elseif (!$event.event.home) at
434:                         #else ## nothing for a home game
435:                         #end
436:                         $event.event.opponent.name
437:                     </td>
438:                     <td class="text-center">
439:                         #if ($event.event.statusCode >= 0)
440:                             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
441:                                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
442:                             #else
443:                                 ${event.event.APResult}
444:                             #end
445:                         #end
446:                     </td>
447:                 </tr>
448:             #end
449:         #end
450:     </table>
451: #end ## printRecentGames
452: 
453: #macro (splitTeamNetwork $statPosBriefs $label $stats)
454:     <tr>
455:         <th scope="row" class="font-weight-normal text-end text-right">${label}</th>
456:         #foreach ($brief in $statPosBriefs.keySet())
457:             #set ($value = "-")
458:             #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
459:             <td class="text-center text-nowrap">#if ($value.length() > 0) $value #else - #end</td>
460:         #end
461:     </tr>
462: #end ## split
463: 
464: #macro (splitsTeamNetworkData $p)
465: 	#set ($statPosBriefs = $briefs.get($p))
466: 	#set ($colspan = $tool.math.add($statPosBriefs.size(), 1))  
467:     
468: 	#if ($statPosBriefs.size() > 0)
469:     <table class="table table-hover">
470:         <thead class="thead-dark">
471:         <tr>
472:             <th class="text-uppercase" aria-label="Title"> </th>
473: 			#foreach ($brief in $statPosBriefs)
474: 				#printTableHeader($brief, "text-center")
475: 			#end
476:         </tr>
477:         </thead>
478: 			#splitTeamNetwork($statPosBriefs, "Total", $splits.overall)
479: 			#if ($showConf)
480: 				#splitTeamNetwork($statPosBriefs, "Conference", $splits.conference)
481: 				#splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
482: 			#else
483: 				#splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
484: 			#end ## hide overall/conf
485: 
486: 			<tr class="bg-transparent">
487: 				<td colspan="$colspan">&nbsp;</td>
488: 			</tr>
489: 
490: 			#splitTeamNetwork($statPosBriefs, "Home", $splits.home)
491: 			#splitTeamNetwork($statPosBriefs, "Away", $splits.away)
492: 			#splitTeamNetwork($statPosBriefs, "Neutral", $splits.neutral)
493: 
494: 			<tr class="bg-transparent">
495: 				<td colspan="$colspan">&nbsp;</td>
496: 			</tr>
497: 
498: 			#foreach($gameResult in $gamesResults.entrySet())
499: 				#if ($gameResult.key == "wins")
500: 					#set ($splitGameResult = $splits.inWins)
501: 				#elseif ($gameResult.key == "losses")
502: 					#set ($splitGameResult = $splits.inLosses)
503: 				#elseif ($gameResult.key == "ties")
504: 					#set ($splitGameResult = $splits.inTies)
505: 				#end
506:     
507: 				#splitTeamNetwork($statPosBriefs, $gameResult.value, $splitGameResult)
508: 			#end
509: 
510: 			<tr class="bg-transparent">
511: 				<td colspan="$colspan">&nbsp;</td>
512: 			</tr>
513: 
514: 			#if ($monthsPlayed and $monthsPlayed.size() > 0)
515: 				#foreach($month in $monthsPlayed)
516: 					#if ($month == 'January')
517: 						#set ($splitMonth = $splits.january)
518: 					#elseif ($month == 'February')
519: 						#set ($splitMonth = $splits.february)
520: 					#elseif ($month == 'March')
521: 						#set($splitMonth = $splits.march)
522: 					#elseif ($month == 'April')
523: 						#set($splitMonth = $splits.april)
524: 					#elseif ($month == 'May')
525: 						#set ($splitMonth = $splits.may)
526: 					#elseif ($month == 'June')
527: 						#set ($splitMonth = $splits.june)
528: 					#elseif ($month == 'July')
529: 						#set($splitMonth = $splits.july)
530: 					#elseif ($month == 'August')
531: 						#set ($splitMonth = $splits.august)
532: 					#elseif ($month == 'September')
533: 						#set($splitMonth = $splits.september)
534: 					#elseif ($month == 'October')
535: 						#set($splitMonth = $splits.october)
536: 					#elseif ($month == 'November')
537: 						#set ($splitMonth = $splits.november)
538: 					#elseif ($month == 'December')
539: 						#set($splitMonth = $splits.december)
540: 					#end
541:   
542: 					#splitTeamNetwork($statPosBriefs, $month, $splitMonth)
543: 				#end ## foreach
544: 			#end
545: 		</table>
546: 	#end
547: #end ## splitsTeamNetworkData
548: 
549: #macro (printAttendance)
550:     #if ($showAttendance)
551:         <table class="table table-hover">
552:                 <thead class="thead-dark">
553:                 <tr>
554: 					#printTableHeader("Date", "w-1 text-start text-left")
555:                     #printTableHeader("Opponent", "")
556:                     #printTableHeader("Score", "text-center")
557:                     #printTableHeader("Attend", "text-center")
558:                 </tr>
559:                 </thead>
560:             #set ($counter = 0)
561:             #foreach ($event in $events)
562:                 <tr>
563:                     <td class="text-nowrap text-start text-left">$formatter.formatDate($event.event.date, "MMM d")</td>
564:                     <td class="text-nowrap">
565:                         #if ($event.event.neutralSite.length() > 0) vs.
566:                         #elseif (!$event.event.home) at
567:                         #else ## nothing for a home game
568:                         #end
569:                         $event.event.opponent.name
570:                     </td>
571:                     <td class="text-nowrap text-center">
572:                     #if ($event.event.statusCode >= 0)
573:                         #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
574:                             <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
575:                         #else
576:                             ${event.event.result}
577:                         #end
578:                     #else &nbsp; #end
579:                     </td>
580:                     <td class="text-nowrap text-center">
581:                         #set ($value = "-")
582:                         #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
583:                         #if ($value.length() > 0) $value #else - #end
584:                     </td>
585:                 </tr>
586:             #end
587:         </table>
588:     #end ## showAttendance
589: #end
590: 
591: #macro (printTab $viewParam $label)
592: 	#set ($classAttr = "nav-link text-nowrap")
593: 	#if ($viewParam == $view)
594: 		#set ($classAttr = "${classAttr} active")
595: 	#end
596: 	<li class="nav-item"><a href="${page.url}?view=${viewParam}" class="$classAttr" role="tab" data-toggle="tab" data-target="#${viewParam}" aria-controls="$viewParam">$label</a></li>
597: #end
598: 
599: #macro (printSubTab $active $url $label $target)
600: 	#set ($classAttr = "btn btn-sm btn-outline-secondary rounded-0")
601: 	#if ($active)
602: 		#set ($classAttr = "${classAttr} active")
603: 	#end
604: 	<button data-url="$url" class="$classAttr" data-toggle="tab" data-target="$target" style="margin-right:-1px">$label</button>
605: #end
606: 
607: #macro (printPaneAttrs $viewParam)
608: 	#set ($classAttr = "tab-pane")
609: 	#if ($viewParam == $view)
610: 		#set ($classAttr = "tab-pane active")
611: 	#else
612: 		#set ($classAttr = "${classAttr} fade")
613: 	#end
614: 	
615: 	class="$classAttr" role="tabpanel" id="$viewParam"
616: #end
617: 
618: #macro (printCoachViewUrl)
619: 	#set ($coachViewUrl = "${page.url}?tmpl=teaminfo-network-monospace-template")
620:     #set ($enumCode = $sport.enumCode)
621:     
622: 	#if ($enumCode == 2)
623:         #set ($coachViewUrl = "${coachViewUrl}&sort=ptspg") 
624:     #elseif ($enumCode == 1 || $enumCode == 11)
625:         #set ($coachViewUrl = "${coachViewUrl}&sort=ab&pos=h")
626:     #end
627:     
628:     #if ($enumCode == 7 || $enumCode == 8 || $enumCode > 11) #else
629:         <li class="nav-item" data-skip="true"><a href="$coachViewUrl" target="_blank" class="nav-link text-nowrap">Coach's View</a></li>
630:     #end
631: #end
632: 
633: #macro (printTabs)
634: 	<div class="tab-nav" style="overflow-x:auto">
635:     	<ul class="nav nav-tabs flex-nowrap" role="tablist">
636:     		#printTab("profile", "Team Profile")
637:     		
638:     		#if ($showRoster)
639:     			#printTab("roster", "Roster")
640:     		#end
641:     		
642:     		#printTab("lineup", "Lineup")
643:     		#printTab("gamelog", "Game Log")
644:     		#printTab("splits", "Split Stats")
645:     		
646:     		#if ($showAttendance)
647:     			#printTab("attendance", "Attendance")
648:     		#end
649:     		
650:             #printCoachViewUrl
651:         </ul>
652: 	</div>
653: #end ## printTabs
654: ############ END MACROS #############
655: 
656: #set ($pageTitle = $page.title)
657: #if ($pageTitle.trim().length() == 0)
658: 	#set ($season = "")
659: 	#if ($page.url.matches(".*/\d{4}-\d{2}/.*"))
660: 		#set ($truncateStr = $page.url.split("/\d{4}-\d{2}/").get(0))
661: 		#set ($season = $page.url.replace($truncateStr, "").substring(1, 8))
662: 	#end
663: 	
664: 	#set ($gender = "")
665: 	#if ($sport.enumCode == 6 or $sport.enumCode == 10)
666: 	#else
667: 		#if ($page.url.matches(".*/sports/m.*") || $page.url.matches(".*/sports/m-*"))
668: 			##set ($gender = "Men's")
669: 		#elseif ($page.url.matches(".*/sports/w.*") || $page.url.matches(".*/sports/w-*"))
670: 			##set ($gender = "Women's")
671: 		#end
672: 	#end
673: 	
674: 	#set ($pageTitle = "${season} ${gender} ${sport} Statistics")
675: 
676: #end
677: 
678: #if ($attributes.get("school_name").length() > 0)
679: 	#set ($pageTitle = "${pageTitle} - ${attributes.get('school_name')}")
680: #end
681: 
682: $!request.setAttribute("pageTitle", "${pageTitle}")
683: 
684: <head><title>$pageTitle</title></head>
685: 	
686: 
687: <div class="page-content team-stats">
688:     
689:     <h1>$pageTitle</h1>
690: 	
691: 	## TEAM HIGHLIGHT STATS
692: 	<div class="my-3">#printHighlights</div>
693: 
694:     ## TABS
695: 	<div class="tabs-container my-3" data-module="stats/tabs">
696:         #printTabs
697:     
698:         <div class="tab-content p-3 border border-top-0">
699:             
700:             ## TEAM PROFILE
701:             <div #printPaneAttrs("profile")>
702:                 
703:                 <div class="row">
704:                     <div class="col-lg">
705:     					<div class="mb-3">
706: 							<h5>Team Summary</h5>
707: 							<div class="stats-container table-responsive">
708: 								$website.include("${page.sectionPage.sectionPage.url}/schedule?teamId=${teamId}&tmpl=schedule-data-template")
709: 							</div>
710:     					</div>
711:     					<div class="mb-3">
712:     						<h5>Recent Results</h5>
713:     						<div class="stats-container table-responsive">#printRecentGames</div>
714:     					</div>
715:                     </div>
716:                     <div class="col-lg">
717:     					<div class="mb-3">
718: 							<h5>Team Stats</h5>
719: 							<div class="stats-container table-responsive">
720: 								$website.include("${page.sectionPage.url}/teams?tmpl=stats-teams-rank-template&rank=${teamId}")
721: 							</div>
722:     					</div>
723:                     </div>
724:                 </div>
725:             </div> ## team profile
726:     
727:             ## ROSTER
728:             #if ($showRoster)
729:                 <div #printPaneAttrs("roster")>
730: 					$website.includeAgain("../players?teamId=${teamId}&view=roster&tmpl=stats-bios-template")
731:                 </div>
732:             #end
733:     
734:             ## LINEUP
735:             <div #printPaneAttrs("lineup")>
736:                 ## start of overall/conference
737:                 #set ($url = $request.requestURI)
738:     			#printLineupTabs()
739:                
740:                 Download roster:
741:                 <a href="../players?teamId=${attributes.teamId}&view=ext">${rosterExtension} (First Last) </a> | 
742:                 <a href="../players?teamId=${attributes.teamId}&view=ext&type=lf"> ${rosterExtension} (Last, First)</a>
743:                 #if ($rosterExtraExtension)
744:                     <a href="../players?teamId=${attributes.teamId}&view=exte">${rosterExtraExtension} (First Last)</a> | 
745:                     <a href="../players?teamId=${attributes.teamId}&view=exte&type=lf">${rosterExtraExtension} (Last, First)</a>
746: 				#end
747:             </div> ## lineup
748:     
749:             ## GAMELOG
750:             <div #printPaneAttrs("gamelog")>
751:             	<div class="stats-container table-responsive">
752: 					#if ($gamelogsCategoriesLabels && $gamelogsCategoriesLabels.size() > 1)
753: 						#printCategories($gamelogsCategoriesLabels, 'gamelog')
754: 					#else
755: 						#gamelogData($pos)
756: 					#end
757:     			</div>
758:             </div>
759:     
760:             ## SPLITS
761:             <div #printPaneAttrs("splits")>
762:     			<div class="stats-container table-responsive">
763: 					#if ($briefsTeamCategoriesLabels && $briefsTeamCategoriesLabels.size() > 1)
764: 						#printCategories($briefsTeamCategoriesLabels, 'splits')
765: 					#else
766: 						#splitsTeamNetworkData($pos)
767: 					#end
768: 				</div>
769:             </div> ## splits
770:     
771:             ## ATTENDANCE
772:             <div #printPaneAttrs("attendance")>
773: 				<div class="stats-container table-responsive">#printAttendance</div>
774:             </div>
775:         </div> ## tab-content
776: 	</div> ## tab-container
777: </div> ## stats-container
778: $wiki.su