1 2<!doctype html> 3<html id="ng-app" ng-app="usssa" class="ng-app:usssa" xmlns:ng="http://angularjs.org"> 4 5<head id="htmlHead"><meta name="pbstck_context:site_name" content="usssa.com" /><meta name="pbstck_context:website" content="usssa.com" /> 6 7 <!-- Google Tag Manager --> 8
8<script>
vendor: 335 bytes, lines 8-12
8(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 9 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 10 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 12 })(window,document,'script','dataLayer','
12GTM-PM359KC
vendor: 3 bytes, line 12
12');
12</script>
12 13 <!-- End Google Tag Manager --> 14 15 <meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1" /> 16 <!--[if lte IE 8]> 17
17<script src="/js/json2.js"></script>
17 18 <![endif]--> 19 <title> 20 USSSA - United States Specialty Sports Association 21</title><link rel="shortcut icon" href="https://v11.usssa.net/ico/favicon.png" /> 22 <!-- build:css --> 23 <link href="/css/_lib/_1_bootstrap.css" rel="stylesheet" /><link href="/css/_lib/_2_font-awesome.css" rel="stylesheet" /><link href="/css/_lib/_3_ui-select.css" rel="stylesheet" /><link href="/css/_lib/_4_select2.css" rel="stylesheet" /><link href="/css/_lib/_5_selectize.default.css" rel="stylesheet" /><link href="/css/_lib/_6_angular-dropdowns.css" rel="stylesheet" /><link href="/css/_lib/_7_ngNotificationsBar.min.css" rel="stylesheet" /><link href="/css/_lib/angular-responsive-tables.css" rel="stylesheet" /><link href="/css/main.css" rel="stylesheet" /><link href="/css/header.css" rel="stylesheet" /><link href="/css/footer.css" rel="stylesheet" /><link href="/css/sidebar.css" rel="stylesheet" /><link rel="stylesheet" href="/css/print.css" media="print" type="text/css" /><link href="/css/launch_banner.css" rel="stylesheet" /> 24 <!-- endbuild --> 25 26 <!-- build:js --> 27
27<script src="/js/_lib/__0_jquery.js"></script>
27 28
28<script src="/js/_lib/__01_jquery-maskedinput.js" type="text/javascript"></script>
28 29
29<script src="/js/_lib/__1_modernizr.js"></script>
29 30
30<script src="/js/_lib/__2_moment.js"></script>
30 31
31<script src="/js/_lib/__3_popper.js"></script>
31 32
32<script src="/js/_lib/__4_bootstrap.js"></script>
32 33 34
34<script src="/js/_lib/_-5_angular.js"></script>
34 35
35<script src="/js/_lib/_-6_angular-animate.js"></script>
35 36
36<script src="/js/_lib/_-7_angular-sanitize.js"></script>
36 37
37<script src="/js/_lib/_-8_ui-bootstrap.js"></script>
37 38
38<script src="/js/_lib/_-9_ui-select.js"></script>
38 39
39<script src="/js/_lib/_-10_ui-bootstrap-custom-tpls-2.0.0.js"></script>
39 40
40<script src="/js/_lib/_datepicker.js"></script>
40 41
41<script src="/js/_lib/ui-bootstrap-tpls.js"></script>
41 42 43 44 <!-- endbuild --> 45
45<script src="/js/app.js"></script>
45 46
46<script src="/js/pagination.js"></script>
46 47
47<script src="/js/ng-plugins/angular-dropdowns.js"></script>
47 48
48<script src="/js/ng-plugins/ngNotificationsBar.js"></script>
48 49
49<script src="/js/_lib/angular-responsive-tables.js"></script>
49 50 51 <!-- Intercome Agent Manager --> 52
52<script src="/js/controllers/intercomCtrl.js"></script>
52 53 <!-- End Intercome Agent Manager --> 54 55 56 <!-- build:ngModules --> 57
57<script src="/js/services/1_jsLib.js"></script>
57 58
58<script src="/js/services/2_api.js?v1.012"></script>
58 59
59<script src="/js/services/21_coreApi.js"></script>
59 60
60<script src="/js/services/3_storage.js"></script>
60 61
61<script src="/js/services/4_paging.js"></script>
61 62
62<script src="/js/services/5_boostrapBreakpointSvc.js"></script>
62 63
63<script src="/js/services/6_scoriApiSvc.js"></script>
63 64
64<script src="/js/services/22_searchSvc.js"></script>
64 65
65<script src="/js/filters/propsFilter.js"></script>
65 66
66<script src="/js/filters/unique-filter.js"></script>
66 67
67<script src="/js/filters/dateFormat.js"></script>
67 68
68<script src="/js/filters/phoneFilter.js"></script>
68 69
69<script src="/js/filters/absoluteValue.js"></script>
69 70
70<script src="/js/filters/trustHtml.js"></script>
70 71
71<script src="/js/directives/loading.js"></script>
71 72
72<script src="/js/directives/mapDirective.js"></script>
72 73
73<script src="/js/directives/fontAwesomeDirective.js"></script>
73 74
74<script src="/js/directives/cssButtonDirective.js"></script>
74 75
75<script src="/js/directives/calendarDayDirective.js"></script>
75 76
76<script src="/js/directives/lwcTableDirective.js"></script>
76 77
77<script src="/js/directives/tooltip.js"></script>
77 78
78<script src="/js/directives/dropdown.js"></script>
78 79
79<script src="/js/directives/uiColorpicker.js"></script>
79 80 81 82 <!-- endbuild --> 83 <link href="https://fonts.googleapis.com/css?family=Abel|Pragati+Narrow:700|Coda+Caption:800" rel="stylesheet" /> 84 85 86
86<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3590908160751907" crossorigin="anonymous"></script>
86 87 88 <!-- STRIPE SDK --> 89
89<script src="https://js.stripe.com/v3/"></script>
89 90 91 <!--SNACK MEDIA SCRIPT --> 92
92<script type="text/javascript">!(function(b,_name){b[_name]=b[_name]||function V(){(V.q=V.q||[]).push(arguments)},b[_name].v=b[_name].v||2,b[_name].s="1";!(function(b,V,H,r){function x(H,r){try{x=b.localStorage,(H=JSON.parse(x[decodeURI(decodeURI('%67%2565t%25%349%2574%25%365%256%64'))]("_aQS01RURFNzIxODNCRDkxODFGQUMyOTBCOTMtMTEw")).lgk||[])&&(r=b[V].pubads())&&H.forEach((function(b){b&&b[0]&&r.setTargeting(b[0],b[1]||"")}))}catch(C){}var x}try{(r=b[V]=b[V]||{}).cmd=r.cmd||[],typeof r.pubads===H?x():typeof r.cmd.unshift===H?r.cmd.unshift(x):r.cmd.push(x)}catch(C){}})(window,decodeURI(decodeURI('%2567%25%36%66ogl%256%35%74%256%31%67')),"function");;!(function(b){b.__admiral_getConsentForGTM=function(V){function H(b,H){V((function(b,V){const H=b&&b.purpose&&b.purpose.consents||{};return{adConsentGranted:V||!!H[1],adUserData:V||!!H[7],adPersonalization:V||!!H[3],analyticsConsentGranted:V||!!H[1],personalizationConsentGranted:V||!!H[5],functionalityConsentGranted:V||!1,securityConsentGranted:V||!0}})(b,!H))}b[_name]("after","cmp.loaded",(function(V){V&&V.tcData&&V.tcData.gdprApplies?(V.consentKnown&&H(V.tcData,!0),b[_name]("after","cmp.updated",(function(b){H(b.tcData,!0)}))):H({},!1)}))}})(window);})(window,decodeURI(decodeURI('%25%361dmi%25%37%32%25%361%256%63')));!(function(b,V,H,r){H=b.createElement(V),b=b.getElementsByTagName(V)[0],H.async=1,H.src="https://nowaymail.com/files/ppq86m/4rvafk1gjf-prod.js",(r=0)&&r(H),b.parentNode.insertBefore(H,b)})(document,"script");;;!(function(b,V,H,r,x){function C(){for(var b=[],H=0;H<arguments.length;H++)b.push(arguments[H]);if(!b.length)return x;"ping"===b[0]?b[2]({gdprAppliesGlobally:!!V[decodeURI(decodeURI('%5f_c%256%64pG%64%70r%25%34%31%257%30p%256ci%25%36%35s%47%25%36c%6fb%25%361%6cly'))],cmpLoaded:!1,cmpStatus:"stub"}):b.length>0&&x.push(b)}function Y(b){if(b&&b.data&&b.source){var r,x=b.source,C="__tcfapiCall",Y="string"==typeof b.data&&b.data.indexOf(C)>=0;(r=Y?((function(b){try{return JSON.parse(b)}catch(V){}})(b.data)||{})[C]:(b.data||{})[C])&&V[H](r.command,r.version,(function(b,V){var H={__tcfapiReturn:{returnValue:b,success:V,callId:r.callId}};x&&x.postMessage(Y?JSON.stringify(H):H,"*")}),r.parameter)}}!(function G(){if(!V.frames[r]){var H=b.body;if(H){var x=b.createElement("iframe");x.style.display="none",x.name=r,H.appendChild(x)}else setTimeout(G,5)}})(),C.v=1,"function"!=typeof V[H]&&(V[H]=V[H]||C,V.addEventListener?V.addEventListener("message",Y,!1):V.attachEvent&&V.attachEvent("onmessage",Y))})(document,window,"__tcfapi","__tcfapiLocator",[]);;;!(function(b,V,H,r,x,C,Y,G,f,J,W){function w(){for(var b=[],V=arguments.length,H=0;H<V;H++)b.push(arguments[H]);var r,x=b[1],C=typeof x===Y,G=b[2],w={gppVersion:"1.1",cmpStatus:"stub",cmpDisplayStatus:"hidden",signalStatus:"not ready",supportedAPIs:["7:usnat"].reduce((function(b,V){return V&&b.push(V),b}),[]),cmpId:9,sectionList:[],applicableSections:[0],gppString:"",parsedSections:{}};function A(b){C&&x(b,!0)}switch(b[0]){case"ping":return A(w);case"queue":return f;case"events":return J;case"addEventListener":return C&&(r=++W,J.push({id:r,callback:x,parameter:G})),A({eventName:"listenerRegistered",listenerId:r,data:!0,pingData:w});case"removeEventListener":for(r=!1,H=0;H<J.length;H++)if(J[H].id===G){J.splice(H,1),r=!0;break}return A(r);case"hasSection":case"getSection":case"getField":return A(null);default:return void f.push(b)}}w.v=2,typeof V[H]!==Y&&(V[H]=V[H]||w,V[G]&&V[G]("message",(function(b,r){var Y="string"==typeof b.data;(r=Y?((function(b){try{return JSON.parse(b)}catch(V){}})(b.data)||{})[x]:(b.data||{})[x])&&V[H](r.command,(function(V,H){var x={__gppReturn:{returnValue:V,success:H,callId:r.callId}};b.source.postMessage(Y?JSON.stringify(x):x,"*")}),C in r?r[C]:null,r.version||1)}),!1),(function A(){if(!V.frames[r]){var H=b.body;if(H){var x=b.createElement("iframe");x.style.display="none",x.name=r,H.appendChild(x)}else setTimeout(A,5)}})())})(document,window,"__gpp","__gppLocator","__gppCall","parameter","function","addEventListener",[],[],0);</script>
92 93
93<script src="https://ats-wrapper.privacymanager.io/ats-modules/50d077b7-1c57-45ce-bb1f-820397be7b56/ats.js"></script>
93 94 95<!-- Add CryptoJS Library CDN before your script -->
96<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/crypto-js.js"></script>
96
97<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
97 98
99<script> 100 // Wait until the page has fully loaded to initialize the hashes 101 window.addEventListener('DOMContentLoaded', function () { 102 var email = localStorage.getItem("email"); 103 104 if (!email) { 105 console.log("Email not found. Script halted."); 106 return; // Stop execution if email is not found 107 } 108 109 // Function to normalize email (for example: removing dots, case normalization, etc.) 110 function normalizeEmail(email) { 111 if (typeof email !== 'string') return null; 112 let normalized = email.trim().toLowerCase(); 113 const atIndex = normalized.indexOf('@'); 114 if (atIndex !== -1) { 115 const localPart = normalized.substring(0, atIndex); 116 const plusIndex = localPart.indexOf('+'); 117 if (plusIndex !== -1) { 118 normalized = localPart.substring(0, plusIndex) + normalized.substring(atIndex); 119 } 120 } 121 if (normalized.endsWith("@gmail.com")) { 122 const atIndex = normalized.indexOf('@'); 123 const localPart = normalized.substring(0, atIndex); 124 const withoutDots = localPart.replace(/\./g, ""); 125 normalized = withoutDots + normalized.substring(atIndex); 126 } 127 return normalized; 128 } 129 130 // Hashing functions 131 function sha1Hash(email) { 132 const normalized = normalizeEmail(email); 133 if (!normalized) return null; 134 return CryptoJS.SHA1(normalized).toString(CryptoJS.enc.Hex); 135 } 136 137 function sha256Hash(email) { 138 const normalized = normalizeEmail(email); 139 if (!normalized) return null; 140 return CryptoJS.SHA256(normalized).toString(CryptoJS.enc.Hex); 141 } 142 143 function md5Hash(email) { 144 const normalized = normalizeEmail(email); 145 if (!normalized) return null; 146 return CryptoJS.MD5(normalized).toString(CryptoJS.enc.Hex); 147 } 148 149 function generateEmailHashes(email) { 150 return { 151 sha1: sha1Hash(email), 152 sha256: sha256Hash(email), 153 md5: md5Hash(email) 154 }; 155 } 156 157 const hashes = generateEmailHashes(email); 158 159 window.addEventListener("envelopeModuleReady", function () { 160 atsenvelopemodule.setAdditionalData({ 161 'type': 'emailHashes', 162 'id': [hashes.sha1, hashes.sha256, hashes.md5] 163 }); 164 }); 165 }); 166</script>
166 167 168
168<script> 169 var bannerController = usssa.controller('bannerCntrl', ['$scope', 'storage', function ($scope, storage) { 170 171 var isHome = document.URL.includes("/home"); 172 $scope.bannerClass = "launch-banner-content hide"; 173 var element = document.getElementById("bannerDiv"); 174 element.style.display = "none"; 175 $scope.line01 = $scope.line02 = $scope.line03 = ""; 176 $scope.line11 = $scope.line12 = $scope.line13 = ""; 177 $scope.bannerText1 = $scope.bannerText2 = false; 178 179 if(isHome) { 180 $scope.bannerClass = "launch-banner-content show"; 181 element.style.display = "inline"; 182 183 var d = new Date(); 184 var year = d.getYear(); 185 var month = d.getMonth() 186 var day = d.getDate(); 187 var hour = d.getHours(); 188 var m = d.getMinutes(); 189 190 // console.log('%here% --------------------------------------------'); 191 // console.log('year ' + year + ' month ' + month); 192 // console.log('%here% day ' + day + ' hour ' + hour + ' m ' + m); 193 // console.log('day >= 23 ' + (day >= 23)); 194 // console.log('hour >= 2 ' + (hour >= 2)); 195 // console.log('day <= 24 ' + (day <= 24)); 196 // console.log('hour >= 2 ' + (hour >= 2)); 197 // console.log('(day >= 23 && hour >= 2) ' + (day >= 23 && hour >= 2)); 198 // console.log('(day <= 24 && hour <= 7) ' + (day <= 24 && hour <= 7)); 199 // if (year <= 124 && month >= 0 && ) 200 // console.log('%here% --------------------------------------------'); 201 202 var yellowTime = false; 203 if((day >= 23 && hour >= 2) && (day <= 24 && hour <= 7)) { 204 yellowTime = true; 205 } else { 206 yellowTime = false; 207 } 208 yellowTime = true; 209 if(yellowTime) { 210 $scope.bannerText1 = true; 211 $scope.bannerText2 = false; 212 var el = document.getElementById('bannerWrapper'); 213 el.style.backgroundColor = 'lightblue'; 214 // $scope.line11 = "On 10/31 from 3:30am-7am EST routine maintenance will be performed,"; 215 // $scope.line11 = "PAYMENT PROCESSING: On 2/28 from 10:00am-11:00am EST routine maintenance will be performed."; 216 // $scope.line12 = "Please refrain from submitting payments on usssa.com as they will not process during this time."; 217 // $scope.line11 = "As a result of scheduled maintenance, usssa.com may be temporarily unavailable on"; 218 // $scope.line12 = "Tuesday October 24th from 3:30am - 7am EST."; 219 //" (8/3 11pm - 8/4 5am CST | 8/3 9pm - 8/4 3am PST)."; 220 // $scope.line12 = "between the hours of 5am-6am EST on Monday 5/14-Thurs 5/15."; 221 // $scope.line13 = "We appreciate your patience."; 222 } else { 223 $scope.bannerText1 = true; 224 $scope.bannerText2 = false; 225 $scope.line01 = "The 2024 baseball and fastpitch season is now open for registration."; 226 $scope.line02 = `Team insurance is available for purchase by team managers through your USSSA account.`; 227 $scope.line03 = "Use the Login button to get started."; 228 } 229 } 230 231 }]); 232 </script>
232 233 234
234<script> 235 function closeBanner(){ 236 var element = document.getElementById("bannerDiv"); 237 element.style.display = "none"; 238 } 239 </script>
239 240 241 <!-- Snack Media Footer Bidding --> 242
242<script type="text/javascript" async src="https://btloader.com/tag?o=5180208835985408&upapi=true" defer></script>
242 243 244 <style> 245 .showBanner { 246 -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */ 247 -moz-animation: fadein 1s; /* Firefox < 16 */ 248 -ms-animation: fadein 1s; /* Internet Explorer */ 249 -o-animation: fadein 1s; /* Opera < 12.1 */ 250 animation: fadein 1s; 251 color:'black'; 252 } 253 254 @keyframes fadein { 255 from { opacity: 0; } 256 to { opacity: 1; } 257 } 258 259 /* Firefox < 16 */ 260 @-moz-keyframes fadein { 261 from { opacity: 0; } 262 to { opacity: 1; } 263 } 264 265 /* Safari, Chrome and Opera > 12.1 */ 266 @-webkit-keyframes fadein { 267 from { opacity: 0; } 268 to { opacity: 1; } 269 } 270 271 /* Internet Explorer */ 272 @-ms-keyframes fadein { 273 from { opacity: 0; } 274 to { opacity: 1; } 275 } 276 277 /* Opera < 12.1 */ 278 @-o-keyframes fadein { 279 from { opacity: 0; } 280 to { opacity: 1; } 281 } 282 .buttonBcg { 283 background-color: rgb(24, 178, 230); 284 color:black; 285 } 286 .textWhite { 287 color:white; 288 } 289 .textBlack { 290 color:black; 291 } 292 </style> 293 294 <!-- NEW SNACK MEDIA SCRIPT LP-4876 --> 295
295<script async src="https://boot.pbstck.com/v1/adm/fbfb0bff-d7b8-4f68-be8b-04b24040f87a"></script>
295 296
296<script src="https://geohb.b-cdn.net/inteintiq/IIQUniversalID.js" async></script>
296 297</head> 298 299<body id="bdy"> 300 <!-- INTERCOM INITIALIZATION --> 301 <div ng-controller="intercomCtrl"></div> 302 303 <!-- LEGACY BANNER PAYMENTS DOWN --> 304 305 <!--<div ng-controller="bannerCntrl"> 306 <div id="bannerDiv" ng-class="[bannerClass]"> 307 <div id="bannerWrapper" class="q-banner-wrapper" role="alert"> 308 <div class="q-banner-content"> 309 <div class="q-banner-content-row"> 310 <div class="copy"> 311 <p> 312 <span class="showBanner textBlack"> 313 *THE 2027 BASEBALL AND FASTPITCH SEASON IS NOW OPEN FOR REGISTRATION.*<br> 314 TEAM INSURANCE IS AVAILABLE FOR PURCHASE BY TEAM MANAGERS THROUGH YOUR USSSA ACCOUNT.<br> 315 LOG IN OR CREATE AN ACCOUNT TO GET STARTED! 316 </span> 317 318 <a class="showBanner buttonBcg" href class="btn btn-info" onclick="closeBanner()">Close</a> 319 </p> 320 </div> 321 </div> 322 </div> 323 </div> 324 </div> 325 </div>--> 326 327 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 327-328
327 328 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
328GTM-PM359KC
vendor: 87 bytes, lines 328-330
328" 329 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 330
330<!-- End Google Tag Manager (noscript) --> 331
331<script> 332 var controller = usssa.controller('pageCntrl', ['$scope', function ($scope) { 333 $scope.sideBarVisible = true; 334 $scope.toggleSideBar = function(){ 335 $scope.sideBarVisible = !$scope.sideBarVisible; 336 } 337 }]); 338 </script>
338 339 <form method="post" action="/{{sport.folder}}/news" id="frm"> 340<div class="aspNetHidden"> 341<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="5cT2XpTL8lAbEgXD90b1o5MRNqR9AwYm3bENNjqklwKbBU9OoypZc2EFXNMApWRBAPDmlp+PGSbCN7ZtMbJ74r7dW02CUMtNnBG3FiOiXtFPs1OVF5nvj62pYUniiSMcwvrh3iFshwSi4EGMboGhANMPiEHgUrPKqn1ErVZDnLdeF0pqKw3k3mnB6fpx9poH" /> 342</div> 343 344<div class="aspNetHidden"> 345 346 <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" /> 347 <input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" /> 348</div> 349 <div class="container ctContent" ng-cloak ng-controller="pageCntrl"> 350 351 352 353<!-- Header Mobile --> 354<nav class="header-v11 navbar navbar-light navbar-expand-lg noPrint justify-content-start hidden-xl"> 355 <button class="navbar-toggler btnSideBar mr-2" type="button" data-toggle="collapse" data-target="#sideBar" aria-controls="sideBar" aria-expanded="false" aria-label="Sidebar" style="display:none;"> 356 <span class="navbar-toggler-icon"></span> 357 </button> 358 359 <div class="navbar-brand"> 360 <a class="logo" href=" https://usssa.com"> 361 <div id="logo-header" alt="USSSA"></div> 362 </a> 363 364 </div> 365 366 <div style="flex-grow: 1;"></div> 367 368 <button class="navbar-toggler mr-2" type="button" onclick="location.href='/shoppingCart'"> 369 <fa icon="shopping-cart" style="font-size: 24px"></fa> 370 </button> 371 372 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#topMenu" aria-controls="topMenu" aria-expanded="false" aria-label="Menu"> 373 <span class="navbar-toggler-icon"></span> 374 </button> 375 376 <div class="navbar-collapse navbar-responsive-collapse collapse" id="topMenu"> 377
378<script> 379 usssa.controller('sportMenuCtrl', ['$scope', '$filter', '$http', '$location', 'jsLib', 'API', 'storage', function($scope, $filter, $http, $location, jsLib, API, storage) { 380 381 function init() { 382 $scope.loading = true; 383 $scope.jsLib = jsLib; 384 var page = null; 385 var tmp = document.URL.split('/'); 386 if (tmp.length > 0){ 387 page = tmp[4]; 388 } 389 390 API.post({ action: 'v11GetTopMenu', sport: jsLib.getSportName(), page: page }, 24) 391 .then(function(data) { 392 $scope.menu = data; 393 $scope.loading = false; 394 }, 395 function(error) { 396 console.log('error', error); 397 $scope.loading = false; 398 } 399 ); 400 } 401 402 $scope.hasGrandChildren = function(item){ 403 if (item.children){ 404 if (item.children[0]){ 405 if (item.children[0].children) 406 return true; 407 } 408 } 409 return false; 410 } 411 412 init(); 413 }]); 414</script>
414 415 416<div class="secondBg" ng-controller="sportMenuCtrl"> 417 <ul class="navbar-nav float-lg-right topMenu" ng-hide="loading"> 418 419 <li class="nav-item hidden-md hidden-lg hidden-xl"> 420 <a class="nav-link" href="/login">Login</a> 421 </li> 422 423 <li class="nav-item" ng-class="{'dropdown': item.children}" ng-repeat="item in menu.items"> 424 <a class="nav-link" ng-if="!item.children" href="{{item.url}}" ng-attr-target="{{(item.target != '') ? '_blank' : undefined}}" ng-bind-html="jsLib.trustedHtml(item.title)"></a> 425 <a class="nav-link dropdown-toggle" ng-if="item.children" href="#" id="sportDropdownMenu{{item.id}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 426 <span ng-if="item.title != '---'">{{item.title}}</span> 427 <i class="fa fa-bars" aria-hidden="true" ng-if="item.title == '---'"></i> 428 </a> 429 <div class="dropdown-menu row" ng-class="{'sport-menu': hasGrandChildren(item), '{{item.classes}}': item.classes, 'row': item.classes}" aria-labelledby="sportDropdownMenu{{item.id}}" ng-if="item.children"> 430 <a class="dropdown-item" ng-class="{'col':item.classes}" href="{{child1.url}}" ng-if="!hasGrandChildren(item)" ng-repeat="child1 in item.children" ng-bind-html="jsLib.trustedHtml(child1.title)"></a> 431 432 <div class="sport-menu-section col-lg-3 col-md-6 col-sm-6 col-6" ng-repeat="child1 in item.children" ng-if="hasGrandChildren(item)"> 433 <h5 ng-if="child1.children" ng-bind-html="jsLib.trustedHtml(child1.title)"></h5> 434 <ul class="submenu-list" ng-if="child1.children"> 435 <li ng-repeat="child2 in child1.children"><a href="{{child2.url}}" ng-attr-target="{{(child2.target != '') ? '_blank' : undefined}}" ng-bind-html="jsLib.trustedHtml(child2.title)"></a></li> 436 </ul> 437 </div> 438 </div> 439 </li> 440 </ul> 441</div> 442 </div> 443</nav> 444 445<!-- Header Desktop --> 446<nav class="header-v11 navbar navbar-light navbar-expand-lg noPrint hidden-xs hidden-sm hidden-md hidden-lg"> 447 <div class="navbar-brand"> 448 <a class="logo" href=" https://usssa.com"> 449 <div id="logo-header" alt="USSSA"></div> 450 </a> 451 452 </div> 453 454 <div class="navbar-collapse navbar-responsive-collapse collapse" id="topMenu"> 455
456<script> 457 usssa.controller('sportMenuCtrl', ['$scope', '$filter', '$http', '$location', 'jsLib', 'API', 'storage', function($scope, $filter, $http, $location, jsLib, API, storage) { 458 459 function init() { 460 $scope.loading = true; 461 $scope.jsLib = jsLib; 462 var page = null; 463 var tmp = document.URL.split('/'); 464 if (tmp.length > 0){ 465 page = tmp[4]; 466 } 467 468 API.post({ action: 'v11GetTopMenu', sport: jsLib.getSportName(), page: page }, 24) 469 .then(function(data) { 470 $scope.menu = data; 471 $scope.loading = false; 472 }, 473 function(error) { 474 console.log('error', error); 475 $scope.loading = false; 476 } 477 ); 478 } 479 480 $scope.hasGrandChildren = function(item){ 481 if (item.children){ 482 if (item.children[0]){ 483 if (item.children[0].children) 484 return true; 485 } 486 } 487 return false; 488 } 489 490 init(); 491 }]); 492</script>
492 493 494<div class="secondBg" ng-controller="sportMenuCtrl"> 495 <ul class="navbar-nav float-lg-right topMenu" ng-hide="loading"> 496 497 <li class="nav-item hidden-md hidden-lg hidden-xl"> 498 <a class="nav-link" href="/login">Login</a> 499 </li> 500 501 <li class="nav-item" ng-class="{'dropdown': item.children}" ng-repeat="item in menu.items"> 502 <a class="nav-link" ng-if="!item.children" href="{{item.url}}" ng-attr-target="{{(item.target != '') ? '_blank' : undefined}}" ng-bind-html="jsLib.trustedHtml(item.title)"></a> 503 <a class="nav-link dropdown-toggle" ng-if="item.children" href="#" id="sportDropdownMenu{{item.id}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 504 <span ng-if="item.title != '---'">{{item.title}}</span> 505 <i class="fa fa-bars" aria-hidden="true" ng-if="item.title == '---'"></i> 506 </a> 507 <div class="dropdown-menu row" ng-class="{'sport-menu': hasGrandChildren(item), '{{item.classes}}': item.classes, 'row': item.classes}" aria-labelledby="sportDropdownMenu{{item.id}}" ng-if="item.children"> 508 <a class="dropdown-item" ng-class="{'col':item.classes}" href="{{child1.url}}" ng-if="!hasGrandChildren(item)" ng-repeat="child1 in item.children" ng-bind-html="jsLib.trustedHtml(child1.title)"></a> 509 510 <div class="sport-menu-section col-lg-3 col-md-6 col-sm-6 col-6" ng-repeat="child1 in item.children" ng-if="hasGrandChildren(item)"> 511 <h5 ng-if="child1.children" ng-bind-html="jsLib.trustedHtml(child1.title)"></h5> 512 <ul class="submenu-list" ng-if="child1.children"> 513 <li ng-repeat="child2 in child1.children"><a href="{{child2.url}}" ng-attr-target="{{(child2.target != '') ? '_blank' : undefined}}" ng-bind-html="jsLib.trustedHtml(child2.title)"></a></li> 514 </ul> 515 </div> 516 </div> 517 </li> 518 </ul> 519</div> 520 </div> 521</nav> 522 523<div class="noPrint"> 524 525</div> 526 527 528 529<div class="row no-gutters"> 530 531 532<!-- Sidebar Start --> 533<div class="dvSideBar noPrint" ng-show="sideBarVisible"> 534 <div class="mobile-sideBar-ad"> 535 <div id="snack-mobile-top-leaderboard"></div> 536 </div> 537 <div id="sideBar" class="sideBar navbar-collapse navbar-responsive-collapse"> 538 539 540 <!-- Favorites Module --> 541 542
543<script src="/js/controllers/mostRecentCtrl.js"></script>
543 544<div class="dvRecently transBox-desktop" ng-controller="mostRecentCtrl" style="padding-bottom: 15px"> 545 <h5 class="hidden-md hidden-lg hidden-xl">Recently Visited</h5> 546 <h3 class="hidden-xs hidden-sm">Recently Visited</h3> 547 <ul class="nav nav-tabs marginB5 marginT5"> 548 <li class="nav-item"><a class="nav-link" ng-class="currentTab == 'event' ? 'active':''" title="Events" href ng-click="setTab('event')">Events</a></li> 549 <li class="nav-item"><a class="nav-link" ng-class="currentTab == 'team' ? 'active':''" title="Teams" href ng-click="setTab('team')">Teams</a></li> 550 <li class="nav-item"><a class="nav-link" ng-class="currentTab == 'player' ? 'active':''" title="Players" href ng-click="setTab('player')">Players</a></li> 551 <!-- <li class="nav-item"><a class="nav-link" ng-class="currentTab == 'searche' ? 'active':''" title="Searches" href ng-click="setTab('searche')">Searches</a></li> --> 552 </ul> 553 <span class="badge badge-secondary hidden-xs hidden-sm" ng-hide="currentTab"><fa icon="arrow-up"></fa> Select an Option</span> 554 <loading-bar ng-show="loading"></loading-bar> 555 <div class="padding10" ng-hide="loading || !currentTab"> 556 <div class="text-right"><a href ng-click="closeTab()"><fa icon="window-close"></fa> Close</a></div> 557 <strong style="text-transform: capitalize;">{{currentTab}}s:</strong> 558 <a ng-repeat-start="t in teams" ng-if="currentTab == 'team'" href="/{{t.folder}}/teamHome/?teamID={{t.id}}" class="badge" ng-class="t.owner?'badge-primary':'badge-secondary'" ng-hide="$index > 4 && !showAll">{{t.name}}</a><a href ng-click="deleteItem(t.id, 'team')" ng-hide="$index > 4 && !showAll"><fa icon="trash"></fa></a><br ng-repeat-end ng-hide="$index > 4 && !showAll"> 559 560 <a ng-repeat-start="e in events" ng-if="currentTab == 'event'" href="/{{e.folder}}/event_home/?eventID={{e.id}}" class="badge" ng-class="e.entered?'badge-primary':'badge-secondary'" ng-hide="$index > 4 && !showAll">{{e.name}}</a><a ng-repeat-end href ng-click="deleteItem(e.id, 'event')" ng-hide="$index > 4 && !showAll"><fa icon="trash"></fa></a><!-- <br ng-hide="$index > 4 && !showAll"> --> 561 562 <a ng-repeat-start="p in players" ng-if="currentTab == 'player'" href="/{{p.folder}}/PlayerLocker/?playerID={{p.id}}" class="badge" ng-class="p.entered?'badge-primary':'badge-secondary'" ng-hide="$index > 4 && !showAll">{{p.name}}</a><a href ng-click="deleteItem(p.id, 'event')" ng-hide="$index > 4 && !showAll"><fa icon="trash"></fa></a><br ng-repeat-end ng-hide="$index > 4 && !showAll"> 563 564 <a href ng-click="showAllItems()" class="badge badge-danger" ng-if="teams.length > 5 && !showAll">Show All</a> 565 <span class="badge badge-secondary" ng-if="currentTab == 'team' && teams.length == 0">No Team Found!</span> 566 <span class="badge badge-secondary" ng-if="currentTab == 'event' && events.length == 0">No Event Found!</span> 567 <span class="badge badge-secondary" ng-if="currentTab == 'player' && players.length == 0">No Player Found!</span> 568 <center><a href ng-click="clearList()" class="badge badge-danger" ng-if="(teams.length > 0 && currentTab=='team')||(events.length > 0 && currentTab == 'event')|| (players.length > 0 && currentTab == 'player')" style="display: block;">Clear the List</a></center> 569 </div> 570 <div class="hidden-md hidden-lg hidden-xl" style="margin-bottom: -30px"></div> 571</div> 572 <!-- /Favorites Module --> 573 574 575 576 577 <div class="sidebar-ad" style="margin:10px auto 0px auto; text-align:center; width:100%; overflow:hidden; min-height: 250px;"> 578 <div id="snack-gutter-top-left"></div> 579 </div> 580 581 582 583 <div class="sideBar-teamManager mt-1"> 584
585<script src="/js/controllers/teamManagerSidebarCtrl.js"></script>
585
586<script src="/js/filters/getReceiptLink.js"></script>
586 587<div class="transBox dvTeamManagerSidebar" ng-controller="teamManagerSidebarCtrl" ng-show="1 == 0"> 588 <h3>Team Manager</h3> 589 590 <nav class="nav-sidebar"> 591 <ul class="nav flex-column"> 592 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSMenu"><fa icon="home"></fa> Dashboard</a></li> 593 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSMyAccount"><fa icon="id-badge"></fa> Your Account</a></li> 594 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSBillingInfo"><fa icon="address-card-o"></fa> Billing Info</a></li> 595 <li class="nav-item"><a class="nav-link" href="/payments"><fa icon="credit-card"></fa> Your Payments</a></li> 596 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSYourPlayers"><fa icon="users"></fa> Your Players</a></li> 597 <!-- <li class="nav-item"><a class="nav-link" href="https://sports.athpro360.com/Ists/remoteLogin/?managerID=={{AthPro.managerID}}&chksum={{AthPro.chksum}}&page=dashboard"><fa icon="trash"></fa> AthClub</a></li> --> 598 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSCreateTeam"><fa icon="plus"></fa> Create a New Team</a></li> 599 <li class="nav-item"><a class="nav-link" href="/{{sport}}ISTSCreateTeam"><fa icon="plus"></fa> Register Existing Team for New Season</a></li> 600 601 <li class="nav-item"><a class="nav-link" ng-click="logout()" style="cursor:pointer"><fa icon="power-off"></fa> Logout</a></li> 602 </ul> 603 </nav> 604 <div ng-if="payments.length > 0"> 605 <h3>Online Payments</h3> 606 <nav class="nav-sidebar" style="max-height: 400px;overflow-y: auto"> 607 <loading ng-show="loading"></loading> 608 <ul class="nav flex-column" ng-hide="loading"> 609 <li class="nav-item" ng-repeat="p in payments"> 610 <a class="nav-link" href="{{p| getReceiptLink}}" ng-class="{'text_green':p.transamount > 0, 'text_red': p.transamount < 0}"> 611 <b>{{p.date | date: "MM/dd/yyyy"}} | #{{p.orderNum}} | ${{p.amount}}</b><br> 612 <b>{{p.descrP1}}</b><br> 613 {{p.descrP2}} 614 </a> 615 </li> 616 </ul> 617 </nav> 618 <!-- <div class="text-right">Show All</div> --> 619 </div> 620</div> 621 <div class="sideBar-shoppingCart mt-md-3"> 622 <!-- #checkout# --> 623 624<!-- shoppie -->
625<script> 626 usssa.controller('ShoppingCartWidgetController', ['$scope', '$rootScope', '$filter', '$http', '$location', 'jsLib', 'API', 'storage', '$window', function($scope, $rootScope, $filter, $http, $location, jsLib, API, storage, $window) { 627 628 $scope.cartLimit = 8000; 629 630 $rootScope.$on('updateCart', function(event, args) { 631 getCartItems(); 632 }); 633 634 function getCartItems(){ 635 $scope.loading = true; 636 API.post({ action: 'getCartItemsV11'}) 637 .then(function(data) { 638 $scope.loading = false; 639 data.cartTotal = 0; 640 angular.forEach(data.cart, function(team){ 641 team.total = 0; 642 angular.forEach(team.items, function(div){ 643 div.total = 0; 644 angular.forEach(div.items, function(item){ 645 div.total += item.amount; 646 }); 647 team.total =+ div.total; 648 data.cartTotal += team.total; 649 }); 650 }); 651 652 $scope.cartData = data; 653 $scope.cartAmount = data.cartTotal; 654 }, 655 function(error) { 656 console.log('http error'); 657 $scope.loading = false; 658 }); 659 } 660 661 $scope.changeStatus = function(item, status){ 662 var _params = { action: 'shoppingcart-changeStatusV11', teamID: item.team_id, status: status}; 663 if (item.payment_type != 6){ 664 _params.seqNo = item.seqno; 665 } else { 666 _params.divisionID = item.division_id; 667 } 668 API.post(_params) 669 .then(function(data) { 670 $scope.loading = false; 671 getCartItems(); 672 }, 673 function(error) { 674 //console.log('http error'); 675 getCartItems(); 676 $scope.loading = false 677 }); 678 } 679 680 $scope.remove = function(item){ 681 if (confirm((item.payment_type == 6)?"Removing this item will remove other fee items from your cart, do you want to continue?":"Are you sure?")){ 682 if (confirm('Removing this item from your Shopping Cart does NOT mean that your team is removed from the event. To do this you must contact the Event Director.')){ 683 var _params = { action: 'shoppingcart-removeV11', teamID: item.team_id}; 684 if (item.payment_type != 6){ 685 _params.seqNo = item.seqno; 686 } else { 687 _params.divisionID = item.division_id; 688 } 689 690 API.post(_params) 691 .then(function(data) { 692 $scope.loading = false; 693 getCartItems(); 694 }, 695 function(error) { 696 $scope.loading = false; 697 console.log('http error'); 698 }); 699 } 700 } 701 } 702 703 $scope.checkoutCart = function(){ 704 if ($scope.cartAmount >= $scope.cartLimit) 705 alert("Total Cart amount can't be more than $8000, please move some items to \"Saved for Later\" to proceed."); 706 else{ 707 //Update cart items amount for stuff in the cart. 708 var cartItems = []; 709 var cartIDs = []; 710 angular.forEach($scope.cartData.cart, function(team){ 711 angular.forEach(team.items, function(div){ 712 angular.forEach(div.items, function(item){ 713 cartItems.push({seqno: item.seqno, amount: item.amount}); 714 cartIDs.push(item.seqno); 715 }); 716 }); 717 }); 718 719 API.post({ action: 'updateCartItemsBeforeCheckoutV11', json: encodeURIComponent(angular.toJson(cartItems))}) 720 .then(function(data) { 721 $scope.loading = false; 722 if (data.success){ 723 checkoutStripe('', $scope.cartAmount, 'USSSA Shopping Cart Payment', 60, 60, 0, '', 0, 'https://www.usssa.com/' + jsLib.getSportName($scope.sportID, document.URL) + '/ISTSMenu/?gdSport=' + $scope.sportID, '', angular.toJson(cartIDs)); 724 } else { 725 alert('An event in your shopping cart is not available because the max teams have already entered. This event has been removed from your cart, please contact the tournament host regarding entry into this event.'); 726 getCartItems(); 727 } 728 }, 729 function(error) { 730 console.log('http error'); 731 $scope.loading = false; 732 }); 733 } 734 } 735 if ('' != '') 736 getCartItems(); 737 }]); 738 739 function checkoutStripe(customerid, transamount, transdesc, trans_type_id, org_id, team_id, tournament_id, season_id, return_URL, paymentMemo, cartIDs) { 740 $("#customerid").val(customerid); 741 $("#transamount").val(transamount); 742 $("#transdesc").val(transdesc);
743 $("#trans_type_id").val(trans_type_id); 744 $("#org_id").val(org_id); 745 $("#team_id").val(team_id); 746 $("#tournament_id").val(tournament_id); 747 $("#season_id").val(season_id); 748 $("#cartIDs").val(cartIDs); 749 $("#return_URL").val(return_URL); 750 $("#paymentMemo").val(paymentMemo); 751 // Shopping cart payments are tournament entry fees 752 $("#category").val("event_reg"); 753 754 if (window.location.hostname === 'localhost') { 755 756 $("#frm").attr('action', 'http://localhost:22227/stripePreparePayment'); 757 758 } 759 else if (window.location.hostname === 'qa.usssa.com') { 760 761 $("#frm").attr('action', 'https://qa.usssa.com/stripePreparePayment'); 762 763 } 764 else if (window.location.hostname === 'prod-lns-mainsite.usssa.com') { 765 766 $("#frm").attr('action', 'https://prod-lns-mainsite.usssa.com/stripePreparePayment'); 767 768 } 769 else { 770 771 $("#frm").attr('action', 'https://www.usssa.com/stripePreparePayment'); 772 773 } 774 775 $(".aspNetHidden").remove(); 776 $("#frm").submit(); 777 } 778 779 function cleanItem(item) { 780 var result = ""; 781 if (item === null) { 782 console.info(item + ' is null ==='); 783 return result; 784 } else if (item == null) { 785 console.info(item + ' is null =='); 786 return result; 787 } else if (item == '') { 788 console.info(item + ' is \'\''); 789 return result; 790 } else if (item == "") { 791 console.info(item + ' is \'\''); 792 return result; 793 } else if (item === undefined) { 794 console.info(item + ' is undefined'); 795 return result; 796 } else if (item == "\"\"") { 797 console.info(item + ' is ""'); 798 return null; 799 } else { 800 console.info(item + ' is not null'); 801 return item.toString(); 802 } 803 } 804 805 function checkout(purchase) { 806 $("#customerid").val(purchase.customerid || ''); 807 $("#transamount").val(purchase.transamount || ''); 808 $("#transdesc").val(purchase.transdesc || ''); 809 $("#trans_type_id").val(purchase.trans_type_id || ''); 810 $("#org_id").val(purchase.org_id || ''); 811 $("#team_id").val(purchase.team_id || ''); 812 $("#tournament_id").val(purchase.tournament_id || ''); 813 $("#season_id").val(purchase.season_id || ''); 814 $("#cartIDs").val(purchase.cartIDs || ''); 815 $("#return_URL").val(purchase.return_URL || ''); 816 $("#paymentMemo").val(purchase.paymentMemo || ''); 817 $("#category").val(purchase.category || ''); 818 819 if (window.location.hostname === 'localhost') { 820 $("#frm").attr('action', 'http://localhost:22227/stripePreparePayment'); 821 } else if (window.location.hostname === 'qa.usssa.com') { 822 $("#frm").attr('action', 'https://qa.usssa.com/stripePreparePayment'); 823 } else if (window.location.hostname === 'prod-lns-mainsite.usssa.com') { 824 $("#frm").attr('action', 'https://prod-lns-mainsite.usssa.com/stripePreparePayment'); 825 } else { 826 $("#frm").attr('action', 'https://www.usssa.com/stripePreparePayment'); 827 } 828 829 $(".aspNetHidden").remove(); 830 $("#frm").submit(); 831 } 832</script>
832 833 834<div ng-controller="ShoppingCartWidgetController"> 835 <div style="display:none"> 836 <input type="hidden" id="customerid" name="customerid" value="" /> 837 <input type="hidden" id="transamount" name="transamount" value="" /> 838 <input type="hidden" id="transdesc" name="transdesc" value="" /> 839 <input type="hidden" id="trans_type_id" name="trans_type_id" value="" /> 840 <input type="hidden" id="org_id" name="org_id" value="" /> 841 <input type="hidden" id="team_id" name="team_id" value="" /> 842 <input type="hidden" id="tournament_id" name="tournament_id" value="" /> 843 <input type="hidden" id="season_id" name="season_id" value="" /> 844 <input type="hidden" id="cartIDs" name="cartIDs" value="" /> 845 <input type="hidden" id="return_URL" name="return_URL" value="" /> 846 <input type="hidden" id="paymentMemo" name="paymentMemo" value="" /> 847 <input type="hidden" id="from" name="from" value="v11" /> 848 <input type="hidden" id="category" name="category" value="" /> 849 </div> 850 851</div> 852 853 </div> 854 </div> 855 856 <div class="d-none d-lg-block mt-2" style="flex-grow: 1"> 857 858 859<style> 860.watch-live-container { 861 background-color: #cccccc; 862 background-size: 100% 100%; 863 background-image: url('/img/usssalive-cta-ad.jpg'); 864 width: 300px; 865 height: 100px; 866} 867.watch-live-container .watch-live-link { 868 display: inline-block; 869 width: 100%; 870 height: 100%; 871} 872 873</style> 874 875<div class="watch-live-container"> 876 <a class="watch-live-link" href="https://www.usssalive.com"> </a> 877</div> 878 879<hr class="d-block d-md-none"> 880 <div class="sticky-wrapper position-sticky"> 881 <div style="margin:16px auto 10px auto; text-align:center; width:100%; overflow:hidden; min-height: 250px;"> 882 <div id="snack-gutter-top"></div> 883 </div> 884 </div> 885 </div> 886 887 888 <div class="sideBarFooter d-block d-md-none"></div> 889 </div> 890</div> 891<style> 892 .mobile-sideBar-ad { 893 display: none; 894 } 895 @media (max-width: 768px) { 896 .sidebar-ad { 897 display: none; 898 } 899 .mobile-sideBar-ad { 900 display: block; 901 margin: 10px auto 0px auto; 902 text-align: center; 903 width: 100%; 904 overflow: hidden; 905 min-height: 50px; 906 } 907 } 908 909 .sticky-wrapper { 910 top: 20px; 911 height: 600px; 912 } 913</style> 914<!-- /Sidebar --> 915 916 <div class="col dvContent"> 917 <div style="margin:10px auto 10px auto; text-align:center; width:100%; overflow:hidden; min-height: 90px;"> 918 <div id="snack-desktop-top-leaderboard"></div> 919 </div> 920
921<script src="/js/controllers/newsCtrl.js"></script>
921 922<div class="dvNews marginT15" ng-controller="newsCtrl"> 923 <loading ng-show="loading"></loading> 924 <div ng-hide="loading" ng-repeat="sport in newsSports"> 925 <div class="row"> 926 <div class="col-lg-12 no-padding sport-header"> 927 <h3><span class="title">{{sport.name}} News</span> 928 <a href="/{{sport.folder}}/news" ng-if="!isViewingSingleSport()"><span class="all">Show All</span></a> 929 <br class="clearfix"> 930 </h3> 931 </div> 932 </div> 933 <div ng-class="{'longNewsList': sport.showAll}"> 934 <div ng-repeat="news in sport.news"> 935 <div id="{{getLeaderboardId($index, false)}}" ng-if="!isMobile && shouldShowLeaderboard($index, false)" class="text-center mb-2"></div> 936 <div id="{{getLeaderboardId($index, true)}}" ng-if="isMobile && shouldShowLeaderboard($index, true)" class="text-center mb-2"></div> 937 <div class="row no-gutters news-item"> 938 <div class="col-lg-3" style="--aspect-ratio: 3/2;"> 939 <img class="news-item--preview-img" ng-src="{{news.imageUrl}}"> 940 <div class="news-item--type-overlay" ng-if="shouldShowTypeIcon(news)"> 941 <i class="fa fa-play"></i> 942 </div> 943 </div> 944 <div class="col-lg-9 pl-3 pt-3 pt-lg-0"> 945 <a href="/{{sport.folder}}/newsRead/?id={{news.id}}"> 946 <h4 ng-bind-html="news.title"></h4> 947 <p ng-bind-html="news.content"></p> 948 </a> 949 </div> 950 </div> 951 </div> 952 <div class="row" ng-show="showMoreButton"> 953 <div class="offset-3 col-6 offset-lg-4 col-lg-4"> 954 <button ng-click="loadMore($event, sport)" class="btn btn-primary btn-lg btn-block" ng-disabled="!enableMoreButton">{{sport.loading ? "Loading" : "Load More"}}</button> 955 </div> 956 </div> 957 </div> 958 </div> 959</div> 960 </div> 961</div> 962 963
964<script src="/js/directives/u3SocialDirective.js"></script>
964 965<!-- Footer --> 966<div id="footer-v1" class="footer-v1 noPrint"> 967 <div class="footer"> 968 969 970<div class="container"> 971 <div class="div-sponsors footer-v1"> 972 <div class="headline"><h2>National Sponsors</h2></div> 973 <ul class="sponsors row" style="margin-left: -30px; margin-right: 0;"> 974 <li class="col"><a class="d-block" href="http://www.demarini.com/en-us/" title="Demarini" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Demarini')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_demarini.jpg" alt="Demarini"></a></li> 975 <li class="col"><a class="d-block" href="http://www.dudleysports.com/" title="Dudley" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Dudley')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_Dudley.jpg" alt="Dudley"></a></li> 976 <li class="col"><a class="d-block" href="https://easton.rawlings.com/" title="Easton" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Easton')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_easton.png" alt="Easton"></a></li> 977 <li class="col"><a class="d-block" href="http://www.slugger.com/" title="Louisville Slugger" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Louisville Slugger')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_louisville.jpg" alt="Louisville Slugger"></a></li> 978 <li class="col"><a class="d-block" href="https://maruccisports.com/" title="Marucci" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Marucci')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_marucci.jpg" alt="Marucci"></a></li> 979 980 <!-- <li class="col"><a class="d-block" href="https://www.dickssportinggoods.com/" title="Dicks" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Dicks')"><img src="https://usssa.com/img/logos/sponsor_dicks.jpg" alt="Dicks"></a></li> --> 981 </ul> 982 <ul class="sponsors row" style="margin-left: -30px; margin-right: 0;"> 983 <!-- <li class="col"><a class="d-block" style="align-items: center; justify-content: center; padding-top: 5%; display: flex !important;" href=" https://www.newbalance.com/" title="New Balance" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'New Balance')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_new_balance.png" alt="New Balance"></a></li> --> 984 <!-- <li class="col"><a class="d-block" href="http://www.neweracap.com" title="New Era" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'New Era')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_new_era.jpg" alt="New Era"></a></li> --> 985 <li class="col"><a class="d-block" href="https://miken.rawlings.com/" title="Miken" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Miken')"><img src="/img/logos/sponsor_miken_2021082401.png" alt="Miken"></a></li> 986 <li class="col"><a class="d-block" href="https://www.rawlings.com/" title="Rawlings" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Rawlings')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_rawlings.jpg" alt="Rawlings"></a></li> 987 <li class="col"><a class="d-block" style="align-items: center; justify-content: center; display: flex !important; height: 100%;" href="https://signaturepins.com/usssa?lid=JVT" title="Signature Pins" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Signature Pins')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_sig_pins.png" alt="Signature Pins"></a></li> 988 <li class="col"><a class="d-block " href="http://www.worthsports.com/" title="Worth" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Worth')"><img src="/img/logos/sponsor_worth_2021082401.png" alt="Worth"></a></li> 989 <li class="col">
989<a class="d-block" href="https://www.wilson.com/en-us/" title="Wilson" onclick="ga('send', 'event', 'Footer Logo-Clicked', 'Wilson')"><img src="https://v11.usssa.net/images/logos/footer_logos/sponsor_wilson.png" alt="Wilson"></a></li> 990 </ul> 991 </div> 992</div> 993 994 <div class="container"> 995 <div> 996 <div class="headline"><h2>Social Media</h2></div> 997 <div class="social_items"> 998 <u3-social></u3-social> 999 </div> 1000 </div> 1001 <div class="row" style="margin-top: 15px"> 1002 <!-- Latest --> 1003 <div class="col-md-8 md-margin-bottom-40"> 1004 <div class="posts"> 1005 <div class="headline"><h2>Useful Links</h2></div> 1006 <div class="row"> 1007 <div class="col-6"> 1008 <ul class="list-unstyled link-list"> 1009 <!-- original --> 1010 <li><a href="http://usssatoday.com"><i class="fa fa-angle-right"></i> News</a></li> 1011 <li><a href="https://support.usssa.com"><i class="fa fa-angle-right"></i> Help Center</a></li> 1012 <li><a href="http://media.usssa.com"><i class="fa fa-angle-right"></i> Media Center</a></li> 1013 <li><a href="http://hof.usssa.com/"><i class="fa fa-angle-right"></i> Hall of Fame</a></li> 1014 <li><a href="https://usssa.com/contact"><i class="fa fa-angle-right"></i> Contact</a></li> 1015 <li><a href="https://storage.googleapis.com/prod-mainsite-docs/v11/general/ByLaws.pdf"><i class="fa fa-angle-right"></i> Bylaws</a></li> 1016 <li><a href="https://usssa.com/baseball_events"><i class="fa fa-angle-right"></i> USSSA Baseball Events</a></li> 1017 <!--PROD <li><a href="http://usssatoday.com"><i class="fa fa-angle-right"></i> News</a></li> 1018 <li><a href="https://hq.usssa.com/faqs"><i class="fa fa-angle-right"></i> Questions</a></li> 1019 <li><a href="http://media.usssa.com"><i class="fa fa-angle-right"></i> Media Center</a></li> 1020 <li><a href="http://hof.usssa.com/"><i class="fa fa-angle-right"></i> Hall of Fame</a></li> 1021 <li><a href="https://hq.usssa.com/contact"><i class="fa fa-angle-right"></i> Contact</a></li> 1022 <li><a href="https://www.usssa.com/docs/general/Bylaws.pdf"><i class="fa fa-angle-right"></i> Bylaws</a></li> 1023 <li><a href="/baseball_events"><i class="fa fa-angle-right"></i> USSSA Baseball Events</a></li> --> 1024 <!-- QA <li><a href="http://usssatoday.com"><i class="fa fa-angle-right"></i> News</a></li> 1025 <li><a href="https://dev-next.usssa.com/faqs"><i class="fa fa-angle-right"></i> Questions</a></li> 1026 <li><a href="http://media.usssa.com"><i class="fa fa-angle-right"></i> Media Center</a></li> 1027 <li><a href="http://hof.usssa.com/"><i class="fa fa-angle-right"></i> Hall of Fame</a></li> 1028 <li><a href="https://dev-next.usssa.com/contact"><i class="fa fa-angle-right"></i> Contact</a></li> 1029 <li><a href="https://www.usssa.com/docs/general/Bylaws.pdf"><i class="fa fa-angle-right"></i> Bylaws</a></li> 1030 <li><a href="/baseball_events"><i class="fa fa-angle-right"></i> USSSA Baseball Events</a></li> QA--> 1031 </ul> 1032 </div> 1033 <div class="col-6"> 1034 <ul class="list-unstyled link-list"> 1035 <li><a href="https://usssa.com/abusemolestation"><i class="fa fa-angle-right"></i> Abuse/ Molestation</a></li> 1036 <li><a href="https://usssa.com/athlete-safety"><i class="fa fa-angle-right"></i> Athlete Safety</a></li> 1037 <li><a href="https://usssa.com/terms-of-use"><i class="fa fa-angle-right"></i> Terms of Use</a></li> 1038 <li><a href="https://usssa.com/privacy"><i class="fa fa-angle-right"></i> Privacy</a></li> 1039 <li><a href="https://usssa.com/jobs"><i class="fa fa-angle-right"></i> Careers</a></li> 1040 <li><a href="https://storage.googleapis.com/prod-mainsite-docs/v11/general/Policy%26Procedures.pdf"><i class="fa fa-angle-right"></i> Policies & Procedures</a></li> 1041 <li><a href="https://usssa.com/fastpitch_events"><i class="fa fa-angle-right"></i> USSSA Fastpitch Events</a></li> 1042 </ul> 1043 </div> 1044 </div> 1045 </div> 1046 </div> 1047 <!-- End Latest --> 1048 1049 <!-- Address --> 1050 <div class="col-md-4 map-img md-margin-bottom-40"> 1051 <div class="headline"><h2>United States Specialty Sports Association</h2></div> 1052 <address class="md-margin-bottom-40"> 1053 <i class="fa fa-home" aria-hidden="true"></i> <span class="lbl-adress">5800 Stadium Pkwy<br/>Melbourne, FL 32940</span> 1054 </address> 1055 </div> 1056 <!-- End Address --> 1057 </div> 1058 </div> 1059 </div><!--/footer--> 1060 1061 <div class="copyrightV11"> 1062 <div class="container"> 1063 <div class="row"> 1064 <div class="col-md-6 text-left xs-text-center"> 1065 <p> 1066 1996 - 2026 © All Rights Reserved. 1067 </p> 1068 </div> 1069 <!-- Social Links --> 1070 <div class="col-md-6 text-right xs-text-center"> 1071 <ul class="social-icons"> 1072 <li><a href="https://www.facebook.com/playusssa/" data-original-title="Facebook" class="rounded-x social_facebook"></a></li> 1073 <li><a href="http://twitter.com/usssa" data-original-title="Twitter" class="rounded-x social_twitter"></a></li> 1074 <li><a href="https://www.youtube.com/user/usssatoday" data-original-title="YouTube" class="rounded-x social_youtube"></a></li> 1075 <li><a href="https://www.instagram.com/playusssa/" data-original-title="Instagram" class="rounded-x social_instagram"></a></li> 1076 </ul> 1077 </div> 1078 <!-- End Social Links --> 1079 </div> 1080 </div> 1081 </div><!--/copyright--> 1082</div> 1083 </div> 1084 1085 </form> 1086 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 66 bytes, lines 1086-1087
1086 1087 <script async src="https://www.googletagmanager.com/gtag/js?id=
1087UA-97468231-8
vendor: 14 bytes, lines 1087-1088
1087"></script> 1088
1088<script> 1089
vendor: 144 bytes, lines 1089-1093
1089window.dataLayer = window.dataLayer || []; 1090 function gtag(){dataLayer.push(arguments);} 1091 gtag('js', new Date()); 1092 1093 gtag('config', '
1093UA-97468231-8
vendor: 6 bytes, lines 1093-1094
1093'); 1094
1094</script>
1094 1095 1096 1097
1097<script type="text/javascript"> 1098 window.onUsersnapCXLoad = function(api) { api.init(); } 1099 var script = document.createElement('script'); 1100 script.defer = 1; 1101 script.src = 'https://widget.usersnap.com/global/load/e34b6a1b-cba7-4a37-8fa0-90cc8d03faee?onload=onUsersnapCXLoad'; 1102 document.getElementsByTagName('head')[0].appendChild(script); 1103 </script>
1103 1104 1105 <!-- SNACK MEDIA SCRIPTS --> 1106 <div id="snack-sticky"></div> 1107</body> 1108</html> 1109
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.