Skip to navigation Skip to content Skip to footer
No Event
No Event
No Event
No Event
Sun Feb 24
Final
6 Denison
7 at Ferrum
in Ferrum, Va.
Sun Feb 24
Final
16 Denison
7 at Ferrum
in Ferrum, Va.
Mon Feb 25
Final
6 Denison
5 at Ferrum
in Ferrum, Va.
Sat Mar 02
Final
3 Alfred St.
5 vs. Denison
@ Ohio University in Athens, Ohio
Sat Mar 02
Final
2 Alfred St.
7 vs. Denison
@ Ohio University in Athens, Ohio
Sat Mar 09
Final
3 Wilmington (Ohio)
7 vs. Denison
@ Ohio University in Athens, Ohio
Sat Mar 09
Final
8 Wilmington (Ohio)
16 vs. Denison
@ Ohio University in Athens, Ohio
Tue Mar 12
Postponed
Denison
at Otterbein
in Westerville, Ohio
Fri Mar 15
Final
1 Capital
13 vs. Denison
in Granville, Ohio
Sun Mar 17
Final
2 Mt. St. Mary (N.Y.)
13 vs. Denison
@ Snowbird Classic in Port Charlotte, Fla. (NCRP-9)
Mon Mar 18
Final
1 Vassar
7 vs. Denison
@ Snowbird Classic in Port Charlotte, Fla. (NCRP-10)
Tue Mar 19
Cancelled
Denison
vs. North Central (Ill.)
@ Snowbird Classic in Port Charlotte, Fla. (NCRP-10)
Wed Mar 20
Final
1 St. Joseph's (L.I.)
11 vs. Denison
@ Gene Cusic Classic in Fort Myers, Fla.
Wed Mar 20
Final
2 Johns Hopkins
1 vs. Denison
@ Gene Cusic Classic in Fort Myers, Fla.
Thu Mar 21
Final
7 Denison
1 vs. SUNY Cobleskill
@ Snowbird Classic in Port Charlotte, Fla. (NCRP-10)
Fri Mar 22
Final
1 SUNY Cobleskill
13 vs. Denison
@ Snowbird Classic in Port Charlotte, Fla. (NCRP-10)
Sat Mar 23
Final
0 Williams
5 vs. Denison
@ Gene Cusic Classic in Fort Myers, Fla.
Wed Mar 27
Final
1 John Carroll
10 vs. Denison
in Granville, Ohio
Thu Mar 28
Final
4 Ohio Northern
12 vs. Denison
in Granville, Ohio
Mon Apr 01
Final
4 Wittenberg
10 vs. Denison
in Granville, Ohio
Mon Apr 01
Final
3 Wittenberg
7 vs. Denison
in Granville, Ohio
Wed Apr 03
Final - 8 innings
12 #18 Denison
2 at DePauw
in Greencastle, Ind.
Wed Apr 03
Final
6 #18 Denison
3 at DePauw
in Greencastle, Ind.
Sat Apr 06
Final
1 Allegheny
9 vs. #18 Denison
in Granville, Ohio
Sat Apr 06
There was a problem with a Velocity script
Page/scoreboard-slider-template
ErrorInvocation of method 'exists' in class com.prestosports.render.ContentEngineInvoker threw exception java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections" at 3ephorm8bsxgem3p/scoreboard-slider-template[line 149, column 17]
Page source:
1: #set ($id = "scoreboard-slider")
2: #if ($request.getParameter("id"))
3:   #set ($idParam = $request.getParameter("id"))
4:   #set ($id = "${id} ${idParam}")
5: #end
6: 
7: ## PICK UP OPTIONS
8: $website.include("options")
9: #set ($options = $request.getAttribute("options"))
10: 
11: #set ($hideExhibition = false)
12: #if ($options.get("schedule_hide_exhibition_events") == true)
13:   #set ($hideExhibition = true)
14: #end
15: 
16: #if ($request.getParameter("hideExhibition"))
17:   #set ($hideExhibition = $request.getParameter("hideExhibition"))
18: #end
19: 
20: #set ($linksOrder = ["RC", "BS", "RE", "GA", "AU", "VI", "LS", "DI", "TI", "PR"])
21: #set ($excludeLinksWhenEventIsFinished = ["LS", "DI", "TI", "PR"])
22: 
23: #set ($showVsAt = true)
24: #if ($options.get("schedule_hide_vs_at") == true)
25:   #set ($showVsAt = false) 
26: #end
27: 
28: #set ($includeTimeZone = false)
29: #if ($options.get("calendarIncludeTimeZone"))
30:   #set ($includeTimeZone = $options.get("calendarIncludeTimeZone").toLowerCase())
31: #end
32: 
33: #set ($showTeamLogo = false)
34: #if ($request.getParameter("showTeamLogo") == true)
35:   #set ($showTeamLogo = true)
36: #end
37: 
38: #set ($showJustOpponent = false)
39: #if ($request.getParameter("showJustOpponent") == true)
40:   #set ($showJustOpponent = true)
41: #end
42: 
43: #set ($resultFormat = "AP1")
44: #if ($options.get("schedule_result_format").equals("L, 1-2"))
45:   #set ($resultFormat = "AP2")
46: #end
47: 
48: #set ($dateFormat = "'<span>'EEE'</span> <span>'MMM'</span> <span>'dd'</span>'")
49: #if ($request.getParameter("dateFormat"))
50:   #set ($dateFormat = $request.getParameter("dateFormat"))
51: #end
52: 
53: #set ($restrictLinks = true)
54: #if ($options.get("schedule_restrict_links") == false)
55:   #set ($restrictLinks = false)
56: #end
57: 
58: #set ($linksAbbreviations = { "Preview": "PR", "Box Score": "BX", "Results": "R", "Recap": "RC", "Live stats": "LS", "Video": "V", "Audio": "A", "Photos": "PH", "Tickets": "T", "Directions": "DR" })
59: 
60: #set ($showLinkIcons = false)
61: #if ($request.getParameter("showLinkIcons") == true)
62:   #set ($showLinkIcons = true)
63: #end
64: 
65: #set ($abbreviatedLinks = false)
66: #if ($request.getParameter("abbreviatedLinks") == true)
67:   #set ($abbreviatedLinks = true)
68: #end
69: 
70: #set ($autoScroll = false)
71: #if ($request.getParameter("autoScroll") == true)
72:   #set ($autoScroll = true)
73: #end
74: 
75: #set ($showNavi = false)
76: #if ($request.getParameter("showNavi") == true)
77:   #set ($showNavi = true)
78: #end
79: 
80: #set ($autoInterval = 10000)
81: #if ($tool.math.toInteger($request.getParameter("autoInterval")) > 0)
82:   #set ($autoInterval = $tool.math.mul($request.getParameter("autoInterval", 1000)))
83: #end
84: 
85: #set ($circularScroll = false)
86: #if ($request.getParameter("circularScroll") == true)
87:   #set ($circularScroll = true)
88: #end
89: 
90: #set ($colLimit = 5)
91: #if ($tool.math.toInteger($request.getParameter("colLimit")))
92:   #set ($colLimit = $tool.math.toInteger($request.getParameter("colLimit")))
93: #end
94: 
95: #set ($showPlayPause = false)
96: #if ($request.getParameter("showPlayPause") == true)
97: 	#set ($showPlayPause = true)
98: #end
99: 
100: #set ($fullSchedulePos = "bottom")
101: #set ($fullSchedulePos = $request.getParameter("fullSchedulePos"))
102: 
103: #set ($today = $now)
104: 
105: #set ($slickSlider = false)
106: #if ($request.getParameter("slickSlider") == true)
107:   #set ($slickSlider = true)
108: #end
109: 
110: ################################ MACROS #####################################
111: #macro (printTeamLogo $team)
112:   #if ($showTeamLogo)
113:     #if ($team.teamId)
114:       <span class="team-logo"><img src="${website.teamLogo($team.teamId)}" alt="" /></span>
115:     #end
116:   #end
117: #end
118: 
119: #macro (printVa $event $count)
120:     #if ($event.teams.size() == 1)
121:         #if ($showVsAt && ($event.neutralSite.length() > 0 || !$event.home))
122:             <span class="va">at</span>
123: 		#end
124:     #else
125:         #if ($count == 2 || $count.length() == 0)
126:             #if ($event.neutralSite.length() > 0 || $event.home)
127: 				<span class="va">vs.</span>
128:             #else 
129: 				<span class="va">at</span>
130:             #end
131: 		#end
132: 	#end
133: #end
134: 
135: #macro (printSport $event)
136:   #set ($feedURL = $event.feedURL)
137:   
138:   #set ($feedURL = $event.feedURL) ## in the form http://www.somedomain.com/sports/mbkb/2014-15/schedule?tmpl=sfs-template
139:   #if ($feedURL.indexOf("://") >= 0)
140:     #set ($feedURL = $feedURL.split("//").get(1)) ## remove the http:// bit from the URL
141:   #end
142:   #set ($startIndex = $feedURL.indexOf("/"))
143:   #set ($endIndex = $feedURL.length())
144:   #if ($feedURL.lastIndexOf("?") >= 0)
145:     #set ($endIndex = $feedURL.lastIndexOf("?"))
146:   #end
147:   #set ($feedURL = $feedURL.substring($startIndex, $endIndex)) ## remove the domain and tmpl parts
148: 
149:   #if ($website.exists($feedURL))
150: 	#set ($ariaLabel = "${event.sport}: schedule")
151:     #if ($feedURL.matches("/sports/.*/\d{4}-\d{2}/.*"))
152:       #set ($seasonStr = $feedURL.split("/").get(3))
153:       #set ($ariaLabel = "${event.sport}: ${seasonStr} schedule") ## aria-label would be something like Men's Basketball 2017-18 schedule
154:     #end
155: 	
156:     <a href="${feedURL}" aria-label="$ariaLabel">$event.sport</a>
157:   #else
158:     <span>$event.sport</span>
159:   #end
160: #end
161: 
162: #macro (printLinkAriaLabel $event $link)
163: 	#set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
164: 	#if ($event.neutralSite.length() > 0 || $event.home)
165: 		#set ($vsOrAt = "vs.")
166: 	#else
167: 		#set ($vsOrAt = "at")
168: 	#end
169: 	#if ($event.teams.size() > 1)
170: 		#set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name} ${vsOrAt} ${event.teams.get(1).name}:")
171: 	#elseif ($event.teams.size() == 1)
172: 		#set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name}:")
173: 	#end
174: 	#if ($event.neutralSite.length() > 0)
175: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
176: 	#end
177: 	#set ($ariaLabel = "${ariaLabel} ${link.name}")
178: 	aria-label="$ariaLabel"
179: #end
180: 
181: #macro (printEvent $event)
182:   
183: #set ($eventClass = "event")
184: #if ($event.inProgress)
185:   #set ($eventClass = "event in-progress")
186: #end
187: 
188: #if ($event.scheduleTeamId.length() > 0)
189:   #set ($teamSchedule = true)
190: #else
191:   #set ($teamSchedule = false)
192: #end
193:   
194: <div class="${eventClass}">
195: 
196:   <div class="date clearfix">$formatter.formatDate($event.date, $dateFormat)</div>
197:         
198:   #if ($event.sport)
199:     <div class="sport">
200: 		#printSport($event)
201:     </div>
202:   #end
203:   
204:   <div class="status clearfix">
205:   #if ($includeTimeZone)
206:     #if ($includeTimeZone.contains("local"))
207:       <span>$formatter.formatStatus($event).setTimeFormat("h:mm a z").useEventTimeZone()</span>  
208:     #elseif ($includeTimeZone.contains("site"))
209:       <span>$formatter.formatStatus($event).setTimeFormat("h:mm a z")</span>
210:     #end
211:   #else
212:     <span>$formatter.formatStatus($event)</span>
213:   #end
214:   </div>
215:   
216:   #if ($showJustOpponent && $teamSchedule) 
217:     <div class="opponent clearfix">
218:       #printTeamLogo($event.opponent)
219:       #printVa($event "")
220:       <span class="name">$event.opponent.name</span>
221:     
222:       #set ($APResult = "")      
223:       #if ($resultFormat.equals("AP1"))
224:         #set ($APResult = $event.APResult)
225:       #elseif ($resultFormat.equals("AP2"))
226:         #set ($APResult = $event.AP2Result)
227:       #end
228: 
229:       #if (!$event.inProgress && $APResult.length() > 0)
230:         <span class="result">$APResult</span>
231:       #else
232:         #if ($event.result.toString().length() > 0)
233:             <span class="result">$event.result</span>
234:         #end
235:       #end
236:     </div>
237:   #else
238:     #foreach ($team in $event.teams)
239:   	  #set ($teamClass = "team")
240:   	  #if ($event.winner.name.length() > 0)
241:     	#if ($event.winner.name == $team.name)
242:       		#set ($teamClass = "${teamClass} winner")
243:     	#else
244:       		#set ($teamClass = "${teamClass} loser")
245:     	#end
246:   	  #end 
247:   	  #if ($event.teams.size() == 2 && $teamSchedule)
248:   	  	#if ($team.teamId == $event.scheduleTeamId)
249:   	  		#set ($teamClass = "${teamClass} site-team")  	  
250:   	  	#end
251:   	  #end
252:       <div class="$teamClass clearfix">
253:         #if ($team.result.length() > 0 && $event.teams.size() > 1) ## ideally this should check if the event is associated to a schedule with numeric results
254:           <span class="score">$team.result</span>
255:         #end
256:         
257:         #printTeamLogo($team)
258:         #printVa($event $velocityCount)
259:         <span class="name">$team.name</span>
260:         
261:         #if ($event.teams.size() == 1 && $event.result.toString().length() > 0)
262:           <span class="result">$event.result</span>
263:         #end
264:       </div>
265:     #end
266:   #end
267:         
268:   #if ($event.neutralSite.length() > 0 || $event.notes.length() > 0)
269:     <div class="neutralsite-notes">
270:       #if ($event.neutralSite.length() > 0)
271:         <span class="neutral-site">@ $event.neutralSite</span>
272:       #end
273:       #if ($event.notes.length() > 0)
274:         <span class="notes">$event.notes</span>
275:       #end
276:     </div>
277:   #end
278: 
279:   #set ($eventLinks = $event.links)
280:   #if ($restrictLinks)
281:     #set ($eventLinks = [])
282:     #foreach ($link in $event.links)
283:       #if (($event.statusCode >= 0 || $eventServerDate.before($today)) && $excludeLinksWhenEventIsFinished.contains($link.mapType))
284:       #else
285:         #set ($ignoreme = $eventLinks.add($link))
286:       #end
287:     #end
288:   #end
289: 
290:   <div #if ($eventLinks.size() > 0) class="links" #else class="links empty" #end>
291:   #set ($linksCounter = 0)
292:   #foreach ($mapType in $linksOrder)
293:     #foreach ($link in $eventLinks)
294:       #if ($mapType == $link.mapType)
295:         #set ($linksCounter = $linksCounter + 1)
296:         #if ($linksCounter > 1)
297:           <span class="sep"> | </span>
298:         #end
299:         #set ($linkText = $link.name)
300:         #if ($abbreviatedLinks)
301:           #foreach ($l in $linksAbbreviations.entrySet())
302:             #if ($link.name.equalsIgnoreCase($l.key))
303:               #set ($linkText = $l.value)
304:             #end
305:           #end
306:         #end
307:         <a #printLinkAriaLabel($event, $link) href="$link.url" #if ($website.isExternalLink($link.url)) target="_blank" #end>
308:           #if ($showLinkIcons)
309:              <i class="icon gicon-${link.mapType.toLowerCase()}" title="$link.name"></i>
310:           #end
311:           <span class="text">$linkText</span>
312:         </a>
313:       #end
314:     #end
315:   #end
316:   </div>
317: </div>
318: #end ## printEvent
319: 
320: #macro (printEventBox $event)
321:   #set ($eventServerDate = $tool.timeZone.shift($event.date, $event.localTimeZone, $tool.timeZone.systemTimeZone))	
322:   #set ($eventBoxClass = "event-box")
323:   #if ($eventServerDate.before($today))
324:     #set ($eventBoxClass = "${eventBoxClass} result")
325:   #else
326:     #set ($eventBoxClass = "${eventBoxClass} upcoming")
327:   #end
328:   #if ($event.inProgress)
329:     #set ($eventBoxClass = "${eventBoxClass} inprogress")
330:   #end
331:   #if ($event.neutralSite.length() > 0)
332:     #set ($eventBoxClass = "${eventBoxClass} neutral")
333:   #elseif ($event.home) 
334:     #set ($eventBoxClass = "${eventBoxClass} home")
335:   #else
336:     #set ($eventBoxClass = "${eventBoxClass} away")
337:   #end  
338:   #if ($event.teams.size() == 2)
339:     #set ($eventBoxClass = "${eventBoxClass} h2h")
340:   #else
341:     #set ($eventBoxClass = "${eventBoxClass} meet")
342:   #end
343:   
344:   ## CODE TO EXTRACT SPORT SECTION FROM $event.feedURL 
345:   #set ($feedURL = $event.feedURL)
346:   #if ($feedURL.startsWith("http://"))
347:     #set ($feedURL = $feedURL.substring(7, $feedURL.length())) ## remove http://
348:   #elseif ($feedURL.startsWith("https://"))
349:     #set ($feedURL = $feedURL.substring(8, $feedURL.length())) ## remove https://
350:   #end
351:   #set ($startIndex = $feedURL.indexOf("/"))
352:   #set ($endIndex = $feedURL.length())
353:   #set ($feedURL = $feedURL.substring($startIndex, $endIndex))
354:   #set ($feedURL = $feedURL.split("/"))
355:   #if ($feedURL.size() >= 3)
356:     #set ($eventBoxClass = "${eventBoxClass} ${feedURL.get(2)}")
357:   #end
358:   
359:   <div class="${eventBoxClass}">
360:     #printEvent($event)
361:   </div>
362: #end ## printEventBox
363: 
364: #macro (printEmptyEventBox)
365: <div class="event-box empty">
366:   <div class="event">
367:     <span class="no-event">No Event</span>
368:   </div>
369: </div>
370: #end
371: 
372: ############################### END MACROS #############################################
373: 
374: #set ($events = [])
375: #set ($prevCount = 0)
376: #set ($upcomingCount = 0)
377: #set ($eventCount = 0)
378: 
379: ## filter out exhibition events and count the number of previous and upcoming events
380: #foreach ($event in $schedule.events)
381:   #if ($event.date && ($event.overall || !$hideExhibition))
382:     #set ($eventServerDate = $tool.timeZone.shift($event.date, $event.localTimeZone, $tool.timeZone.systemTimeZone))
383:     #if ($eventServerDate.before($today))
384:       #if ($events.add($event))
385:         #set ($prevCount = $prevCount + 1)
386:       #end
387:     #else
388:       #if ($events.add($event)) ## upcoming events include events for today
389:         #set ($upcomingCount = $upcomingCount + 1)
390:       #end
391:     #end
392:   #end
393: #end
394: 
395: #set ($eventCount = $events.size())
396: #if ($eventCount > 0)
397:   #set ($events = $tool.sorter.sort($events, "date")) ## sort dates chronologically
398: #end
399: 
400: ## print event boxes for slick slider
401: #if ($slickSlider)
402: 
403:     #if ($eventCount == 0)
404:       <div class="no-events">No events to show.</div>
405:     #else
406:       #foreach ($event in $events)
407:         #printEventBox($event)
408:       #end
409:     #end
410: 
411: #else
412: 
413:     #set ($slideCount = $tool.math.ceil($tool.math.div($eventCount, $colLimit))) ## total number of slides based on the available number of events
414:     #set ($emptyCount = $tool.math.sub($tool.math.mul($slideCount, $colLimit), $eventCount)) ## total number of items possible - total number of events available
415:     #set ($emptyCountStart = 0)
416:     #set ($emptyCountEnd = 0)
417:     
418:     #if ($prevCount > 0 && $upcomingCount > 0) ## when both previous and upcoming events are available, the layout should preferably show a default slide that contains both previous and upcoming events
419:       #set ($desiredPrevEventsInFocusedSlide = $colLimit / 2)
420:       #set ($availablePrevEventsInFocusedSlide = $prevCount % $colLimit)
421:       
422:       #if ($availablePrevEventsInFocusedSlide < $desiredPrevEventsInFocusedSlide)
423:         #set ($emptyCountStart = $desiredPrevEventsInFocusedSlide - $availablePrevEventsInFocusedSlide)  
424:       #elseif ($availablePrevEventsInFocusedSlide > $desiredPrevEventsInFocusedSlide)
425:         #set ($emptyCountStart = ($colLimit - $availablePrevEventsInFocusedSlide) + $desiredPrevEventsInFocusedSlide)
426:       #end
427:       
428:       #if ($emptyCountStart > 0) ## re-count the number of slides
429:         #set ($slideCount = $tool.math.ceil($tool.math.div($tool.math.add($eventCount, $emptyCountStart), $colLimit)))
430:       #end
431:       
432:       #set ($emptyCountEnd = $tool.math.sub($tool.math.mul($slideCount, $colLimit), $tool.math.add($eventCount, $emptyCountStart)))
433:       #set ($focusedIndex = $tool.math.ceil($tool.math.div($tool.math.add($prevCount, $emptyCountStart), $colLimit)))
434:       
435:     #elseif ($prevCount > 0) ## only previous events are available
436:       #set ($focusedIndex = $slideCount) ## focused slide is the last slide in the list that have most recent past events
437:       #set ($emptyCountStart = $emptyCount)
438:     #elseif ($upcomingCount > 0) ## only upcoming events are available
439:       #set ($focusedIndex = 1)
440:       #set ($emptyCountEnd = $emptyCount)
441:     #end
442:     
443:     #if ($slideCount <= 1)
444:         #set ($autoScroll = false)
445:         #set ($circularScroll = false)
446:     #end
447:     
448:     <div class="${id}"  data-module="jslider" data-focus="$tool.math.sub($focusedIndex, 1)" data-auto="$autoScroll" data-interval="${autoInterval}" data-circular="$circularScroll" data-navi="${showNavi}" data-items=".slides">
449:     
450:     #if ($eventCount == 0)
451:       <div class="no-events">No events to show.</div>
452:     #else
453:     
454:     #if ($fullSchedulePos == "top")
455:         <a href="$page.url" class="full-schedule-btn">View Full Schedule</a>
456:     #end
457:     
458:     <a href="javascript:void(0)" role="button" aria-label="move to previous slide" class="prev">Previous</a>
459:     <a href="javascript:void(0)" role="button" aria-label="move to next slide" class="next">Next</a>
460:     #if ($showPlayPause)
461:     	#set ($ppClass = "pp play")
462:     	#if ($autoScroll)
463:     		#set ($ppClass = "pp pause")
464:     	#end
465:     	<a href="javascript:void(0)" role="button" class="${ppClass}">pp</a>
466:     #end
467:     
468:     <div class="slider">
469:     <div class="slides clearfix">
470:       
471:     ## #set ($slideIndex = 1)
472:     #set ($colIndex = 0)
473:       
474:     <div class="slide">
475:     <div class="slide-content clearfix">
476:       
477:     #if ($emptyCountStart > 0)
478:       #foreach ($i in [1..$emptyCountStart])
479:         #set ($colIndex = $colIndex + 1)
480:         #printEmptyEventBox
481:       #end
482:     #end
483:       
484:     #foreach ($event in $events)
485:       #set ($colIndex = $colIndex + 1)
486:       #if ($colIndex > $colLimit)
487:         ## #set ($slideIndex = $slideIndex + 1)
488:         #set ($colIndex = 1)
489:         </div></div>
490:         <div class="slide">
491:         <div class="slide-content clearfix">
492:       #end
493:       #printEventBox($event)
494:     #end
495:     
496:     #if ($emptyCountEnd > 0)
497:       #foreach ($i in [1..$emptyCountEnd])
498:         #set ($colIndex = $colIndex + 1)
499:         #printEmptyEventBox
500:       #end
501:     #end
502:         
503:     </div> ## slide-content
504:     </div> ## slide
505:     
506:         
507:     </div> ## slides
508:     </div> ## slider
509:     
510:     #if ($showNavi)
511:     	<div class="navi"></div>
512:     #end
513:     #if ($fullSchedulePos == "bottom")
514:         <a href="$page.url" class="full-schedule-btn">View Full Schedule</a>
515:     #end
516:       
517:     #end ## total events check
518:     </div> ## scoreboard-slider
519:     
520:     $wiki
521: 
522: #end ## slick parameter check
523: 
524: #if ($request.getParameter("ajax") == true)
525:   $website.decorate("")
526: #end

