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();$("#filterScheduleForm").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();$("#filterScheduleForm").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;"> </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.