PageSourceSearch

https://vwfha.com/vancouverwomensfieldhockeyassociation/Scores

html vwfha.com collected 2026-09-25 12:10:14 UTC 91,142 bytes, 2,541 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<!-- canvas_01 -->
4
5<head>
6	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
7	<meta name="author" content="TeamLinkt" />
8
9	<meta name="viewport" content="width=device-width, initial-scale=1" />
10	
11	<title>Vancouver Womens Field Hockey Association : Powered by TeamLinkt</title>
12
13	<meta property="og:type" content="website" />
14	<meta property="og:locale" content="en_US" />
15	<!-- <meta property="fb:app_id" content="" /> -->
16	<meta property="article:publisher" content="TeamLinkt" />
17	<meta property="article:author" content="TeamLinkt" />
18
19	<meta property="og:title" content="Vancouver Womens Field Hockey Association - Scores" />
20	<meta name="twitter:title" content="Vancouver Womens Field Hockey Association - Scores" />
21
22	<meta property="og:url" content="http://vwfha.com/vancouverwomensfieldhockeyassociation/Scores" />
23	<meta property="twitter:url" content="http://vwfha.com/vancouverwomensfieldhockeyassociation/Scores" />
24	<meta property="twitter:domain" content="vwfha.com" />
25	<meta property="og:description" content="Powered by TeamLinkt" />
26	<meta name="twitter:description" content="Powered by TeamLinkt" />
27
28	<meta property="og:image" content="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" />
29	<meta property="og:image:url" content="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" />
30	<meta property="og:image:secure_url" content="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" />
31	<meta name="twitter:image" content="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" />
32
33	<meta name="twitter:card" content="summary_large_image" />
34
35	<!-- <link href="https://fonts.googleapis.com/css?family=Poppins:300,400,400i,700|Poppins:300,400,500,600,700|PT+Serif:400,400i&display=swap" rel="stylesheet" type="text/css" /> -->
36	<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oswald:200,300,regular,500,600,700|Commissioner:100,200,300,regular,500,600,700,800,900|Open+Sans:300,regular,500,600,700,800,300italic,italic,500italic,600italic,700italic,800italic&subset=latin,latin-ext&display=swap" type="text/css" />
37	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/bootstrap.css" type="text/css" />
38	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/style.css" type="text/css" />
39	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/swiper.css" type="text/css" />
40	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/dark.css" type="text/css" />
41	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/font-icons.css" type="text/css" />
42	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/animate.css" type="text/css" />
43	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/magnific-popup.css" type="text/css" />
44	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/custom.css" type="text/css" />
45	<link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/shared/font-awesome-4.7.0/css/font-awesome.min.css" type="text/css" />
46	<!-- <link rel="stylesheet" href="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/css/components/bs-datatable.css" type="text/css" /> -->
47
48	
48<script src="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/js/jquery.js"></script>
48
49	
49<script src="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/js/bootstrap.bundle.min.js"></script>
49
50
51
52	<!--Slick Slider-->
53	<link href="https://cdn-league-prod-static.teamlinkt.com/themes/default/css/slick.css" rel="stylesheet" />
54	<link href="https://cdn-league-prod-static.teamlinkt.com/themes/default/css/slick-theme.css" rel="stylesheet" />
55
56	<!-- Datatables -->
57	<link href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" rel="stylesheet">
58
59	<!-- Fancybox -->
60	<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
61
62	
62<script src="https://cdn-league-prod-static.teamlinkt.com/themes/default/js/jquery-cookie.js"></script>
62
63
64	<style>
65		:root {
66			--template-name: "league_canvas_01";
67			--primary-color: #0A0A0A;
68			--secondary-color: #FF0000;
69			--primary-contrast-color: #FFFFFF;
70			--page-background: #C9E1F0;
71			--header-background: #C9E1F0;
72			--header-text-color: #000000;
73			--header-background-url: url("https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/6.png?v=1730488788");
74			--header-background-video-url: url("");
75			--header-overlay-url: url("");
76			--footer-background: #FFFFFF;
77			--footer-text-color: #000000;
78			--button-primary-background: #0A0A0A;
79			--button-primary-contrast: #FFFFFF;
80			--site-contrast-color: #FFFFFF;
81			--logo-url: url("https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679");
82			--page-background-url: url("");
83		}
84
85		/* START OF UPGRADED STYLES */
86		html {
87			font-family: 'Commissioner', Helvetica, Arial, Lucida, sans-serif !important;
88			font-weight: 500;
89		}
90
91		body {
92			font-family: 'Commissioner', Helvetica, Arial, Lucida, sans-serif !important;
93			font-weight: 500;
94		}
95
96		span,
97		p,
98		div,
99		a,
100		label,
101		table,
102		th,
103		td,
104		em,
105		strong,
106		b {
107			font-family: 'Commissioner', Helvetica, Arial, Lucida, sans-serif !important;
108			/* font-weight: 500; */
109		}
110
111		h1,
112		h2,
113		h3,
114		h4,
115		h5,
116		h6 {
117			font-family: 'Oswald', Helvetica, Arial, Lucida, sans-serif !important;
118			font-weight: bold !important;
119			text-transform: uppercase !important;
120			text-decoration: none !important;
121		}
122
123		h1 *,
124		h2 *,
125		h3 *,
126		h4 *,
127		h5 *,
128		h6 * {
129			font-family: 'Oswald', Helvetica, Arial, Lucida, sans-serif !important;
130			font-weight: bold !important;
131			text-transform: uppercase !important;
132			text-decoration: none !important;
133		}
134
135		.menu-link {
136			font-family: 'Oswald', Helvetica, Arial, Lucida, sans-serif !important;
137			font-size: 16px;
138			font-weight: 500 !important;
139			text-transform: uppercase !important;
140			text-decoration: none !important;
141		}
142
143		.sub-menu-container .menu-item>.menu-link {
144			color: #444 !important;
145			font-size: 0.85rem !important;
146		}
147
148		label {
149			display: inline-block;
150			font-weight: 600;
151			font-size: 14px !important;
152			letter-spacing: normal !important;
153			font-family: 'Commissioner', Helvetica, Arial, Lucida, sans-serif !important;
154			text-transform: uppercase;
155			color: #212529;
156			cursor: initial !important;
157		}
158
159		.table td,
160		.table th {
161			background-color: white;
162			/* white-space: nowrap; */
163		}
164
165		table td {
166			/* font-weight: 400; */
167		}
168
169		.form-control,
170		.btn,
171		.form-select,
172		.card {
173			border-radius: 9.75px !important;
174			font-weight: 500;
175		}
176
177		table.dataTable>thead .sorting:before,
178		table.dataTable>thead .sorting:after,
179		table.dataTable>thead .sorting_desc:before,
180		table.dataTable>thead .sorting_asc:after {
181			content: "" !important;
182		}
183
184		table.dataTable>thead .sorting_asc:before,
185		table.dataTable>thead .sorting_desc:after {
186			right: 0em !important;
187		}
188
189
190		.table {
191			width: 100% !important;
192		}
193
194		table a[href]:not([href=""]):not(.btn) {
195			color: #121212;
196		}
197
198		a:not(.btn):hover {
199			color: #2454ff !important;
200		}
201
202		.table-striped>tbody>tr:nth-child(odd)>td,
203		.table-striped>tbody>tr:nth-child(odd)>th,
204		.table-striped>tbody>tr:nth-child(odd) {
205			background-color: white !important;
206		}
207
208		/* END OF UPGRADED STYLES */
209
210		p {
211			margin-bottom: 1rem !important;
212		}
213
214		a {
215			color: #009ef7;
216		}
217
218		#wrapper {
219			background-color: #C9E1F0;
220		}
221
222		section div.container {
223			padding-top: 1px;
224			background-color: #FFFFFF;
225			word-wrap: break-word;
226		}
227
228		#body-section {
229			background-image: url();
230			background-repeat: no-repeat;
231			background-position: top;
232			background-attachment: fixed;
233			background-size: cover;
234		}
235
236		.footer-big-contacts h3 {
237			margin-bottom: 0px;
238		}
239
240		#logo img {
241			max-height: 250px !important;
242			height: auto !important;
243		}
244
245		.footer-logo {
246			margin-bottom: 0px !important;
247		}
248
249		#footer .footer-widgets-wrap {
250			padding: 20px !important;
251		}
252
253
254		/* li.menu-item.current.sub-menu>ul>li.menu-item.current>a {
255			color: #000000FF;
256			background-color: #FFFFFF;
257			text-decoration: underline 3px #000000 !important;
258			text-underline-offset: 10px !important;
259		} */
260
261		.menu-item:hover>.menu-link,
262		.menu-item.current>.menu-link {
263			color: #000000FF;
264			text-decoration: underline 3px #000000 !important;
265			text-underline-offset: 10px !important;
266		}
267
268		ul.sub-menu-container>.menu-item:hover>.menu-link {
269			color: #000;
270		}
271
272		.menu-link {
273			text-transform: none;
274			font-weight: normal;
275			color: #000000FF;
276		}
277
278		#primary-menu-trigger svg path {
279			stroke: #000000FF;
280		}
281
282		.btn-link,
283		.page-link,
284		.page-link:hover,
285		.page-link:focus {
286			background-color: #0A0A0A;
287			color: #FFFFFF;
288		}
289
290		.btn.btn-primary,
291		.btn.btn-outline-primary.active,
292		.btn.btn-outline-primary:hover {
293			background-color: #0A0A0A;
294			border-color: #0A0A0A;
295			color: #FFFFFF;
296			box-shadow: none;
297		}
298
299		.btn.btn-outline-primary {
300			border-color: #0A0A0A;
301			color: black;
302		}
303
304		.page-item.active .page-link,
305		.page-link:hover,
306		.page-link:focus {
307			color: #FFFFFF !important;
308			background-color: #0A0A0A !important;
309			border-color: #FFFFFF !important;
310		}
311
312		.fa.fa-2 {
313			font-size: 2em;
314		}
315
316		.fa.fa-3 {
317			font-size: 3em;
318		}
319
320		.fa.fa-4 {
321			font-size: 4em;
322		}
323
324		.fa.fa-5 {
325			font-size: 5em;
326		}
327
328		.fbox-icon i,
329		.fbox-icon img {
330			background-color: #0A0A0A;
331			color: #FFFFFF		}
332
333		.form-control {
334			appearance: auto;
335			-webkit-appearance: auto;
336		}
337
338		/* show the down arrow on a dropdown */
339		.entry-title h2 a:hover,
340		.entry-title .h2 a:hover,
341		.entry-title h3 a:hover,
342		.entry-title .h3 a:hover,
343		.entry-title h4 a:hover,
344		.entry-title .h4 a:hover {
345			color: #0A0A0A;
346		}
347
348		::selection {
349			background-color: #0A0A0A;
350			color: #FFFFFF;
351			text-shadow: none;
352		}
353
354		::-moz-selection {
355			background-color: #0A0A0A;
356			color: #FFFFFF;
357			text-shadow: none;
358		}
359
360		::-webkit-selection {
361			background-color: #0A0A0A;
362			color: #FFFFFF;
363			text-shadow: none;
364		}
365
366		#footer {
367			background-color: #E8E8E8 !important;
368		}
369
370		#footer>.container {
371			background-color: #E8E8E8 !important;
372			color: #000000 !important;
373		}
374
375		.footer-big-contacts>a,
376		.footer-big-contacts>h1,
377		.footer-big-contacts>h2,
378		.footer-big-contacts>h3 {
379			color: #000000 !important;
380		}
381
382		.img_center {
383			max-width: 100%;
384			height: 300px;
385			display: block;
386			margin: auto;
387		}
388
389		ol,
390		ul {
391			list-style-position: inside !important;
392			padding: 8px;
393		}
394
395		ul>ul {
396			padding: 0px 8px !important;
397		}
398
399		.editor_btn {
400			margin: auto;
401			width: auto;
402		}
403
404		.template_container {
405			padding: 20px;
406		}
407
408		.vertical-middle {
409			z-index: 0;
410		}
411
412		#gotoTop:hover {
413			background-color: #000;
414		}
415
416		#hero_background_video {
417			width: 100%;
418			height: 290px;
419			object-fit: cover;
420			position: absolute;
421		}
422
423		#header_background_container {
424			background-color: #C9E1F0 !important;
425			background: url('https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/6.png?v=1730488788');background-size: cover;background-position: center;		}
426
427		#header-wrap {
428			/* position: absolute !important;
429			width: 100% !important;
430			z-index: 100 !important; */
431			color: #000000FF !important;
432			background-color: #C9E1F0 !important;
433		}
434
435		figure.image-style-side {
436			float: right;
437			margin-left: var(--ck-image-style-spacing);
438			max-width: 50%;
439		}
440
441		figure.image {
442			clear: both;
443			display: table;
444			margin: .9em auto;
445			min-width: 50px;
446			text-align: center;
447		}
448
449		.image-inline {
450			align-items: flex-start;
451			display: inline-flex;
452			max-width: 100%;
453		}
454
455		/* #logo {
456			margin-top: 40px !important;
457		} */
458
459		.menu-item .sub-menu-trigger {
460			color: #000000 !important;
461		}
462
463		/* mobile screen */
464		@media (max-width: 575px) {
465			/* #logo {
466				margin-top: 60px !important;
467			} */
468		}
469
470		@media (max-width: 991px) {
471			.sub-menu-container .menu-item>.menu-link {
472				color: #000000 !important;
473			}
474
475			.menu-item .sub-menu-trigger {
476				width: 64px !important;
477			}
478
479			.img_center {
480				max-height: 150px !important;
481			}
482
483			.display-4 {
484				font-size: calc(1.475rem + 2.7vw) !important;
485			}
486
487			#teamlinkt_links_div {
488				display: none;
489			}
490
491			.menu-item>.menu-link {
492				color: #000000 !important;
493				max-width: calc(100% - 64px);
494			}
495
496			.sub-menu-container .menu-link {
497				margin-left: 1.5em;
498			}
499		}
500
501		@media (min-width: 992px) {
502			#header-wrap {
503				position: absolute !important;
504				width: 100% !important;
505				z-index: 100 !important;
506				color: #000000FF !important;
507				background-color: #C9E1F0 !important;
508			}
509
510			.sub-menu-container,
511			.mega-menu-content {
512				border-top: 2px solid #0A0A0A;
513			}
514
515			.sub-menu-container .menu-item:hover>.menu-link,
516			.sub-menu-container .menu-item.current>.menu-link {
517				text-decoration: underline 2px black !important;
518				text-underline-offset: 5px !important;
519				background-color: white !important;
520				color: black !important;
521			}
522		}
523
524		.download_button::before {
525			font-family: 'FontAwesome';
526			content: "\f019";
527			display: inline-block;
528			padding-right: 7px;
529		}
530
531		.adjust-left {
532			left: -100% !important;
533		}
534
535		.adjust-right {
536			right: -100% !important;
537		}
538	</style>
539	
540
541
542			
542<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3589489409148698" crossorigin="anonymous"></script>
542
543	</head>
544
545<body class="stretched">
546	
547
548
549
550	<div id="fb-root"></div>
551	
551<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v12.0" nonce="xXQ52F3t"></script>
551
552
553	
554	<!-- Document Wrapper
555	============================================= -->
556	<div id="wrapper" class="clearfix">
557		<div id="top-bar">
558			<div class="container">
559				<div class="d-flex justify-content-between my-2">
560					<div class="align-items-center d-flex">
561						<span class="mb-0 text-center text-md-start" style="font-size: 14px;">
562							Vancouver Womens Field Hockey Association						</span>
563					</div>
564					<div class="me-1 me-sm-3 d-flex align-items-center justify-content-end" style="z-index: 100; right: 0;">
565													<i class="ms-0 ms-sm-3 me-1 me-sm-3 my-auto d-none d-md-inline" style="font-size: 14px; color: #000">Follow us on</i>
566																			<a target="_blank" href="https://www.facebook.com/people/Vancouver-Womens-Field-Hockey-Association/61563256604880/" class="social-icon my-auto si-small si-colored si-rounded si-facebook"><i class="icon-facebook"></i><i class="icon-facebook"></i></a>
567																									<a target="_blank" href="https://instagram.com/vwfha_1" class="social-icon my-auto si-small si-colored si-rounded si-instagram"> <i class="icon-instagram"></i><i class="icon-instagram"></i> </a>
568																								
569					</div>
570				</div>
571			</div>
572		</div>
573		<header id="header" class="header-size-sm">
574			
575			<!-- <div class="container"> -->
576			<div id="header_background_container" class="header-row" style="height: 300px;">
577				<div id="logo" class="m-auto">
578					<a href="/vancouverwomensfieldhockeyassociation" class="standard-logo">
579						<img src="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" alt="Vancouver Womens Field Hockey Association">
580					</a>
581					<a href="/vancouverwomensfieldhockeyassociation" class="retina-logo">
582						<img src="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" alt="Vancouver Womens Field Hockey Association" />
583					</a>
584				</div>
585				<!-- #logo end -->
586			</div>
587			<!-- </div> -->
588			<div id="header-wrap" class="border-top border-f5">
589				<div class="container">
590					<div class="header-row flex-row-reverse flex-lg-column">
591						<div id="primary-menu-trigger">
592							<svg class="svg-trigger" viewBox="0 0 100 100">
593								<path d="m 30,33 h 40 c 3.722839,0 7.5,3.126468 7.5,8.578427 0,5.451959 -2.727029,8.421573 -7.5,8.421573 h -20"></path>
594								<path d="m 30,50 h 40"></path>
595								<path d="m 70,67 h -40 c 0,0 -7.5,-0.802118 -7.5,-8.365747 0,-7.563629 7.5,-8.634253 7.5,-8.634253 h 20"></path>
596							</svg>
597						</div>
598						<nav class="primary-menu" data-trigger-speed="250" style="margin: auto;">
599							<ul class="menu-container" style="display: none;">
600								<li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Home" class="menu-link">Home</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Schedule" class="menu-link">Schedule</a></li><li class="menu-item current"><a href="/vancouverwomensfieldhockeyassociation/Scores" class="menu-link">Scores</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Standings" class="menu-link">Standings</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Statistics" class="menu-link">Stats</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Locations" class="menu-link">Locations</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Teams" class="menu-link">Teams</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/HowTosFAQs" class="menu-link">How To's & FAQs</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Umpiring" class="menu-link">Umpiring</a></li><li class="menu-item "><a target="_blank" href="https://app.teamlinkt.com/register/find/vancouverwomensfieldhockeyassociation" class="menu-link">Registration</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/ContactUs" class="menu-link">Contact Us</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/Awards" class="menu-link">Awards</a></li><li class="menu-item "><a href="/vancouverwomensfieldhockeyassociation/ImportantDocuments" class="menu-link">Important Documents </a></li>								<li class="menu-item sub-menu more-btn" id="MoreMenuItem" style="display: none;">
601									<a class="menu-link dropdown-toggle">More</a>
602									<ul class="sub-menu-container ps-2 p-lg-0" id="MoreMenuItemList">
603									</ul>
604								</li>
605							</ul>
606						</nav>
607						<!-- #primary-menu end -->
608					</div>
609				</div>
610			</div>
611		</header>
612
613		<style>
614    #bottom_content_row .row {
615        margin-left: 0 !important;
616        margin-right: 0 !important;
617    }
618
619    #bottom_content_row [class^="col-"] {
620        padding-left: 0 !important;
621        padding-right: 0 !important;
622    }
623
624    
625	.image-left {
626		display: flex;
627		justify-content: flex-start;
628	}
629
630	.image-center {
631		display: flex;
632		justify-content: center;
633	}
634
635	.image-right {
636		display: flex;
637		justify-content: flex-end;
638	}
639
640	li > p {
641		display: inline;
642		margin: 0;
643		padding: 0;
644	}
645</style>
646    <div class="container pt-3 ps-3 ps-sm-0 pb-0 pe-0">
647        <h2 class="mt-0 mt-sm-3 mb-0" style="color: #000000;">Scores</h2>
648    </div>
649<section id="body-section">
650    <div class="container mt-3 mb-5" style="box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2); border-radius: 10px;">
651        <div class="row pt-3">
652            <div class="col-12">
653                <div><div class="row"><div class="col-12"></div></div></div>            </div>
654        </div>
655        <div class="row">
656            <div class='col-md-12 mb-3'>
657                <div><div class="row"><div class="col-12">
658<style>
659	.line,
660	.double-line {
661		clear: initial;
662		position: initial;
663		width: auto;
664		margin: 0;
665		border-top: none;
666	}
667
668	div.dataTables_wrapper div.dataTables_processing {
669		z-index: 100;
670	}
671
672	.status_link {
673		color: black;
674	}
675
676	.status_link.active {
677		color: #2f89fc;
678	}
679
680	div#schedule .event-row {
681		padding-top: 15px;
682		padding-bottom: 15px;
683	}
684
685	div#schedule .event-row:hover {
686		background-color: #F0F0F0;
687	}
688
689	#btnToTop {
690		display: none;
691		position: fixed;
692		bottom: 20px;
693		right: 30px;
694		z-index: 99;
695		font-size: 18px;
696		border: none;
697		outline: none;
698		background-color: #216da9;
699		color: white;
700		cursor: pointer;
701		padding: 15px;
702		border-radius: 4px;
703	}
704
705	#btnToTop:hover {
706		background-color: #555;
707	}
708
709	#calendar .fc-toolbar-title {
710		font-size: 1em;
711		/* font-weight: 400; */
712	}
713
714	#calendar.fc button.fc-button-primary.fc-button-active {
715		background-color: #6c757d;
716		color: white;
717	}
718
719	#calendar table.fc-col-header,
720	#calendar table.fc-scrollgrid-sync-table {
721		margin-bottom: 0;
722	}
723
724	#calendar.fc .fc-button-primary {
725		color: black;
726		background-color: white;
727		border-color: #6c757d;
728	}
729
730	#calendar.fc .fc-button-group .fc-button:first-child {
731		border-top-left-radius: 9.75px;
732		border-bottom-left-radius: 9.75px;
733	}
734
735	#calendar.fc .fc-button-group .fc-button:last-child {
736		border-top-right-radius: 9.75px;
737		border-bottom-right-radius: 9.75px;
738	}
739
740	/* Column Header and Event title text */
741	#calendar.fc .fc-col-header-cell-cushion,
742	#calendar.fc .fc-daygrid-dot-event .fc-event-title {
743		font-weight: 500;
744	}
745
746	.popover {
747		max-width: 500px;
748		position: fixed;
749	}
750
751	/* If the screen is wider than 520 px make let each chunk take 33% and align the buttons to their respective alignments*/
752	@media only screen and (min-width: 776px) {
753
754		#calendar.fc .fc-toolbar-chunk {
755			width: 33%;
756		}
757
758		#calendar.fc .fc-toolbar-chunk:nth-child(2) {
759			text-align: center;
760		}
761
762		#calendar.fc .fc-toolbar-chunk:nth-child(3) {
763			text-align: end;
764		}
765	}
766
767	/* If the screen is thinner than 520 px make .fc-header-toolbar.fc-toolbar-chunk full width*/
768	@media only screen and (max-width: 775px) {
769		#calendar .fc-header-toolbar.fc-toolbar {
770			display: inline-block;
771			text-align: center;
772		}
773
774		#calendar .fc-header-toolbar.fc-toolbar .fc-toolbar-chunk:nth-child(1),
775		#calendar .fc-header-toolbar.fc-toolbar .fc-toolbar-chunk:nth-child(2) {
776			width: 100%;
777			margin-bottom: 0.5rem;
778		}
779
780		/* have the 3rd fc-toolbar-chunk have its items align at the end */
781		#calendar .fc-header-toolbar.fc-toolbar .fc-toolbar-chunk:nth-child(3) {
782			/* display: flex;
783			justify-content: flex-end; */
784		}
785	}
786
787	.nav-link {
788		font-weight: normal;
789	}
790
791	.nav-link.active {
792		font-weight: bold;
793	}
794
795	.date-row {
796		--bs-table-accent-bg: var(--bs-table-hover-bg);
797		color: var(--bs-table-hover-color);
798	}
799
800	.week_heading_row {
801		background-color: #666;
802		padding-bottom: 0;
803		margin-top: 1em;
804	}
805
806	.week_heading {
807		font-size: 1.5em;
808		color: white;
809	}
810
811	.game_details_container {
812		font-size: 1em;
813		padding-bottom: 4px;
814		padding-top: 4px;
815		margin-top: 1em;
816		background-color: #f0f0f0;
817	}
818
819	.game_teams_container {
820		font-size: 1.05em;
821		border: 1px solid #DDD;
822		padding-bottom: 2px;
823		margin-bottom: 2px;
824	}
825
826	.game_container.game_type_bye .game_details_container {
827		background-color: #ffa0a085;
828
829	}
830
831	.highlightValidationError {
832		/* border: 2px solid #FF0000; */
833		color: red;
834	}
835
836	.table-wrapper {
837		overflow-x: scroll;
838		margin-bottom: 20px;
839	}
840
841	th.team_name,
842	th.location_name {
843		white-space: nowrap;
844	}
845
846	.table-wrapper table.table-bordered tbody td {
847		line-height: normal;
848	}
849
850	.popover-content {
851		line-height: normal;
852	}
853
854	#topLevelTabbableContent .tab-pane.fade.active.in {
855		opacity: 1 !important;
856	}
857
858	.bracket {
859		display: block;
860		white-space: nowrap;
861		padding: 1em;
862		margin-bottom: 1em;
863	}
864
865	.bracket .round {
866		display: inline-block;
867		vertical-align: middle;
868	}
869
870	.bracket .round .winners>div,
871	.bracket .round .losers>div {
872		display: inline-block;
873		vertical-align: middle;
874	}
875
876	.bracket .round .winners>div.matchups .matchup:last-child,
877	.bracket .round .losers>div.matchups .matchup:last-child {
878		margin-bottom: 0;
879	}
880
881	.bracket .round .winners>div.matchups .matchup .participants,
882	.bracket .round .losers>div.matchups .matchup .participants {
883		border-radius: 0.25em;
884		overflow: hidden;
885	}
886
887	.bracket .round .winners>div.matchups .matchup .participants .participant,
888	.bracket .round .losers>div.matchups .matchup .participants .participant {
889		background: white;
890	}
891
892	.bracket .round .winners>div.matchups .matchup .participants .participant.winner,
893	.bracket .round .losers>div.matchups .matchup .participants .participant.winner {
894		border-color: #6ec44b;
895	}
896
897	.bracket .round .winners>div.matchups .matchup .participants .participant.loser,
898	.bracket .round .losers>div.matchups .matchup .participants .participant.loser {
899		border-color: #d62e2e;
900	}
901
902	.bracket .round .winners>div.matchups .matchup .participants .participant.tie,
903	.bracket .round .losers>div.matchups .matchup .participants .participant.tie {
904		border-color: #ffa735;
905	}
906
907	.bracket .round .winners>div.matchups .matchup .participants .participant span,
908	.bracket .round .losers>div.matchups .matchup .participants .participant span {
909		margin: 0 1.25em;
910		line-height: 2;
911		font-size: 0.8em;
912	}
913
914	.roundname {
915		text-align: center;
916		font-size: 16px;
917		float: left;
918		width: 14.8em;
919	}
920
921	.roundname.finals {
922		margin-left: 100px;
923	}
924
925	.roundname_games {
926		margin: 1px;
927		text-align: center;
928		font-size: 12px;
929	}
930
931	.matchup_info {
932		width: 64px;
933		font-size: 12px;
934		float: left;
935		height: 96px;
936		background-color: white;
937		vertical-align: middle;
938	}
939
940
941	.matchup_info_horiz {
942		font-size: 1em;
943		vertical-align: middle;
944		text-align: center;
945		margin-left: 4px;
946		margin-right: 4px;
947		padding-left: 1em;
948		padding-right: 1em;
949	}
950
951	.matchup_info_horiz.top {
952		border-top-right-radius: 0.5em;
953		border-top-left-radius: 0.5em;
954		padding-top: 8px;
955		padding-bottom: 8px;
956		text-align: left;
957	}
958
959	.matchup_info_horiz.bottom {
960		border-bottom-right-radius: 0.5em;
961		border-bottom-left-radius: 0.5em;
962		padding-top: 8px;
963		padding-bottom: 8px;
964	}
965
966	.game_id {
967		position: relative;
968		height: 0px;
969		font-size: 12px;
970		top: 40px;
971		left: 10px;
972	}
973
974	.round_wrapper {
975		display: inline-block;
976	}
977
978
979	.current_team {
980		color: green;
981		text-decoration: underline;
982	}
983
984	.team_name_winner {
985		color: green;
986	}
987
988	.team_name_loser {
989		color: red;
990	}
991
992	.team_name_tie {
993		color: darkgrey;
994	}
995
996	.bracket .round .winners>div.matchups .matchup .participants .participant span.score_link,
997	.bracket .round .losers>div.matchups .matchup .participants .participant span.score_link {
998		margin: 0 0.5em;
999		float: right;
1000		font-size: 0.8em;
1001		margin-right: 0.5em;
1002		margin-top: 0.4em;
1003	}
1004
1005	.bracket .round .winners>div.matchups .matchup .participants .participant span.team_link,
1006	.bracket .round .losers>div.matchups .matchup .participants .participant span.team_link {
1007		margin: 0 0.5em;
1008		float: left;
1009		font-size: 1em;
1010		margin-left: 0.5em;
1011		width: 160px;
1012		overflow: hidden;
1013	}
1014
1015	.table>tbody>tr>td.winner {
1016		font-weight: bold;
1017	}
1018
1019	ul.connectedPools {
1020		background-color: #ebebeb;
1021		border: thin solid lightgrey;
1022		min-height: 2em;
1023		margin-bottom: 0px;
1024	}
1025
1026	ul.connectedPools.c {
1027		border: 2px solid red;
1028	}
1029
1030	.series-info {
1031		background: white;
1032		display: flex;
1033		padding: 0 6px;
1034	}
1035
1036	.series-info span {
1037		line-height: 1.5;
1038		/* 1.5 is the max with 2 things in this span before it starts to cut off. */
1039		font-size: 0.8em;
1040		text-overflow: ellipsis;
1041		overflow: hidden;
1042	}
1043
1044	.series-id {
1045		min-width: 25px;
1046		text-align: end;
1047	}
1048
1049	.empty-round {
1050		width: 18em;
1051	}
1052
1053	.matchups {
1054		position: relative;
1055	}
1056
1057	.matchups .finals-line {
1058		border-top: 1px solid #ababab;
1059		width: 100px;
1060		position: absolute;
1061	}
1062
1063	.participant.winner a,
1064	.participant.winner span {
1065		color: #6ec44b;
1066	}
1067
1068	.participant.loser a,
1069	.participant.loser span {
1070		color: #d62e2e;
1071	}
1072
1073	.bracket .round.round1 .winners:not(:last-child):not(.empty-matchup) {
1074			margin-bottom: 1rem;
1075		}.bracket .round.round1 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1076			margin-bottom: 1rem;
1077		}.bracket .round.round1 .losers .matchups .matchup:not(.empty-matchup) {
1078			margin-bottom: 8rem;
1079		}.round.round1 .losers.empty-matchup {
1080			height: 80px;
1081		}.bracket .round.round2 .winners:not(:last-child):not(.empty-matchup) {
1082			margin-bottom: 6.77rem;
1083		}.bracket .round.round2 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1084			margin-bottom: 6.77rem;
1085		}.bracket .round.round2 .losers .matchups .matchup:not(.empty-matchup) {
1086			margin-bottom: 5rem;
1087		}.round.round2 .losers.empty-matchup {
1088			height: 80px;
1089		}.bracket .round.round3 .winners:not(:last-child):not(.empty-matchup) {
1090			margin-bottom: 14.5rem;
1091		}.bracket .round.round3 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1092			margin-bottom: 14.5rem;
1093		}.bracket .round.round3 .losers .matchups .matchup:not(.empty-matchup) {
1094			margin-bottom: 14rem;
1095		}.round.round3 .losers.empty-matchup {
1096			height: 40px;
1097		}.bracket .round.round4 .winners:not(:last-child):not(.empty-matchup) {
1098			margin-bottom: 12rem;
1099		}.bracket .round.round4 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1100			margin-bottom: 12rem;
1101		}.bracket .round.round4 .losers .matchups .matchup:not(.empty-matchup) {
1102			margin-bottom: 28rem;
1103		}.round.round4 .losers.empty-matchup {
1104			height: 140px;
1105		}.bracket .round.round5 .winners:not(:last-child):not(.empty-matchup) {
1106			margin-bottom: 16rem;
1107		}.bracket .round.round5 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1108			margin-bottom: 16rem;
1109		}.bracket .round.round5 .losers .matchups .matchup:not(.empty-matchup) {
1110			margin-bottom: 14rem;
1111		}.round.round5 .losers.empty-matchup {
1112			height: 40px;
1113		}.bracket .round.round6 .winners:not(:last-child):not(.empty-matchup) {
1114			margin-bottom: 20rem;
1115		}.bracket .round.round6 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1116			margin-bottom: 20rem;
1117		}.bracket .round.round6 .losers .matchups .matchup:not(.empty-matchup) {
1118			margin-bottom: 34rem;
1119		}.round.round6 .losers.empty-matchup {
1120			height: 80px;
1121		}.bracket .round.round7 .winners:not(:last-child):not(.empty-matchup) {
1122			margin-bottom: 24rem;
1123		}.bracket .round.round7 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1124			margin-bottom: 24rem;
1125		}.bracket .round.round7 .losers .matchups .matchup:not(.empty-matchup) {
1126			margin-bottom: 42rem;
1127		}.round.round7 .losers.empty-matchup {
1128			height: 40px;
1129		}.bracket .round.round8 .winners:not(:last-child):not(.empty-matchup) {
1130			margin-bottom: 24rem;
1131		}.bracket .round.round8 .winners .matchups .matchup:not(:last-child):not(.empty-matchup) {
1132			margin-bottom: 24rem;
1133		}.bracket .round.round8 .losers .matchups .matchup:not(.empty-matchup) {
1134			margin-bottom: 49rem;
1135		}.round.round8 .losers.empty-matchup {
1136			height: 80px;
1137		}.bracket_games_container .table>thead>tr>th {
1138		text-transform: none;
1139		font-size: 1em;
1140		color: #3f4254;
1141	}
1142
1143	.bracket_games_container .table>tbody>tr>td,
1144	.bracket_games_container .table>tbody>tr>th {
1145		padding-top: 8px;
1146		padding-bottom: 8px;
1147	}
1148
1149	.bracket_games_container .table>tbody>tr.week_date_row td {
1150		background-color: #ebebeb;
1151	}
1152
1153	div.bootstrap-select button:hover {
1154		color: #000 !important;
1155		background-color: #FFF !important;
1156	}
1157
1158	.pac-container {
1159		z-index: 100000;
1160	}
1161
1162	.matchup:not(.empty-shell) {
1163		width: 18em;
1164		position: static;
1165		border: 1px solid #ababab;
1166		border-left: none !important;
1167	}
1168
1169	.matchup.empty-shell {
1170		width: 18em;
1171		position: static;
1172	}
1173
1174	.matchup.finals {
1175		top: -40px;
1176		position: absolute;
1177		left: 100px;
1178		border-left: 1px solid #ababab !important;
1179	}
1180
1181	.matchup.position-absolute {
1182		border: 1px dashed #ababab;
1183		margin-bottom: 0 !important;
1184		bottom: -80px;
1185	}
1186
1187	.dataTable td,
1188	.dataTable th {
1189		background-color: white;
1190		white-space: nowrap;
1191	}
1192</style>
1193
1194<form action="/vancouverwomensfieldhockeyassociation/Scores" /vancouverwomensfieldhockeyassociation/Scores="/vancouverwomensfieldhockeyassociation/Scores" novalidate="novalidate" id="filterScheduleForm" class="mb-0" method="post" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST"/></div><div class="row me-0 ms-0">
1195		<style>
1196	.form-select {
1197		height: 48px !important;
1198	}
1199
1200	.select2.select2-container {
1201		padding: 0 !important;
1202		margin-bottom: 1rem !important;
1203		width: 250px !important;
1204		margin-right: 0.5rem !important;
1205	}
1206
1207	.select2-selection {
1208		border-radius: 9.75px !important;
1209		height: 48px !important;
1210		border-color: rgb(206, 212, 218) !important;
1211	}
1212
1213	.select2-selection__rendered {
1214		height: 48px !important;
1215		align-content: center !important;
1216		padding-left: 10px !important;
1217		padding-right: 30px !important;
1218	}
1219
1220	.select2-selection__arrow {
1221		top: 10px !important;
1222		right: 6px !important;
1223	}
1224
1225	.select2-container .select2-dropdown {
1226		border: 0 !important;
1227		box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15) !important;
1228		border-radius: 9.75px !important;
1229		padding: 1rem 0 !important;
1230		background-color: white;
1231	}
1232
1233	.select2-results__options {
1234		scrollbar-width: thin !important;
1235	}
1236
1237	.select2-results__option--selectable {
1238		word-break: break-word;
1239		padding: 8px 12px !important;
1240		font-size: 14px !important;
1241	}
1242
1243	.select2-search__field {
1244		border-radius: 9.75px !important;
1245		border-color: rgb(206, 212, 218) !important;
1246	}
1247
1248	.select2-search--dropdown {
1249		padding-bottom: 1rem !important;
1250	}
1251
1252	.select2-container--default .select2-results>.select2-results__options {
1253		max-height: 400px !important;
1254	}
1255
1256	@media screen and (max-width: 575px) {
1257		.select2.select2-container {
1258			width: 100% !important;
1259		}
1260
1261		.select2-container--open .select2-dropdown--below {
1262			min-width: calc(100% - 25px) !important;
1263		}
1264	}
1265
1266	@media screen and (min-width: 576px) {
1267		.select2-container--open .select2-dropdown--below {
1268			width: max-content !important;
1269			min-width: 250px !important;
1270			max-width: 500px !important;
1271		}
1272		.w-sm-200px {
1273			width: 200px !important;
1274		}
1275
1276		.w-sm-250px {
1277			width: 250px !important;
1278		}
1279	}
1280</style>
1281	<input type="hidden" name="data[schedule_type]" class="mt-3 me-1" value="regular_season" id="schedule_type"/><select name="data[season_id]" class="form-select d-inline-block mb-3 me-2 w-100 w-sm-250px" onChange="changeSeason(this);" id="season_id">
1282<option value="60608" selected="selected">2026-27 Season</option>
1283<option value="44596">2025-26 Season</option>
1284<option value="31403">2024 Season</option>
1285</select>
1286<input type="hidden" name="data[playoff_id]" class="mt-3 me-1" id="playoff_id"/><select name="data[hierarchy_filter]" class="form-select d-inline-block mb-3 me-2 w-100 w-sm-250px" style="width: auto; display: block" onchange="resetPaging();$(&quot;#filterScheduleForm&quot;).submit();" id="hierarchy_filter">
1287<option value="">All Divisions</option>
1288<option value="324755">Premier</option>
1289<option value="324756">Division 1</option>
1290<option value="324757">Division 2</option>
1291<option value="324758">Division 3</option>
1292<option value="324759">Division 4</option>
1293<option value="324760">Division 5</option>
1294</select><select name="data[team_id]" class="form-select d-inline-block mb-3 w-100 w-sm-250px" id="filter_team_id" style="width: auto; display: block" onchange="resetPaging();$(&quot;#filterScheduleForm&quot;).submit();">
1295<option value="">All Teams</option>
1296<option value="942880">Burnaby Bears (Division 5)</option>
1297<option value="942861">Chilliwack Pink Panthers (Division 3)</option>
1298<option value="948513">Demo Team 1 (Premier)</option>
1299<option value="948514">Demo Team 2 (Premier)</option>
1300<option value="942845">Dukh Nivaran Tigers FHC (Premier)</option>
1301<option value="942851">Eagles (Division 1)</option>
1302<option value="942862">Eagles 2 (Division 2)</option>
1303<option value="942867">Eagles 3 (Division 3)</option>
1304<option value="942884">Eagles 5 (Division 5)</option>
1305<option value="942893">Fossil Sharks (Division 5)</option>
1306<option value="942848">India 1 (Premier)</option>
1307<option value="942872">India 2 (Division 3)</option>
1308<option value="942855">Jokers Arrows (Division 2)</option>
1309<option value="942883">Jokers Juggernauts (Division 3)</option>
1310<option value="942874">Jokers LFG (Division 4)</option>
1311<option value="942882">Jokers Orange Crush (Division 5)</option>
1312<option value="942890">Jokers Wild (Division 5)</option>
1313<option value="942847">Lakers 1 (Division 1)</option>
1314<option value="942859">Lakers 2 (Division 2)</option>
1315<option value="942879">Lakers 3 (Division 4)</option>
1316<option value="942894">Leopard Sharks (Division 5)</option>
1317<option value="942887">Mako Sharks (Division 3)</option>
1318<option value="942849">Meralomas 1 (Division 1)</option>
1319<option value="942870">Meralomas 2 (Division 2)</option>
1320<option value="942876">Meralomas 3 (Division 4)</option>
1321<option value="942889">NV Mariners (Division 5)</option>
1322<option value="942858">NV Strikers (Division 2)</option>
1323<option value="942865">NV Thunder (Division 3)</option>
1324<option value="942871">Panthers (Premier)</option>
1325<option value="942898">Panthers 2 (Division 4)</option>
1326<option value="942856">Point Grey Bluebirds (Division 1)</option>
1327<option value="942846">Point Grey Thunderbirds (Premier)</option>
1328<option value="942843">Polar Bears (Premier)</option>
1329<option value="942896">Polar Bears Blue (Division 1)</option>
1330<option value="942901">Polar Bears Red (Division 4)</option>
1331<option value="942842">SEAtoSKY FHC 1 (Premier)</option>
1332<option value="942852">SEAtoSKY FHC 2 (Division 1)</option>
1333<option value="942864">SEAtoSKY FHC 3 (Division 2)</option>
1334<option value="942881">SEAtoSKY FHC 4 (Division 3)</option>
1335<option value="942885">SEAtoSKY FHC 5 (Division 4)</option>
1336<option value="942878">Saker Falcons (Division 4)</option>
1337<option value="942875">Shark Fins (Division 5)</option>
1338<option value="942854">Sharks 1 (Division 2)</option>
1339<option value="942863">Surinder Lions 1 (Division 1)</option>
1340<option value="942853">Vancouver Hawks 1 (Division 1)</option>
1341<option value="942860">Vancouver Hawks 2 (Division 2)</option>
1342<option value="942869">Vancouver Hawks 3 (Division 3)</option>
1343<option value="942877">Vancouver Hawks 4 (Division 4)</option>
1344<option value="942888">Vancouver Hawks 5 (Division 5)</option>
1345<option value="942892">Vancouver Hawks 6 (Division 5)</option>
1346<option value="942844">Vancouver Hawks Prem (Premier)</option>
1347<option value="942850">WV Cheetahs (Division 1)</option>
1348<option value="942857">WV Fury (Division 3)</option>
1349<option value="942897">WV Grizzlies (Division 2)</option>
1350<option value="942886">WV Orcas (Division 5)</option>
1351<option value="942841">WV Premier (Premier)</option>
1352<option value="942891">WV Ravens (Division 5)</option>
1353<option value="942866">WV Riptide (Division 2)</option>
1354<option value="942900">
1354WV Terrors (Division 1)</option>
1355<option value="942873">WV Vipers (Division 3)</option>
1356<option value="942868">WV Wildcats (Division 4)</option>
1357<option value="942899">Wolverines Abbotsford (Division 4)</option>
1358</select>
1359<input type="hidden" name="data[group_count]" class="mt-3 me-1" value="1" id="group_count"/>
1360<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/select2.min.css" rel="stylesheet" />
1361<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js"></script>
1361
1362
1363<script>
1364	const CHILD_GROUP_TEAMS = {"324755":[948513,948514,942845,942848,942871,942846,942843,942842,942844,942841],"324756":[942851,942847,942849,942856,942896,942852,942863,942853,942850,942900],"324757":[942862,942855,942859,942870,942858,942864,942854,942860,942897,942866],"324758":[942861,942867,942872,942883,942887,942865,942881,942869,942857,942873],"324759":[942874,942879,942876,942898,942901,942878,942885,942877,942899,942868],"324760":[942880,942884,942893,942882,942890,942894,942889,942875,942888,942892,942886,942891]};
1365	var group_count = 1;
1366	var tree = [{"id":324755,"parent_instance_id":324755,"parent_name":"Premier","sport_id":19,"sport_name":"","children":[]},{"id":324756,"parent_instance_id":324756,"parent_name":"Division 1","sport_id":19,"sport_name":"","children":[]},{"id":324757,"parent_instance_id":324757,"parent_name":"Division 2","sport_id":19,"sport_name":"","children":[]},{"id":324758,"parent_instance_id":324758,"parent_name":"Division 3","sport_id":19,"sport_name":"","children":[]},{"id":324759,"parent_instance_id":324759,"parent_name":"Division 4","sport_id":19,"sport_name":"","children":[]},{"id":324760,"parent_instance_id":324760,"parent_name":"Division 5","sport_id":19,"sport_name":"","children":[]}];
1367	var teams = {"324755":{"teams":[{"Team":{"id":948513,"name":"Demo Team 1","original_team_name":"Demo Team 1","record":"","initials":"DT"}},{"Team":{"id":948514,"name":"Demo Team 2","original_team_name":"Demo Team 2","record":"","initials":"DT"}},{"Team":{"id":942845,"name":"Dukh Nivaran Tigers FHC","original_team_name":"Dukh Nivaran Tigers FHC","record":"","initials":"DNTF"}},{"Team":{"id":942848,"name":"India 1","original_team_name":"India 1","record":"","initials":"IND"}},{"Team":{"id":942871,"name":"Panthers","original_team_name":"Panthers","record":"","initials":"PA"}},{"Team":{"id":942846,"name":"Point Grey Thunderbirds","original_team_name":"Point Grey Thunderbirds","record":"","initials":"PGT"}},{"Team":{"id":942843,"name":"Polar Bears","original_team_name":"Polar Bears","record":"","initials":"PB"}},{"Team":{"id":942842,"name":"SEAtoSKY FHC 1","original_team_name":"SEAtoSKY FHC 1","record":"","initials":"SF"}},{"Team":{"id":942844,"name":"Vancouver Hawks Prem","original_team_name":"Vancouver Hawks Prem","record":"","initials":"VHP"}},{"Team":{"id":942841,"name":"WV Premier","original_team_name":"WV Premier","record":"","initials":"WP"}}],"label":"Premier"},"324756":{"teams":[{"Team":{"id":942851,"name":"Eagles","original_team_name":"Eagles","record":"","initials":"EA"}},{"Team":{"id":942847,"name":"Lakers 1","original_team_name":"Lakers 1","record":"","initials":"LAK"}},{"Team":{"id":942849,"name":"Meralomas 1","original_team_name":"Meralomas 1","record":"","initials":"MER"}},{"Team":{"id":942856,"name":"Point Grey Bluebirds","original_team_name":"Point Grey Bluebirds","record":"","initials":"PGB"}},{"Team":{"id":942896,"name":"Polar Bears Blue","original_team_name":"Polar Bears Blue","record":"","initials":"PBB"}},{"Team":{"id":942852,"name":"SEAtoSKY FHC 2","original_team_name":"SEAtoSKY FHC 2","record":"","initials":"SF"}},{"Team":{"id":942863,"name":"Surinder Lions 1","original_team_name":"Surinder Lions 1","record":"","initials":"SL"}},{"Team":{"id":942853,"name":"Vancouver Hawks 1","original_team_name":"Vancouver Hawks 1","record":"","initials":"VH"}},{"Team":{"id":942850,"name":"WV Cheetahs","original_team_name":"WV Cheetahs","record":"","initials":"WC"}},{"Team":{"id":942900,"name":"WV Terrors","original_team_name":"WV Terrors","record":"","initials":"WT"}}],"label":"Division 1"},"324757":{"teams":[{"Team":{"id":942862,"name":"Eagles 2","original_team_name":"Eagles 2","record":"","initials":"EAG"}},{"Team":{"id":942855,"name":"Jokers Arrows","original_team_name":"Jokers Arrows","record":"","initials":"JA"}},{"Team":{"id":942859,"name":"Lakers 2","original_team_name":"Lakers 2","record":"","initials":"LAK"}},{"Team":{"id":942870,"name":"Meralomas 2","original_team_name":"Meralomas 2","record":"","initials":"MER"}},{"Team":{"id":942858,"name":"NV Strikers","original_team_name":"NV Strikers","record":"","
1367initials":"NS"}},{"Team":{"id":942864,"name":"SEAtoSKY FHC 3","original_team_name":"SEAtoSKY FHC 3","record":"","initials":"SF"}},{"Team":{"id":942854,"name":"Sharks 1","original_team_name":"Sharks 1","record":"","initials":"SHA"}},{"Team":{"id":942860,"name":"Vancouver Hawks 2","original_team_name":"Vancouver Hawks 2","record":"","initials":"VH"}},{"Team":{"id":942897,"name":"WV Grizzlies","original_team_name":"WV Grizzlies","record":"","initials":"WG"}},{"Team":{"id":942866,"name":"WV Riptide","original_team_name":"WV Riptide","record":"","initials":"WR"}}],"label":"Division 2"},"324758":{"teams":[{"Team":{"id":942861,"name":"Chilliwack Pink Panthers","original_team_name":"Chilliwack Pink Panthers","record":"","initials":"CPP"}},{"Team":{"id":942867,"name":"Eagles 3","original_team_name":"Eagles 3","record":"","initials":"EAG"}},{"Team":{"id":942872,"name":"India 2","original_team_name":"India 2","record":"","initials":"IND"}},{"Team":{"id":942883,"name":"Jokers Juggernauts","original_team_name":"Jokers Juggernauts","record":"","initials":"JJ"}},{"Team":{"id":942887,"name":"Mako Sharks","original_team_name":"Mako Sharks","record":"","initials":"MS"}},{"Team":{"id":942865,"name":"NV Thunder","original_team_name":"NV Thunder","record":"","initials":"NT"}},{"Team":{"id":942881,"name":"SEAtoSKY FHC 4","original_team_name":"SEAtoSKY FHC 4","record":"","initials":"SF"}},{"Team":{"id":942869,"name":"Vancouver Hawks 3","original_team_name":"Vancouver Hawks 3","record":"","initials":"VH"}},{"Team":{"id":942857,"name":"WV Fury","original_team_name":"WV Fury","record":"","initials":"WF"}},{"Team":{"id":942873,"name":"WV Vipers","original_team_name":"WV Vipers","record":"","initials":"WV"}}],"label":"Division 3"},"324759":{"teams":[{"Team":{"id":942874,"name":"Jokers LFG","original_team_name":"Jokers LFG","record":"","initials":"JL"}},{"Team":{"id":942879,"name":"Lakers 3","original_team_name":"Lakers 3","record":"","initials":"LAK"}},{"Team":{"id":942876,"name":"Meralomas 3","original_team_name":"Meralomas 3","record":"","initials":"MER"}},{"Team":{"id":942898,"name":"Panthers 2","original_team_name":"Panthers 2","record":"","initials":"PAN"}},{"Team":{"id":942901,"name":"Polar Bears Red","original_team_name":"Polar Bears Red","record":"","initials":"PBR"}},{"Team":{"id":942878,"name":"Saker Falcons","original_team_name":"Saker Falcons","record":"","initials":"SF"}},{"Team":{"id":942885,"name":"SEAtoSKY FHC 5","original_team_name":"SEAtoSKY FHC 5","record":"","initials":"SF"}},{"Team":{"id":942877,"name":"Vancouver Hawks 4","original_team_name":"Vancouver Hawks 4","record":"","initials":"VH"}},{"Team":{"id":942899,"name":"Wolverines Abbotsford","original_team_name":"Wolverines Abbotsford","record":"","initials":"WA"}},{"Team":{"id":942868,"name":"WV Wildcats","original_team_name":"WV Wildcats","record":"","initials":"WW"}}],"label":"Division 4"},"324760":{"teams":[{"Team":{"id":942880,"name":"Burnaby Bears","original_team_name":"Burnaby Bears","record":"","initials":"BB"}},{"Team":{"id":942884,"name":"Eagles 5","original_team_name":"Eagles 5","record":"","initials":"EAG"}},{"Team":{"id":942893,"name":"Fossil Sharks","original_team_name":"Fossil Sharks","record":"","initials":"FS"}},{"Team":{"id":942882,"name":"Jokers Orange Crush","original_team_name":"Jokers Orange Crush","record":"","initials":"JOC"}},{"Team":{"id":942890,"name":"Jokers Wild","original_team_name":"Jokers Wild","record":"","initials":"JW"}},{"Team":{"id":942894,"name":"Leopard Sharks","original_team_name":"Leopard Sharks","record":"","initials":"LS"}},{"Team":{"id":942889,"name":"NV Mariners","original_team_name":"NV Mariners","record":"","initials":"NM"}},{"Team":{"id":942875,"name":"Shark Fins","original_team_name":"Shark Fins","record":"","initials":"SF"}},{"Team":{"id":942888,"name":"Vancouver Hawks 5","original_team_name":"Vancouver Hawks 5","record":"","initials":"VH"}},{"Team":{"id":942892,"name":"Vancouver Hawks 6","original_team_name":"Vancouver Hawks 6","record":"","initials":"VH"}},{"Team":{"id":942886,"name":"WV Orcas","original_team_name":"WV Orcas","record":"","
1367initials":"WO"}},{"Team":{"id":942891,"name":"WV Ravens","original_team_name":"WV Ravens","record":"","initials":"WR"}}],"label":"Division 5"}};
1368	var filter_hierarchy = ["division","filter_team_id"];
1369	var group_type_names = ["Division"];
1370	var filter_tree;
1371	var page_type = `scores`;
1372
1373	$(document).ready(function() {
1374		$(".form-select").select2({
1375			minimumResultsForSearch: 5
1376		});
1377
1378		$("#hierarchy_filter").change(function() {
1379			var parent_group_id = $(this).val();
1380			$("#filter_team_id").empty();
1381			if(page_type != "standings")
1382			{
1383				if (parent_group_id != null && parent_group_id != '' && teams[parent_group_id] != undefined && teams[parent_group_id] != null) {
1384					var options = [];
1385					var blank = "<option value='all'>All Teams</option>";
1386					options.push(blank);
1387					var a = teams[parent_group_id]['teams'] || [];
1388					var hierarchy = teams[parent_group_id]['label'] || '';
1389
1390					// Iterate over data 'a' and build new options
1391					for (var key in a) {
1392						//capitalize each word in original team name
1393						let original_team_name = a[key].Team.original_team_name;
1394						let capitalized_team_name = original_team_name.replace(/\b\w/g, l => l.toUpperCase());
1395
1396						//If it's a parent group, we want to show the complete division structure as the hierarchy
1397						//Ex: 3-level structure with Conference (id 1000) / Division (id 1001) / Tier (id 1002).
1398						//We want to show "Conference 1 / Division A / Tier 2" as the hierarchy if they selected "Conference 1" or "Conference 1 / Division A"
1399						if(CHILD_GROUP_TEAMS[parent_group_id] == undefined) {
1400							let found_hierarchy = false;
1401
1402							for(var child_id in CHILD_GROUP_TEAMS) {
1403								if(found_hierarchy) {
1404									break;
1405								}
1406								//Check to see if the team id is in this child group, if it is, then we've found the hierarchy we want to show, so break out
1407								if (CHILD_GROUP_TEAMS[child_id].includes(a[key].Team.id)) {
1408									hierarchy = teams[child_id].label;
1409									found_hierarchy = true;
1410									break;
1411								}
1412							}
1413						}
1414						else {
1415							hierarchy = '';
1416						}
1417
1418						//Hierarchy will be '' if it's a child-level group, which we don't need to display the division name. Save that space :) 
1419						if(hierarchy != null && hierarchy != '') {
1420							option = `<option value="${a[key].Team.id}">${capitalized_team_name} (${hierarchy})</option>`;
1421						}
1422						else {
1423							option = `<option value="${a[key].Team.id}">${capitalized_team_name}</option>`;
1424						}
1425						options.push(option);
1426					}
1427
1428					// Append new options to select
1429					$("#filter_team_id").append(options.join(''));
1430				} else {
1431					var options = [];
1432					var blank = "<option value='all'>All Teams</option>";
1433					options.push(blank);
1434
1435					// Iterate over data 'a' and build new options
1436					for (var group_id in teams) {
1437						//Only want to show the child level teams
1438						if ((!teams[group_id].label.includes('/') && !teams[group_id].label.includes('|')) || CHILD_GROUP_TEAMS[group_id] == undefined) {
1439							continue;
1440						}
1441
1442						var hierarchy = teams[group_id].label;
1443
1444						for (let key in teams[group_id].teams) {
1445							//capitalize each word in original team name
1446							let original_team_name = teams[group_id].teams[key].Team.original_team_name;
1447							let capitalized_team_name = original_team_name.replace(/\b\w/g, l => l.toUpperCase());
1448							let option = `<option value="${teams[group_id].teams[key].Team.id}">${capitalized_team_name} (${hierarchy})</option>`;
1449
1450							options.push(option);
1451						}
1452					}
1453					// Append new options to select
1454					$("#filter_team_id").append(options.join(''));
1455				}
1456			}
1457		});
1458	});
1459
1460	function changeSeason(ele) {
1461		//if the element select option id contains 'playoff', then we need to make schedule_type = playoffs
1462		if (ele.value.includes('playoff')) {
1463			$("#schedule_type").val('playoffs');
1464		} else {
1465			$("#schedule_type").val('regular_season');
1466		}
1467		ele.form.submit();
1468	}
1469</script>
1469
1470	<input type="hidden" name="status" class="mt-3 me-1" id="status" value="past"/></div>
1471<div class="row me-0 ms-0">
1472	<button type="button" class="btn me-2 mb-3 w-auto btn-primary d-inline-block" id="table-view-btn" onclick="toggleView('table');" title="Table View">
1473		<i class="fa fa-lg fa-table"></i>
1474		Table View	</button>
1475	<button type="button" class="btn mb-3 w-auto btn-outline-primary d-inline-block" id="calendar-view-btn" onclick="toggleView('calendar');" title="Calendar View">
1476		<i class="fa fa-lg fa-calendar"></i>
1477		Calendar View	</button>
1478</div>
1479</form>
1480<div class="row">
1481	<div class="col-12 text-center" style="display: none; top: 350px; position:absolute; z-index: 9999;" id="calendar_processing_message">
1482		<p class="m-0 mx-auto bg-white border border-1 rounded" style="height:60px; width: 180px; padding-top: 15px;">Processing...</p>
1483	</div>
1484	<div class="col-md-12">
1485		<div id="table-bracket-view">
1486							<table id="schedule_table" class="table table-striped nowrap dataTable gs-7 gy-5">
1487					<thead>
1488						<th>Date</th>
1489						<th>Time</th>
1490						<th>Title</th>
1491						<th>Home</th>
1492						<th>Away</th>
1493						<th>Location</th>
1494					</thead>
1495				</table>
1496				<nav aria-label="pagination">
1497					<ul class="pagination justify-content-center">
1498						<a id="prev_btn" class="btn page-link me-1" onclick="prevScheduleTablePage();" style="width: 125px;">
1499							<i class="fa fa-fw fa-caret-left"></i>
1500							Previous						</a>
1501						<a id="next_btn" class="btn page-link" onclick="nextScheduleTablePage();" style="width: 125px;">
1502							Next							<i class="fa fa-fw fa-caret-right"></i>
1503						</a>
1504					</ul>
1505				</nav>
1506					</div>
1507		<div id="calendar-view" class="mt-2" style="display: none;">
1508			<div id="calendar"></div>
1509		</div>
1510	</div>
1511</div>
1512
1513<div class="row mt-3">
1514	<div class="col-md-12" id="schedule">
1515	</div>
1516</div>
1517<div id="show_volleyball_sets_mdl" class="modal fade" role="dialog">
1518	<div class="modal-dialog">
1519		<div class="modal-content">
1520			<div class="modal-header">
1521				<h4 class="modal-title">Sets</h4>
1522			</div>
1523			<div class="modal-body">
1524				<div class="row">
1525					<div class="col-md-12">
1526						<div class="table-responsive">
1527							<table class="table table-hover no-footer" id="volleyball_set_scores_table">
1528							</table>
1529						</div>
1530					</div>
1531				</div>
1532			</div>
1533			<div class="modal-footer">
1534				<button type="button" class="btn btn-white" data-bs-dismiss="modal">Close</button>
1535			</div>
1536		</div>
1537	</div>
1538</div>
1539
1540<script>
1541	function showVolleyballSetScores(sets, home_team_name=`Home`, away_team_name=`Away`) {
1542		let home_wins = 0;
1543		let away_wins = 0;
1544		$('#volleyball_set_scores_table').html('');
1545		$('#volleyball_set_scores_table').append('<thead><tr><th></th><th class="text-center">'+home_team_name+'</th><th class="text-center">'+away_team_name+'</th></tr></thead>');
1546		$('#volleyball_set_scores_table').append('<tbody>');
1547		$.each(sets, function(index, set) {
1548			// find which score is higher and attribute to the winner
1549			let home_score = set.home;
1550			let away_score = set.away;
1551			if (set.home > set.away) {
1552				home_score = `<strong>${set.home}</strong>`;
1553				home_wins++;
1554			} else if (set.home < set.away) {
1555				away_score = `<strong>${set.away}</strong>`;
1556				away_wins++;
1557			}
1558			$('#volleyball_set_scores_table').append('<tr><td>'+set.name+'</td><td class="text-center">'+home_score+'</td><td class="text-center">'+away_score+'</td></tr>');
1559		});
1560		//add a row for the totals
1561		if (home_wins > away_wins) {
1562			$('#volleyball_set_scores_table').append('<tr><td>Total</td><td class="text-center"><strong>'+home_wins+'</strong></td><td class="text-center">'+away_wins+'</td></tr>');
1563		} else if (home_wins < away_wins) {
1564			$('#volleyball_set_scores_table').append('<tr><td>Total</td><td class="text-center">'+home_wins+'</td><td class="text-center"><strong>'+away_wins+'</strong></td></tr>');
1565		} else {
1566			$('#volleyball_set_scores_table').append('<tr><td>Total</td><td class="text-center">'+home_wins+'</td><td class="text-center">'+away_wins+'</td></tr>');
1567		}
1568		$('#volleyball_set_scores_table').append('</tbody>');
1569		$("#volleyball_set_scores_table").removeClass("table-bordered");
1570		$('#show_volleyball_sets_mdl').modal('show');
1571	}
1572</script>
1572<!-- TODO: Move this to S3 -->
1573<script src='https://cdn.jsdelivr.net/npm/[email protected]/index.global.min.js'></script>
vendor: 2 bytes, line 1573
1573
1574<script>
1575	var schedule_type = $("#schedule_type").val();
1576	var status = "past";
1577	var group_ids = {};
1578	var team_id = '';
1579	var season_id = 60608;
1580	var filter_title = '';
1581	var filter_fields = {"division":"division"};
1582	var page_length = 25,
1583		offset = 0,
1584		recordsTotal = 0;
1585	var prev_team_id = $("#filter_team_id").val();
1586	var prev_filter_id = $("#hierarchy_filter").val();
1587	var page_type = `scores`;
1588	var schedule_datatable = null;
1589	var schedule_calendar = null;
1590	var schedule_view_type = 'table';
1591	var practice_types = [2];
1592	var game_types = [1,7];
1593	var loaded_schedule = false;
1594
1595	function updateGroupIds() {
1596		$.each(filter_fields, function(index, value) {
1597			group_ids[index] = $("#" + value).val();
1598		});
1599		group_ids[`division`] = $("#hierarchy_filter").val();
1600		return group_ids;
1601	}
1602
1603	function updateTeamId() {
1604		team_id = $("#filter_team_id").val();
1605		return team_id;
1606	}
1607
1608	function updateSeasonId() {
1609		season_id = $("#season_id").val();
1610		return season_id;
1611	}
1612
1613	function updateFilterTitle() {
1614		filter_title = "";
1615		var count = 1;
1616		$.each(filter_fields, function(index, value) {
1617			var elt = document.getElementById("" + value);
1618			if (count > 1) {
1619				filter_title = filter_title + ' / ';
1620			}
1621			count++;
1622			filter_title = filter_title + elt.options[elt.selectedIndex].text;
1623		});
1624		return filter_title;
1625	}
1626
1627	function updateStatus() {
1628		status = $("#status").val();
1629		$(".status_link").removeClass("active");
1630		if (status == 'past') {
1631			$("#status_past").addClass("active");
1632		} else {
1633			$("#status_upcoming").addClass("active");
1634		}
1635	}
1636
1637	$(document).ready(function() {
1638		updateStatus(status);
1639
1640		$("#filterScheduleForm").submit(function(e) {
1641			e.preventDefault();
1642			refreshSchedule();
1643		});
1644
1645		if (schedule_type !== 'playoffs' && "scores" !== 'tabbed_home') {
1646			initScheduleDataTable();
1647		} else {
1648			//find all empty .matchups and remove them
1649			$(".matchups").each(function(index, element) {
1650				if ($(element).children().length == 0) {
1651					$(element).parent().remove();
1652				}
1653			});
1654
1655					}
1656
1657		//hide popovers on each calendar element except the one that was clicked
1658		document.addEventListener('click', function(e) {
1659			$('#calendar [data-bs-toggle="popover"]').popover('hide');
1660			$('.popover.fade.show.bs-popover-top').remove();
1661			if ($(e.target).closest('#calendar .fc-event') != null && $(e.target).closest('#calendar .fc-event').attr('aria-described-by') == undefined) {
1662				$(e.target).closest('#calendar .fc-event').popover('show');
1663			}
1664		});
1665	});
1666
1667	function showClaimModal() {
1668		let claim_modal_count = localStorage.getItem('claim_modal_count_60608');
1669		if (claim_modal_count == null) claim_modal_count = 0;
1670		else if (!isNaN(parseInt(claim_modal_count))) claim_modal_count = parseInt(claim_modal_count);
1671		else claim_modal_count = 0;
1672		if (claim_modal_count > 10) return;
1673
1674		let claim_requested = localStorage.getItem('claim_requested_60608');
1675		if (claim_requested == null) claim_requested = false;
1676		if (claim_requested) return;
1677
1678		let date = new Date();
1679		let todayStr = [date.getFullYear(), date.getMonth(), date.getDate()].join("-");
1680
1681		let claim_modal_last_shown = localStorage.getItem('claim_modal_last_shown_60608');
1682		if (claim_modal_last_shown == null) claim_modal_last_shown = 0;
1683		if (claim_modal_last_shown == todayStr) return;
1684
1685		localStorage.setItem('claim_modal_count_60608', claim_modal_count + 1);
1686		localStorage.setItem('claim_modal_last_shown_60608', todayStr);
1687		$('#mdl_claim_team').modal({
1688			backdrop: 'static',
1689			keyboard: false
1690		});
1691	}
1692
1693	function claimTeamCompleteCallback(success) {
1694		if (success) {
1695			$('#mdl_claim_requested').modal('show');
1696		}
1697	}
1698
1699	function resetPaging() {
1700		offset = 0;
1701	}
1702
1703	function prevScheduleTablePage() {
1704		if (offset > 0) {
1705			offset -= page_length;
1706			if (offset < 0) offset = 0;
1707			schedule_datatable.ajax.reload();
1708		}
1709	}
1710
1711	function nextScheduleTablePage() {
1712		if (offset + page_length < recordsTotal) {
1713			offset += page_length;
1714			schedule_datatable.ajax.reload();
1715		}
1716	}
1717
1718	function changeTab() {
1719		$("#topLevelTabbableContent .tab-pane").removeClass('active');
1720		$(`#topLevelTabbableContent #${$("#playoff_bracket_id").val()}`).addClass('active');
1721		$(`#topLevelTabbableContent #${$("#playoff_bracket_id").val()} #sub${$("#playoff_bracket_id").val()}`).addClass('active');
1722	}
1723
1724	function toggleView(view_type = 'table') {
1725		if (view_type == 'calendar') {
1726			$(`#table-bracket-view`).hide();
1727			$(`#calendar-view`).show();
1728			$("#calendar-view-btn").addClass("btn-primary").removeClass("btn-outline-primary");
1729			$("#table-view-btn").addClass("btn-outline-primary").removeClass("btn-primary");
1730
1731			//refetch events
1732			renderCalendar();
1733
1734			let dropdown_button_html = `
1735				<select id="calendar-view-select" class="form-select w-auto m-auto" onchange="changeCalendarView();" value="dayGridMonth">
1736					<option value="dayGridDay">Day</option>
1737					<option value="dayGridWeek">Week</option>
1738					<option value="dayGridMonth" selected>Month</option>
1739				</select>
1740			`;
1741			$("#calendar-view #calendar .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:eq(1)").html(dropdown_button_html);
1742
1743			if (window.matchMedia('(max-width: 768px)').matches) {
1744				$("#calendar-view-select").val('dayGridWeek');
1745			}
1746			//hide upcoming / past filter
1747			$("#filterScheduleForm #status").hide();
1748
1749			schedule_view_type = 'calendar';
1750		} else {
1751			$(`#table-bracket-view`).show();
1752			$(`#calendar-view`).hide();
1753			$("#table-view-btn").addClass("btn-primary").removeClass("btn-outline-primary");
1754			$("#calendar-view-btn").addClass("btn-outline-primary").removeClass("btn-primary");
1755
1756			//hide upcoming / past filter
1757			$("#filterScheduleForm #status").show();
1758
1759			schedule_view_type = 'table';
1760			//refetch the data
1761			if (schedule_datatable != null) {
1762				schedule_datatable.ajax.reload();
1763			}
1764		}
1765	}
1766
1767	function changeCalendarView() {
1768		schedule_calendar.changeView($("#calendar-view-select").val());
1769	}
1770
1771	function renderCalendar() {
1772
1773		updateStatus();
1774		updateGroupIds();
1775		updateSeasonId();
1776
1777		if (schedule_calendar != null) {
1778			schedule_calendar.destroy();
1779		}
1780
1781		let initialView = 'dayGridMonth';
1782
1783		//if the screen is smaller than bootstrap md set it to week view
1784		if (window.matchMedia('(max-width: 768px)').matches) {
1785			initialView = 'dayGridWeek';
1786		}
1787
1788		schedule_calendar = new FullCalendar.Calendar(document.getElementById("calendar"), {
1789			initialView: initialView,
1790			headerToolbar: {
1791				left: 'title',
1792				// center: 'dayGridDay,dayGridWeek,dayGridMonth', // buttons to change the view type
1793				// center: 'dayGridWeek,dayGridMonth', // buttons to change the view type
1794				center: ``, // buttons to change the view type
1795				right: 'prev,next'
1796			},
1797			buttonText: {
1798				// dayGridDay: `Day`,
1799				// dayGridWeek: `Week`,
1800				// dayGridMonth: `Month`
1801			},
1802			loading: function(isLoading) {
1803				if (isLoading) $("#calendar_processing_message").show();
1804				else $("#calendar_processing_message").hide();
1805			},
1806			eventSources: [{
1807				url: '/leagues/getEventsForCalendar/25132',
1808				method: 'POST',
1809				failure: function() {
1810					console.log(`Failed to get events for calendar.`);
1811				},
1812				extraParams: { //these are all of the filters
1813					filters: JSON.stringify(group_ids),
1814					status: status,
1815					length: page_length,
1816					start: offset,
1817					prev_team_id: prev_team_id,
1818					prev_filter_id: prev_filter_id,
1819					team_id: $("#filter_team_id").val() ?? team_id,
1820					type: page_type,
1821					is_league_site: 1,
1822					show_team_links: 1,
1823					season_id: season_id,
1824					show_games_only: 1,
1825					location_id: $("#filter_location_id").val(),
1826				}
1827			}],
1828			eventSourceFailure: function(error) {
1829				$("#calendar_processing_message").hide();
1830				if (error instanceof JsonRequestError) {
1831					console.log(`Request to ${error.response.url} failed`)
1832				}
1833			},
1834			eventSourceSuccess: function(content, xhr) {
1835				$("#calendar_processing_message").hide();
1836				let calendar_events = [];
1837				if (content != null && content.code != undefined && content.code == 200 && content.payload != undefined && Object.keys(content.payload).length > 0) {
1838					//format the events to match the Event Model
1839					if (content.payload.events == undefined || content.payload.events.length == 0) {
1840						content.payload.events = [];
1841					}
1842					for (let i in content.payload.events) {
1843						let event = content.payload.events[i];
1844
1845						let home_team_name = event.HomeTeam?.Team?.original_team_name ?? null;
1846						if (home_team_name == undefined || home_team_name == null || home_team_name == '') home_team_name = event.HomeTeam.name;
1847						if (home_team_name == undefined || home_team_name == null) home_team_name = 'TBD';
1848
1849						let away_team_name = event.AwayTeam?.Team?.original_team_name ?? null;
1850						if (away_team_name == undefined || away_team_name == null || away_team_name == '') away_team_name = event.AwayTeam.name;
1851						if (away_team_name == undefined || away_team_name == null) away_team_name = 'TBD';
1852
1853						let temp_event = {
1854							id: event.AssociationEvent.id,
1855							start: new Date(event.AssociationEvent.start),
1856							end: new Date(event.AssociationEvent.end),
1857							title: `${home_team_name} ${(event.AssociationEvent.away_id != null && event.AssociationEvent.away_id != 0) ? 'vs' : '-'} ${(event.AssociationEvent.away_id != null && event.AssociationEvent.away_id != 0) ? away_team_name : event.AssociationEvent.title}`,
1858							url: `/leagues/event/${event.AssociationEvent.association_id}/${event.AssociationEvent.id}`,
1859							extraParams: event
1860						};
1861
1862						//Check if it is a shared practice
1863						if (event.AssociationEvent.team_selection_type == 'team_list' && event.AssociationEvent.teams != undefined && event.AssociationEvent.teams != null && event.AssociationEvent.teams.length > 0) {
1864							temp_event.title = ``;
1865							for (let t in event.AssociationEvent.teams) {
1866								team = event.AssociationEvent.teams[t];
1867
1868								if (team.Opponent == undefined || team.Opponent == null) continue;
1869								temp_event.title += `${t > 0 ? ', ' : ''}${team.Opponent.name}`;
1870							}
1871
1872							if (event.AssociationEvent.event_type != "9") {
1873								temp_event.title += ` - Shared Practice`;
1874							} else {
1875								temp_event.title += ` - Tournament`;
1876							}
1877						}
1878
1879						let background_color = "slategray";
1880						let color = "#FFFFFF"
1881
1882						if (practice_types.includes(parseInt(event.AssociationEvent.event_type))) {
1883							background_color = "rgba(255,193,7)";
1884							//remove the url for practices
1885							delete temp_event.url;
1886
1887						} else if (game_types.includes(parseInt(event.AssociationEvent.event_type))) {
1888							background_color = "rgba(13,110,253)";
1889
1890							if (event.AssociationScore && event.AssociationScore.result_type == 'in_progress') {
1891								background_color = "rgba(220,53,69)";
1892							}
1893						} else {
1894							//unset the url key
1895							delete temp_event.url;
1896						}
1897
1898						temp_event.backgroundColor = background_color;
1899						temp_event.textColor = color;
1900
1901						calendar_events.push(temp_event);
1902
1903					}
1904
1905					if (content.payload.non_team_events == undefined || content.payload.non_team_events == null) {
1906						content.payload.non_team_events = [];
1907					}
1908
1909					for (let i in content.payload.non_team_events) {
1910						let event = content.payload.non_team_events[i];
1911						if (event.AssociationNonTeamEvent.status === 'inactive') {
1912							continue;
1913						}
1914						let temp_event = {
1915							id: event.AssociationNonTeamEvent.id,
1916							start: new Date(event.AssociationNonTeamEvent.start_dt),
1917							end: new Date(event.AssociationNonTeamEvent.end_dt),
1918							title: event.AssociationNonTeamEvent.title,
1919							extraParams: event
1920						};
1921
1922						let background_color = "rgba(255,193,7)";
1923						let color = "#FFFFFF"
1924
1925						//if the game is in the past
1926						if (event.AssociationNonTeamEvent.end < moment().format('YYYY-MM-DD hh:mm:ss')) {
1927							background_color = "rgba(33,37,41)";
1928						}
1929
1930						temp_event.backgroundColor = background_color;
1931						temp_event.textColor = color;
1932
1933						calendar_events.push(temp_event);
1934					}
1935
1936				}
1937
1938				return calendar_events;
1939			},
1940			eventClick: function(info) { //This handles the clicking of an event, directs them to game summary on new page
1941				info.jsEvent.preventDefault(); // don't let the browser navigate
1942
1943				let event = info.event.extendedProps.extraParams;
1944				//build the popover with event information
1945				$(info.el).attr("data-bs-container", "body");
1946				$(info.el).attr("data-bs-toggle", "popover");
1947				$(info.el).attr("data-bs-placement", "top");
1948				$(info.el).attr("data-bs-html", "true");
1949				$(info.el).attr("tabindex", "0");
1950				$(info.el).attr("role", "button");
1951				//$(info.el).attr("title", `${info.event.title}`);
1952				let event_title = `<h5 class="m-0 text-center">${info.event.title}</h5>`;
1953				let game_summary = '';
1954				if (event.AssociationEvent != undefined && event.AssociationEvent != null) {
1955					let home_team_name = `<a target="_blank" href="/leagues/team/${event.AssociationEvent.association_id}/${event.HomeTeam?.Team?.id ?? 0}">${event.HomeTeam?.Team?.original_team_name ?? null}</a>`;
1956
1957					//if its null or undefined they may be a non league opponent or TBD
1958					if (event.HomeTeam?.Team?.id == undefined || event.HomeTeam?.Team?.id == null || event.HomeTeam?.Team?.id == '') home_team_name = event.HomeTeam.name;
1959					if (home_team_name == undefined || home_team_name == null) home_team_name = 'TBD';
1960
1961					if (game_types.includes(parseInt(event.AssociationEvent.event_type))) {
1962						let away_team_name = `<a target="_blank" href="/leagues/team/${event.AssociationEvent.association_id}/${event.AwayTeam?.Team?.id ?? 0}">${event.AwayTeam?.Team?.original_team_name ?? null}</a>`;
1963
1964						//if its null or undefined they may be a non league opponent or TBD
1965						if (event.AwayTeam?.Team?.id == undefined || event.AwayTeam?.Team?.id == null || event.AwayTeam?.Team?.id == '') away_team_name = event.AwayTeam.name;
1966						if (away_team_name == undefined || away_team_name == null) away_team_name = 'TBD';
1967
1968						if (event.AssociationScore.id != undefined && event.AssociationScore.id != null) {
1969							home_team_name += ` (${event.AssociationScore.home_score}) vs.`;
1970							away_team_name += `  (${event.AssociationScore.away_score})`;
1971						} else {
1972							home_team_name += " vs.";
1973						}
1974
1975						event_title = `<h5 class="m-0">${home_team_name}</h5><h5 class="m-0">${away_team_name}</h5>`;
1976						game_summary = `<a target="_blank" href="/leagues/event/${event.AssociationEvent.association_id}/${event.AssociationEvent.id}">Game Summary</a>`;
1977					} else {
1978						//Check if it is a shared practice
1979						if (event.AssociationEvent.team_selection_type == 'team_list' && event.AssociationEvent.teams != undefined && event.AssociationEvent.teams != null && event.AssociationEvent.teams.length > 0) {
1980							event_title = ``;
1981							for (let t in event.AssociationEvent.teams) {
1982								team = event.AssociationEvent.teams[t];
1983
1984								if (team.Opponent == undefined || team.Opponent == null) continue;
1985								let opponent_name = team.Opponent.name;
1986								if (team.Team != undefined && team.Team.id != undefined && team.Team.id != null) {
1987									opponent_name = `<a target="_blank" href="/leagues/team/${team.Opponent.association_id}/${team.Team.id}">${opponent_name}</a>`
1988								}
1989
1990								event_title += `${t > 0 ? ', ' : ''}${opponent_name}`;
1991							}
1992							if (event.AssociationEvent.event_type != "9") {
1993								event_title = `<h5 class="m-0">${event_title} - Shared Practice</h5>`;
1994							} else if (event.AssociationEvent.event_type == "9") {
1995								event_title = `<h5 class="m-0">${event_title} - Tournament</h5>`;
1996							}
1997						}
1998					}
1999				}
2000
2001				let start = null;
2002				if (event.AssociationEvent != undefined && event.AssociationEvent != null) {
2003					start = moment(event.AssociationEvent.start);
2004				} else if (event.AssociationNonTeamEvent != undefined && event.AssociationNonTeamEvent != null) {
2005					start = moment(event.AssociationNonTeamEvent.start_dt);
2006				}
2007
2008				let end = null;
2009				if (event.AssociationEvent != undefined && event.AssociationEvent != null) {
2010					end = moment(event.AssociationEvent.end);
2011				} else if (event.AssociationNonTeamEvent != undefined && event.AssociationNonTeamEvent != null) {
2012					end = moment(event.AssociationNonTeamEvent.end_dt);
2013				}
2014
2015				$(info.el).attr("data-bs-content", `<div class="text-center">
2016					<div class="text-start">${event_title}</div>
2017					${start.format('MMM D, YYYY')}<br>
2018					${parseInt(event?.AssociationEvent?.start_tbd) === 1 ? "TBD" : start.format('h:mm A')+" - "+end.format('h:mm A')}
2019					<br>
2020					${event.Location.name}
2021					<br>
2022					${game_summary}
2023
2024				</div>`);
2025				$(info.el).attr("data-bs-trigger", "focus");
2026
2027				//$(info.el).attr("aria-described-by", `${info.event.id}-popover`);
2028
2029				if (!$(info.el).data('bs.popover')) new bootstrap.Popover(info.el);
2030
2031			},
2032			eventDidMount: function(info) { //if the start is TBD, replace the text in the start time
2033
2034				let event = info.event.extendedProps.extraParams;
2035				if (parseInt(event?.AssociationEvent?.start_tbd) === 1) {
2036					info.el.childNodes[1].innerHTML = 'TBD';
2037				}
2038			}
2039		});
2040		schedule_calendar.render();
2041
2042		return true;
2043	}
2044
2045	function initScheduleDataTable() {
2046		loaded_schedule = true;
2047
2048		schedule_datatable = $('#schedule_table').DataTable({
2049			pageLength: page_length,
2050			serverSide: true,
2051			processing: true,
2052			searching: false,
2053			ordering: false,
2054			lengthChange: false,
2055			scrollX: true,
2056			responsive: true,
2057			language: {
2058				url: `https://cdn-app-static.teamlinkt.com/datatables/i18n/English.json`
2059			},
2060			oLanguage: {
2061				sEmptyTable: `No Events found`,
2062				sProcessing: `Loading Schedule...`,
2063			},
2064			order: [
2065				[0, "desc"]
2066			],
2067			dom: '<"row">rt<"row">',
2068			aoColumns: [{
2069					"orderable": false,
2070					"targets": 0
2071				},
2072				{
2073					"orderable": false,
2074					"targets": 0
2075				},
2076				{
2077					"orderable": false,
2078					"targets": 0
2079				},
2080				{
2081					"orderable": false,
2082					"targets": 0
2083				},
2084				{
2085					"orderable": false,
2086					"targets": 0
2087				},
2088				{
2089					"orderable": false,
2090					"targets": 0
2091				}
2092			],
2093			columnDefs: [{
2094					targets: 0
2095				},
2096				{
2097					targets: 1
2098				},
2099				{
2100					targets: 2
2101				},
2102				{
2103					targets: 3
2104				},
2105				{
2106					targets: 4
2107				},
2108				{
2109					targets: 5
2110				},
2111			],
2112			fixedColumns: true,
2113			ajax: {
2114				url: '/leagues/getAllEvents/25132',
2115				type: 'POST',
2116				dataType: 'json',
2117				data: function(d) {
2118					updateStatus();
2119					updateGroupIds();
2120					updateSeasonId();
2121
2122					d.filters = group_ids;
2123					d.status = status;
2124					d.length = page_length;
2125					d.start = offset;
2126					d.prev_team_id = prev_team_id;
2127					d.prev_filter_id = prev_filter_id;
2128					d.team_id = getTeamFilterValue() ?? team_id;
2129					d.type = page_type;
2130					d.is_league_site = 1;
2131					d.show_team_links = 1;
2132					d.season_id = season_id;
2133					d.show_games_only = 1;
2134					d.schedule_type = schedule_type;
2135					d.location_id = getLocationFilterValue();
2136					return d;
2137				}
2138			},
2139			initComplete: function(settings, json) {
2140				if (json.recordsTotal != undefined) {
2141					recordsTotal = json.recordsTotal;
2142				}
2143				if (offset == 0) {
2144					$("#prev_btn").addClass('disabled');
2145				}
2146				if (offset + page_length >= recordsTotal) {
2147					$("#next_btn").addClass('disabled');
2148				}
2149
2150				if (schedule_datatable != null) {
2151					// schedule_datatable.ajax.reload();
2152				}
2153			},
2154			fnDrawCallback: function(settings) {
2155				if (settings.json != undefined && settings.json.recordsTotal != undefined && settings.json.recordsTotal != null) {
2156					recordsTotal = settings.json.recordsTotal;
2157				}
2158				if (settings.json != undefined && settings.json.offset != undefined && settings.json.offset != null) {
2159					offset = settings.json.offset;
2160				}
2161				if (settings.json != undefined && settings.json.prev_team_id != undefined && settings.json.prev_team_id != null) {
2162					prev_team_id = settings.json.prev_team_id;
2163				}
2164				if (settings.json != undefined && settings.json.prev_filter_id != undefined && settings.json.prev_filter_id != null) {
2165					prev_filter_id = settings.json.prev_filter_id;
2166				}
2167				if (offset == 0) {
2168					$("#prev_btn").addClass('disabled');
2169				} else {
2170					$("#prev_btn").removeClass('disabled');
2171				}
2172
2173				if (offset + page_length >= recordsTotal) {
2174					$("#next_btn").addClass('disabled');
2175				} else {
2176					$("#next_btn").removeClass('disabled');
2177				}
2178			}
2179		});
2180	}
2181
2182	function refreshSchedule() {
2183		var filters = updateGroupIds();
2184		updateTeamId();
2185		filters['team_id'] = team_id;
2186		filters['location_id'] = $("#filter_location_id")?.val();
2187		filters['division'] = (document.getElementById("hierarchy_filter") ? document.getElementById("hierarchy_filter").value : "");
2188		localStorage.setItem("hierarchy_filter", filters['division']);
2189		// $.cookie("filters", JSON.stringify(filters));
2190
2191		if (schedule_view_type == 'calendar') {
2192			renderCalendar();
2193		} else {
2194			if (schedule_datatable != null) {
2195				schedule_datatable.ajax.reload();
2196			}
2197		}
2198		loaded_schedule = true;
2199	}
2200
2201	function getLocationFilterValue() {
2202		return $('#filter_location_id').val() ?? null;
2203	}
2204
2205	function getTeamFilterValue() {
2206		return $("#filter_team_id").val() ?? null;
2207	}
2208</script>
2208</div></div></div>            </div>
2209
2210                    </div>
2211        <div class="row">
2212            <div class="col-12">
2213                <div><div class="row"><div class="col-12"></div></div></div>            </div>
2214        </div>
2215    </div>
2216    <!-- Comment out for now until we figure out how to do full screen stuff properly -->
2217    <!-- <div id="bottom_content_row">
2218        <div class="col-12">
2219        </div>
2220    </div> -->
2221</section>
2222		<style type="text/css">
2223			#adsbygoogle_container {
2224				display: none;
2225			}
2226
2227			@media screen and (max-width: 500px) {
2228				#adsbygoogle_container {
2229					display: block;
2230				}
2231			}
2232		</style>
2233
2234		
2235		<i id="gotoTop" class="icon-angle-up"></i>
2236
2237		<style>
2238	#footer .container {
2239		color: white;
2240	}
2241
2242	#footer .row div,
2243	#footer h1,
2244	#footer h2,
2245	#footer h3,
2246	#footer h4,
2247	#footer h5,
2248	#footer h6,
2249	#footer a,
2250	#footer p,
2251	#footer div,
2252	#footer span {
2253		color: #000000;
2254	}
2255
2256	#footer .teamlinkt_footer {
2257		color: white;
2258	}
2259
2260	#footer a {
2261		color: #000000 !important;
2262	}
2263
2264	#footer a:hover {
2265		color: #000000 !important;
2266		text-decoration: underline !important;
2267
2268	}
2269</style>
2270<footer id="footer" data-scrollto-settings='{"offset":140,"speed":1250,"easing":"easeOutQuad"}' style="background-color: #E8E8E8; border-top: 10px solid #0A0A0A !important;">
2271	<div class="py-4 px-4">
2272		<div class="container" style="border-bottom: 10px solid #0A0A0A; padding-bottom: 30px;">
2273			<div class="row clearfix">
2274				<div class="col-12 col-sm-6 col-lg-3 my-auto mb-3 text-center text-sm-start">
2275					<div class="widget clearfix">
2276						<img style="max-height: 150px;" src="https://cdn-app.teamlinkt.com/media/association_data/25132/site_data/images/1.png?v=1731613679" alt="Image" class="">
2277					</div>
2278				</div>
2279									<div class="col-12 col-sm-6 col-lg-3 my-auto">
2280						<div class="row mb-3">
2281							<h2 class="mb-3 pb-3 m-auto mx-sm-0" style="border-bottom: 5px solid #0A0A0A; width: auto;">Follow Us</h2>
2282							<div class="d-flex align-contents-center ps-0">
2283								<div class="text-center m-auto mx-sm-0">
2284																			<a target="_blank" href="https://www.facebook.com/people/Vancouver-Womens-Field-Hockey-Association/61563256604880/" class="social-icon si-small si-colored si-rounded si-facebook"> <i class="icon-facebook"></i> <i class="icon-facebook"></i> </a>
2285																																					<a target="_blank" href="https://instagram.com/vwfha_1" class="social-icon si-small si-colored si-rounded si-instagram"> <i class="icon-instagram"></i><i class="icon-instagram"></i> </a>
2286																																												</div>
2287							</div>
2288						</div>
2289					</div>
2290				
2291				<div class="col-12 col-sm-6 col-lg-3 my-auto">
2292					<div class="row mb-3">
2293						<h2 class="mb-3 pb-3 m-auto mx-sm-0" style="border-bottom: 5px solid #0A0A0A; width: auto;">Location</h2>
2294													<div class="mb-1 text-center text-sm-start ps-0" style="font-size: 14px;">Vancouver, British Columbia</div>
2295							<div class="text-center text-sm-start ps-0" style="font-size: 14px;">&nbsp;</div>
2296											</div>
2297				</div>
2298				<div class="col-12 col-sm-6 col-lg-3 my-auto">
2299					<div class="row mb-0 mb-sm-3">
2300						<h2 class="mb-3 pb-3 m-auto mx-sm-0" style="border-bottom: 5px solid #0A0A0A; width: auto;">Contact Us</h2>
2301
2302						<div class="mb-1 text-center text-sm-start ps-0" style="font-size: 14px;">
2303													</div>
2304						<div class="text-center text-sm-start ps-0" style="font-size: 14px;">
2305							<a href="/vancouverwomensfieldhockeyassociation/ContactUs?page_type=contact" style="text-decoration: underline !important;">Email Us</a>
2306						</div>
2307					</div>
2308				</div>
2309			</div>
2310		</div>
2311		<!-- Copyrights ============================================= -->
2312		<div class="container p-0 mt-3">
2313			<div class="d-flex teamlinkt_footer text-center text-sm-start flex-column flex-sm-row">
2314				<div class="mb-3 mb-sm-0" style="font-size: 14px;">
2315					<i class="fa fa-copyright"></i>
2316					Vancouver Womens Field Hockey Association 2026				</div>
2317				<div class="d-flex m-auto me-sm-0">
2318					<div class="d-flex align-items-center me-1" style="font-size: 11px;">Powered By</div>
2319					<a href="https://teamlinkt.com/league-software/?utm_source=footer&utm_medium=referral&utm_campaign=customer" target="_blank">
2320						<img src="https://cdn-app-static.teamlinkt.com/marketing/logos/combination_blue_w300_h63.png" style="max-width: 150px;" />
2321					</a>
2322				</div>
2323			</div>
2324			<div class="text-center text-sm-end">
2325				<a href="https://app.teamlinkt.com" class="text-decoration-underline" style="font-size: 14px;" target="_blank">Login</a>
2326			</div>
2327		</div>
2328	</div>
2329</footer>		
2329<script>
2330	var submitted_teamlinkt_sponsor_asset_views = false;
2331
2332	$(document).ready(function() {
2333		//check if there are no sponsor addons
2334		if ($('.sponsors_addon').length == 0) {
2335			submitTeamlinktSponsorAssetViews(); // try to submit any views that may have been missed
2336		}
2337	});
2338
2339
2340	function submitTeamlinktSponsorAssetViews() {
2341		let asset_views = JSON.parse(localStorage.getItem('teamlinkt_sponsor_asset_views') ?? '{}');
2342		let teamlinkt_sponsor_asset_ids = Object.keys(asset_views);
2343
2344		if (submitted_teamlinkt_sponsor_asset_views || teamlinkt_sponsor_asset_ids.length == 0 || getUnsubmittedTeamlinktSponsorAssetViewsCount() < 3) {
2345			return;
2346		}
2347
2348		$.ajax({
2349			url: 'https://leagues.teamlinkt.com/Leagues/recordTeamlinktSponsorAssetViews/25132',
2350			type: 'POST',
2351			data: {
2352				teamlinkt_sponsor_asset_ids: teamlinkt_sponsor_asset_ids,
2353				asset_views: asset_views
2354			},
2355			success: function(data) {
2356				if (typeof data == 'string') {
2357					data = JSON.parse(data);
2358				}
2359				if (data['code'] == 200) {
2360					localStorage.setItem('teamlinkt_sponsor_asset_views', '{}');
2361					submitted_teamlinkt_sponsor_asset_views = true;
2362				}
2363			}
2364		}).always(function() {
2365		});
2366	}
2367
2368	function getUnsubmittedTeamlinktSponsorAssetViewsCount() {
2369		let asset_views = JSON.parse(localStorage.getItem('teamlinkt_sponsor_asset_views') ?? '{}');
2370		let teamlinkt_sponsor_asset_ids = Object.keys(asset_views);
2371
2372		let total_views = 0;
2373		for (let i = 0; i < teamlinkt_sponsor_asset_ids.length; i++) {
2374			let teamlinkt_sponsor_asset_id = teamlinkt_sponsor_asset_ids[i];
2375			let dates = Object.keys(asset_views[teamlinkt_sponsor_asset_id]);
2376			for (let j = 0; j < dates.length; j++) {
2377				let date = dates[j];
2378				total_views += asset_views[teamlinkt_sponsor_asset_id][date];
2379			}
2380		}
2381
2382		return total_views;
2383	}
2384</script>
2384
2385		
2385<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
2385
2386		
2386<script src="https://cdn.datatables.net/colreorder/1.7.0/js/dataTables.colReorder.min.js"></script>
2386
2387		
2387<script src="https://cdn.datatables.net/fixedcolumns/4.3.0/js/dataTables.fixedColumns.min.js"></script>
2387
2388		
2388<script src="https://cdn.datatables.net/1.11.4/js/dataTables.bootstrap5.min.js"></script>
2388
2389		
2389<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>
2389
2390		
2390<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.37/moment-timezone.min.js"></script>
2390
2391		<!-- 
2391<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>
2391 -->
2392
2393		
2393<script src="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/js/plugins.min.js"></script>
2393
2394		
2394<script src="https://cdn-league-prod-static.teamlinkt.com/themes/canvas01/js/functions.js"></script>
2394
2395
2396		
2396<script src="https://cdn-league-prod-static.teamlinkt.com/themes/default/js/slick.min.js"></script>
2396
2397
2398		
2398<script src='https://www.hCaptcha.com/1/api.js' async defer></script>
2398
2399
2400
2401		
2401<script>
2402			var checkOverflowTimer = null;
2403			var isResizingMenuItems = false;
2404			const IS_PREVIEW = parseInt(0);
2405
2406			//We do not want to scroll the page if an a tag has the href of #
2407			//This is for our nav items for non-linked pages
2408			var links = document.querySelectorAll('a[href="#"]');
2409
2410			links.forEach(function(link) {
2411				link.addEventListener('click', function(event) {
2412					event.preventDefault();
2413				});
2414			});
2415
2416			$(document).ready(function() {
2417				if (IS_PREVIEW) {
2418					$("nav ul .menu-link").each(function(i, ele) {
2419						$(ele).attr('href', $(ele).attr('href') + '?preview');
2420					});
2421				}
2422				// $("table").not(".events-marquee-event-content").not(".dataTable").not("#tbl_standings").not("#stats_table").not(".table-borderless").addClass("table table-bordered");
2423				$("table td").addClass("align-middle");
2424				$("table td p").addClass("mb-3");
2425
2426				$(window).resize(function() {
2427					clearTimeout(checkOverflowTimer);
2428					checkOverflowTimer = setTimeout(hideOverflowMenuItems, 100);
2429				});
2430				checkOverflowTimer = hideOverflowMenuItems();
2431				// $(".menu-container").show();
2432
2433				document.querySelectorAll('.menu-item').forEach(function(menuItem) {
2434					//remove adjust-left and adjust-right classes
2435					$(".sub-menu-container").removeClass('adjust-left');
2436					$(".sub-menu-container").removeClass('adjust-right');
2437
2438					menuItem.addEventListener('mouseenter', function() {
2439						const submenu = menuItem.querySelector('.sub-menu-container');
2440
2441						// Check if submenu exists
2442						if (submenu) {
2443							//make it invisible
2444							submenu.style.visibility = 'hidden';
2445							// Get the bounding rectangle of the submenu
2446							const rect = submenu.getBoundingClientRect();
2447
2448							// Check if the right side of the submenu overflows off the screen
2449							if (rect.right > document.documentElement.clientWidth) {
2450								// If overflow, adjust the position
2451								submenu.classList.add('adjust-left');
2452								//make it visible
2453								submenu.style.visibility = 'visible';
2454							}
2455							// Check if the left side of the submenu overflows off the screen
2456							else if (rect.left > document.documentElement.clientWidth) {
2457								// If overflow, adjust the position
2458								submenu.classList.add('adjust-right');
2459								//make it visible
2460								submenu.style.visibility = 'visible';
2461							} else {
2462								//make it visible
2463								submenu.style.visibility = 'visible';
2464							}
2465						}
2466					});
2467				});
2468			});
2469
2470			function hideOverflowMenuItems() {
2471				if (isResizingMenuItems) {
2472					return false;
2473				}
2474				isResizingMenuItems = true;
2475
2476				// If the mobile menu is showing, don't use the More item
2477				if (window.matchMedia('(max-width: 991px)').matches) {
2478					$("#MoreMenuItemList>li").each(function(i, e) {
2479						$e = $(e);
2480						$e.detach().insertBefore("#MoreMenuItem");
2481					});
2482					$("#MoreMenuItem").hide();
2483					isResizingMenuItems = false;
2484					return true;
2485				}
2486
2487				let availableWidth = $(".menu-container").closest(".header-row").width();
2488				let menuItemWidths = [];
2489
2490				$("#MoreMenuItem").show();
2491				let moreMenuItemWidth = $("#MoreMenuItem").width();
2492				$("#MoreMenuItem").hide();
2493
2494				// make all menu items visible
2495				$("#MoreMenuItemList>li").each(function(i, e) {
2496					$e = $(e);
2497					$e.detach().insertBefore("#MoreMenuItem");
2498				});
2499
2500				// any items that are wider than the available space should be moved to the More item
2501				let shouldMoveToMoreButton = false;
2502				$(".menu-container>li.menu-item").not(".more-btn").each(function(i, e) {
2503					$e = $(e);
2504					if (!shouldMoveToMoreButton) {
2505						let menuItemsWidth = menuItemWidths.reduce((previousValue, currentValue) => previousValue + currentValue, 0) + $e.width();
2506
2507						if (menuItemsWidth > (availableWidth - moreMenuItemWidth - 40)) {
2508							shouldMoveToMoreButton = true;
2509						}
2510					}
2511
2512					// move menu items to the More menu
2513					if (shouldMoveToMoreButton) $e.detach().appendTo("#MoreMenuItemList");
2514					else menuItemWidths.push($e.width());
2515				});
2516
2517				if ($("#MoreMenuItemList>li").length > 0) $("#MoreMenuItem").show();
2518				else $("#MoreMenuItem").hide();
2519
2520				// update the height of the clone, which isn't absolutely positioned
2521				$(".header-wrap-clone").height($(".header-wrap-clone").siblings("#header-wrap").height());
2522				isResizingMenuItems = false;
2523				return true;
2524			}
2525		</script>
2525
2526		
2526<script>
2527(function () {
2528	const teamlinkt_emi = new URLSearchParams(window.location.search).has("teamlinkt_emi");
2529	const params = new URLSearchParams({
2530		position: "right",
2531		teamlinkt_emi,
2532		association_id: 25132,
2533	});
2534	const s = document.createElement("script");
2535	s.src = `https://app.teamlinkt.com/emi-embed?${params}`;
2536	s.async = true;
2537	document.head.appendChild(s);
2538})();
2539</script>
2539
2540</body>
2541</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.