There was a problem with a Velocity script
Pageschedule-networked-template
ErrorInvocation of method 'include' in class com.prestosports.render.ContentEngineInvoker threw exception java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections at schedule-networked-template[line 5, column 10]
Page source:
1: ## APPLY STYLESHEET
2: $website.addCss("/info/schedule-styles.css")
3: 
4: ## PICK UP OPTIONS
5: $website.include("options")
6: #set ($options = $request.getAttribute("options"))
7: 
8: #set ($showLeaders = false)
9: #if ($options.get("schedule_show_leaders") == "yes")
10: 	#set ($showLeaders = true)
11: #end
12: #if ($request.getParameter("showLeaders") == true)
13: 	#set ($showLeaders = true)
14: #end
15: 
16: #if ($showLeaders)
17:     $website.include("${page.sectionPage.url}/roster?tmpl=roster-headshots-template")
18:     #set ($rosterHeadshots = $!request.getAttribute("roster_headshots"))
19: #end
20: 
21: #set ($isMobile = false)
22: #if ($browser.getIphone() || $browser.getMobile())
23: 	#set ($isMobile = true)
24: #end
25: 
26: #set ($isPrinterFriendly = false)
27: #if ($request.getParameter("dec") == "printer-decorator")
28:   #set ($isPrinterFriendly = true)
29: #end
30: 
31: #set ($isTeamSchedule = false)
32: #if ($schedule.team.length() > 0)
33: 	#set ($isTeamSchedule = true)
34: #end
35: 
36: #set ($isSharedMeet = false)
37: #if ($schedule.team.length() == 0 && !$schedule.numericResults)
38: 	#set ($isSharedMeet = true)
39: #end
40: 
41: #set ($linksAbbreviations = { "Preview": "PR", "Box Score": "BX", "Results": "R", "Recap": "RC", "Live stats": "LS", "Video": "V", "Audio": "A", "Photos": "PH", "Tickets": "T", "Directions": "DR" })
42: #set ($linksOrder = ["RC", "BS", "RE", "GA", "AU", "VI", "LS", "DI", "TI", "PR"])
43: #set ($excludeLinksWhenEventIsFinished = ["LS", "DI", "TI", "PR"])
44: #set ($excludeLinksWhenEventIsLive = ["DI", "TI", "PR"])
45: 
46: #set ($restrictLinks = true)
47: #if ($options.get("schedule_restrict_links") == false)
48:   #set ($restrictLinks = false)
49: #end
50: 
51: #set ($showLinkIcons = true)
52: #if ($request.getParameter("showLinkIcons") == false)
53:   #set ($showLinkIcons = false)
54: #end
55: 
56: #set ($abbreviatedLinks = false)
57: #if ($request.getParameter("abbreviatedLinks") == true)
58:   #set ($abbreviatedLinks = true)
59: #end
60: 
61: #set ($showVsAt = true)
62: #if ($options.get("schedule_hide_vs_at") == true)
63: 	#set ($showVsAt = false)
64: #end
65: 
66: #set ($showTeamStats = true)
67: #if ($options.get("schedule_hide_team_stats") == true)
68: 	#set ($showTeamStats = false)
69: #end
70: 
71: #set ($showExhibitionGames = true)
72: #if ($options.get("schedule_hide_exhibition_events") == true)
73: 	#set ($showExhibitionGames = false)
74: #end
75: 
76: #set ($showSpotOnAddToCal = false)
77: #if ($options.get("schedule_show_spoton_add_to_cal") == "show")
78: 	#set ($showSpotOnAddToCal = true)
79: 
80: 	#if ($options.get('stanza_code').length() > 0)
81: 		#set ($stanzaCode = $options.get('stanza_code').toLowerCase())
82: 	#end
83: #end
84: 
85: #set ($showTeamLogo = false)
86: #if ($options.get("schedule_show_team_logo") == "show" && !$isPrinterFriendly)
87: 	#set ($showTeamLogo = true)
88: #end
89: 
90: #set ($includeTimeZone = false)
91: #if ($options.get('calendarIncludeTimeZone').length() > 0)
92: 	#set ($includeTimeZone = $options.get('calendarIncludeTimeZone').toLowerCase())
93: #end
94: 
95: #set ($enhancedLayout = false)
96: #if ($options.get("schedule_enhanced_layout") == "yes" && $schedule.numericResults && !$isPrinterFriendly)
97: 	#set ($enhancedLayout = true)
98: #end
99: 
100: #if ($isMobile && !$enhancedLayout)
101: 	#set ($includeURL = "${page.url}?tmpl=mobile-schedule-template&$!request.getQueryString()")
102: 	$website.includeAgain($includeURL)
103: 	#stop
104: #end
105: 
106: #set ($resultFormat = "AP1")
107: #if ($options.get("schedule_result_format").equals("L, 1-2")) ## whether to show $event.APResult or $event.AP2Result
108: 	#set ($resultFormat = "AP2")
109: #end
110: 
111: #set ($confNotation = "*")
112: #set ($divisionNotation = "^")
113: #set ($exhibitionNotation = "#")
114: #set ($postseasonNotation = "%")
115: #set ($multipleLeadersNotation = "+")
116: 
117: ## MACROS
118: #macro (printLinkAriaLabel $event $link)
119: 	#set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
120: 	#if ($event.neutralSite.length() > 0 || $event.home)
121: 		#set ($vsOrAt = "vs.")
122: 	#else
123: 		#set ($vsOrAt = "at")
124: 	#end
125: 	#if ($event.teams.size() > 1)
126: 		#set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name} ${vsOrAt} ${event.teams.get(1).name}:")
127: 	#elseif ($event.teams.size() == 1)
128: 		#set ($ariaLabel = "${ariaLabel} ${event.teams.get(0).name}:")
129: 	#end
130: 	#if ($event.neutralSite.length() > 0)
131: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
132: 	#end
133: 	#set ($ariaLabel = "${ariaLabel} ${link.name}")
134: 	aria-label="$ariaLabel"
135: #end
136: 
137: #macro (printEventLinks $event $useContainer $useList)
138: 	#set ($eventLinks = [])
139: 
140: 	#set ($isFinished = false)
141:     #if ($event.statusCode >= 0 || ($event.statusCode == -3 && $now.time >= ($event.date.time + (1000*60*60*24)))) ## -3 is reported for event sports
142:         #set ($isFinished = true)
143:     #end
144: 
145:     #if ($restrictLinks && ($event.inProgress || $isFinished))
146:         #foreach ($link in $event.links)
147:             #if ($event.inProgress && !$excludeLinksWhenEventIsLive.contains($link.mapType))
148:                 #set ($ignoreme = $eventLinks.add($link))
149:             #elseif ($isFinished && !$excludeLinksWhenEventIsFinished.contains($link.mapType))
150:                 #set ($ignoreme = $eventLinks.add($link))
151:             #end
152:         #end
153:     #else
154:         #set ($eventLinks = $event.links)
155: 	#end
156: 
157: 	#if ($useContainer == true)
158: 		<div #if ($eventLinks.size() > 0) class="links" #else class="links empty" #end>
159: 	#end
160: 		#if ($useList == true)<ul>#end
161: 			#set ($linksCounter = 0)
162: 			#foreach ($mapType in $linksOrder)
163: 				#foreach ($link in $eventLinks)
164: 					#if ($mapType == $link.mapType)
165: 						#set ($linksCounter = $linksCounter + 1)
166: 						#if ($linksCounter > 1)
167: 							##<span class="sep"> | </span>
168: 						#end
169: 						#set ($linkText = $link.name)
170: 						#if ($abbreviatedLinks)
171: 							#foreach ($l in $linksAbbreviations.entrySet())
172: 								#if ($link.name.equalsIgnoreCase($l.key))
173: 									#set ($linkText = $l.value)
174: 								#end
175: 							#end
176: 						#end
177: 						#if ($useList == true)<li>#end
178: 							<a #printLinkAriaLabel($event, $link) href="$link.url" #if ($website.isExternalLink($link.url)) target="_blank" #end class="link">
179: 							#if ($showLinkIcons)
180: 								<span class="icon gicon-${link.mapType.toLowerCase()}" title="$link.name"></span>
181: 							#end
182: 								<span class="text">$linkText</span>
183: 							</a>
184: 						#if ($useList == true)</li>#end
185: 					#end
186: 				#end
187: 			#end
188: 		#if ($useList == true)</ul>#end
189: 	#if ($useContainer == true)
190: 		</div>
191: 	#end
192: #end ## printEventLinks
193: 
194: #macro (printNotations $event)
195:   #if ($event.conference)
196:     <span class="notation" title="Conference">$confNotation</span>
197:   #end
198: 
199:   #if ($event.division)
200:     <span class="notation" title="Division">$divisionNotation</span>
201:   #end
202: 
203:   #if (!$event.overall)
204:     <span class="notation" title="Exhibition">$exhibitionNotation</span>
205:   #end
206: 
207:   #if ($event.postseason)
208:     <span class="notation" title="Post Season">$postseasonNotation</span>
209:   #end
210: #end
211: 
212: #macro (printTeamLogo $team)
213: 	#if ($showTeamLogo && $team.teamId.length() > 0)
214: 		<div class="team-logo" data-teamid="$team.teamId">
215: 		#if ($page.teamIDs.contains($team.teamId))
216: 			<a href="${page.url}?teamId=${team.teamId}"><img data-src="${website.teamLogo($team.teamId)}" alt="$!team.name" class="lazyload" /></a>
217: 		#else
218: 			<img data-src="${website.teamLogo($team.teamId)}" alt="$!team.name" class="lazyload" />
219: 		#end
220: 		</div>
221: 	#end
222: #end
223: 
224: #macro (printTeamName $team)
225: 	#if ($page.teamIDs.contains($team.teamId) && $schedule.numericResults)
226: 		<a href="${page.url}?teamId=${team.teamId}" class="team-name link">$team.name</a>
227: 	#else
228: 		<span class="team-name">$team.name</span>
229: 	#end
230: #end
231: 
232: #macro (printAPResult $event)
233: 	#if ($resultFormat.equals("AP1"))
234: 		#set ($APResult = $event.APResult)
235: 	#elseif ($resultFormat.equals("AP2"))
236: 		#set ($APResult = $event.AP2Result)
237: 	#end
238: 
239: 	#if (!$event.inProgress && $APResult.length() > 0)
240: 		$APResult
241: 	#else
242: 		$event.result
243: 	#end
244: #end
245: 
246: #macro (printEventStatus $event)
247: 	#if ($includeTimeZone)
248: 		#if ($includeTimeZone.contains('local'))
249: 			$formatter.formatStatus($event).setTimeFormat("h:mm a z").useEventTimeZone()
250: 		#elseif ($includeTimeZone.contains('site'))
251: 			$formatter.formatStatus($event).setTimeFormat("h:mm a z")
252: 		#end
253: 	#else
254: 		$formatter.formatStatus($event)
255: 	#end
256: #end
257: 
258: #macro (printEventNotes $event)
259:     #if ($event.notes.length() > 0 || $event.neutralSite.length() > 0)
260:     <div class="notes">
261:         #if ($event.neutralSite.length() > 0)<span class="neutral-site">@ $event.neutralSite</span>#end
262:         #if ($event.notes.length() > 0)<span class="">$event.notes</span>#end
263:     </div>
264:     #end
265: #end
266: 
267: #macro (printSharedMeet)
268: 	#set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value"))
269: 	#set ($teamsThreshold = 20)
270: 
271: 	#if ($teams.size() > $teamsThreshold)
272:     	#set ($teamsByAlphabets = {})
273:     	#foreach ($team in $teams)
274:     		#set ($firstLetter = $team.value.charAt(0))
275:     		#set ($arr = [])
276:     		#if ($teamsByAlphabets.containsKey($firstLetter))
277:     			#set ($arr = $teamsByAlphabets.get($firstLetter))
278:     		#end
279:     		#set ($bool = $arr.add($team))
280:     		#set ($val = $teamsByAlphabets.put($firstLetter, $arr))
281:     	#end
282: 
283: 		<ul class="team-alphabets">
284: 		#foreach ($alphabet in $teamsByAlphabets.entrySet())
285: 			<li><a href="#${alphabet.key}">$alphabet.key</a></li>
286: 		#end
287: 		</ul>
288: 
289:         <div class="team-list clearfix">
290: 			<div class="col">
291:         	#foreach ($obj in $teamsByAlphabets.entrySet())
292: 				#if ($velocityCount == 8 || $velocityCount == 15)
293: 				    </div><div class="col">
294: 				#end
295: 				#set ($teamList = $obj.value)
296: 				<ul>
297:         			<li class="title" id="${obj.key}">$obj.key</li>
298:         			#foreach ($team in $teamList)
299:         				<li><a href="${page.url}?teamId=${team.key}">$team.value</a></li>
300:         			#end
301:         		</ul>
302: 			#end
303: 			</div>
304:         </div>
305: 	#else ## less than threshold
306: 		#if ($teams.size() == 0)
307: 			<h3>There are no teams that match this criteria</h3>
308: 		#else
309: 			<div class="team-list">
310:     			<ul>
311:     			#foreach ($team in $teams)
312:     				<li><a href="${page.url}?teamId=${team.key}">$team.value</a></li>
313:     			#end
314:     			</ul>
315: 			</div>
316: 		#end
317: 	#end ## teams threshold
318: #end ## printSharedMeet
319: 
320: #macro (printTeamStats)
321: 	#if ($isTeamSchedule && $schedule.teamId.length() > 0)
322: 		#set ($number = $schedule.Record.winPercentage)
323: 		#set ($confnumber = $schedule.conferenceRecord.winPercentage)
324: 
325: 		<div class="team-stats accent-bg">
326: 		<div class="clearfix">
327: 
328: 			<div class="cat">
329: 				<span class="label">Overall</span>
330: 				<span class="value">$schedule.Record</span>
331: 			</div>
332: 			<div class="cat">
333: 				<span class="label">Pct.</span>
334: 				<span class="value">$formatter.formatNumber($number, "#.000")</span>
335: 			</div>
336: 			<div class="cat">
337: 				<span class="label">Conf.</span>
338: 				<span class="value">$schedule.ConferenceRecord</span>
339: 			</div>
340: 			<div class="cat">
341: 				<span class="label">Pct.</span>
342: 				<span class="value">$formatter.formatNumber($confnumber, "#.000")</span>
343: 			</div>
344: 			<div class="cat">
345: 				<span class="label">Streak</span>
346: 				<span class="value">$schedule.streak</span>
347: 			</div>
348: 			<div class="cat">
349: 				<span class="label">Home</span>
350: 				<span class="value">$schedule.homeRecord</span>
351: 			</div>
352: 			<div class="cat">
353: 				<span class="label">Away</span>
354: 				<span class="value">$schedule.awayRecord</span>
355: 			</div>
356: 			<div class="cat">
357: 				<span class="label">Neutral</span>
358: 				<span class="value">$schedule.neutralRecord</span>
359: 			</div>
360: 
361: 			## SHOW SPLITS DATA FOR TEAM VIEW H2H SCHEDULES
362: 			#if ($showTeamStats)
363: 				#set ($teamStatsPath = "${page.sectionPage.url}/teams")
364: 
365: 				#if ($website.exists($teamStatsPath))
366: 					$website.includeAgain("${teamStatsPath}?teamId=${schedule.teamId}&tmpl=schedule-team-stats-template")
367: 				#end
368: 			#end
369: 		</div>
370: 		</div> ## team-stats
371: 	#end
372: #end ## printTeamStats
373: 
374: #macro (printEnhancedLayout)
375:     #set ($lastDate = "")
376: 
377:     <div class="event-group">
378:     #foreach ($event in $events)
379:         #if ($isTeamSchedule)
380:             #set ($theDate = $formatter.formatDate($event.date, "MMMM"))
381:         #else
382:     	    #set ($theDate = $formatter.formatDate($event.date, "EEEE MMMM dd, yyyy"))
383:     	#end
384: 
385:     	#if (!$lastDate.equals($theDate))
386:     	    #if ($velocityCount > 1)
387:     	        </div><div class="event-group">
388:             #end
389:     		<div class="event-date accent-bg">$theDate</div>
390:     	#end
391: 
392:     	#set ($lastDate = $theDate)
393:     	#set ($rowClass = "event-row")
394: 
395: 		#if ($velocityCount % 2 == 0)
396: 			#set ($rowClass = "${rowClass} even")
397: 		#else
398: 			#set ($rowClass = "${rowClass} odd")
399: 		#end
400: 
401: 		#if ($event.neutralSite.length() > 0)
402: 			#set ($rowClass = "${rowClass} neutral")
403: 		#elseif ($event.home)
404: 			#set ($rowClass = "${rowClass} home")
405: 		#else
406: 			#set ($rowClass = "${rowClass} away")
407: 		#end
408: 
409: 		#if ($event.inProgress)
410: 			#set ($rowClass = "${rowClass} inprogress")
411: 		#end
412: 
413: 		#if ($event.conference)
414: 			#set ($rowClass = "${rowClass} conf")
415: 		#end
416: 
417: 		#if ($event.postseason)
418: 			#set ($rowClass = "${rowClass} postseason")
419: 		#end
420: 
421: 		#if ($event.division)
422: 			#set ($rowClass = "${rowClass} division")
423: 		#end
424: 
425: 		#if (!$event.overall)
426: 			#set ($rowClass = "${rowClass} exhibition")
427: 		#end
428: 
429: 		#if ($event.statusCode < 0 && !$event.inProgress)
430: 			#if ($event.date && !$event.date.before($now))
431: 				#set ($rowClass = "${rowClass} upcoming")
432: 			#end
433: 		#end
434: 
435: 		#set ($boxscoreURL = "")
436: 		#set ($recapURL = "")
437: 		#foreach ($link in $event.links)
438: 			#if ($boxscoreURL.length() == 0 && $link.url.endsWith(".xml") && $link.mapType == "BS" && !$website.isExternalLink($link.url))
439: 				#set ($boxscoreURL = "${link.url}")
440: 			#elseif ($link.mapType == "RC" && $recapURL.length() == 0 && !$website.isExternalLink($link.url))
441: 				#set ($recapURL = $link.url)
442: 			#end
443: 		#end
444: 
445: 		#if ($boxscoreURL.length() > 0 || $recapURL.length() > 0)
446: 			#set ($rowClass = "${rowClass} has-recap")
447: 		#end
448: 		
449: 		#set ($sport = $event.sport.toLowerCase())
450: 		#if ($showLeaders && $rosterHeadshots.size() > 0 && ($sport.contains("basketball") || $sport.contains("soccer") || $sport.contains("volleyball")))
451: 			#set ($rowClass = "${rowClass} has-leaders")
452: 		#else
453: 		    #set ($rowClass = "${rowClass} no-leaders")
454: 		#end
455: 
456: 		#if ($event.winner.name.length() > 0)
457: 			#if ($event.opponent.winner)
458: 				#set ($rowClass = "${rowClass} loser")
459: 			#else
460: 				#set ($rowClass = "${rowClass} winner")
461: 			#end
462: 		#end
463: 		
464: 		#set ($eventLinks = [])
465:         #if ($restrictLinks && ($event.inProgress || $event.statusCode >= 0))
466:             #foreach ($link in $event.links)
467:                 #if ($event.inProgress && !$excludeLinksWhenEventIsLive.contains($link.mapType))
468:                     #set ($ignoreme = $eventLinks.add($link))
469:                 #elseif ($event.statusCode >= 0 && !$excludeLinksWhenEventIsFinished.contains($link.mapType))
470:                     #set ($ignoreme = $eventLinks.add($link))
471:                 #end
472:             #end
473:         #else
474:             #set ($eventLinks = $event.links)
475:     	#end
476:     	
477:     	#if ($eventLinks.size() > 0)
478:     	    #set ($rowClass = "${rowClass} has-links")
479:     	#end
480: 
481: 		<div class="${rowClass}" #if ($recapURL.length() > 0) data-recap="$recapURL" #end #if ($boxscoreURL.length() > 0) data-boxscore="$boxscoreURL" #end>
482: 		<div class="inner-wrap clearfix">
483:         #if ($isTeamSchedule)
484:         	<div class="event-info clearfix">
485: 
486:                 <div class="date" title="${formatter.formatDate($event.date, "EEE. MMMM dd, yyyy")}">$formatter.formatDate($event.date, "'<span>'EEE'</span>' '<span>'MMM'</span>' '<span>'dd'</span>'")</div>
487: 
488:                 #if ($event.neutralSite.length() > 0 || $event.home)
489:                     <div class="va">vs</div>
490:                 #else
491:                     <div class="va">at</div>
492:                 #end
493: 
494:                 #printTeamLogo($event.opponent)
495: 
496:                 <div class="event clearfix">
497: 
498:                     <div class="opponent">
499: 						#printTeamName($event.opponent)
500:             		    #printNotations($event)
501:                     </div>
502: 
503:                     #printEventNotes($event)
504:                 </div>
505: 				
506: 				<div class="status">#printEventStatus($event)</div>
507: 				<div class="result">#printAPResult($event)</div>
508: 				
509: 				#if ($showLeaders && $rosterHeadshots.size() > 0 && ($sport.contains("basketball") || $sport.contains("soccer") || $sport.contains("volleyball")))
510: 					<div class="game-leaders">$website.include("${boxscoreURL}?tmpl=schedule-game-leaders-template&teamId=${schedule.teamId}")</div>
511: 				#end
512: 
513:                 #printEventLinks($event, true, true)
514: 
515:                 #if ($event.neutralSite.length() > 0)
516:         		    <a href="#" class="venue" title="Neutral"><span>N</span></a>
517:                 #elseif ($event.home)
518:         		    <a href="#" class="venue" title="Home"><span>H</span></a>
519:                 #else
520:         		    <a href="#" class="venue" title="Away"><span>A</span></a>
521:                 #end
522: 
523:             </div> ## event-info
524: 
525:         #elseif ($event.teams.size() == 2) ## conference schedule with head-to-head events
526:         	#set ($awayTeam = $event.teams.get(0))
527:         	#set ($homeTeam = $event.teams.get(1))
528: 
529:         	#set ($awayClass = "away")
530:         	#set ($homeClass = "home")
531: 
532:         	#if ($awayTeam.winner)
533:         		#set ($awayClass = "${awayClass} winner")
534:         		#set ($homeClass = "${homeClass} loser")
535:         	#elseif ($homeTeam.winner)
536:         		#set ($awayClass = "${awayClass} loser")
537:         		#set ($homeClass = "${homeClass} winner")
538:         	#end
539: 
540:         	#set ($hasLogo = false)
541:         	#if ($awayTeam.teamId && $homeTeam.teamId && $showTeamLogo)
542:         	    #set ($hasLogo = true)
543:         	#end
544: 
545:         	<div class="event-info clearfix">
546: 
547:             <div #if ($hasLogo) class="teams has-logos clearfix" #else class="teams clearfix" #end>
548:                 <div class="team $awayClass clearfix">
549:             		#if ($hasLogo)<div class="logo">#printTeamLogo($awayTeam)</div>#end
550:             		#printTeamName($awayTeam) #printNotations($event)
551:             		<div class="team-score">$awayTeam.result</div>
552:             	</div>
553: 
554:                 <div class="team $homeClass clearfix">
555:             		#if ($hasLogo)<div class="logo">#printTeamLogo($homeTeam)</div>#end
556:             		#printTeamName($homeTeam)
557:             		<div class="team-score">$homeTeam.result</div>
558:             	</div>
559:         	</div> ## teams
560: 
561:         	<div class="details">
562:         	    <div class="date">$formatter.formatDate($event.date, "EEEE, MMMM dd")</div>
563:         	    <div class="status">$formatter.formatStatus($event)</div>
564:         	    #printEventNotes($event)
565:         	    #printEventLinks($event, true, true)
566:         	</div>
567: 
568:         	</div> ## event-info
569:         #end
570:         </div> ## inner-wrap
571:         </div> ## row
572: 
573:     #end ## events loop
574:     </div> ## event-group
575: #end ## printEnhancedLayout
576: ## END MACROS
577: 
578: #set ($events = [])
579: #set ($hasPostSeasonEvents = false)
580: #set ($hasConfEvents = false)
581: #set ($hasDivisionEvents = false)
582: #set ($hasExhibitionEvents = false)
583: #set ($hasHomeEvents = false)
584: #set ($hasAwayEvents = false)
585: #set ($hasNeutralEvents = false)
586: 
587: #foreach ($event in $schedule.events)
588: #if ($event.date && ($event.overall || $showExhibitionGames))
589:     #if ($events.add($event))
590:         #if ($event.postseason)
591:             #set ($hasPostSeasonEvents = true)
592:         #end
593: 
594:         #if ($event.conference)
595:             #set ($hasConfEvents = true)
596:         #end
597: 
598:         #if ($event.division)
599:             #set ($hasDivisionEvents = true)
600:         #end
601: 
602:         #if (!$event.overall)
603:             #set ($hasExhibitionEvents = true)
604:         #end
605: 
606:         #if ($event.neutralSite.length() > 0)
607:             #set ($hasNeutralEvents = true)
608:         #elseif ($event.home)
609:             #set ($hasHomeEvents = true)
610:         #else
611:             #set ($hasAwayEvents = true)
612:         #end
613:     #end
614: #end
615: #end
616: 
617: #if ($isSharedMeet)
618: 	#set ($rootClass = "schedule-meet")
619: #else
620:     #if ($enhancedLayout)
621:     	#set ($rootClass = "schedule-enhanced")
622:     #else
623:     	#set ($rootClass = "schedule-list")
624:     #end
625: 
626:     #if ($isTeamSchedule)
627:     	#set ($rootClass = "${rootClass} h2h-team")
628:     #else
629:     	#set ($rootClass = "${rootClass} h2h-conf")
630:     #end
631: #end
632: 
633: #if ($showTeamLogo)
634: 	#set ($rootClass = "${rootClass} has-logos")
635: #end
636: 
637: <div class="schedule-wrap ${rootClass} clearfix" data-module="schedule-layout">
638: 
639: $wiki
640: 
641: ## LOOK TO INCLUDE SCHEDULE NOTE
642: #set ($scheduleNoteURL = "${page.url}-note")
643: #if ($website.exists($scheduleNoteURL))
644: 	$website.include($scheduleNoteURL)
645: #end
646: 
647: #if ($page.title.length() > 0)
648: 	#if ($schedule.team.length() > 0 && $page.teams.size() > 1)
649: 		#set ($pageTitle = "${page.title} : ${schedule.team}")
650: 	#else
651: 		#set ($pageTitle = $page.title)
652: 	#end
653: 	<h1>$pageTitle</h1>
654: #end
655: 
656: ## SHARED MEETS TEAMS LAYOUT
657: #if ($isSharedMeet)
658: 
659: 	## SCHEDULE FILTERS
660: 	<div class="filters clearfix">
661: 
662: 	## LOOK TO INCLUDE ARCHIVE SCHEDULES DROPDOWN
663: 	<div class="filter seasons">
664: 		$website.include("navbar-schedule-archive?tmpl=schedule-archive-list-template&selected=${tool.esc.url($page.url)}")
665: 	</div>
666: 
667: 	#if ($showSpotOnAddToCal)
668:         <div class="filter spoton-cal"><a class="spoton-it" data-size="medium" data-options="ticker" data-color="rgb(0,33,71)" href="https://stanza.co/schedules/${stanzaCode}">Add to Calendar</a> <script>(function() {var so=document.createElement('script'); so.async=true;so.src='https://dff2h0hbfv6w4.cloudfront.net/scripts/loader.js'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(so,s);})();</script></div>
669: 	#end
670: 	</div> ## filters
671: 
672: 	#printSharedMeet
673: 
674: #else ## not shared meet
675: 
676: ## TEAM STATS
677: #if ($schedule.numericResults && !$isPrinterFriendly)
678: 	#printTeamStats
679: 
680:     ## SCHEDULE FILTERS
681:     <div class="filters clearfix">
682:     #if ($page.teams.size() > 1)
683:     	<div class="filter teams-filter">
684: 			<div class="select-list">
685: 				<label><span>Filter schedule by selecting a team name from the list</span>
686:             		<select id="select-box-team-filter">
687:             			<option value="${page.url}">All Teams</option>
688:             			#foreach ($team in $tool.sorter.sort($page.teams.entrySet(), "value"))
689:             				<option #if ($request.getParameter("teamId") == $team.key) selected #end value="${page.url}?teamId=${team.key}">$team.value</option>
690:             			#end
691:             		</select>
692: 				</label>
693: 			</div>
694:     	</div>
695:     #end
696: 
697:     #if ($isTeamSchedule && $enhancedLayout)
698:         <div class="filter venue-filter">
699: 			<div class="select-list">
700: 				<label>
701: 					<span>Filter events by selecting a venue from the list</span>
702:                     <select data-filter="true">
703:                         <option value="all">All Venues</option>
704:                         #if ($hasHomeEvents)
705:                             <option value="home">Home</option>
706:                         #end
707:                         #if ($hasAwayEvents)
708:                             <option value="away">Away</option>
709:                         #end
710:                         #if ($hasNeutralEvents)
711:                             <option value="neutral">Neutral</option>
712:                         #end
713:     				</select>
714: 				</label>
715: 			</div>
716:         </div>
717:     #end
718: 
719:     #if ($hasConfEvents || $hasDivisionEvents || $hasExhibitionEvents || $hasPostSeasonEvents)
720:         <div class="filter type-filter">
721: 			<div class="select-list">
722: 				<label>
723: 					<span>Filter events by selecting an event type from the list</span>
724:                     <select data-filter="true">
725:                         <option value="all">All Events</option>
726:                         #if ($hasConfEvents)
727:                             <option value="conf">Conference</option>
728:                         #end
729:                         #if ($hasDivisionEvents)
730:                             <option value="division">Division</option>
731:                         #end
732:                         #if ($hasExhibitionEvents)
733:                             <option value="exhibition">Exhibition</option>
734:                         #end
735:                         #if ($hasPostSeasonEvents)
736:                             <option value="postseason">Post Season</option>
737:                         #end
738:                     </select>
739: 				</label>
740: 			</div>
741:         </div>
742: 	#end
743: 
744: 	## LOOK TO INCLUDE ARCHIVE SCHEDULES DROPDOWN
745: 	<div class="filter seasons">
746: 		$website.include("navbar-schedule-archive?tmpl=schedule-archive-list-template&selected=${tool.esc.url($page.url)}")
747: 	</div>
748: 
749:     #if ($showSpotOnAddToCal)
750:         <div class="filter spoton-cal"><a class="spoton-it" data-size="medium" data-options="ticker" data-color="rgb(0,33,71)" href="https://stanza.co/schedules/${stanzaCode}">Add to Calendar</a> <script>(function() {var so=document.createElement('script'); so.async=true;so.src='https://dff2h0hbfv6w4.cloudfront.net/scripts/loader.js'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(so,s);})();</script></div>
751:     #end
752:     </div> ## filters
753: #else
754: 	## SCHEDULE FILTERS
755: 	<div class="filters clearfix">
756: 
757: 	## LOOK TO INCLUDE ARCHIVE SCHEDULES DROPDOWN
758: 	<div class="filter seasons">
759: 		$website.include("navbar-schedule-archive?tmpl=schedule-archive-list-template&selected=${tool.esc.url($page.url)}")
760: 	</div>
761: 
762: 	#if ($showSpotOnAddToCal)
763:         <div class="filter spoton-cal"><a class="spoton-it" data-size="medium" data-options="ticker" data-color="rgb(0,33,71)" href="https://stanza.co/schedules/${stanzaCode}">Add to Calendar</a> <script>(function() {var so=document.createElement('script'); so.async=true;so.src='https://dff2h0hbfv6w4.cloudfront.net/scripts/loader.js'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(so,s);})();</script></div>
764: 	#end
765: 	</div> ## filters
766: #end ## numericResults
767: 
768: <div class="schedule-content clearfix">
769: #if ($enhancedLayout) ## enhanced layout
770: 
771: 	#printEnhancedLayout
772: 
773: #else ## list layout
774: 
775: #set ($scheduleLayout = 1)
776: #if ($tool.math.toInteger($options.get("schedule_default_layout")) > 1)
777:   #set ($scheduleLayout = $tool.math.toInteger($options.get("schedule_default_layout")))
778: #end
779: 
780: ## SET DEFAULT LABELS AND FIELDS FOR NUMERIC vs. NON-NUMERIC SCHEDULES
781: #if ($isTeamSchedule)
782: ## TEAM VIEW
783:   #if ($schedule.numericResults) ## team h2h
784:     #if ($scheduleLayout == 1)
785:       #set ($scheduleFields = ["date", "opponent+neutralsite", "notes", "result", "status", "links"])
786:       #set ($scheduleLabels = ["Date", "Opponent", "Notes", "Result", "Status", "Links"])
787:     #elseif ($scheduleLayout == 2)
788:       #set ($scheduleFields = ["date", "opponent+neutralsite", "result", "status", "links", "_notes"])
789:       #set ($scheduleLabels = ["Date", "Opponent", "Result", "Status", "Links", "Notes"])
790: 	#elseif ($scheduleLayout == 3)
791: 	  #set ($scheduleFields = ["date", "opponent", "notes+neutralsite", "result", "status", "links"])
792:       #set ($scheduleLabels = ["Date", "Opponent", "Notes", "Result", "Status", "Links"])
793:     #end
794:   #else
795:     #if ($scheduleLayout == 1)
796:       #set ($scheduleFields = ["date", "opponent+neutralsite", "notes", "status", "team_away_result", "links"])
797:       #set ($scheduleLabels = ["Date", "Event", "Notes", "Status", "Result", "Links"])
798:     #elseif ($scheduleLayout == 2)
799:       #set ($scheduleFields = ["date", "opponent", "status", "team_away_result", "links", "_notes+neutralsite"])
800:       #set ($scheduleLabels = ["Date", "Event", "Status", "Result", "Links", "Notes"])
801:     #elseif ($scheduleLayout == 3)
802:       #set ($scheduleFields = ["date", "opponent+neutralsite",  "status", "team_away_result", "links", "_notes"])
803:       #set ($scheduleLabels = ["Date", "Event", "Status", "Result", "Links", "Notes"])
804:     #end
805:   #end
806: #else
807: ## CONFERENCE VIEW
808:   #if($schedule.numericResults) ## conf h2h
809:     #if ($scheduleLayout == 1)
810:       #set ($scheduleFields = ["date", "team_away", "team_away_result", "team_home", "team_home_result", "status", "links", "_notes+neutralsite"])
811:       #set ($scheduleLabels = ["Date", "Away", "", "Home", "", "Status", "Links", "Notes"])
812:     #elseif ($scheduleLayout == 2)
813:       #set ($scheduleFields = ["_date", "team_away+team_away_result", "team_home+team_home_result", "notes+neutralsite", "status", "links"])
814:       #set ($scheduleLabels = ["Date", "Away", "Home", "Notes", "Status", "Links"])
815: 	#elseif ($scheduleLayout == 3)
816: 	  #set ($scheduleFields = ["date", "team_away", "team_away_result", "team_home", "team_home_result", "notes+neutralsite", "status", "links"])
817:       #set ($scheduleLabels = ["Date", "Away", "", "Home", "", "Notes", "Status", "Links"])
818:     #end
819:   #else
820:     #if ($scheduleLayout == 1)
821:       #set ($scheduleFields = ["date", "opponent+neutralsite", "status", "result", "links", "_notes"])
822:       #set ($scheduleLabels = ["Date", "Teams/Event", "Time", "Score", "Links", "Notes"])
823:     #elseif ($scheduleLayout == 2)
824:       #set ($scheduleFields = ["date", "team_away", "neutralsite", "team_away_result", "links", "_notes"])
825:       #set ($scheduleLabels = ["Date", "Teams", "Event", "Results", "Links", "Notes"])
826: 	#elseif ($scheduleLayout == 3)
827: 	  #set ($scheduleFields = ["date", "team_away", "neutralsite", "team_away_result", "links", "notes"])
828:       #set ($scheduleLabels = ["Date", "Teams", "Event", "Results", "Links", "Notes"])
829:     #end
830:   #end
831: #end
832: 
833: ## SET FIELDS AND LABELS FROM OPTIONS IF AVAILABLE AND SANITIZE THEM
834: #if ($options.get("schedule_fields") && $options.get("schedule_labels"))
835: 	#set ($optionFields = $options.get("schedule_fields"))
836: 	#set ($optionFields = $optionFields.split(","))
837: 	#foreach ($field in $optionFields)
838: 		#set ($field = $field.trim())
839: 		$tool.list.set($optionFields, $tool.math.sub($velocityCount, 1), $field)
840: 	#end
841: 
842: 	#set ($optionLabels = $options.get("schedule_labels"))
843: 	#set ($optionLabels = $optionLabels.split(","))
844: 	#foreach ($label in $optionLabels)
845: 		#set ($label = $label.trim())
846: 		#if ($label.equals("-"))
847: 			#set ($label = "&nbsp;")
848: 		#end
849: 		$tool.list.set($optionLabels, $tool.math.sub($velocityCount, 1), $label)
850: 	#end
851: 
852: 	#if ($tool.list.size($optionFields) == $tool.list.size($optionLabels))
853: 		#set ($scheduleFields = $optionFields)
854: 		#set ($scheduleLabels = $optionLabels)
855: 	#end
856: #end
857: 
858: #set ($dateFormat = "EEE. d")
859: #set ($groupByMonths = true)
860: 
861: #if ($options.get("schedule_date_format").equals("Thu. 3"))
862:   #set ($dateFormat = "EEE. d")
863: #elseif ($options.get("schedule_date_format").equals("Mar. 15"))
864:   #set ($dateFormat = "MMM. dd")
865: #elseif ($options.get("schedule_date_format").equals("Mar. 15, 2013"))
866:   #set ($dateFormat = "MMM. dd, yyyy")
867: #elseif ($options.get("schedule_date_format").equals("March 15, 2013"))
868:   #set ($dateFormat = "MMMM dd, yyyy")
869: #elseif ($options.get("schedule_date_format").equals("March 15"))
870:   #set ($dateFormat = "MMMM dd")
871: #elseif ($options.get("schedule_date_format").equals("03/15/2013"))
872:   #set ($dateFormat = "MM/dd/yyyy")
873: #elseif ($options.get("schedule_date_format").equals("03/15"))
874:   #set ($dateFormat = "MM/dd")
875: #elseif ($options.get("schedule_date_format").equals("Thursday, March 15, 2013"))
876:   #set ($dateFormat = "EEEE, MMMM dd, yyyy")
877: #elseif ($options.get("schedule_date_format").equals("Thursday, Mar. 15, 2013"))
878:   #set ($dateFormat = "EEEE, MMM. dd, yyyy")
879: #elseif ($options.get("schedule_date_format").equals("Thursday, March 15"))
880:   #set ($dateFormat = "EEEE, MMMM dd")
881: #elseif ($options.get("schedule_date_format").equals("Thursday, Mar. 15"))
882:   #set ($dateFormat = "EEEE, MMM. dd")
883: #elseif ($options.get("schedule_date_format").equals("Thu., March 15"))
884:   #set ($dateFormat = "EEE., MMMM dd")
885: #elseif ($options.get("schedule_date_format").equals("Thu., Mar. 15"))
886:   #set ($dateFormat = "EEE., MMM. dd")
887: #end
888: 
889: #if ($options.get("schedule_group_by_months") == false)
890:   #set ($groupByMonths = false)
891: #end
892: 
893: <table>
894: <thead>
895: <tr>
896: #set ($colCount = 0)
897: #foreach ($label in $scheduleLabels)
898:   #if (!$tool.list.get($scheduleFields, $tool.math.sub($velocityCount, 1)).startsWith("_"))
899:     <th>$label</th>
900: 	#set ($colCount = $colCount + 1)
901:   #end
902: #end
903: </tr>
904: </thead>
905: 
906: #set ($lastdate = "")
907: #set ($lastMonth = "")
908: #set ($counter = 0)
909: <tbody class="event-group">
910: #foreach ($event in $events)
911: 
912:   #set ($formattedDate = $formatter.formatDate($event.date, $dateFormat))
913:   #set ($theDate = $formatter.formatDate($event.date, "MMMM dd yyyy"))
914:   #set ($theMonth = $formatter.formatDate($event.date, "MMMM"))
915: 
916:   #if ($groupByMonths && !$lastMonth.equals($theMonth))
917: 	#if ($velocityCount > 1)
918:         </tbody><tbody class="event-group">
919:     
920:         <tr class="month-sep"><td colspan="${colCount}">&nbsp;</td></tr> ## show empty row
921:     #end
922:     
923:     <tr class="month-title"><td colspan="${colCount}">$theMonth</td></tr>
924:     ## EVENTS ARE GROUPED WHEN HERE SO RESET COUNTER BACK TO 0
925:     #set ($counter = 0)
926:   #end
927: 
928:   #set ($counter = $counter + 1)
929:   #set ($rowClass = "event-row")
930: 
931:   #if ($event.inProgress)
932:     #set ($rowClass = "${rowClass} in-progress")
933:   #end
934: 
935:   #if ($event.conference)
936:     #set ($rowClass = "${rowClass} conf")
937:   #end
938: 
939:   #if ($event.postseason)
940:     #set ($rowClass = "${rowClass} postseason")
941:   #end
942: 
943:   #if ($event.division)
944:     #set ($rowClass = "${rowClass} division")
945:   #end
946: 
947:   #if (!$event.overall)
948:     #set ($rowClass = "${rowClass} exhibition")
949:   #end
950: 
951:   #if ($event.neutralSite.length() > 0) #else
952: 	#if ($event.home)
953: 		#set ($rowClass = "${rowClass} home")
954: 	#end
955:   #end
956: 
957:   #if ($scheduleFields.contains("_date") && !$lastDate.equals($theDate))
958:     <tr class="${rowClass} date-sep"><td colspan="${colCount}">&nbsp;</td></tr> ## show empty row
959:     <tr class="${rowClass} date-title"><td colspan="${colCount}">$formattedDate</td></tr>
960: 
961:     ## EVENTS ARE GROUPED WHEN HERE SO RESET COUNTER BACK TO 0
962:     #set ($counter = 0)
963:   #end
964: 
965:   #if ($counter % 2 == 0)
966:     #set ($rowClass = "${rowClass} even")
967:   #else
968:     #set ($rowClass = "${rowClass} odd")
969:   #end
970: 
971:   <tr class="${rowClass}" #if ($event.inProgress) title="In Progress" #end>
972:   #foreach ($field in $scheduleFields)
973: 
974:   ## DATE
975:   #if ($field.equals("date"))
976:     <td class="e_date">#if (!$lastDate.equals($theDate)) $formattedDate #else &nbsp; #end</td>
977:   #end
978: 
979:   ## OPPONENT
980:   #if ($field.equals("opponent") || $field.equals("opponent+neutralsite"))
981:     <td class="e_team e_opponent">
982:     #printTeamLogo($event.opponent)
983: 
984:     #if ($showVsAt)
985:       #if ($event.neutralSite.length() > 0 || $event.home)
986:         <span class="va">vs. </span>
987:       #else
988:         <span class="va">at </span>
989:       #end
990:     #end
991: 
992:     #printTeamName($event.opponent)
993:     #printNotations($event)
994: 
995:     #if ($field.equals("opponent+neutralsite") && $event.neutralSite.length() > 0)
996:       <span class="neutralsite">@ $event.neutralSite</span>
997:     #end
998:     </td>
999:   #end
1000: 
1001:   ## RESULT
1002:   #if ($field.equals("result") || $field.equals("result+status"))
1003:     <td class="e_result">
1004: 	#printAPResult($event)
1005: 
1006:     #if ($field.equals("result+status"))
1007:       #printEventStatus($event)
1008:     #end
1009:     </td>
1010:   #end
1011: 
1012:   ## TEAM AWAY
1013:   #if ($field.equals("team_away") || $field.equals("team_away+team_away_result"))
1014:     #set ($class = "e_team e_awayteam")
1015:     #if ($field.equals("team_away+team_away_result"))
1016:       #set ($class = "e_team_result e_awayteam")
1017:     #end
1018:     <td class="$class">
1019:     #if ($event.teams.size() > 0)
1020:       #set ($awayTeam = $event.teams.get(0))
1021:       #printTeamLogo($awayTeam)
1022:       #printTeamName($awayTeam)
1023: 	  #printNotations($event)
1024: 
1025:       #if ($field.equals("team_away+team_away_result") && $awayTeam.result.length() > 0)
1026: 		#if ($awayTeam.winner)
1027: 		  <span class="e_result winner">$awayTeam.result</span>
1028: 		#else
1029:           <span class="e_result">$awayTeam.result</span>
1030: 		#end
1031:       #end
1032:     #else
1033:       &nbsp;
1034:     #end
1035:     </td>
1036:   #end
1037: 
1038:   ## TEAM AWAY RESULT
1039:   #if ($field.equals("team_away_result"))
1040: 	#set ($class = "e_result e_awayresult")
1041: 	#if ($event.teams.size() > 0 && $event.teams.get(0).winner)
1042: 		#set ($class = "${class} winner")
1043: 	#end
1044:     <td class="$class">
1045:     #if ($event.teams.size() > 0 && $event.teams.get(0).result.length() > 0)
1046:       $event.teams.get(0).result
1047:     #else
1048:       &nbsp;
1049:     #end
1050:     </td>
1051:   #end
1052: 
1053:   ## TEAM HOME
1054:   #if ($field.equals("team_home") || $field.equals("team_home+team_home_result"))
1055:     #set ($class = "e_team e_hometeam")
1056:     #if ($field.equals("team_home+team_home_result"))
1057:       #set ($class = "e_team_result e_hometeam")
1058:     #end
1059:     <td class="$class">
1060:     #if ($event.teams.size() > 1)
1061:       #set ($homeTeam = $event.teams.get(1))
1062:       #printTeamLogo($homeTeam)
1063:       #printTeamName($homeTeam)
1064: 
1065:       #if ($field.equals("team_home+team_home_result") && $homeTeam.result.length() > 0)
1066: 		#if ($homeTeam.winner)
1067: 		  <span class="e_result winner">$homeTeam.result</span>
1068: 		#else
1069:           <span class="e_result">$homeTeam.result</span>
1070: 		#end
1071:       #end
1072:     #else
1073:       &nbsp;
1074:     #end
1075:     </td>
1076:   #end
1077: 
1078:   ## TEAM HOME RESULT
1079:   #if ($field.equals("team_home_result"))
1080: 	#set ($class = "e_result e_homeresult")
1081: 	#if ($event.teams.size() > 1 && $event.teams.get(1).winner)
1082: 	  #set ($class = "${class} winner")
1083: 	#end
1084:     <td class="$class">
1085:     #if ($event.teams.size() > 1 && $event.teams.get(1).result.length() > 0)
1086:       $event.teams.get(1).result
1087:     #else
1088:       &nbsp;
1089:     #end
1090:     </td>
1091:   #end
1092: 
1093:   ## BOTH TEAMS AND THEIR RESULT
1094:   #if ($field.equals("teams+result"))
1095:     <td class="e_teams_result">
1096:     #foreach ($team in $event.teams)
1097:       #if ($velocityCount == 1)
1098:         #printNotations($event)
1099:       #end
1100: 
1101:       #if ($velocityCount > 1) &nbsp;&nbsp; #end
1102: 
1103:       #printTeamLogo($team)
1104:       #printTeamName($team)
1105: 
1106:       &nbsp;
1107: 
1108:       #if ($team.result.length() > 0) $team.result #end
1109:     #end
1110:     </td>
1111:   #end
1112: 
1113:   ## STATUS
1114:   #if ($field.equals("status") || $field.equals("status+neutralsite"))
1115:     <td class="e_status">
1116:     #printEventStatus($event)
1117: 
1118:     #if ($field.equals("status+neutralsite") && $event.neutralSite.length() > 0)
1119:       @ ${event.neutralSite}
1120:     #end
1121:     </td>
1122:   #end
1123: 
1124:   ## LINKS (SAME ROW)
1125:   #if ($field.equals("links"))
1126:     <td class="e_links">
1127:       #printEventLinks($event, false, true)
1128:       $wiki.event($event)
1129:     </td>
1130:   #end
1131: 
1132:   ## NOTES (SAME ROW)
1133:   #if ($field.equals("notes") || $field.equals("notes+neutralsite"))
1134:     <td class="e_notes">$!event.notes #if ($field.equals("notes+neutralsite") && $event.neutralSite.length() > 0) @ $event.neutralSite #end</td>
1135:   #end
1136: 
1137:   ## NEUTRALSITE
1138:   #if ($field.equals("neutralsite"))
1139:     <td class="e_neutralsite">
1140:     #if ($event.neutralSite.length() > 0)
1141:       ## DISPLAY THE @ CHARACTER ONLY FOR HEAD-TO-HEAD SCHEDULES (non numeric schedules sometimes use neutralSite field for event name)
1142:       #if ($schedule.numericResults) @ #end $event.neutralSite
1143:     #else
1144:       &nbsp;
1145: 	#end
1146:     </td>
1147:   #end
1148: 
1149:   #end ## fields loop
1150:   </tr>
1151: 
1152:   #foreach ($field in $scheduleFields)
1153: 
1154:   ## NOTES (NEW ROW)
1155:   #if (($field.equals("_notes") && $event.notes.length() > 0) || ($field.equals("_notes+neutralsite") && ($event.notes.length() > 0 || $event.neutralSite.length() > 0)))
1156:     <tr class="${rowClass}" #if ($event.inProgress) title="In Progress" #end>
1157:       <td>&nbsp;</td>
1158:       <td colspan="${tool.math.sub($colCount, 1)}" class="e_notes">$!event.notes #if ($field.equals("_notes+neutralsite") && $event.neutralSite.length() > 0) @ $event.neutralSite #end</td>
1159:     </tr>
1160:   #end
1161: 
1162:   ## LINKS (NEW ROW)
1163:   #if ($field.equals("_links") && $event.links.size() > 0)
1164:     <tr class="${rowClass}" #if ($event.inProgress) title="In Progress" #end>
1165:       <td>&nbsp;</td>
1166:       <td colspan="${tool.math.sub($colCount, 1)}" class="e_links">
1167:         #printEventLinks($event, false, true)
1168:         $wiki.event($event)
1169:       </td>
1170:     </tr>
1171:   #end
1172: 
1173:   ## NEUTRAL SITE (NEW ROW)
1174:   #if ($field.equals("_neutralsite") && $event.neutralSite.length() > 0)
1175:     <tr class="${rowClass}" #if ($event.inProgress) title="In Progress" #end>
1176:       <td>&nbsp;</td>
1177:       <td colspan="${tool.math.sub($colCount, 1)}" class="e_neutralsite">#if ($schedule.numericResults) @ #end $event.neutralSite</td>
1178:     </tr>
1179:   #end
1180: 
1181:   #end ## fields loop
1182: 
1183:   #set ($lastDate = $theDate)
1184:   #set ($lastMonth = $theMonth)
1185: #end ## EVENTS LOOP
1186: </tbody>
1187: </table>
1188: #end ## enhancedLayout check
1189: </div>
1190: 
1191: ## LOOK TO INCLUDE SCHEDULE POST FILE
1192: #set ($schedulePostURL = "${page.url}-post")
1193: #if ($website.exists($schedulePostURL))
1194:   <div class="schedule-post">$website.include($schedulePostURL)</div>
1195: #end
1196: 
1197: ## LEGENDS
1198: <div class="notations">
1199:   #if ($hasExhibitionEvents)
1200:     <div class="exhibition"><strong>$exhibitionNotation</strong> <span>Exhibition</span></div>
1201:   #end
1202:   #if ($hasConfEvents)
1203:     <div class="conf"><strong>$confNotation</strong> <span>Conference</span></div>
1204:   #end
1205:   #if ($hasDivisionEvents)
1206:     <div class="division"><strong>$divisionNotation</strong> <span>Division</span></div>
1207:   #end
1208:   #if ($hasPostSeasonEvents)
1209:     <div class="postseason"><strong>$postseasonNotation</strong> <span>Post season</span></div>
1210:   #end
1211:   #if ($hasHomeEvents && !$enhancedLayout)
1212: 	<div class="homeevents"><strong>Bold team:</strong> <span>Home event</span></div>
1213:   #end
1214:   #if ($showLeaders && $rosterHeadshots.size() > 0)
1215:     <div class="leaders"><strong>$multipleLeadersNotation</strong> <span>Multiple Leaders</span></div>
1216:   #end
1217: </div>
1218: 
1219: ## LOOK TO INCLUDE SCHEDULE FOOTER FILE
1220: #set ($scheduleFooterURL = "${page.url}-footer")
1221: 	#if ($website.exists($scheduleFooterURL))
1222:         <div class="schedule-footer">$website.include($scheduleFooterURL)</div>
1223: #end
1224: 
1225: <div class="subscribe-links">
1226:   <a href="$icalURL"><img src="/info/images/icon_schedule.gif" alt="" /> <strong>iCalendar</strong></a> ## iCalendar
1227:   <a href="$rssURL"><img src="/info/images/icon_rss.gif" alt="" /> <strong>RSS Feed</strong></a> ## RSS
1228: </div>
1229: 
1230: 
1231: 
1232: $sfs
1233: $wiki
1234: $rss
1235: 
1236: #end
1237: </div> ## schedule-wrap
1238: 
1239: #if ($request.getParameter("ajax").equals("true"))
1240:   $!request.setAttribute("decorator", "")
1241: #end