1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4
4<script type="text/javascript"> 5 var RootUrl = '/'; 6 </script>
6 7 8 <meta charset="utf-8" /> 9 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> 10 <title>Contact | WinGIS </title> 11 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 12 <meta name="description" content="Found an issue on the site? Have a question about WinGIS? Submit an inquiry here."> 13 14<!-- Bootstrap --> 15<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous"> 16<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css"> 17 18<link href="/css/pages.css" rel="stylesheet"> 19<link href="/css/print.css" rel="stylesheet" /> 20 21<link href="/css/overrides.css" rel="stylesheet" /> 22<link href="/css/utilities.css" rel="stylesheet" /> 23 24<link href="/css/home.css" rel="stylesheet"> 25<link href="/css/theme.css" rel="stylesheet" /> 26<link href="/css/referenceTieView.css" rel="stylesheet" /> 27
28<script src="/js/Themes.js"></script>
vendor: 2 bytes, line 28
28
29<script src="/js/iecheck.js"></script>
29 30 </head> 31 <body> 32 <!-- Google tag (gtag.js) (Must be at top of body) -->
vendor: 77 bytes, lines 32-33
32 33 <script async src="https://www.googletagmanager.com/gtag/js?id=
33G-D5QL32MSEK
vendor: 25 bytes, lines 33-34
33"></script> 34
34<script> 35
vendor: 180 bytes, lines 35-39
35window.dataLayer = window.dataLayer || []; 36 function gtag(){dataLayer.push(arguments);} 37 gtag('js', new Date()); 38 39 gtag('config', '
39G-D5QL32MSEK
vendor: 17 bytes, lines 39-40
39'); 40
40</script>
40 41
41<script> 42 window.environment = 'Public' 43 </script>
43 44 <div b-k9zyc0wkfa class="min-vh-100 position-relative"> 45 <a b-k9zyc0wkfa href="#main-content" class="skip-to-content-link">Skip to main content</a> 46 <!-- NAVIGATION --> 47 48<nav class="navbar navbar-expand-lg"> 49 <div class="container"> 50 <div class=" d-flex align-content-center h-100"> 51 <a class="navbar-brand col-5 col-lg-7 me-md-4" title="Home" href="/"> 52 <img id="navLogoLight" class="w-100" alt="WinGIS" src="/img/wgLogo.png" /> 53 <img id="navLogoDark" class="w-100" alt="WinGIS" src="/img/wgLogoWhite.png" /> 54 </a> 55 </div> 56 <button class="navbar-toggler" 57 type="button" 58 data-bs-toggle="collapse" 59 data-bs-target="#navbarResponsive" 60 aria-controls="navbarResponsive" 61 aria-expanded="false" 62 aria-label="Toggle navigation"> 63 <i class="bi bi-list"></i> 64 </button> 65 66 <div class="collapse navbar-collapse" id="navbarResponsive"> 67 <ul class="navbar-nav gap-2 w-100"> 68 69 <li class="nav-item dropdown"> 70 <a class="nav-link dropdown-toggle" 71 href="#" 72 id="aboutDropdown" 73 role="button" 74 data-bs-toggle="dropdown" 75 aria-expanded="false"> 76 About 77 </a> 78 <ul class="dropdown-menu" aria-labelledby="aboutDropdown"> 79 <li><a class="dropdown-item" href="/About">Our Story</a></li> 80 <li><a class="dropdown-item" href="/Committees">Committees</a></li> 81 <li><a class="dropdown-item" href="/Meetings">Meetings</a></li> 82 <li><a class="dropdown-item" href="/Membership">Membership</a></li> 83 84 </ul> 85 </li> 86 <li class="nav-item dropdown"> 87 <a class="nav-link dropdown-toggle" 88 href="#" 89 id="surveyorDropdown" 90 role="button" 91 data-bs-toggle="dropdown" 92 aria-expanded="false"> 93 Surveyors 94 </a> 95 <ul class="dropdown-menu" aria-labelledby="surveyorDropdown"> 96 <li><a class="dropdown-item" href="/Surveyors">General Info</a></li> 97 <li><a class="dropdown-item" href="/SubOrdinances">Subdivision Ordinances</a></li> 98 <li><a class="dropdown-item" href="/ControlMonCoords">Control Monument Coordinates</a></li> 99 <li><a class="dropdown-item" href="https://wingis.org/sitePDF/SurveyControlMap.pdf">Control Network Overview Map (PDF)</a></li> 100 <li><a class="dropdown-item" href="/ReferenceTie">Reference Ties</a></li> 101 </ul> 102 </li> 103 104 <li class="nav-item"> 105 <a class="nav-link" href="/GISData">GIS Data</a> 106 </li> 107 108 <li class="nav-item"> 109 <a class="nav-link" href="/Contact">Contact</a> 110 111 </li> 112 <li class="nav-item"> 113 <a class="nav-link nav-emphasis" href="/Tutorials"> 114 Tutorials 115 </a> 116 </li> 117 <li class="nav-item"> 118 <a class="nav-link nav-emphasis" href="/ParcelSummary"> 119 Parcel Summary 120 </a> 121 </li> 122 <li class="nav-item"> 123 <a class="nav-link nav-emphasis" href="/MapGallery">Maps</a> 124 </li> 125 <li class="ms-lg-auto"></li> 126 127 <li class="ms-start nav-item"> 128 <a class="nav-link" href="/Subscription">Sign-In</a> 129 </li> 130 <li class="d-flex align-items-center" style="position: relative;"> 131 <div class="dropdown"> 132 <button class="btn btn-secondary dropdown-toggle" type="button" title="Change Theme" data-bs-toggle="dropdown" aria-expanded="false"> 133 <i class="bi bi-palette-fill"></i> 134 </button> 135 <ul class="dropdown-menu" id="themeList"> 136 </ul> 137 </div> 138 </li> 139 140 141 </ul> 142 </div> 143 </div> 144</nav> 145 146 <!-- PAGES HEADER --> 147 <header b-k9zyc0wkfa class="pagesHeader"></header> 148 149 <div b-k9zyc0wkfa class="py-4 px-2"> 150 <div b-k9zyc0wkfa class="container-lg"> 151 <main b-k9zyc0wkfa id="main-content">
vendor: 103 bytes, lines 151-152
151 152 <script src="https://www.google.com/recaptcha/api.js" async defer></script>
153<div class="row mb-0"> 154 <div class="col-12"> 155 <h1 class="fs-4 col-12 p-0 ps-2 ps-lg-4 mb-3">Contact Us</h1> 156 </div> 157 <div class="col-12"> 158 <div class="px-2 px-lg-4"> 159 <form id="contact" method="POST"> 160 161 <div class="row"> 162 <div class="col-12 col-sm-6"> 163 <div class="form-group"> 164 <label class="d-block" for="FirstName">First Name: </label> 165 <input type="text" class="form-control" id="FirstName" name="FirstName"/> 166 </div> 167 </div> 168 <div class="col-12 col-sm-6"> 169 <div class="form-group"> 170 <label class="d-block" for="LastName">Last Name: </label> 171 <input type="text" class="form-control" id="LastName" name="LastName" /> 172 </div> 173 </div> 174 </div> 175 <div class="row"> 176 <div class="col-12"> 177 <label class="d-block" for="Email">E-Mail: </label> 178 <input type="text" class="form-control" id="Email" name="Email" /> 179 </div> 180 </div> 181 <div class="row mb-0"> 182 <div class="col-12"> 183 <label class="d-block" for="Comment">Comment: </label> 184 <textarea id="Comment" class="form-control" name="Comment"></textarea> 185 </div> 186 </div> 187 <div class="row my-0"> 188 <div id="contactcaptcha" class="g-recaptcha my-3 " data-size="compact" data-sitekey="6LfP0_4oAAAAAPE5ggvMdx6vStbUieg1H7dEE4Dy"></div> 189 <input id="submit" class="btn btn-primary col-12 col-md-4 col-lg-2" type="submit" value="Submit"> 190 </div> 191 <input name="__RequestVerificationToken" type="hidden" value="CfDJ8MEzDTsWYC1MlTQN849gMlI_GgdWrMTkKOuuZKiaJa-PaA1_iSY3xztWAuJeI2RvAILjFW2_gJ2mYOpNP1xEfWxd8r28wlUnp-71mMd1JyBO7kTxTTLg7cacxC29AtRSv8k3wy-wlFQJ8V2snm-kXpU" /></form> 192 </div> 193 </div> 194</div>
195<script> 196 document.addEventListener("DOMContentLoaded", () => { 197 198 const form = document.getElementById("contact"); 199 200 form.addEventListener("submit", async (e) => { 201 e.preventDefault(); 202 203 const txtResults = document.getElementById("txtResults") 204 ?? createResultsContainer(form); 205 206 const captcha = grecaptcha.getResponse(); 207 208 const formData = { 209 FirstName: document.getElementById("FirstName").value.trim(), 210 LastName: document.getElementById("LastName").value.trim(), 211 Email: document.getElementById("Email").value.trim(), 212 Comment: document.getElementById("Comment").value.trim() 213 }; 214 215 let valid = true; 216 const errors = []; 217 218 if (!formData.FirstName) { 219 errors.push("First Name required."); 220 valid = false; 221 } 222 if (!formData.LastName) { 223 errors.push("Last Name required."); 224 valid = false; 225 } 226 if (!formData.Email) { 227 errors.push("Email required."); 228 valid = false; 229 } 230 if (!formData.Comment) { 231 errors.push("Comment required."); 232 valid = false; 233 } 234 if (!captcha) { 235 errors.push("Invalid Captcha. Please check the box."); 236 valid = false; 237 } 238 239 removeElementById("errorDiv"); 240 241 if (!valid) { 242 const errorDiv = document.createElement("div"); 243 errorDiv.id = "errorDiv"; 244 245 errors.forEach(err => { 246 const p = document.createElement("p"); 247 p.textContent = err; 248 errorDiv.appendChild(p); 249 }); 250 251 txtResults.appendChild(errorDiv); 252 return; 253 } 254 255 const tokenInput = document.querySelector( 256 'input[name="__RequestVerificationToken"]' 257 ); 258 259 const actionUrl = `?handler=SubmitContactFormAjax`; 260 261 try { 262 const response = await fetch(actionUrl, { 263 method: "POST", 264 headers: { 265 "Content-Type": "application/x-www-form-urlencoded", 266 "RequestVerificationToken": tokenInput?.value ?? "" 267 }, 268 body: new URLSearchParams({ 269 FirstName: formData.FirstName, 270 LastName: formData.LastName, 271 Email: formData.Email, 272 Message: formData.Comment, 273 Captcha: captcha 274 }) 275 }); 276 277 if (!response.ok) { 278 throw new Error("Request failed"); 279 } 280 281 const data = await response.text(); 282 283 removeElementById("submit"); 284 removeElementById("success"); 285 removeElementById("errorDiv"); 286 287 const successDiv = document.createElement("div"); 288 successDiv.id = "success"; 289 successDiv.innerHTML = data; 290 291 txtResults.appendChild(successDiv); 292 293 } catch (err) { 294 console.error("An error occurred:", err); 295 txtResults.textContent = "An error occurred."; 296 } 297 }); 298 299 function removeElementById(id) { 300 const el = document.getElementById(id); 301 if (el) el.remove(); 302 } 303 304 function createResultsContainer(form) { 305 const div = document.createElement("div"); 306 div.id = "txtResults"; 307 form.appendChild(div); 308 return div; 309 } 310 }); 311</script>
311 312 313 314 315 </main> 316 </div> 317 </div> 318 319 </div> 320 321 322<footer class="footer mt-5 py-4 px-1 print-none"> 323 <div class="container"> 324 <div class="row content w-100"> 325 <div class="col-md-4"> 326 <h2 class="footerheader fs-5">Contact Information</h2> 327 <p> 328 127 N. Wyman St. - Suite 100. Rockford, IL 61101<br /> 329 815.319.4450<br /> 330 [email protected] 331 </p> 332 <p><a href="/Contact">Leave us some feedback or ask a question</a></p> 333 </div> 334 <div class="col-md-4"> 335 <h2 class="footerheader fs-5">Other Links</h2> 336 <div class="d-flex flex-column gap-3"> 337 <a href="/Privacy">Privacy Policy </a> 338 <a href="/Terms">Terms of Use</a> 339 <a href="https://www.indeed.com/cmp/Region-1-Planning-Council-1/jobs">Careers</a> 340 </div> 341 </div> 342 <div class="col-md-4"> 343 <h2 class="fs-5 ">Public Meeting Notice</h2> 344 <b>Next Policy Committee Meeting: </b> 345 <br /> 346 <p> 347 11/12/2026 <br/> 348 127 N Wyman St, Rockford IL<br/> 349 9:15am 350 351 </p> 352 <b>Next Technical Committee Meeting: </b> 353 <br /> 354 <p> 355 10/22/2026 <br /> 356 127 N Wyman St, Rockford IL<br /> 357 9:00am 358 359 </p> 360 </div> 361 </div> 362 </div> 363</footer>
364<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
vendor: 2 bytes, line 364
364
365<script src="/js/pagination.js"></script>
vendor: 2 bytes, line 365
365
366<script src="https://js.arcgis.com/4.34/"></script>
vendor: 2 bytes, line 366
366
367<script type="module" src="https://js.arcgis.com/4.34/map-components/"></script>
vendor: 2 bytes, line 367
367
368<script type="module" src="/js/ArcGISConfig.js"></script>
368 369 370 </body> 371</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.