1<!DOCTYPE HTML> 2<html lang="en"> 3 <head> 4 <title>Grouse Mountain Tyee Ski Club</title> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta charset="utf-8"> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 9 <meta property="og:image" content="https://crossbar.s3.amazonaws.com:443/organizations/2504/uploads/ed556ccd-197c-4ae8-aa62-777685098723.png?versionId=1zRNQcRTKQd8HQKbLCbQ6_oUHkgAMsAE" /> 10 11 <meta property="og:image:type" content="image/png" /> 12 13 14 15 <!-- Bootstrap Core CSS --> 16 <link href="/static/lib/REEN/Template/assets/css/bootstrap.min.css" rel="stylesheet"> 17 <link href="/static/lib/jasny-bootstrap/css/jasny-bootstrap.min.css" rel="stylesheet"> 18 19 20 21 <!-- Customizable CSS --> 22 <link href="/static/lib/REEN/Template/assets/css/main.css?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf" rel="stylesheet" data-skrollr-stylesheet> 23 <link href="/static/styles.css?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf" rel="stylesheet"> 24 <style> 25 /* backport display utils from later version */ 26 .d-none { display: none; } 27 .d-block { display: block; } 28 .d-inline { display: inline; } 29 .d-inline-block { display: inline-block } 30 @media (min-width: 576px) { 31 .d-xs-none { display: none; } 32 .d-xs-block { display: block; } 33 .d-xs-inline { display: inline; } 34 .d-xs-inline-block { display: inline-block; } 35 } 36 @media (min-width: 768px) { 37 .d-sm-none { display: none; } 38 .d-sm-block { display: block; } 39 .d-sm-inline { display: inline; } 40 .d-sm-inline-block { display: inline-block } 41 } 42 @media (min-width: 992px) { 43 .d-md-none { display: none; } 44 .d-md-block { display: block; } 45 .d-md-inline { display: inline; } 46 .d-md-inline-block { display: inline-block } 47 } 48 @media (min-width: 1200px) { 49 .d-lg-none { display: none; } 50 .d-lg-block { display: block; } 51 .d-lg-inline { display: inline; } 52 .d-lg-inline-block { display: inline-block } 53 } 54 </style> 55 <style> 56 57.navbar-header a { 58 color:#1D376C; 59} 60 61.branded-box { 62 background:#00B4E5; 63} 64 65.branded-box A { 66 background:rgba(29,55,108,.95); 67} 68 69@media (max-width: 1024px) { 70 .navbar-header { 71 background:#00B4E5; 72 } 73 74 .navbar-header .btn { 75 background:none; 76 color:#1D376C !important; 77 } 78} 79 80.classic-blog .post .date { 81 background:#1D376C; 82 color:#FFFFFF; 83 border-color:#E22726; 84} 85 86.navbar-header H2 { 87 color:#FFFFFF; 88} 89 90 91.section-dark { 92 background:#1D376C; 93 color:#FFFFFF; 94} 95 96.section-dark, 97.section-dark H1, 98.section-dark H2, 99.section-dark H3, 100.section-dark H4, 101.section-dark H5 { 102 color:#FFFFFF; 103} 104 105.section-light { 106 background:#00B4E5; 107 color:#FFFFFF; 108} 109 110.section-light H1, 111.section-light H2, 112.section-light H3, 113.section-light H4, 114.section-light H5 { 115 color:#FFFFFF; 116} 117 118.section-white { 119 background:#FFF; 120 color:#000; 121} 122 123.section-white H1, 124.section-white H2, 125.section-white H3, 126.section-white H4, 127.section-white H5 { 128 color:#000; 129} 130 131.section-trim-white { 132 background:#E22726; 133 color: #FFF; 134} 135 136.section-trim-white H1, 137.section-trim-white H2, 138.section-trim-white H3, 139.section-trim-white H4, 140.section-trim-white H5 { 141 color:#FFF; 142} 143 144.section-trim-black { 145 background:#E22726; 146 color: #000; 147} 148 149.section-trim-black H1, 150.section-trim-black H2, 151.section-trim-black H3, 152.section-trim-black H4, 153.section-trim-black H5 { 154 color:#000; 155} 156 157 158 159.item-1 A { 160 background:rgba(29,55,108,.75); 161 color:#FFFFFF; 162} 163 164.item-1 a h2, .item-1 a h3 { 165 color:#FFFFFF; 166} 167 168.item-2 A { 169 background:rgba(0,180,229,.75); 170 color:#FFFFFF; 171} 172 173.item-2 a h2, .item-2 a h3 { 174 color:#FFFFFF; 175} 176 177.item.with-image.hide-overlay A { 178 background:none; 179} 180.item.with-image.hide-overlay A h2, .item.with-image.hide-overlay A h3 { 181 display:none; 182} 183.item.item-1.with-image.hide-overlay A:hover { 184 background:rgba(29,55,108,.75); 185 color:#FFFFFF; 186} 187.item.item-2.with-image.hide-overlay A:hover { 188 background:rgba(0,180,229,.75); 189 color:#FFFFFF; 190} 191.item.with-image.hide-overlay A:hover h2 { 192 display:inline; 193} 194.item.with-image.hide-overlay A:hover h3 { 195 display:block; 196} 197 198.branded-box.with-image.hide-overlay A { 199 background:none; 200} 201.branded-box.with-image.hide-overlay A .branded-box-label { 202 display:none; 203} 204.branded-box.with-image.hide-overlay A:hover { 205 background:rgba(29,55,108,.95); 206 color:#FFF; 207} 208.branded-box.with-image.hide-overlay A:hover .branded-box-label { 209 display:block; 210} 211 212 213.item.with-image A:hover { 214 background:none; 215} 216 217.item.with-image A:hover h2, .item.with-image A:hover h3 { 218 display:none; 219} 220 221.item-1.without-image A:hover { 222 background:rgba(29,55,108,.88); 223} 224.item-2.without-image A:hover { 225 background:rgba(0,180,229,.88); 226} 227 228.btn-hero { 229 background:#00B4E5; 230 color:#FFFFFF !important; 231} 232 233#home-social-media { 234 background:#1D376C; 235 color:#FFFFFF; 236} 237#home-social-media h2 { 238 color:#FFFFFF; 239} 240#home-social-media a:hover {
241 color:rgba(255,255,255,.5); 242} 243 244 245.container_dark { 246 background-color: #1D376C; 247 color: #FFFFFF; 248} 249.container_dark H1, 250.container_dark H2, 251.container_dark H3, 252.container_dark H4, 253.container_dark H5, 254.container_dark P, 255.container_dark A { 256 color: #FFFFFF; 257} 258 259.container_light { 260 background-color: #00B4E5; 261 color: #FFFFFF; 262} 263.container_light H1, 264.container_light H2, 265.container_light H3, 266.container_light H4, 267.container_light H5, 268.container_light P, 269.container_light A { 270 color: #FFFFFF; 271} 272 273 274 275.container_gray { 276 background-color: #F2F5F7; 277 color: #000; 278} 279.container_gray H1, 280.container_gray H2, 281.container_gray H3, 282.container_gray H4, 283.container_gray H5, 284.container_gray P, 285.container_gray A { 286 color: #000; 287} 288 289.container_white { 290 background-color: #FFF; 291 color: #000; 292} 293.container_white H1, 294.container_white H2, 295.container_white H3, 296.container_white H4, 297.container_white H5, 298.container_white P, 299.container_white A { 300 color: #000; 301} 302 303 304 305.container_black { 306 background-color: #000; 307 color: #FFF; 308} 309 310 311.container_black H1, 312.container_black H2, 313.container_black H3, 314.container_black H4, 315.container_black H5, 316.container_black P, 317.container_black A { 318 color: #FFF; 319} 320 321</style> 322 323 <style> 324 325.navbar-collapse.collapse, .navbar-collapse.collapsing { 326 background-color:#00B4E5; 327 color:#FFFFFF; 328 329 border-top:2px solid #E22726; 330 331} 332 333.navbar-middle { 334 background:#1D376C; 335 color:#FFFFFF; 336} 337 338.navbar-middle h4 { 339 color:#FFFFFF; 340} 341 342.navbar-nav > li > a { 343 color:#FFFFFF; 344} 345 346li.register a { 347 background: #1D376C; 348 color:#FFFFFF; 349} 350 351@media (min-width: 1025px) { 352 .navbar-brand SPAN { 353 border-right:1px solid rgba(0,0,0,.1); 354 } 355 356 .navbar-collapse .navbar-brand A:hover IMG { 357 -webkit-filter: drop-shadow(3px 5px 0px rgba(0,0,0,.1)); 358 filter: drop-shadow(3px 6px 0px rgba(0,0,0,.1) ); 359 } 360 361} 362 363@media (max-width: 1024px) { 364 .navbar-header { 365 background: #00B4E5; 366 } 367 368 .navbar-header .btn { 369 color: #FFFFFF !important; 370 } 371 372 .navbar-collapse.collapse, .navbar-collapse.collapsing { 373 background-color: #1D376C; 374 color: #FFFFFF; 375 border:none; 376 } 377 378 .navbar-nav > li > a { 379 color: #FFFFFF; 380 } 381} 382 383#home-events { 384 background-color: #1D376C; 385 color: #FFFFFF; 386} 387#home-events.with-hero { 388 background-color: #1D376C; 389 color: #FFFFFF; 390} 391 392#player-profile-header { 393 background:#1D376C; 394} 395 396#player-profile-header H1, 397#player-profile-header H2 { 398 399 color:#FFFFFF; 400} 401 402</style> 403 404 405 406 <!-- Fonts --> 407 <link rel="stylesheet" href="https://use.typekit.net/axg6iil.css?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf"> 408 <link rel="preconnect" href="https://fonts.googleapis.com"> 409 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 410 <link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap" rel="stylesheet"> 411 412 413 <!-- 414 <link rel="preconnect" href="https://fonts.googleapis.com"> 415 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 416 <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap" rel="stylesheet"> 417 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"> 418 <link href="https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;700&display=swap" rel="stylesheet"> 419 <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet"> 420 --> 421 422 423 <link href="/static/lib/fontawesome/css/all.min.css" rel="stylesheet" /> 424 425 <!-- Favicon --> 426 <link rel="shortcut icon" href="https://crossbar.s3.amazonaws.com:443/organizations/2504/uploads/60d01f63-8745-4314-a663-191522dbf79a.png?versionId=iQKUEuwttIqkBAjC0PvWGbzbS3i_PNMJ"> 427 428 <!-- HTML5 elements and media queries Support for IE8 : HTML5 shim and Respond.js --> 429 <!--[if lt IE 9]> 430
430<script src="/static/lib/REEN/Template/assets/js/html5shiv.js"></script>
430 431
431<script src="/static/lib/REEN/Template/assets/js/respond.min.js"></script>
431 432 <![endif]--> 433 434 435 436 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 436-437
436 437 <script async src="https://www.googletagmanager.com/gtag/js?id=
437G-2ED5QKGVF8
vendor: 24 bytes, lines 437-438
437"></script> 438
438<script> 439
vendor: 169 bytes, lines 439-442
439window.dataLayer = window.dataLayer || []; 440 function gtag(){dataLayer.push(arguments);} 441 gtag('js', new Date()); 442 gtag('config', '
442G-2ED5QKGVF8
vendor: 19 bytes, lines 442-444
442'); 443 444
444var ga_included = true; 445 var username = ""; 446 </script>
446 447 448 449 450 451 452 453 454 455 456 </head> 457 <body data-org-cache="True"> 458 <header class="hidden-print"> 459 <div class="navbar"> 460 461 <div class="navbar-header"> 462 <div class="container"> 463 <ul class="info pull-left"> 464 465 <li><a href="/login"><i class="fas fa-sign-in-alt contact"></i> Log In</a></li> 466 <li><a href="/signup"><i class="fa fa-user-plus contact"></i> Sign Up</a></li> 467 468 </ul><!-- /.info --> 469 <ul class="social pull-right"> 470 <li> 471 <a href="https://www.crossbar.org/?utm_source=client_website&utm_medium=cb_header&utm_campaign=grousetyee.com&utm_content=grousetyee.com" target="_blank"> 472 <div class="fa-crossbar-container"> 473 <i class="icon-s-crossbar fa-crossbar"></i> 474 </div> 475 </a> 476 </li> 477 478 </ul><!-- /.social --> 479 <a class="btn responsive-menu pull-left" data-toggle="collapse" data-target=".navbar-collapse"><i class='fa fa-bars'></i></a> 480 481 <a class="navbar-brand mobile" href="/"> 482 <img src="https://crossbar.s3.amazonaws.com:443/organizations/2504/uploads/0fe97b7b-a1ab-4aa4-92a4-db8575e30031.png?versionId=D_IvfnPXGc8XBVBb.cnv1MwB8fGg48BF" class="logo" alt=""> 483 484 </a> 485 </div><!-- /.container --> 486 </div><!-- /.navbar-header --> 487 488 <div class="navbar-middle"> 489 <div class="container" > 490 491 <div style="float:right"> 492 493 </div> 494 495 <h4> 496 497 <a href="/">Grouse Mountain Tyee Ski Club</a> 498 499 500 501 502 503 504 505 506 </h4> 507 508 </div> 509 </div> 510 511 <div class="yamm"> 512 <div class="navbar-collapse collapse"> 513 <div class="container"> 514 <div class="navbar-brand"> 515 <a href="/"> 516 <span> 517 <nobr> 518 <img src="https://crossbar.s3.amazonaws.com:443/organizations/2504/uploads/0fe97b7b-a1ab-4aa4-92a4-db8575e30031.png?versionId=D_IvfnPXGc8XBVBb.cnv1MwB8fGg48BF" class="logo" alt=""> 519 520 </nobr> 521 </span> 522 </a> 523 </div> 524 525 <ul class="nav navbar-nav navbar-right"> 526 527 528 529 <li class="mobile_and_tablet_only"><a href="/login">Log In</a></li> 530 <li class="mobile_and_tablet_only"><a href="/signup">Sign Up</a></li> 531 532 533 534 535 536 537 <li class="dropdown"> 538 <a href="#" class="dropdown-toggle js-activated">About</a> 539 <ul class="dropdown-menu"> 540 541 542 <li><a href="/about/about-us/117502">About Us</a></li> 543 544 545 546 <li><a href="/about/our-coaches/123440">Our Coaches</a></li> 547 548 549 550 <li><a href="/about/board-of-directors/117631">Board of Directors</a></li> 551 552 553 554 <li><a href="/about/our-history/123563">Our History</a></li> 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 </ul><!-- /.dropdown-menu --> 698</li><!-- /.dropdown --> 699 700 701 702 703 <li><a href="/builder/link/page/123441">Membership</a></li> 704 705 706 707 708 <li><a href="/builder/link/page/127650">Programs</a></li> 709 710 711 712 713 714 715 <li class="dropdown"> 716 <a href="#" class="dropdown-toggle js-activated">Resources</a> 717 <ul class="dropdown-menu"> 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 <li><a href="/player-resources/code-of-conduct-and-rules-of-fair-play/125456">Code of Conduct and Rules of Fair Play</a></li> 733 734 735 736 <li><a href="/player-resources/payment-terms-and-conditions/123866">Payment Terms and Conditions</a></li> 737 738 739 740 <li><a href="/player-resources/equipment/125202">Equipment</a></li> 741 742 743 744 <li><a href="/player-resources/member-handbook/125454">Member Handbook</a></li> 745 746 747 748 <li><a href="/player-resources/employment/123879">Employment</a></li> 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 </ul><!-- /.dropdown-menu --> 878 </li><!-- /.dropdown --> 879 880 881 882 883 884 885 <li><a href="/schedule">Schedule</a></li> 886 887 888 889 890 <li class="dropdown"> 891 <a href="#" class="dropdown-toggle js-activated">Events</a> 892 <ul class="dropdown-menu"> 893 894 895 896 897 898 899 900 901 902 903 <li><a href="/events/silent-auction/128861">Silent Auction</a></li> 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 </ul><!-- /.dropdown-menu --> 1045</li><!-- /.dropdown --> 1046 1047 1048 1049 1050 1051 </ul><!-- /.nav --> 1052 1053 </div><!-- /.container --> 1054 </div><!-- /.navbar-collapse --> 1055 1056 </div><!-- /.yamm --> 1057 1058 1059 </div><!-- /.navbar --> 1060 </header> 1061 1062 1063 <main> 1064 <section class="light-bg"> 1065 1066 1067 1068 1069
1070 <div class="container inner-sm embedded-padding embedded-width"> 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 <main id="login"> 1086 <div class="row"> 1087 <div class="col-xs-12 col-md-4 col-md-offset-4 "> 1088 <div class="text-14 text-center" style="margin-bottom:10px;"> 1089 <img src="/static/images/crossbar_navy.svg" style="width:60%;"><br> 1090 Powering the Grouse Mountain Tyee Ski Club 1091 </div> 1092 </div> 1093 <div class="col-xs-12 col-md-4 col-md-offset-4 box"> 1094 <h2>Create Account</h2> 1095 1096 1097 <form id="signup_form" method="post" action="/signup"> 1098 1099 1100 <div class="form-group " style="width:100%; margin:0px;"> 1101 1102 <label for="input_email">Email Address*</label> 1103 1104 <span class="input-description"></span> 1105 <input 1106 type="email" 1107 class=" form-control" id="input_email" 1108 placeholder="" 1109 name="email" 1110 value="" 1111 maxlength=100 1112 required 1113 1114 1115 style="" 1116 1117 1118 1119 > 1120 1121 <p class="help-block" style="display:none"></p> 1122 1123</div> 1124 1125 1126 <div class="form-group " style="width:100%; margin:0px;"> 1127 1128 <label for="input_password">Password*</label> 1129 1130 <span class="input-description"></span> 1131 <input 1132 type="password" 1133 class=" form-control" id="input_password" 1134 placeholder="" 1135 name="password" 1136 value="" 1137 maxlength=50 1138 required 1139 1140 1141 style="" 1142 1143 1144 1145 > 1146 1147 <p class="help-block" style="display:none"></p> 1148 1149</div> 1150 1151 <div style="text-align:center; padding: 20px;"> 1152 <button id="sign_up_button" class="btn">Sign Up</button> 1153 <button type="submit" id="submit_button" style="display: none;"></button> 1154 </div> 1155 </form> 1156 <p style="font-size:80%"> 1157 Already registered? <a href="/login">Log In Here</a> 1158 </p> 1159 </div><!-- /.col --> 1160 </div><!-- /.row --> 1161 </main> 1162 1163<div id="recaptcha2-modal" class="modal fade" role="dialog"> 1164 <div class="modal-dialog modal-xs" style="width: 302px; height: 78px"> 1165 <div class="modal-content" style="width: 302px; height: 76px; border: 0; border-radius: 0; background: none;"> 1166 <div id="recaptcha-modal-body"></div> 1167 </div> 1168 </div> 1169</div>
vendor: 62 bytes, lines 1169-1171
1169 1170 1171<script src="https://www.google.com/recaptcha/api.js?render=
11716Leg8QokAAAAAF1jhsA9QJcCoCoPtcCElJInS8KF
vendor: 12 bytes, line 1171
1171"></script>
1172<script> 1173 // prevent form submission until captcha is validated 1174 1175 1176 let check_recaptcha = true; 1177 1178 1179 if (check_recaptcha) { 1180 if (typeof grecaptcha !== 'undefined') { // check that recaptcha api loaded 1181 grecaptcha.ready(function() { 1182 grecaptcha.execute('6Leg8QokAAAAAF1jhsA9QJcCoCoPtcCElJInS8KF', {action: 'submit'}).then(function(token) { 1183 if (token) { 1184 // send token to server to verify 1185 verifyRecaptchaV3(token); 1186 } 1187 }).catch(function() { 1188 console.error('Recaptcha failed'); 1189 }); 1190 }); 1191 } else { 1192 console.error('Recaptcha API failed to load, will retry when a form is submitted'); 1193 } 1194 1195 function verifyRecaptchaV3(token) { 1196 $.ajax({ 1197 url: '/verify_captcha', 1198 type: 'POST', 1199 data: { token: token }, 1200 contentType: 'application/x-www-form-urlencoded', 1201 success: function(response) { 1202 if (response.success) { 1203 check_recaptcha = false; 1204 } 1205 } 1206 }); 1207 } 1208 1209 function loadRecaptchaV2(current_form) { 1210 $('#google_recaptcha_response').remove(); 1211 1212 // insert form field to hold v2 response 1213 let recaptcha_form_field = document.createElement('input'); 1214 recaptcha_form_field.type = 'hidden'; 1215 recaptcha_form_field.id = 'google_recaptcha_response'; 1216 recaptcha_form_field.name = 'google_recaptcha_response'; 1217 current_form.appendChild(recaptcha_form_field); 1218 1219 // wipeout success message and revert to previous height 1220 document.getElementById('recaptcha-modal-body').innerHTML = ""; 1221 document.querySelector('#recaptcha2-modal .modal-content').style.height = "76px" 1222 1223 // remove v3 to avoid conflicts 1224 let script = document.querySelector('script[src*="recaptcha"]'); 1225 if (script) script.remove(); 1226 1227 // load script 1228 let v2Script = document.querySelector('script[src="https://www.google.com/recaptcha/api.js"]'); 1229 if (!v2Script) { 1230 v2Script = document.createElement('script'); 1231 v2Script.src = 'https://www.google.com/recaptcha/api.js'; 1232 v2Script.onerror = function() { 1233 msg = 'There was a problem loading the Recaptcha API. Please try again in a moment, or reload the page.' 1234 if (typeof Registration != 'undefined') { 1235 Registration.show_error(msg); 1236 } else if (typeof Checkout != 'undefined') { 1237 Checkout.show_error(msg); 1238 } else { 1239 // if we can't show an error, submit the form which will fail 1240 console.error(msg); 1241 if (current_form.cb_recaptcha_on_success) { 1242 current_form.cb_recaptcha_on_success(); 1243 return; 1244 } 1245 let submitButton = current_form.querySelector('button[type="submit"], input[type="submit"]'); 1246 if (submitButton) { 1247 setTimeout(function() { 1248 submitButton.click(); 1249 }, 400); 1250 } 1251 } 1252 } 1253 document.head.appendChild(v2Script); 1254 } 1255 1256 let captchaHasFired = document.getElementById("recaptcha2-modal").getAttribute("data-captcha-count") || 0; 1257 if (captchaHasFired > 0) { 1258 renderCaptcha(); 1259 } else { 1260 v2Script.onload = function() { 1261 document.getElementById("recaptcha2-modal").setAttribute("data-captcha-count", 1); 1262 grecaptcha.ready(() => renderCaptcha()); 1263 }; 1264 } 1265 } 1266 1267 function renderCaptcha() { 1268 const recaptchaContainer = document.createElement('div'); 1269 recaptchaContainer.className = 'g-recaptcha'; 1270 recaptchaContainer.setAttribute('data-sitekey', '6LcuMWgqAAAAAMu4_3raqRXo7Dx5UXvjbsxXUIP2'); 1271 recaptchaContainer.setAttribute('data-callback', 'on_v2_success'); 1272 document.getElementById('recaptcha-modal-body').appendChild(recaptchaContainer); 1273 grecaptcha.render(recaptchaContainer); 1274 // show modal 1275 $('#recaptcha2-modal').modal('show'); 1276 } 1277 1278 function on_v2_success(token) { 1279 // put token in form field 1280 document.getElementById('google_recaptcha_response').value = token; 1281 1282 // prevents user from being stuck if the token is blank for some reason 1283 if(token) { 1284 check_recaptcha = false;
1285 } 1286 // show success message briefly 1287 let modal = document.getElementById('recaptcha-modal-body'); 1288 modal.innerHTML = '<div class="alert alert-success">Verification succeeded!</div>'; 1289 let modalContent = document.querySelector('#recaptcha2-modal .modal-content'); 1290 modalContent.style.height = '3em'; 1291 1292 let form = document.getElementById('google_recaptcha_response').form; 1293 if (form) { 1294 if (form.cb_recaptcha_on_success) { 1295 // handler provided by cb_recaptcha_check() - call that instead of submitting 1296 form.cb_recaptcha_on_success(); 1297 } else { 1298 // submit the form 1299 let submitButton = form.querySelector('button[type="submit"], input[type="submit"]'); 1300 if (submitButton) { 1301 setTimeout(function() { 1302 submitButton.click(); 1303 }, 400); 1304 } 1305 } 1306 } else { 1307 console.error("Form not found"); 1308 } 1309 1310 setTimeout(function() { 1311 $('#recaptcha2-modal').modal('hide'); 1312 }, 1500); 1313 } 1314 1315 function cb_recaptcha_check(form) { 1316 return new Promise((resolve, reject) => { 1317 /* Note that at this point, reject is never called: 1318 - If v3 passed & verified server-side, we would immediately resolve 1319 - Otherwise, we always fall back to v2 1320 Handling failure will ultimately be on the server side during submission 1321 */ 1322 if (check_recaptcha) { 1323 // v3 did not pass (or it failed to check); load v2 to the form 1324 form.cb_recaptcha_on_success = resolve; 1325 loadRecaptchaV2(form); 1326 } else { 1327 // v3 passed (or the session says they previously passed), immediately resolve 1328 resolve(); 1329 } 1330 }); 1331 } 1332 1333 // catch submit and kick the recaptcha up again if needed 1334 document.addEventListener('DOMContentLoaded', function() { 1335 // Find forms with cb-recaptcha class 1336 const captchaForms = document.querySelectorAll('form.cb-recaptcha'); 1337 1338 // If we have forms with cb-recaptcha class, use only those 1339 if (captchaForms.length > 0) { 1340 captchaForms.forEach(form => { 1341 if (form.classList.contains('cb-recaptcha-no-on-submit')) { 1342 // Something else will handle intercepting form submission here 1343 return; 1344 } 1345 form.addEventListener('submit', function(event) { 1346 if (check_recaptcha) { 1347 // prevents all other listeners from submitting the form 1348 event.preventDefault(); 1349 event.stopImmediatePropagation(); 1350 // show modal 1351 loadRecaptchaV2(form); 1352 } else { 1353 // allow form submission to continue 1354 // reset recaptcha in case form submit failed 1355 check_recaptcha = true; 1356 } 1357 }, true); 1358 }); 1359 } else { 1360 // Fallback to old behavior - get all forms 1361 document.querySelectorAll('form').forEach(form => { 1362 form.addEventListener('submit', function(event) { 1363 if (check_recaptcha) { 1364 // prevents all other listeners from submitting the form 1365 event.preventDefault(); 1366 event.stopImmediatePropagation(); 1367 // show modal 1368 loadRecaptchaV2(form); 1369 } else { 1370 // allow form submission to continue 1371 // reset recaptcha in case form submit failed 1372 check_recaptcha = true; 1373 } 1374 }, true); 1375 }); 1376 } 1377 }); 1378 } 1379</script>
1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 </div> 1393 </section> 1394 </main> 1395 1396 1397 1398 1399 <!-- ============================================================= FOOTER ============================================================= --> 1400 1401 <footer class="dark-bg bottom hidden-print"> 1402 <div class="container inner"> 1403 <div class="row"> 1404 1405 <div class="col-md-3 col-sm-6 inner hide_on_mobile text-center"> 1406 1407 <a href="/"> 1408 1409 <img src="https://crossbar.s3.amazonaws.com:443/organizations/2504/uploads/0fe97b7b-a1ab-4aa4-92a4-db8575e30031.png?versionId=D_IvfnPXGc8XBVBb.cnv1MwB8fGg48BF" class="logo" alt=""> 1410 1411 </a> 1412 </div><!-- /.col --> 1413 1414 <div class="col-md-3 col-sm-6 inner"> 1415 <h4 class="mb0">About Us</h4> 1416 <p>Grouse Mountain Tyee Ski Club was established in 1929, and is now one of the largest and longest running ski clubs in Canada. We're located minutes away from Vancouver, British Columbia on the beautiful Grouse Mountain. We are always looking for new members to join our community who share the same love of skiing and our values.</p> 1417 1418 </div><!-- /.col --> 1419 1420 1421 <div class="col-md-3 col-sm-6 inner"> 1422 <h4 class="mb0">Contact</h4> 1423 <p>To contact the club, please visit the Board of Directors page under About or email [email protected]</p> 1424 1425 <p> 1426 6400 Nancy Greene Way<br> 1427 1428 North Vancouver, BC V7R 4K9 1429 1430 <p> 1431 1432 </div><!-- /.col --> 1433 1434 <div class="col-md-3 col-sm-6 inner"> 1435 <h4 class="mb10">Powered By</h4> 1436 <a href="https://www.crossbar.org/?utm_source=client_website&utm_medium=cb_footer&utm_campaign=grousetyee.com&utm_content=grousetyee.com" target="_blank"> 1437 <img src="/static/images/crossbar_navy.svg" style="width:80%;"> 1438 </a> 1439 </div><!-- /.col --> 1440 1441 </div><!-- /.row --> 1442 </div><!-- .container --> 1443 1444 <div class="footer-bottom"> 1445 <div class="container inner"> 1446 <p class="pull-left">© 1447
1447<script type="text/javascript"> 1448 document.write(new Date().getFullYear()); 1449 </script>
1449 1450 Grouse Mountain Tyee Ski Club. All Rights Reserved. 1451 1452<svg height="0" xmlns="http://www.w3.org/2000/svg"> 1453 <filter id="drop-shadow"> 1454 <feGaussianBlur in="SourceAlpha" stdDeviation="4"/> 1455 <feOffset dx="12" dy="12" result="offsetblur"/> 1456 <feFlood flood-color="rgba(0,0,0,0.5)"/> 1457 <feComposite in2="offsetblur" operator="in"/> 1458 <feMerge> 1459 <feMergeNode/> 1460 <feMergeNode in="SourceGraphic"/> 1461 </feMerge> 1462 </filter> 1463</svg> 1464 </p> 1465 <ul class="footer-menu pull-right"> 1466 <li><a href="/refund-policies">Refund Policies</a></li> 1467 <li><a href="/privacy">Privacy Policy</a></li> 1468 <li><a href="/terms">Terms & Conditions</a></li> 1469 </ul><!-- .footer-menu --> 1470 </div><!-- .container --> 1471 </div><!-- .footer-bottom --> 1472 </footer> 1473 1474 1475 1476 1477 1478 <div class="alert alert-notification alert-danger doubleclick-delete-notification"> 1479 <strong>Confirm Delete</strong><br> 1480 Click the delete icon again to confirm. Click escape to cancel. 1481 </div> 1482 1483 <!-- ============================================================= FOOTER : END ============================================================= --> 1484
1484<script src="/static/lib/REEN/Template/assets/js/jquery.min.js?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf"></script>
1484 1485
1485<script src="/static/lib/REEN/Template/assets/js/bootstrap.min.js"></script>
1485 1486
1486<script src="/static/lib/REEN/Template/assets/js/bootstrap-hover-dropdown.min.js"></script>
1486 1487
1487<script src="/static/lib/jasny-bootstrap/js/jasny-bootstrap.min.js"></script>
1487 1488 <!-- 1489
1489<script src="/static/lib/REEN/Template/assets/js/jquery.easing.1.3.min.js"></script>
1489 1490
1490<script src="/static/lib/REEN/Template/assets/js/jquery.form.js"></script>
1490 1491 1492
1492<script src="/static/lib/REEN/Template/assets/js/waypoints.min.js"></script>
1492 1493
1493<script src="/static/lib/REEN/Template/assets/js/waypoints-sticky.min.js"></script>
1493 1494 1495
1495<script src="/static/lib/REEN/Template/assets/js/owl.carousel.min.js"></script>
1495 1496
1496<script src="/static/lib/REEN/Template/assets/js/jquery.isotope.min.js"></script>
1496 1497
1497<script src="/static/lib/REEN/Template/assets/js/viewport-units-buggyfill.js"></script>
1497 1498 1499
1499<script src="/static/lib/REEN/Template/assets/js/scripts.js?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf"></script>
1499 1500 --> 1501 1502 1503
1503<script src="/static/script.js?v=6504ade0b5dd1809ea5b5a84609abd46d2d123cf"></script>
1503 1504 1505 1506 1507 1508 1509 1510 <!-- <hh>w1.crossbar.org</hh> --> 1511 <!-- <cbver>6504ade0b5dd1809ea5b5a84609abd46d2d123cf</cbver> --> 1512 </body> 1513</html> 1514 1515 1516 1517
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.