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>Contact Us</title> 15<base href="https://www.hastingschamber.com/" /> 16<meta name="keywords" content="Hastings Area Chamber of Commerce - NE,Hastings,directory,business search,member search,information request" /> 17<meta name="description" content="Hastings Area Chamber of Commerce - NE is the best place to find a member or business in the Hastings NE area." /> 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/contact" /> 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: 205, 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>
vendor: 112 bytes, lines 134-138
134 135 136 137 <script src='https://www.google.com/recaptcha/api.js?onload=onloadCaptchaCallback'></script> 138
138<script type="text/javascript"> 139 140 // Recaptcha fix for IOS 141 var HEADER_HEIGHT = 0; 142 var isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 143 var grecaptchaPosition; 144 145 var isScrolledIntoView = function (elem) { 146 var elemRect = elem.getBoundingClientRect(); 147 var isVisible = (elemRect.top - HEADER_HEIGHT >= 0 && elemRect.bottom <= window.innerHeight); 148 return isVisible; 149 }; 150 // End initial Recaptcha fix for IOS.See below verifyRecaptchaCallback and ISIOS for it's usage. 151 152 // Recaptcha aria attributes after load 153 function onloadCaptchaCallback() { 154 MNI.jQuery('#g-recaptcha-response').attr('aria-hidden', true); 155 MNI.jQuery('#g-recaptcha-response').attr('aria-label', 'Captcha response'); 156 } 157 158 MNI.jQuery(function ($) { 159 $(function () { 160 var $form = $('form.needs-validation'); 161 var form = $form[0]; 162 $form.find('button.btn').click(function (e) { 163 e.preventDefault(); 164 if (form.checkValidity() === false) { 165 form.classList.add('was-validated'); 166 scrollToTop(); 167 } else { 168 waitForGrecaptcha(() => { 169 setReCaptchaToken($form, () => form.submit(), "contactUs"); 170 }) 171 } 172 }); 173 function scrollToTop() { 174 $('html, body').animate({ 175 scrollTop: $('#gzns').offset().top 176 }, 500, 'linear'); 177 } 178 $('#ContactFormPref').change(function () { 179 var selected = parseInt($('select#ContactFormPref option:selected').val()); 180 181 clearRequired(); 182 183 switch (selected) { 184 case 1: 185 $('#ContactFormEmail').attr("required", true); 186 $('label[for="ContactFormEmail"]').append('<span class="gz-form-req" title="Required field">*</span>'); 187 break; 188 case 3: 189 $('#ContactFormPhone').attr("required", true); 190 $('label[for="ContactFormPhone"]').append('<span class="gz-form-req" title="Required field">*</span>'); 191 break; 192 case 4: 193 $('#ContactFormAddress').attr("required", true); 194 $('label[for="ContactFormAddress"]').append('<span class="gz-form-req" title="Required field">*</span>'); 195 if (!false) 196 { 197 $('#ContactFormCity').attr("required", true); 198 $('label[for="ContactFormCity"]').append('<span class="gz-form-req" title="Required field">*</span>'); 199 $('#ContactFormState').attr("required", true); 200 $('label[for="ContactFormState"]').append('<span class="gz-form-req" title="Required field">*</span>'); 201 $('#ContactFormZip').attr("required", true); 202 $('label[for="ContactFormZip"]').append('<span class="gz-form-req" title="Required field">*</span>'); 203 $('#ContactFormCountry').attr("required", true); 204 $('label[for="ContactFormCountry"]').append('<span class="gz-form-req" title="Required field">*</span>'); 205 } 206 break; 207 default: 208 break; 209 } 210 }); 211 }); 212 function clearRequired() { 213 // Clear ones not set for required by settings 214 if ((!false)) 215 { 216 $('#ContactFormEmail').removeAttr("required"); 217 $('label[for="ContactFormEmail"] span.gz-form-req').remove(); 218 } 219 if ((!false)) 220 { 221 $('#ContactFormPhone').removeAttr("required"); 222 $('label[for="ContactFormPhone"] span.gz-form-req').remove(); 223 } 224 if ((!false)) 225 { 226 $('#ContactFormAddress').removeAttr("required"); 227 $('label[for="ContactFormAddress"] span.gz-form-req').remove(); 228 $('#ContactFormCity').removeAttr("required"); 229 $('label[for="ContactFormCity"] span.gz-form-req').remove(); 230 $('#ContactFormState').removeAttr("required"); 231 $('label[for="ContactFormState"] span.gz-form-req').remove(); 232 $('#ContactFormZip').removeAttr("required"); 233 $('label[for="ContactFormZip"] span.gz-form-req').remove(); 234 $('#ContactFormCountry').removeAttr("required"); 235 $('label[for="ContactFormCountry"] span.gz-form-req').remove(); 236 } 237 } 238 239 window.verifyRecaptchaCallback = function (response) { 240 $('input[data-recaptcha]').val(response).trigger('change'); 241 if (isIOS && grecaptchaPosition !== undefined) { 242 window.scrollTo(0, grecaptchaPosition); 243 } 244 } 245 246 window.expiredRecaptchaCallback = function () { 247 $('input[data-recaptcha]').val("").trigger('change'); 248 } 249 250 clearRequired(); 251 252 if (isIOS) { 253 var recaptchaElements = document.querySelectorAll('.g-recaptcha'); 254 255 window.addEventListener('scroll', function () { 256 Array.prototype.forEach.call(recaptchaElements, function (element) { 257 if (isScrolledIntoView(element)) { 258 grecaptchaPosition = document.documentElement.scrollTop || document.body.scrollTop; 259 } 260 }); 261 }, false); 262 } 263 });
264 </script>
264 265 <!-- Bootstrap CSS --> 266 <link type="text/css" href="https://business.hastingschamber.com/Content/SEO4/css/bootstrap/bootstrap-ns.min.css" rel="stylesheet" /> 267<link href="https://business.hastingschamber.com/Content/SEO4/css/fontawesome/css/fa.bundle?v=ruPA372u21djZ69Q5Ysnch4rq1PR55j8o6h6btgP60M1" rel="stylesheet"/> 268<link href="https://business.hastingschamber.com/Content/SEO4/css/v4-module.bundle?v=qwhSjNuPqeeGP6P-IaHNEkcnGmDy0rKab7USXmcnhsI1" rel="stylesheet"/> 269<meta name="referrer" content="origin" /></head> 270<body> 271 <div id="gzns"> 272 273<div class="container-fluid gz-contactus"> 274 <!-- pagetitle and deals buttons row, deals buttons are now removed but leaving div incase we add back in --> 275 <div class="d-flex w-100 gz-pagetitle-dealsbuttons"> 276 <div class="flex-grow-1 gz-pagetitle"> 277 <h1>Contact Us</h1> 278 </div> 279 280 281<div class="gz-dealsbuttons"></div> 282 283 </div> 284 <div class="row gz-intro-paragraph"> 285 <div class="col">Send us your questions or comments using the form below. We will respond promptly to your inquiry.</div> 286 </div> 287 <!--banner ad --> 288 289 290 291<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=205&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>
292<script type="text/javascript"> 293 var _mnisq=_mnisq||[]; 294 _mnisq.push(["domain","business.hastingschamber.com"],["context",205],["max",5],["rotate",1],["maxWidth",720],["maxHeight",90],["create","mn-banner"]); 295 (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"); 296</script>
296 297 <div class="row gz-contact-form"> 298 <div class="col"> 299 <h3 class="gz-subtitle">Contact Information</h3> 300 <small class="text-muted gz-form-reqnote" title="Asterisk denotes a required field"> 301 <span>*</span> 302 Required field 303 </small> 304 305<form action="https://business.hastingschamber.com/contact" class="needs-validation" method="post" name="formMain"> <div class="form-row gz-contact-form-who"> 306 <div class="form-group col-12"> 307 <label for="ContactFirstName"> 308 Name 309 <span class="gz-form-req" title="Required field">*</span> 310 311 </label> 312<input class="form-control" id="ContactFirstName" name="Name" placeholder="Joe Smith" required="" type="text" value="" /> 313 <div class="valid-feedback"> 314Looks good! 315 </div> 316 <div class="invalid-feedback"> 317Please add your name. 318 </div> 319 320 321 </div> 322 <div class="form-group col-12"> 323 <label for="ContactFormOrganization"> 324 Organization 325 326 </label> 327<input class="form-control" id="ContactFormOrganization" name="Organization" placeholder="Company, Inc." type="text" value="" /> 328 329 330 331 332 </div> 333 </div> 334 <div class="form-row gz-contact-form-add"> 335 <div class="form-group col"> 336 <label for="ContactFormAddress"> 337 Mailing Address 338 <span class="gz-form-req" title="Required field">*</span> 339 340 </label> 341<input class="form-control" id="ContactFormAddress" name="Street" placeholder="123 Example Street" required="" type="text" value="" /> 342 <div class="valid-feedback"> 343Looks good! 344 </div> 345 <div class="invalid-feedback"> 346Please add your mailing address. 347 </div> 348 349 350 </div> 351 <div class="form-group col"> 352 <label for="ContactFormAddress2"> 353 Mailing Address line 2 354 355 </label> 356<input class="form-control" id="ContactFormAddress2" name="POBox" placeholder="Suite 900" type="text" value="" /> 357 358 359 360 361 </div> 362 </div> 363 <div class="form-row gz-Contact-form-city-state"> 364 <div class="form-group col-6 col-sm-3"> 365 <label for="ContactFormCity"> 366 City 367 <span class="gz-form-req" title="Required field">*</span> 368 369 </label> 370<input class="form-control" id="ContactFormCity" name="City" placeholder="Orlando" required="" type="text" value="" /> 371 <div class="valid-feedback"> 372Looks good! 373 </div> 374 <div class="invalid-feedback"> 375Please add your City 376 </div> 377 378 379 </div> 380 <div class="form-group col-6 col-sm-3"> 381 <label for="ContactFormState"> 382 State 383 <span class="gz-form-req" title="Required field">*</span> 384 385 </label> 386<input class="form-control" id="ContactFormState" name="StateProvince" placeholder="MN" required="" type="text" value="" /> 387 <div class="valid-feedback"> 388Looks good! 389 </div> 390 <div class="invalid-feedback"> 391Please add your State 392 </div> 393 394 395 </div> 396 <div class="form-group col-6 col-sm-3"> 397 <label for="ContactFormZip"> 398 Postal Code 399 <span class="gz-form-req" title="Required field">*</span> 400 401 </label> 402<input class="form-control" id="ContactFormZip" name="ZipPostal" placeholder="54321" required="" type="text" value="" /> 403 <div class="valid-feedback"> 404Looks good! 405 </div> 406 <div class="invalid-feedback"> 407Please add your Postal Code 408 </div> 409 410 411 </div> 412 <div class="form-group col-6 col-sm-3"> 413 <label for="ContactFormCountry"> 414 Country
415 <span class="gz-form-req" title="Required field">*</span> 416 417 </label> 418<select class="form-control" id="ContactFormCountry" name="Country" required=""><option value="">Choose...</option> 419<option value="AF">Afghanistan</option> 420<option value="AL">Albania</option> 421<option value="DZ">Algeria</option> 422<option value="AR">Argentina</option> 423<option value="AM">Armenia</option> 424<option value="AU">Australia</option> 425<option value="AT">Austria</option> 426<option value="AZ">Azerbaijan</option> 427<option value="BS">Bahamas</option> 428<option value="BH">Bahrain</option> 429<option value="BD">Bangladesh</option> 430<option value="BE">Belgium</option> 431<option value="BZ">Belize</option> 432<option value="BM">Bermuda</option> 433<option value="BT">Bhutan</option> 434<option value="BO">Bolivia</option> 435<option value="BA">Bosnia & Herzegovina</option> 436<option value="BA">Bosnia and Herzegovina</option> 437<option value="BW">Botswana</option> 438<option value="BR">Brazil</option> 439<option value="VG">British Virgin Islands</option> 440<option value="BN">Brunei</option> 441<option value="BG">Bulgaria</option> 442<option value="KH">Cambodia</option> 443<option value="CM">Cameroon</option> 444<option value="CA">Canada</option> 445<option value="029">Caribbean</option> 446<option value="CL">Chile</option> 447<option value="CN">China</option> 448<option value="CO">Colombia</option> 449<option value="CD">Congo (DRC)</option> 450<option value="CR">Costa Rica</option> 451<option value="CI">Côte d’Ivoire</option> 452<option value="HR">Croatia</option> 453<option value="CZ">Czechia</option> 454<option value="DK">Denmark</option> 455<option value="DO">Dominican Republic</option> 456<option value="EC">Ecuador</option> 457<option value="EG">Egypt</option> 458<option value="SV">El Salvador</option> 459<option value="ER">Eritrea</option> 460<option value="EE">Estonia</option> 461<option value="ET">Ethiopia</option> 462<option value="FO">Faroe Islands</option> 463<option value="FI">Finland</option> 464<option value="FR">France</option> 465<option value="GE">Georgia</option> 466<option value="DE">Germany</option> 467<option value="GH">Ghana</option> 468<option value="GR">Greece</option> 469<option value="GL">Greenland</option> 470<option value="GT">Guatemala</option> 471<option value="HT">Haiti</option> 472<option value="HN">Honduras</option> 473<option value="HK">Hong Kong SAR</option> 474<option value="HU">Hungary</option> 475<option value="IS">Iceland</option> 476<option value="IN">India</option> 477<option value="ID">Indonesia</option> 478<option value="IE">Ireland</option> 479<option value="IL">Israel</option> 480<option value="IT">Italy</option> 481<option value="JM">Jamaica</option> 482<option value="JP">Japan</option> 483<option value="JO">Jordan</option> 484<option value="KZ">Kazakhstan</option> 485<option value="KE">Kenya</option> 486<option value="KR">Korea</option> 487<option value="KW">Kuwait</option> 488<option value="KG">Kyrgyzstan</option> 489<option value="LA">Laos</option> 490<option value="419">Latin America</option> 491<option value="LV">Latvia</option> 492<option value="LI">Liechtenstein</option> 493<option value="LT">Lithuania</option> 494<option value="LU">Luxembourg</option> 495<option value="MO">Macao SAR</option> 496<option value="MY">Malaysia</option> 497<option value="MV">Maldives</option> 498<option value="ML">Mali</option> 499<option value="MT">Malta</option> 500<option value="MX">Mexico</option> 501<option value="MD">Moldova</option> 502<option value="MC">Monaco</option> 503<option value="MN">Mongolia</option> 504<option value="ME">Montenegro</option> 505<option value="MA">Morocco</option> 506<option value="MM">Myanmar</option> 507<option value="NP">Nepal</option> 508<option value="NL">Netherlands</option> 509<option value="NZ">New Zealand</option> 510<option value="NI">Nicaragua</option> 511<option value="NG">Nigeria</option> 512<option value="MK">North Macedonia</option> 513<option value="NO">Norway</option> 514<option value="OM">Oman</option> 515<option value="PK">Pakistan</option> 516<option value="PA">Panama</option> 517<option value="PY">Paraguay</option> 518<option value="PE">Peru</option> 519<option value="PH">Philippines</option> 520<option value="PL">Poland</option> 521<option value="PT">Portugal</option> 522<option value="PR">Puerto Rico</option> 523<option value="RE">Réunion</option> 524<option value="RO">Romania</option> 525<option value="RU">Russia</option> 526<option value="RW">Rwanda</option> 527<option value="SA">Saudi Arabia</option> 528<option value="SN">Senegal</option> 529<option value="RS">Serbia</option> 530<option value="SG">Singapore</option> 531<option value="SK">Slovakia</option> 532<option value="SI">Slovenia</option> 533<option value="SO">Somalia</option> 534<option value="ZA">South Africa</option> 535<option value="ES">Spain</option> 536<option value="LK">Sri Lanka</option> 537<option value="SE">Sweden</option> 538<option value="CH">Switzerland</option> 539<option value="TW">Taiwan</option> 540<option value="TJ">Tajikistan</option> 541<option value="TH">Thailand</option> 542<option value="TT">Trinidad & Tobago</option> 543<option value="TN">Tunisia</option> 544<option value="TR">Türkiye</option> 545<option value="TM">Turkmenistan</option> 546<option value="UA">Ukraine</option> 547<option value="AE">United Arab Emirates</option> 548<option value="GB">United Kingdom</option> 549<option selected="selected" value="US">United States</option> 550<option value="UY">Uruguay</option> 551<option value="UZ">Uzbekistan</option> 552<option value="VA">Vatican City</option> 553<option value="VE">Venezuela</option> 554<option value="VN">Vietnam</option> 555<option value="001">world</option> 556<option value="YE">Yemen</option> 557</select> 558 <div class="valid-feedback"> 559Looks good! 560 </div> 561 <div class="invalid-feedback"> 562Please add your country. 563 </div> 564 565 566 </div> 567 </div> 568 <div class="form-row gz-contact-form-contact"> 569 <div class="form-group col"> 570 <label for="ContactFormPhone"> 571 Phone
572 <span class="gz-form-req" title="Required field">*</span> 573 574 </label> 575<input class="form-control" id="ContactFormPhone" name="Phone" placeholder="(000) 000-0000" required="" type="text" value="" /> 576 <div class="valid-feedback"> 577Looks good! 578 </div> 579 <div class="invalid-feedback"> 580Please add your phone number. 581 </div> 582 583 584 </div> 585 <div class="form-group col"> 586 <label for="ContactFormEmail"> 587 Email 588 <span class="gz-form-req" title="Required field">*</span> 589 590 </label> 591<input class="form-control" id="ContactFormEmail" name="Email" placeholder="[email protected]" required="" type="email" value="" /> 592 <div class="valid-feedback"> 593Looks good! 594 </div> 595 <div class="invalid-feedback"> 596Please add a valid email. 597 </div> 598 599 600 </div> 601 <div class="form-group-col" style="display:none"> 602 <label for="ContactFormAlternateEmail"> 603 Leave Blank 604 605 </label> 606<input class="form-control" id="ContactFormAlternateEmail" name="AlternateEmail" type="text" value="" /> 607 608 609 610 611 </div> 612 </div> 613 <div class="form-row gz-contact-form-pref"> 614 <div class="form-group col"> 615 <label for="ContactFormPref"> 616 Contact Preference 617 <span class="gz-form-req" title="Required field">*</span> 618 619 </label> 620<select class="form-control" id="ContactFormPref" name="ContactPreference" required=""><option value="">Choose...</option> 621<option value="3">Phone</option> 622<option value="1">Email</option> 623<option value="4">Mail</option> 624</select> 625 <div class="valid-feedback"> 626Looks good! 627 </div> 628 <div class="invalid-feedback"> 629Please select a contact preference. 630 </div> 631 632 633 </div> 634 </div> 635 <div class="form-row gz-contact-form-comments"> 636 <div class="form-group col"> 637 <label for="ContactFormComments"> 638 Comments/Questions 639 640 </label> 641<textarea class="form-control" id="ContactFormComments" maxlength="9999" name="Comments" placeholder="Type comments here." rows="5"> 642</textarea> 643 644 645 646 647 </div> 648 </div> 649 <div class="form-row gz-contact-form-disclaimer"> 650 <div class="form-group col"> 651 <fieldset> 652 <legend style="display: none">Release this information</legend> 653 <p class="gz-contact-disclaimer-text">The Hastings Area Chamber of Commerce - NE will not sell your contact or email information. In order to serve your request, our office shares information with chamber member businesses who can provide you with additional information. Please indicate below if we may share your request for information:</p> 654 <div class="form-check radio-lg form-check-inline mr-5"> 655 <input checked="checked" class="form-check-input" id="InfoReleaseTrue" name="ReleaseToMembers" type="radio" value="True" /> 656 <label class="form-check-label" for="InfoReleaseTrue">Yes, you may release this information.</label> 657 </div> 658 659 <div class="form-check radio-lg form-check-inline mr-5"> 660 <input class="form-check-input" id="InfoReleaseFalse" name="ReleaseToMembers" type="radio" value="False" /> 661 <label class="form-check-label" for="InfoReleaseFalse">No, please do not release this information.</label> 662 </div> 663 664 </fieldset> 665 </div> 666 </div> 667 <div class="form-row gz-contact-captcha"> 668 <div class="col-12 gz-comm-captcha"> 669 <label style="display:none" for="captchavalidation">Captcha Validation</label> 670 <input style="display:none" id="captchavalidation" class="form-control" data-recaptcha="true" required aria-hidden="true"> 671 <div class="invalid-feedback"> 672 Please complete the Captcha 673 </div> 674 <div class="g-recaptcha" data-sitekey="6LcpNUMUAAAAAB5iVpO_rzGG2TK_vFp7V6SCw_4s" data-callback="verifyRecaptchaCallback" data-expired-callback="expiredRecaptchaCallback"></div> 675 </div> 676 </div> 677 <div class="form-row gz-contact-form-submit"> 678 <div class="form-group col"> 679 <button class="btn" type="button">Submit form</button> 680 </div> 681 </div> 682</form> <div class="gz-contact-association"> 683 <div class="gz-association-name">Hastings Area Chamber of Commerce - NE</div> 684 <div class="gz-association-street">P.O. Box 1104</div> 685 <div class="gz-association-citystatezip"> 686 Hastings, NE 68902-1104 687 </div> 688 <div class="gz-association-phone">(402) 461-8400 Fax: (402) 461-4400</div> 689 690 <div class="gz-association-email"><a href="mailto:[email protected]">[email protected]</a></div> 691 </div> 692 </div> 693 </div> 694</div> 695 696 697 <!-- JavaScript for Bootstrap 4 components --> 698 <!-- 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-->
698 699
699<script type="text/javascript"> 700 (function ($) { 701 $(function () { 702 var $gzns = $('#gzns'); 703 var $info = $('#gzns').find('.col-sm-6.col-md-4'); 704 if ($gzns.width() > 950) { 705 $info.addClass('col-lg-3'); 706 } 707 708 var store = window.localStorage; 709 var key = "10-list-view"; 710 var printKey = "24-list-view"; 711 $('.gz-view-btn').click(function (e) { 712 e.preventDefault(); 713 $('.gz-view-btn').removeClass('active'); 714 $(this).addClass('active'); 715 if ($(this).hasClass('gz-list-view')) { 716 store.setItem(key, true); 717 store.setItem(printKey, true); 718 $('.gz-list-card-wrapper').removeClass('col-sm-6 col-md-4').addClass('gz-list-col'); 719 } else { 720 store.setItem(key, false); 721 store.setItem(printKey, false); 722 $('.gz-list-card-wrapper').addClass('col-sm-6 col-md-4').removeClass('gz-list-col'); 723 } 724 }); 725 726 var isListView = store.getItem(key) == null ? MNI.DEFAULT_LISTING : store.getItem(key) == "true"; 727 if (isListView) $('.gz-view-btn.gz-list-view').click(); 728 store.setItem(printKey, isListView); 729 MNI.LayoutResolution(); 730 731 (function ($modal) { 732 if ($modal[0]) { 733 $('#gz-info-contactfriend').on('shown.bs.modal', function (e) { 734 $modal.css('max-height', $(window).height() + 'px'); 735 $modal.addClass('isLoading'); 736 $.ajax({ url: MNI.BaseUrl + '/inforeq/contactFriend?itemType='+MNI.ITEM_TYPE+'&itemId='+MNI.ITEM_ID }) 737 .then(function (r) { 738 $modal.find('.modal-body') 739 .html($.parseHTML(r.Html)); 740 $modal.removeClass('isLoading'); 741 $('#gz-info-contactfriend').addClass('in'); 742 $.getScript("https://www.google.com/recaptcha/api.js"); 743 }); 744 }); 745 $('#gz-info-contactfriend .send-btn').click(function () { 746 var $form = $modal.find('form'); 747 $modal.addClass('isLoading'); 748 $.ajax({
749 url: $form.attr('action'), 750 type: 'POST', 751 data: $form.serialize(), 752 dataType: 'json' 753 }).then(function (r) { 754 if (r.Success) $('#gz-info-contactfriend').modal('hide'); 755 else $modal.find('.modal-body').html($.parseHTML(r.Html)); 756 $.getScript("https://www.google.com/recaptcha/api.js"); 757 $modal.removeClass('isLoading'); 758 }); 759 }); 760 } 761 })($('#gz-info-contactfriend .modal-content')); 762 763 (function ($modal) { 764 if ($modal[0]) { 765 $('#gz-info-subscribe').on('shown.bs.modal', function (e) { 766 $('#gz-info-subscribe .send-btn').show(); 767 $modal.addClass('isLoading'); 768 $.ajax({ url: MNI.SUBSCRIBE_URL }) 769 .then(function (r) { 770 $modal.find('.modal-body') 771 .html(r); 772 773 $modal.removeClass('isLoading'); 774 }); 775 }); 776 $('#gz-info-subscribe .send-btn').click(function () { 777 var $form = $modal.find('form'); 778 $modal.addClass('isLoading'); 779 780 waitForGrecaptcha(() => { 781 setReCaptchaToken($form, () => { 782 $.ajax({
783 url: $form.attr('action'), 784 type: 'POST', 785 data: $form.serialize() 786 }).then(function (r) { 787 if (r.toLowerCase().search('thank you') != -1) { 788 $('#gz-info-subscribe .send-btn').hide(); 789 } 790 $modal.find('.modal-body').html(r); 791 $modal.removeClass('isLoading'); 792 }); 793 }, "hotDealsSubscribe"); 794 }) 795 }); 796 } 797 })($('#gz-info-subscribe .modal-content')); 798 799 (function ($modal) { 800 $('#gz-info-calendarformat').on('shown.bs.modal', function (e) { 801 var backdropElem = "<div class=\"modal-backdrop fade in\" style=\"height: 731px;\" ></div >"; 802 $('#gz-info-calendarformat').addClass('in'); 803 if (!($('#gz-info-calendarformat .modal
803-backdrop').length)) { 804 $('#gz-info-calendarformat').prepend(backdropElem); 805 } 806 else { 807 $('#gz-info-calendarformat .modal-backdrop').addClass('in'); 808 } 809 }); 810 $('#gz-info-calendarformat').on('hidden.bs.modal', function (e) { 811 $('#gz-info-calendarformat').removeClass('in'); 812 $('#gz-info-calendarformat .modal-backdrop').remove(); 813 }); 814 if ($modal[0]) { 815 $('.calendarLink').click(function (e) { 816 $('#gz-info-calendarformat').modal('hide'); 817 }); 818 } 819 })($('#gz-info-calendarformat .modal-content')); 820 821 // Constructs the Find Members type ahead suggestion engine. Tokenizes on the Name item in the remote return object. Case Sensitive usage. 822 var members = new Bloodhound({ 823 datumTokenizer: Bloodhound.tokenizers.whitespace, 824 queryTokenizer: Bloodhound.tokenizers.whitespace, 825 remote: { 826 url: MNI.BaseUrl + '/list/find?q=%searchTerm', 827 wildcard: '%searchTerm', 828 replace: function () { 829 var q = MNI.BaseUrl + '/list/find?q=' + encodeURIComponent($('.gz-search-keyword').val()); 830 var categoryId = $('#catgId').val(); 831 var quickLinkId = $('#qlId').val(); 832 if (categoryId) { 833 q += "&catgId=" + encodeURIComponent(categoryId); 834 } 835 if (quickLinkId) { 836 q += "&qlid=" + encodeURIComponent(quickLinkId); 837 } 838 return q; 839 } 840 } 841 }); 842 843 // Initializing the typeahead using the Bloodhound remote dataset. Display the Name and Type from the dataset via the suggestion template. Case sensitive. 844 $('.member-typeahead').typeahead({ 845 hint: false, 846 }, 847 { 848 display: 'Name', 849 source: members, 850 limit: Infinity, 851 templates: { 852 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>' } 853 } 854 }); 855 856 $('.member-typeahead').on('typeahead:selected', function (evt, item) { 857 var openInNewWindow = MNI.Page.MemberPagePopup 858 var doAction = openInNewWindow ? MNI.openNewWindow : MNI.redirectTo; 859 860 switch (item.ResultType) { 861 case 1: // AutocompleteSearchResultType.Category 862 doAction(MNI.Path.Category(item.SlugWithID)); 863 break; 864 case 2: // AutocompleteSearchResultType.QuickLink 865 doAction(MNI.Path.QuickLink(item.SlugWithID)); 866 break; 867 case 3: // AutocompleteSearchResultType.Member 868 if (item.MemberPageAction == 1) { 869 MNI.logHitStat("mbrws", item.ID).then(function () { 870 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithI
870D); 871 doAction(location); 872 }); 873 } 874 else { 875 var location = item.WebParticipation < 10 ? MNI.Path.MemberKeywordSearch(item.Name) : MNI.Path.Member(item.SlugWithID); 876 doAction(location); 877 } 878 break; 879 } 880 }) 881 882 $('#category-select').change(function () { 883 // Store the category ID in a hidden field so the remote fetch can use it when necessary 884 var categoryId = $('#category-select option:selected').val(); 885 $('#catgId').val(categoryId); 886 // Don't rely on prior locally cached data when the category is changed. 887 $('.member-typeahead').typeahead('destroy'); 888 $('.member-typeahead').typeahead({ 889 hint: false, 890 }, 891 { 892 display: 'Name', 893 source: members, 894 limit: Infinity, 895 templates: { 896 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>' } 897 } 898 }); 899 }); 900 MNI.Plugins.AutoComplete.Init('#mn-search-geoip input', { path: '/' + MNI.MemberFilterUrl + '/find-geographic' }); 901 }); 902 })(MNI.jQuery); 903 </script>
903 904 </div> 905 906</body> 907</html> 908
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.