1 2<!DOCTYPE html> 3<html> 4<!-- 5Request for https://www.hastingschamber.com/growthzone-template failed at 1:27 AM 9/29/2026 6ERROR: Page not found - Hastings Area Chamber of Commerce - NE 7Request Headers: 8 x-localrequest=1 9 User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 10--> 11<head> 12<!-- start injected HTML (CCID=2898) --> 13<!-- page template: https://www.hastingschamber.com/growthzone-template --> 14<title>Event Calendar | Hastings Area Chamber of Commerce - NE</title> 15<base href="https://www.hastingschamber.com/" /> 16<meta name="keywords" content="Hastings Area Chamber of Commerce - NE,Hastings,events,calendar,events calendar,upcoming events,featured events,regional events" /> 17<meta name="description" content="Hastings Area Chamber of Commerce - NE is the best place to find an event in the Hastings NE area. - Calendar view" /> 18<link href="https://business.hastingschamber.com/integration/customerdefinedcss?_=0QMZQw2" rel="stylesheet" type="text/css" /> 19<!-- link for rss not inserted --> 20<link rel="canonical" href="https://business.hastingschamber.com/events/calendar" /> 21<!-- end injected HTML --> 22 23 <!-- jQuery first, then Popper.js, then Bootstrap JS --> 24
24<script src="https://code.jquery.com/jquery-3.7.1.min.js" crossorigin="anonymous"></script>
24 25
25<script type="text/javascript" src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>
vendor: 2 bytes, line 25
25
26<script src="https://business.hastingschamber.com/Content/bundles/SEO4?v=jX-Yo1jNxYBrX6Ffq1gbxQahkKjKjLSiGjCSMnG9UuU1"></script>
26 27
27<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/globalize.min.js"></script>
27 28
28<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/globalize/0.1.1/cultures/globalize.culture.en-US.js"></script>
28 29 <!-- Required meta tags --> 30 <meta charset="utf-8"> 31 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 32 <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css" type="text/css" media="all" /> 33
33<script type="text/javascript"> 34 var MNI = MNI || {}; 35 MNI.CurrentCulture = 'en-US'; 36 MNI.CultureDateFormat = 'M/d/yyyy'; 37 MNI.BaseUrl = 'https://business.hastingschamber.com'; 38 MNI.jQuery = jQuery.noConflict(true); 39 MNI.Page = { 40 Domain: 'business.hastingschamber.com', 41 Context: 202, 42 Category: null, 43 Member: null, 44 MemberPagePopup: true 45 }; 46 MNI.LayoutPromise = new Promise(function (resolve) { 47 MNI.LayoutResolution = resolve; 48 }); 49 MNI.MemberFilterUrl = ''; 50 </script>
vendor: 77 bytes, lines 50-53
50 51 52 53 <script src="https://www.google.com/recaptcha/enterprise.js?render=
536LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa
vendor: 29 bytes, lines 53-54
53" async defer></script> 54
54<script> 55 56 const SITE_KEY = '6LfI_T8rAAAAAMkWHrLP_GfSf3tLy9tKa839wcWa'; 57 58 // Repeatedly check if grecaptcha has been loaded, and call the callback once it's available 59 function waitForGrecaptcha(callback, retries = 10, interval = 1000) { 60 if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise.execute) { 61 callback(); 62 } else if (retries > 0) { 63 setTimeout(() => { 64 waitForGrecaptcha(callback, retries - 1, interval); 65 }, interval); 66 } else { 67 console.error("grecaptcha is not available after multiple attempts"); 68 } 69 } 70 71 // Copies the solved v2 checkbox token into the given form when the widget's 72 // response field ended up outside it. Customer site templates can re-load the 73 // reCAPTCHA api script, which re-renders the checkbox widget detached from the 74 // form, so its g-recaptcha-response never posts and validation always fails. 75 function setV2ResponseToken($, formElement) { 76 const $form = $(formElement); 77 const inForm = $form.find('[name="g-recaptcha-response"]'); 78 79 // Prefer the reCAPTCHA-managed textarea in the target form; otherwise only consider an orphaned textarea 80 // (not inside any <form>) to avoid copying a token from a different form when multiple widgets exist. 81 let token = inForm.filter('textarea').filter(function () { return this.value; }).first().val(); 82 if (!token) { 83 token = $('textarea[name="g-recaptcha-response"]').filter(function () { return this.value && $(this).closest('form').length === 0; }).first().val(); 84 } 85 if (!token) { 86 return; 87 } 88 89 if (inForm.length > 0) { 90 inForm.val(token); 91 } 92 else { 93 $('<input>', { 94 type: 'hidden', 95 name: 'g-recaptcha-response', 96 value: token 97 }).appendTo(formElement); 98 } 99 } 100 101 // Generates a reCAPTCHA v3 token using grecaptcha.enterprise and injects it into the given form. 102 // If the token input doesn't exist, it creates one. Then it executes the callback with the token. 103 function setReCaptchaToken(formElement, callback, action = 'submit') { 104 grecaptcha.enterprise.ready(function () { 105 grecaptcha.enterprise.execute(SITE_KEY, { action: action }).then(function (token) { 106 107 MNI.jQuery(function ($) { 108 let input = $(formElement).find("input[name='g-recaptcha-v3']"); 109 110 if (input.length === 0) { 111 input = $('<input>', { 112 type: 'hidden', 113 name: 'g-recaptcha-v3', 114 value: token 115 }); 116 $(formElement).append(input); 117 } 118 else 119 $(input).val(token); 120 121 setV2ResponseToken($, formElement); 122 if (typeof callback === 'function') callback(token); 123 }) 124 125 }); 126 }); 127 } 128 129 </script>
129 130 131 132 133
134<script src="https://business.hastingschamber.com/Content/bundles/MNI?v=34V3-w6z5bLW9Yl7pjO3C5tja0TdKeHFrpRQ0eCPbz81"></script>
134 135 <!-- Bootstrap CSS --> 136 <link type="text/css" href="https://business.hastingschamber.com/Content/SEO4/css/bootstrap/bootstrap-ns.min.css" rel="stylesheet" /> 137<link href="https://business.hastingschamber.com/Content/SEO4/css/fontawesome/css/fa.bundle?v=ruPA372u21djZ69Q5Ysnch4rq1PR55j8o6h6btgP60M1" rel="stylesheet"/> 138<link href="https://business.hastingschamber.com/Content/SEO4/css/v4-module.bundle?v=qwhSjNuPqeeGP6P-IaHNEkcnGmDy0rKab7USXmcnhsI1" rel="stylesheet"/> 139<meta name="referrer" content="origin" /></head> 140<body> 141 <div id="gzns"> 142 143 144<div class="container-fluid gz-events-list"> 145 <!-- pagetitle and deals buttons row, deals buttons are now removed but leaving div incase we add back in --> 146 <div class="d-flex w-100 gz-pagetitle-dealsbuttons"> 147 <div class="flex-grow-1 gz-pagetitle"> 148 <h1>Events Calendar</h1> 149 </div> 150 151 152<div class="gz-dealsbuttons"></div> 153 154 </div> 155 156 157 <!--banner ad --> 158 159 160 161<div class="row gz-banner"><div class="col"><div class="mn-banner mn-banner-premier"><div id="mn-banner"><noscript><iframe src="https://business.hastingschamber.com/sponsors/adsframe?context=202&maxWidth=720&maxHeight=90&max=1&rotate=False" width="720" height="90" scrolling="no" frameborder="0" allowtransparency="true" marginwidth="0" marginheight="0"></iframe></noscript></div></div></div></div>
162<script type="text/javascript"> 163 var _mnisq=_mnisq||[]; 164 _mnisq.push(["domain","business.hastingschamber.com"],["context",202],["max",5],["rotate",1],["maxWidth",720],["maxHeight",90],["create","mn-banner"]); 165 (function(b,d,a,c){b.getElementById(d)||(c=b.getElementsByTagName(a)[0],a=b.createElement(a),a.type="text/javascript",a.async=!0,a.src="https://business.hastingschamber.com/Content/Script/Ads.min.js",c.parentNode.insertBefore(a,c))})(document,"mni-ads-script","script"); 166</script>
166 167 168 169 170<!-- search filter bar similar to directory search, but added month option and unique parent class in row--> 171<div class="row gz-events-search-filters"> 172 <div class="col"> 173<form action="https://business.hastingschamber.com/events/calendar/2026-09-01" class="mn-form" method="get"> <div class="input-group gz-search-filters"> 174 <input for="search" type="text" name="q" class="form-control gz-search-keyword" aria-label="Search by keyword" placeholder="Keyword"> 175 <select class="custom-select gz-search-category" id="category-select" name="c" aria-label="Search by Category"> 176 <option value="" selected>Category...</option> 177 <option value="15">Ag Week</option><option value="12">Anniversary Salute|Ribbon Cutting|Groundbreaking</option><option value="14">Business After/Before Hours</option><option value="3">Business Submitted Meetings</option><option value="1">Community Submitted Events</option><option value="6">Hastings Area Chamber Of Commerce</option><option value="5">Hastings Young Professionals ''HYP''</option><option value="8">Leadership Hastings</option> 178 </select> 179 <select class="custom-select gz-search-month" id="cal-month-select" name="m" aria-label="Search by Month"> 180 <option selected value="09-01-2026">September</option> 181 <option value="10-01-2026">October</option> 182 <option value="11-01-2026">November</option> 183 <option value="12-01-2026">December</option> 184 <option value="01-01-2027">January</option> 185 <option value="02-01-2027">February</option> 186 <option value="03-01-2027">March</option> 187 <option value="04-01-2027">April</option> 188 <option value="05-01-2027">May</option> 189 <option value="06-01-2027">June</option> 190 <option value="07-01-2027">July</option> 191 <option value="08-01-2027">August</option> 192 </select> 193 <div class="input-group-append gz-search-append"> 194 <button class="btn gz-search-btn" type="submit" role="search" title="Search" aria-label="Search Submit"><i class="gz-far gz-fa-search"></i>Search</button> 195 </div> 196 </div> 197</form> <!-- badge pills, these display if keyword or items in search are selected, not sure if they only need to display on the results page or both the main page and results --> 198 <div class="gz-search-pills"> 199 200 201 </div> 202 </div> 203</div> 204 205 206 <!--results count and sort --> 207 <div class="row gz-toolbar"> 208 <div class="col"> 209 <div class="btn-toolbar justify-content-between gz-results-toolbar" role="toolbar" aria-label="Toolbar with button groups"> 210 <div class="input-group gz-results-found"> 211 <div class="input-group-text gz-results-found-text" id="results-found"> 212 <span class="gz-subtitle gz-results-title">Results Found: </span> 213 <span class="gz-subtitle gz-results-count">12</span> 214 </div> 215 </div> 216 <div class="gz-toolbar-buttons" > 217 <div class="btn-group gz-toolbar-group" role="group" aria-describedby="buttongroup" id="sorting"><span id="buttongroup" class="sr-only">Button group with nested dropdown</span> 218 <a rel="nofollow" href="https://business.hastingschamber.com/events/calendar/?moduleversion=3&rendermode=print" class="gz-toolbar-btn" role="button" title="Print" onclick="return!MNI.Window.Print(this)"><i class="gz-fal gz-fa-print"></i></a> 219 <a href="https://business.hastingschamber.com/events/public-submission" class="gz-toolbar-btn" role="button" title="Submit New Event"><i class="gz-fal gz-fa-plus"></i></a> 220 <a href="https://business.hastingschamber.com/events/search?from=9/1/2026&to=10/31/2026" class="gz-toolbar-btn" role="button" title="Card View"><i class="gz-fal gz-fa-th"></i></a> 221 </div> 222 </div> 223 </div> 224 </div> 225 </div> 226 <div class="row" id="events-key"> 227 <div><span class="events-key-1"></span> <a href="https://business.hastingschamber.com/events/search?c=6">Hastings Area Chamber Of Commerce</a></div><div><span class="events-key-2"></span> <a href="https://business.hastingschamber.com/events/search?c=1">Community Submitted Events</a></div><div><span class="events-key-3"></span> <a href="https://business.hastingschamber.com/events/search?c=5">Hastings Young Professionals ''HYP''</a></div> 228 </div> 229 <!-- Calendar view --> 230 <div class="row gz-events-calendar"> 231 <div class="col"> 232 <table class="gz-cal-grid"> 233 <thead> 234 <tr> 235 <th colspan="7" class="mn-header gz-cal-header"> 236 <h2 style="gz-caltitle"> 237 <span class="gz-cal-prev"><a href="https://business.hastingschamber.com/events/calendar/2026-08-01" rel="nofollow" aria-label="Previous Month"><i class="gz-fas gz-fa-arrow-alt-square-left"></i></a></span>
237 <span class="gz-cal-date">September 2026</span> 238 <span class="gz-cal-next"><a href="https://business.hastingschamber.com/events/calendar/2026-10-01" rel="nofollow" aria-label="Next Month"><i class="gz-fas gz-fa-arrow-alt-square-right"></i></a></span> </h2> 239 </th> 240 </tr> 241 <tr class="gz-cal-rows-weekday"> 242 <td class="gz-cal-weekdays">Sun</td> 243 <td class="gz-cal-weekdays">Mon</td> 244 <td class="gz-cal-weekdays">Tue</td> 245 <td class="gz-cal-weekdays">Wed</td> 246 <td class="gz-cal-weekdays">Thu</td> 247 <td class="gz-cal-weekdays">Fri</td> 248 <td class="gz-cal-weekdays">Sat</td> 249 </tr> 250 <tr class="gz-cal-header-sep"> 251 <td colspan="7"></td> 252 </tr> 253 </thead> 254 <tbody> 255 <tr class="gz-cal-rows gz-cal-rows-odd"> 256 257 <td class="gz-cal-days-prev"> 258 <div class="gz-cal-day"> 259 <span>30</span> 260 </div> 261 </td> 262 <td class="gz-cal-days-prev"> 263 <div class="gz-cal-day"> 264 <span>31</span> 265 </div> 266 </td> 267 <td class="gz-cal-days"> 268 <div class="gz-cal-day gz-cal-activedate"> 269<a href="https://business.hastingschamber.com/events/index/2026-09-01" rel="nofollow">1</a> <ul> 270 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/kens-ribbon-cutting-4346?calendarMonth=2026-09-01">Kens Ribbon Cutting</a></li> 271 </ul> 272 </div> 273 </td> 274 <td class="gz-cal-days"> 275 <div class="gz-cal-day"> 276 <span>2</span> 277 </div> 278 </td> 279 <td class="gz-cal-days"> 280 <div class="gz-cal-day"> 281 <span>3</span> 282 </div> 283 </td> 284 <td class="gz-cal-days"> 285 <div class="gz-cal-day gz-cal-activedate"> 286<a href="https://business.hastingschamber.com/events/index/2026-09-04" rel="nofollow">4</a> <ul> 287 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/kens-block-party-4347?calendarMonth=2026-09-01">Kens Block Party</a></li> 288 </ul> 289 </div> 290 </td> 291 <td class="gz-cal-days"> 292 <div class="gz-cal-day"> 293 <span>5</span> 294 </div> 295 </td> 296 </tr> 297 <tr class="gz-cal-rows gz-cal-rows-even"> 298 299 <td class="gz-cal-days"> 300 <div class="gz-cal-day"> 301 <span>6</span> 302 </div> 303 </td>
304 <td class="gz-cal-days"> 305 <div class="gz-cal-day"> 306 <span>7</span> 307 </div> 308 </td> 309 <td class="gz-cal-days"> 310 <div class="gz-cal-day"> 311 <span>8</span> 312 </div> 313 </td> 314 <td class="gz-cal-days"> 315 <div class="gz-cal-day"> 316 <span>9</span> 317 </div> 318 </td> 319 <td class="gz-cal-days"> 320 <div class="gz-cal-day"> 321 <span>10</span> 322 </div> 323 </td> 324 <td class="gz-cal-days"> 325 <div class="gz-cal-day"> 326 <span>11</span> 327 </div> 328 </td> 329 <td class="gz-cal-days"> 330 <div class="gz-cal-day"> 331 <span>12</span> 332 </div> 333 </td> 334 </tr> 335 <tr class="gz-cal-rows gz-cal-rows-odd"> 336 337 <td class="gz-cal-days"> 338 <div class="gz-cal-day"> 339 <span>13</span> 340 </div> 341 </td> 342 <td class="gz-cal-days"> 343 <div class="gz-cal-day"> 344 <span>14</span> 345 </div> 346 </td> 347 <td class="gz-cal-days"> 348 <div class="gz-cal-day"> 349 <span>15</span> 350 </div> 351 </td> 352 <td class="gz-cal-days"> 353 <div class="gz-cal-day"> 354 <span>16</span> 355 </div> 356 </td> 357 <td class="gz-cal-days"> 358 <div class="gz-cal-day gz-cal-activedate"> 359<a href="https://business.hastingschamber.com/events/index/2026-09-17" rel="nofollow">17</a> <ul> 360 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/seeds-you-are-a-b-i-l-to-start-up-4352?calendarMonth=2026-09-01">SEEDS - You Are A.B.I.L to Start Up...</a></li> 361 </ul> 362 </div> 363 </td> 364 <td class="gz-cal-days"> 365 <div class="gz-cal-day"> 366 <span>18</span> 367 </div> 368 </td> 369 <td class="gz-cal-days"> 370 <div class="gz-cal-day gz-cal-activedate"> 371<a href="https://business.hastingschamber.com/events/index/2026-09-19" rel="nofollow">19</a> <ul> 372 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/solar-observing-09-19-2026-4296?calendarMonth=2026-09-01">Solar Observing</a></li> 373 </ul> 374 </div> 375 </td> 376 </tr> 377 <tr class="gz-cal-rows gz-cal-rows-even"> 378
379 <td class="gz-cal-days"> 380 <div class="gz-cal-day gz-cal-activedate"> 381<a href="https://business.hastingschamber.com/events/index/2026-09-20" rel="nofollow">20</a> <ul> 382 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/hastings-evening-lions-club-pork-feed-4344?calendarMonth=2026-09-01">Hastings Evening Lions Club Pork Feed</a></li> 383 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/quilting-your-legacy-with-janie-york-4348?calendarMonth=2026-09-01">Quilting Your Legacy with Janie York</a></li> 384 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/quilting-your-legacy-square-by-square-4349?calendarMonth=2026-09-01">Quilting Your Legacy Square by Square</a></li> 385 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/gather-hastings-evening-of-worship-09-20-2026-4345?calendarMonth=2026-09-01">Gather Hastings - Evening of Worship</a></li> 386 </ul> 387 </div> 388 </td> 389 <td class="gz-cal-days"> 390 <div class="gz-cal-day"> 391 <span>21</span> 392 </div> 393 </td> 394 <td class="gz-cal-days"> 395 <div class="gz-cal-day gz-cal-activedate"> 396<a href="https://business.hastingschamber.com/events/index/2026-09-22" rel="nofollow">22</a> <ul> 397 <li class="gz-cal-event mn-cal-event-odd gz-cal-catg12"><a href="https://business.hastingschamber.com/events/details/ccc-automotive-shop-ribbon-cutting-4320?calendarMonth=2026-09-01">CCC Automotive Shop Ribbon Cutting</a></li> 398 </ul> 399 </div> 400 </td> 401 <td class="gz-cal-days"> 402 <div class="gz-cal-day"> 403 <span>23</span> 404 </div> 405 </td> 406 <td class="gz-cal-days"> 407 <div class="gz-cal-day gz-cal-activedate"> 408<a href="https://business.hastingschamber.com/events/index/2026-09-24" rel="nofollow">24</a> <ul> 409 <li class="gz-cal-event mn-cal-event-odd gz-cal-catg12 gz-cal-catg14"><a href="https://business.hastingschamber.com/events/details/hastings-college-arena-hall-of-fame-ribbon-cutting-business-after-hours-4321?calendarMonth=2026-09-01">Hastings College Arena Hall of Fame Ribbon Cutting & Business After Hours</a></li> 410 </ul> 411 </div> 412 </td> 413 <td class="gz-cal-days"> 414 <div class="gz-cal-day"> 415 <span>25</span> 416 </div> 417 </td> 418 <td class="gz-cal-days">
419 <div class="gz-cal-day gz-cal-activedate"> 420<a href="https://business.hastingschamber.com/events/index/2026-09-26" rel="nofollow">26</a> <ul> 421 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/september-this-n-that-craft-vendor-show-09-26-2026-4363?calendarMonth=2026-09-01">September This N That Craft & Vendor Show</a></li> 422 </ul> 423 </div> 424 </td> 425 </tr> 426 <tr class="gz-cal-rows gz-cal-rows-odd"> 427 428 <td class="gz-cal-days"> 429 <div class="gz-cal-day"> 430 <span>27</span> 431 </div> 432 </td> 433 <td class="gz-cal-days"> 434 <div class="gz-cal-day"> 435 <span>28</span> 436 </div> 437 </td> 438 <td class="gz-cal-days"> 439 <div class="gz-cal-day gz-cal-activedate gz-cal-currentdate"> 440<a href="https://business.hastingschamber.com/events/index/2026-09-29" rel="nofollow">29</a> <ul> 441 <li class="gz-cal-event mn-cal-customcsscatg2 gz-cal-catg1"><a href="https://business.hastingschamber.com/events/details/germans-from-russia-walking-tour-09-29-2026-4341?calendarMonth=2026-09-01">Germans from Russia Walking Tour</a></li> 442 </ul> 443 </div> 444 </td> 445 <td class="gz-cal-days"> 446 <div class="gz-cal-day"> 447 <span>30</span> 448 </div> 449 </td> 450 <td class="gz-cal-days-next"> 451 <div class="gz-cal-day"> 452 <span>1</span> 453 </div> 454 </td> 455 <td class="gz-cal-days-next"> 456 <div class="gz-cal-day"> 457 <span>2</span> 458 </div> 459 </td> 460 <td class="gz-cal-days-next"> 461 <div class="gz-cal-day"> 462 <span>3</span> 463 </div> 464 </td> 465 </tr> 466 467 </tbody> 468 </table> 469 </div> 470 </div> 471 472 <div class="row gz-footer-navigation" role="navigation"> 473 <div class="col"> 474 <a href="https://business.hastingschamber.com/list/">Business Directory</a> 475 476 <a href="https://business.hastingschamber.com/events/">Events Calendar</a> 477 <a href="https://business.hastingschamber.com/hotdeals/">Hot Deals</a> 478 479 480 <a href="https://business.hastingschamber.com/jobs/">Job Postings</a> 481 <a href="https://business.hastingschamber.com/contact/">Contact Us</a> 482 483 484 485 </div> 486 </div> 487 488 <div class="row gz-footer-logo"> 489 <div class="col text-center"> 490 <a href="http://www.growthzone.com/" target="_blank"> 491 <img alt="GrowthZone - Membership Management Software" src="https://public.chambermaster.com/content/images/powbyCM_100x33.png" border="0"> 492 </a> 493 </div> 494 </div> 495</div><!-- container fluid close--> 496 497 498 <!-- JavaScript for Bootstrap 4 components --> 499 <!-- js to make 4 column layout instead of 3 column when the module page content area is larger than 950, this is to accomodate for full-width templates and templates that have sidebars-->
499 500
500<script type="text/javascript"> 501 (function ($) { 502 $(function () { 503 var $gzns = $('#gzns'); 504 var $info = $('#gzns').find('.col-sm-6.col-md-4'); 505 if ($gzns.width() > 950) { 506 $info.addClass('col-lg-3'); 507 } 508 509 var store = window.localStorage; 510 var key = "5-list-view"; 511 var printKey = "24-list-view"; 512 $('.gz-view-btn').click(function (e) { 513 e.preventDefault(); 514 $('.gz-view-btn').removeClass('active'); 515 $(this).addClass('active'); 516 if ($(this).hasClass('gz-list-view')) { 517 store.setItem(key, true); 518 store.setItem(printKey, true); 519 $('.gz-list-card-wrapper').removeClass('col-sm-6 col-md-4').addClass('gz-list-col'); 520 } else { 521 store.setItem(key, false); 522 store.setItem(printKey, false); 523 $('.gz-list-card-wrapper').addClass('col-sm-6 col-md-4').removeClass('gz-list-col'); 524 } 525 }); 526 527 var isListView = store.getItem(key) == null ? MNI.DEFAULT_LISTING : store.getItem(key) == "true"; 528 if (isListView) $('.gz-view-btn.gz-list-view').click(); 529 store.setItem(printKey, isListView); 530 MNI.LayoutResolution(); 531 532 (function ($modal) { 533 if ($modal[0]) { 534 $('#gz-info-contactfriend').on('shown.bs.modal', function (e) { 535 $modal.css('max-height', $(window).height() + 'px'); 536 $modal.addClass('isLoading'); 537 $.ajax({ url: MNI.BaseUrl + '/inforeq/contactFriend?itemType='+MNI.ITEM_TYPE+'&itemId='+MNI.ITEM_ID }) 538 .then(function (r) { 539 $modal.find('.modal-body') 540 .html($.parseHTML(r.Html)); 541 $modal.removeClass('isLoading'); 542 $('#gz-info-contactfriend').addClass('in'); 543 $.getScript("https://www.google.com/recaptcha/api.js"); 544 }); 545 }); 546 $('#gz-info-contactfriend .send-btn').click(function () { 547 var $form = $modal.find('form'); 548 $modal.addClass('isLoading'); 549 $.ajax({
550 url: $form.attr('action'), 551 type: 'POST', 552 data: $form.serialize(), 553 dataType: 'json' 554 }).then(function (r) { 555 if (r.Success) $('#gz-info-contactfriend').modal('hide'); 556 else $modal.find('.modal-body').html($.parseHTML(r.Html)); 557 $.getScript("https://www.google.com/recaptcha/api.js"); 558 $modal.removeClass('isLoading'); 559 }); 560 }); 561 } 562 })($('#gz-info-contactfriend .modal-content')); 563 564 (function ($modal) { 565 if ($modal[0]) { 566 $('#gz-info-subscribe').on('shown.bs.modal', function (e) { 567 $('#gz-info-subscribe .send-btn').show(); 568 $modal.addClass('isLoading'); 569 $.ajax({ url: MNI.SUBSCRIBE_URL }) 570 .then(function (r) { 571 $modal.find('.modal-body') 572 .html(r); 573 574 $modal.removeClass('isLoading'); 575 }); 576 }); 577 $('#gz-info-subscribe .send-btn').click(function () { 578 var $form = $modal.find('form'); 579 $modal.addClass('isLoading'); 580 581 waitForGrecaptcha(() => { 582 setReCaptchaToken($form, () => { 583 $.ajax({
584 url: $form.attr('action'), 585 type: 'POST', 586 data: $form.serialize() 587 }).then(function (r) { 588 if (r.toLowerCase().search('thank you') != -1) { 589 $('#gz-info-subscribe .send-btn').hide(); 590 } 591 $modal.find('.modal-body').html(r); 592 $modal.removeClass('isLoading'); 593 }); 594 }, "hotDealsSubscribe"); 595 }) 596 }); 597 } 598 })($('#gz-info-subscribe .modal-content')); 599 600 (function ($modal) { 601 $('#gz-info-calendarformat').on('shown.bs.modal', function (e) { 602 var backdropElem = "<div class=\"modal-backdrop fade in\" style=\"height: 731px;\" ></div >"; 603 $('#gz-info-calendarformat').addClass('in'); 604 if (!($('#gz-info-calendarformat .modal
604-backdrop').length)) { 605 $('#gz-info-calendarformat').prepend(backdropElem); 606 } 607 else { 608 $('#gz-info-calendarformat .modal-backdrop').addClass('in'); 609 } 610 }); 611 $('#gz-info-calendarformat').on('hidden.bs.modal', function (e) { 612 $('#gz-info-calendarformat').removeClass('in'); 613 $('#gz-info-calendarformat .modal-backdrop').remove(); 614 }); 615 if ($modal[0]) { 616 $('.calendarLink').click(function (e) { 617 $('#gz-info-calendarformat').modal('hide'); 618 }); 619 } 620 })($('#gz-info-calendarformat .modal-content')); 621 622 // Constructs the Find Members type ahead suggestion engine. Tokenizes on the Name item in the remote return object. Case Sensitive usage. 623 var members = new Bloodhound({ 624 datumTokenizer: Bloodhound.tokenizers.whitespace, 625 queryTokenizer: Bloodhound.tokenizers.whitespace, 626 remote: { 627 url: MNI.BaseUrl + '/list/find?q=%searchTerm', 628 wildcard: '%searchTerm', 629 replace: function () { 630 var q = MNI.BaseUrl + '/list/find?q=' + encodeURIComponent($('.gz-search-keyword').val()); 631 var categoryId = $('#catgId').val(); 632 var quickLinkId = $('#qlId').val(); 633 if (categoryId) { 634 q += "&catgId=" + encodeURIComponent(categoryId); 635 } 636 if (quickLinkId) { 637 q += "&qlid=" + encodeURIComponent(quickLinkId); 638 } 639 return q; 640 } 641 } 642 }); 643 644 // Initializing the typeahead using the Bloodhound remote dataset. Display the Name and Type from the dataset via the suggestion template. Case sensitive. 645 $('.member-typeahead').typeahead({ 646 hint: false, 647 }, 648 { 649 display: 'Name', 650 source: members, 651 limit: Infinity, 652 templates: { 653 suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' } 654 } 655 }); 656 657 $('.member-typeahead').on('typeahead:selected', function (evt, item) { 658 var openInNewWindow = MNI.Page.MemberPagePopup 659 var doAction = openInNewWindow ? MNI.openNewWindow : MNI.redirectTo; 660 661 switch (item.ResultType) { 662 case 1: // AutocompleteSearchResultType.Category 663 doAction(MNI.Path.Category(item.SlugWithID)); 664 break; 665 case 2: // AutocompleteSearchResultType.QuickLink 666 doAction(MNI.Path.QuickLink(item.SlugWithID)); 667 break; 668 case 3: // AutocompleteSearchResultType.Member 669 if (item.MemberPageAction == 1) { 670 MNI.logHitStat("mbrws", item.ID).then(function () { 671 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithI
671D); 672 doAction(location); 673 }); 674 } 675 else { 676 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithID); 677 doAction(location); 678 } 679 break; 680 } 681 }) 682 683 $('#category-select').change(function () { 684 // Store the category ID in a hidden field so the remote fetch can use it when necessary 685 var categoryId = $('#category-select option:selected').val(); 686 $('#catgId').val(categoryId); 687 // Don't rely on prior locally cached data when the category is changed. 688 $('.member-typeahead').typeahead('destroy'); 689 $('.member-typeahead').typeahead({ 690 hint: false, 691 }, 692 { 693 display: 'Name', 694 source: members, 695 limit: Infinity, 696 templates: { 697 suggestion: function (data) { return '<div class="mn-autocomplete"><span class="mn-autocomplete-name">' + data.Name + '</span></br><span class="mn-autocomplete-type">' + data.Type + '</span></div>' } 698 } 699 }); 700 }); 701 MNI.Plugins.AutoComplete.Init('#mn-search-geoip input', { path: '/' + MNI.MemberFilterUrl + '/find-geographic' }); 702 }); 703 })(MNI.jQuery); 704 </script>
704 705 </div> 706 707</body> 708</html> 709
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.