1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <!DOCTYPE html> 25<html class="uk-root" lang="en"> 26<head> 27 28 29<style type="text/css">@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/vietnamese/opsz/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/latin/opsz/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/latin-ext/opsz/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/cyrillic/opsz/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/cyrillic-ext/opsz/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/greek/opsz/normal.woff2);unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-display:swap;}@font-face {font-family:'Inter';font-style:normal;font-weight:400 700;src:url(/cf-fonts/v/inter/5.2.8/greek-ext/opsz/normal.woff2);unicode-range:U+1F00-1FFF;font-display:swap;}</style> 30<link rel="stylesheet" type="text/css" href="/fdn-system/assets/pub/styles/desktop.min.css?cb=22662bd1ab54d2151e0ce33e2afc7426" />
31<script src="/fdn-system/assets/pub/scripts/uikit.min.js"></script>
vendor: 2 bytes, line 31
31
32<script src="/fdn-system/assets/pub/scripts/uikit-icons-fdn.min.js"></script>
32 33<meta name="viewport" content="width=device-width, initial-scale=1"> 34<meta charset="UTF-8"> 35<meta name="layout" content="Add Event (Responsive, Live, Air)" />
36<script> 37window.__FOUNDATION_RESPONSIVE__ = true 38// 39window.__FBAPIv__ = 'v3.2' 40// 41</script>
vendor: 2 bytes, line 41
41
42<script data-cfasync="false" src="/foundation/scripts/foundation-air-2-0-1.js?cb=209a2da792619307137598ae35776903"></script>
42 43<!-- include: admin --> 44<meta name="google-site-verification" content="tErswObYUR9Q8SoI0jvEILfm2KAyeIiPuRjcPt0AWf4" /> 45<meta name="google-site-verification" content="YF0MQI1qDlYl9g04gFO_kI6WNe5VbgbA2c-Qaw73BWc" /> 46<meta name="google-site-verification" content="VMmldrbTjO0I2BTEZ-QT2L0us5SxEqym4S1Qf-FnF24" /> 47<!-- ### BING Meta Tag ### --> 48<meta name="msvalidate.01" content="65B6EA3CDA493A70AE7DFDFD1ED93A8F" /> 49<!-- ### Google Publisher Tag ### -->
50<script> 51window.Foundation = window.Foundation || {}; 52window.Foundation.Gpt = window.Foundation.Gpt || {}; 53window.Foundation.Gpt.Options = window.Foundation.Gpt.Options || {}; 54// Enable/Disable debug output 55window.Foundation.Gpt.Options.debugging = false; 56// Enable/Disable placeholder ads 57window.Foundation.Gpt.Options.showPlaceholders = false; 58// Breakpoints at which to re-request ads upon window resize or screen rotation 59window.Foundation.Gpt.Options.layoutBreakPoints =[998, 972, 780, 630]; 60// Page Level targeting key value pairs to supply for GPT tag 61window.Foundation.Gpt.Options.pageLeveTargeting = [{ key: "template", value: ["AddEvent"] }, { key: "site", value: ["calendar.chronogram.com"] }, { key: "media", value: ["screen"] }]; 62// List of ads define in GPT header. 63// Use id defined in slotConfigData. 64// For multiples of the same config append -1, -2, -3, ... -99, -100, -101, etc. 65window.Foundation.Gpt.Options.defineInHeaderSlotIdList = ["FixedFooter"]; 66// Ad Slot configuration presets 67// Define one for each kind of ad spot in the page 68// These can be reused for multiple ads, so no need to define one for every single ad 69// id: Alphabetical characters only [A-Za-z]. Do not use `-`, spaces, or punctuation. 70window.Foundation.Gpt.Options.slotPresetData = window.Foundation.Gpt.Options.slotPresetData || [{ 71type: "outofpage", 72id: "SiteSkin", 73adUnit: "/35456575/chronogram_wallpaper", 74// adUnit: "/1006421/dev_siteskin_1", 75},{ 76type: "display", 77id: "FixedFooter", 78adUnit: "/35456575/LM_970x90", 79sizes: [[970, 90], [728,90], [320, 100], [320, 50], [300, 100], [300, 50]], 80sizeMap: [ 81{ minSize: [972, 0], sizes: [970, 90] }, 82{ minSize: [779, 0], sizes: [728, 90] }, 83{ minSize: [0, 0], sizes: [[320, 100], [320, 50], [300, 100], [300, 50]] }, 84], 85targeting: [ 86// assigned to FixedFooter slot, all device types 87{ key: "pageposition", value: ["footer"] }, 88], 89},{ 90type: "display", 91id: "LeaderboardAtf", 92adUnit: "/35456575/LM_970x90", 93sizes: [[970, 90], [728,90], [320, 100], [320, 50], [300, 50]], 94sizeMap: [ 95{ minSize: [998, 0], sizes: [970, 90] }, 96{ minSize: [0, 0], sizes: [[320, 50], [300, 50]] }, 97], 98targeting: [ 99// assigned to first Leaderboard slot, all device types 100{ key: "pageposition", value: ["abovethefold"] }, 101], 102},{ 103type: "display", 104id: "Leaderboard", 105adUnit: "/35456575/LM_970x90", 106sizes: [[970, 90], [728,90], [320, 100], [320, 50], [300, 50]], 107sizeMap: [ 108{ minSize: [998, 0], sizes: [970, 90] }, 109{ minSize: [0, 0], sizes: [[320, 50], [300, 50]] }, 110], 111targeting: [ 112{ key: "pageposition", value: ["belowthefold"] }, 113], 114},{ 115type: "display", 116id: "LeaderboardInlineResults", 117adUnit: "/35456575/LM_970x90", 118sizes: [[970, 90], [728,90], [320, 100], [320, 50], [300, 50]], 119sizeMap: [ 120{ minSize: [998, 0], sizes: [970, 90] }, 121{ minSize: [0, 0], sizes: [[320, 50], [300, 50]] }, 122], 123targeting: [ 124{ key: "pageposition", value: ["belowthefold"] }, 125], 126},{ 127type: "display", 128id: "Rectangle", 129adUnit: "/35456575/LM_300x250", 130sizes: [300, 250], 131sizeMap: [ 132{ minSize: [300, 0], sizes: [300, 250] }, 133{ minSize: [0, 0], sizes: [] }, 134], 135targeting: [ 136{ key: "pageposition", value: ["belowthefold"] }, 137], 138},{ 139type: "display", 140id: "RectangleInlineSlideshow", 141adUnit: "/35456575/LM_300x250", 142sizes: [300, 250], 143sizeMap: [ 144{ minSize: [300, 0], sizes: [300, 250] }, 145{ minSize: [0, 0], sizes: [] }, 146], 147targeting: [ 148{ key: "pageposition", value: ["belowthefold"] }, 149], 150},{ 151type: "display", 152id: "RectangleLargeDisplayOnly", 153adUnit: "/35456575/LM_300x250", 154sizes: [300, 250], 155sizeMap: [ 156{ minSize: [998, 0], sizes: [300, 250] }, 157{ minSize: [0, 0], sizes: [] }, 158], 159targeting: [ 160{ key: "pageposition", value: ["belowthefold"] }, 161], 162},{ 163type: "display", 164id: "RectangleLargeMediumDisplayOnly", 165adUnit: "/35456575/LM_300x250", 166sizes: [300, 250], 167sizeMap: [ 168{ minSize: [620, 0], sizes: [300, 250] }, 169{ minSize: [0, 0], sizes: [] }, 170], 171targeting: [ 172{ key: "pageposition", value: ["belowthefold"] }, 173], 174},{ 175type: "display", 176id: "RectangleSmallDisplayOnly", 177adUnit: "/35456575/LM_300x250", 178sizes: [300, 250], 179sizeMap: [ 180{ minSize: [640, 0], sizes: [] }, 181{ minSize: [300, 0], sizes: [300, 250] }, 182{ minSize: [0, 0], sizes: [] }, 183], 184targeting: [ 185{ key: "pageposition", value: ["belowthefold"] }, 186], 187},{ 188type: "display", 189id: "Tower", 190adUnit: "/35456575/LM_300x250", 191sizes: [300, 250], 192sizeMap: [ 193{ minSize: [300, 0], sizes: [300, 250] }, 194{ minSize: [0, 0], sizes: [] }, 195], 196targeting: [ 197{ key: "pageposition", value: ["belowthefold"] }, 198], 199},{ 200type: "display", 201id: "TowerAndRectangle", 202adUnit: "/35456575/LM_300x250", 203sizes: [300,250], 204sizeMap: [ 205{ minSize: [300,0], sizes: [300,250] }, 206{ minSize: [0, 0], sizes: [] }, 207], 208targeting: [ 209{ key: "pageposition", value: ["belowthefold"] }, 210], 211}]; 212window.Foundation.Gpt.Options.slotConfigData = window.Foundation.Gpt.Options.slotPresetData 213// Refresh ads on layout breakpoints 214window.addEventListener('foundation:ad:resize', () => { 215Foundation.Gpt.RefreshAll(); 216}); 217</script>
vendor: 1 bytes, line 217
217
218<script src="/foundation/scripts/gpt/202508/fdn-gpt.js?cb=1213e671af772152a16466555cdcb61b"></script>
218 219<!-- Google Tag Manager -->
220<script>
vendor: 327 bytes, lines 220-224
220(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 221new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 222j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 223'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 224})(window,document,'script','dataLayer','
224GTM-TS4NGJB
vendor: 3 bytes, line 224
224');
224</script>
224 225<!-- End Google Tag Manager --> 226<!-- Facebook Pixel -->
227<script>
vendor: 399 bytes, lines 227-236
227 228!function(f,b,e,v,n,t,s) 229{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 230n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 231if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 232n.queue=[];t=b.createElement(e);t.async=!0; 233t.src=v;s=b.getElementsByTagName(e)[0]; 234s.parentNode.insertBefore(t,s)}(window, document,'script', 235'https://connect.facebook.net/en_US/fbevents.js'); 236fbq('init', '
236979467305866428
vendor: 30 bytes, lines 236-237
236'); 237fbq('track', 'PageView');
238</script>
238 239<noscript><img height="1" width="1" style="display:none" 240src="https://www.facebook.com/tr?id=979467305866428&ev=PageView&noscript=1" 241/></noscript> 242<!-- End Facebook Pixel --> 243<!-- include: layout --> 244<!-- include: section --> 245<!-- include: category --> 246<!-- include: page --> 247<!-- include: microsite --> 248<!-- include: content --> 249<meta name="robots" content="max-image-preview:large" /> 250<link rel="shortcut icon" href="/favicon.ico" /> 251<meta name="title" content="Add Event | Chronogram Magazine" /> 252<meta name="description" content="A lifestyle magazine for the Hudson Valley and Catskills with the latest news on arts and cultural events, new restaurants, shops, and more." /> 253<meta name="keywords" content="chronogram, chronogram magazine, Hudson Valley, upstate, upstate new york, Hudson valley news, Hudson Valley events, Hudson Valley lifestyle, Events in the Hudson Valley, Hudson River Valley, Hudson Valley NY" /> 254<title>Add Event | Chronogram Magazine</title> 255<meta name="news_keywords" content="chronogram, chronogram magazine, hudson valley, upstate, upstate new york, hudson valley news, hudson valley events, hudson valley lifestyle, events in the hudson valley, hudson river valley" /> 256<link rel="image_src" href="https://calendar.chronogram.com/binary/2a4e/default-image.png" /> 257<meta name="thumbnail" content="https://calendar.chronogram.com/binary/2a4e/default-image.png" /> 258<link rel="canonical" href="https://calendar.chronogram.com/hudsonvalley/Events/AddEvent" /> 259<meta property="og:url" content="https://calendar.chronogram.com/hudsonvalley/Events/AddEvent" /> 260<meta property="og:site_name" content="Chronogram Magazine" /> 261<meta property="og:title" content="Add Event" /> 262<meta property="og:image" content="https://calendar.chronogram.com/binary/2a4e/default-image.png" /> 263<meta property="og:description" content="A lifestyle magazine for the Hudson Valley and Catskills with the latest news on arts and cultural events, new restaurants, shops, and more." /> 264<meta property="og:type" content="website" /> 265<!-- 266<PageMap> 267<DataObject type="foundation"> 268<Attribute name="oid"></Attribute> 269<Attribute name="class"></Attribute> 270<Attribute name="lastmodified"></Attribute> 271<Attribute name="creationdate"></Attribute> 272</DataObject> 273</PageMap> 274-->
275<script>window.twttr = (function(d, s, id) { 276var js, fjs = d.getElementsByTagName(s)[0], 277t = window.twttr || {}; 278if (d.getElementById(id)) return t; 279js = d.createElement(s); 280js.id = id; 281js.src = "https://platform.twitter.com/widgets.js"; 282fjs.parentNode.insertBefore(js, fjs); 283t._e = []; 284t.ready = function(f) { 285t._e.push(f); 286}; 287return t; 288}(document, "script", "twitter-wjs"));</script>
vendor: 2 bytes, line 288
288
289<script>jQuery(window).on('beforeprint',()=>{jQuery(`img[loading]`).each((index,item)=>{item.removeAttribute(`loading`);});});</script>
289 290</head> 291<body id="AddEvent" class="addEvent chronogram community RespTwoCol1"> 292<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 292-293
292 293<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
293GTM-TS4NGJB
vendor: 83 bytes, lines 293-294
293" 294height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
295<!-- End Google Tag Manager (noscript) --> 296<div id="SiteSkin"></div> 297<div id="fb-root"></div>
298<script> 299dnLoadScript("https://connect.facebook.net/en_US/all.js", true); 300window["fbAsyncInit"] = function () { 301FB.init({ 302"appId": null, 303"xfbml": true 304}); 305}; 306</script>
306 307 308 309<div id="addEvent" class="grid-resp-1 page layout-addEvent"> 310 <div class="ev-grid-layout ev-clamp@m ev-clamp@l"> 311 312 <div class="ev-grid-zone ev-leader-zone"> 313 <div class="ev-grid-col uk-width-1-1" data-ev-zone="Leader"> 314 315 316 317 </div> 318 </div> 319 320 <div class="ev-grid-zone ev-header-zone"> 321 <div class="ev-grid-col uk-width-1-1" data-ev-zone="GlobalHeader"> 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 <div class="GlobalHeader AddEvent uk-margin-remove navigation-community uk-root fdn-margin-vert NavigationCommunity comp-shell-navigationcommunity" data-component-id="NavigationCommunity" > 337 <header id="site-global-header" class="uk-flex uk-flex-middle uk-position-relative" itemscope itemtype="https://schema.org/Organization" role="banner"> 338 339 <span class="header-logo uk-margin-remove"> 340 341 342 <a aria-label="Chronogram Magazine" href="https://www.chronogram.com/calendar" itemprop="url"> 343 344 <div><img src="https://calendar.chronogram.com/apple-touch-icon-iphone.png" alt="Chronogram Magazine" role="presentation" itemprop="logo" width="60" height="60" loading="eager"></div> 345 346 347 <span class="header-text" itemprop="name">Community</span> 348 349 </a> 350 351 </span> 352 353 <div class="uk-margin-auto-left uk-flex uk-flex-middle"> 354 355 <div class="navbar-toggle-block uk-position-relative"> 356 <button class="uk-hidden@m offcanvas-nav-button" type="button" uk-toggle="#offcanvas-nav" aria-label="Toggle navigation"> 357 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="40" height="40" style="cursor: pointer;"> 358 <path d="M0 64h448v64H0z" fill="#000" /> 359 <path d="M0 224h448v64H0z" fill="#000" /> 360 <path d="M0 384h448v64H0z" fill="#000" /> 361 </svg> 362 </button> 363 <button class="uk-hidden@m offcanvas-nav-button" aria-label="Close Navigation" type="button" id="close-offcanvas-nav"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="40" height="40"><!--!Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc.--><path d="M52.2 50.2l-17-17L1.3 67.2l17 17L190.1 256 18.2 427.8l-17 17 33.9 33.9 17-17L224 289.9 395.8 461.8l17 17 33.9-33.9-17-17L257.9 256 429.8 84.2l17-17L412.8 33.3l-17 17L224 222.1 52.2 50.2z" /></svg></button> 364 </div> 365 366 <nav aria-label="Main navigation" class="uk-visible@m" uk-nav> 367 <ul id="main-navigation" class="uk-nav uk-flex uk-flex-middle"> 368 369 370 <li><a href="https://www.chronogram.com" target="_self">Home</a></li> 371 372 373 374 <li> 375 376 <button class="uk-hidden@m nav-dropdown-button" type="button" uk-toggle="target:#nav-dropdown-EventsCalendar;cls:uk-open;">Events</button> 377 378 <a class="uk-visible@m has-subnav" href="/hudsonvalley/EventSearch" target="_self">Events</a> 379 <div id="nav-dropdown-EventsCalendar" class="nav-dropdown uk-padding-remove uk-margin-remove" uk-dropdown="animation: uk-animation-slide-top-small; duration: 200; delay-hide: 300"> 380 <ul class="uk-list uk-subnav uk-flex-column"> 381 382 383 <li><a href="/hudsonvalley/EventSearch?v=d" target="_self">Events Calendar</a></li> 384 385 386 387 <li><a href="/hudsonvalley/Events/AddEvent" target="_self">Add Your Event</a></li> 388 389 390 391 <li><a href="/hudsonvalley/Locations/Edit" target="_self">Add a Location</a></li> 392 393 394 395 <li><a href="https://www.tickettailor.com/events/chronogrammedia" target="_self">Chronogram Events</a></li> 396 397 398 399 <li><a href="/hudsonvalley/EventSearch?eventCategory=2127685&sortType=date&v=d" target="_self">Art Exhibits</a></li> 400 401 402 403 <li><a href="/hudsonvalley/EventSearch?eventCategory=2127741&sortType=date" target="_self">Music Shows</a></li> 404 405 406 407 <li><a href="/hudsonvalley/EventSearch?narrowByDate=This+Weekend&sortType=date&v=d" target="_self">This Weekend</a></li> 408 409 410 </ul> 411 </div> 412 </li> 413 414 415 416 <li><a href="/hudsonvalley/LocationSearch" target="_self">Places</a></li> 417 418 419 420 <li><a href="/hudsonvalley/MovieTimes" target="_self">Movie Times</a></li> 421 422 423 </ul> 424 </nav> 425 </div> 426 427 428 <div class="navigation-community-offcanvas" id="offcanvas-nav" uk-offcanvas aria-hidden="true"> 429 <div class="uk-offcanvas-bar"> 430 <nav class="main-nav-mobile" aria-label="Mobile navigation"></nav> 431 </div> 432 </div> 433 </header> 434 435 436 <div id="skipNav" tabindex="-1"></div> 437 </div> 438 439 440 441 442 443<!-- -- --> 444
444<script> 445 (()=> { 446 // close button for offcanvas 447 const closeOffcanvasNavButton = document.getElementById('close-offcanvas-nav'); 448 closeOffcanvasNavButton.addEventListener('click', () => { 449 UIkit.offcanvas('#offcanvas-nav').hide(); 450 }); 451 452 // nav is not yet cloned 453 let navCloned = false; 454 const header = document.getElementById('site-global-header'); 455 456 UIkit.util.on('#offcanvas-nav', 'beforeshow', () => { 457 // make sure nav isn't already cloned 458 if (!navCloned) { 459 const original = document.getElementById('main-navigation'); 460 const mobile = document.querySelector('.main-nav-mobile'); 461 const offcanvas = document.querySelector('#offcanvas-nav'); 462 463 // get height of header and offset offcanvas. logo should still display and a close button will appear above the hamburder. 464 // not working perfectly yet. doesn't account for margins, parent containers, etc 465 let headerHeight = header.offsetHeight; 466 if (header && offcanvas) { 467 offcanvas.style.top = `${headerHeight}px`; 468 } 469 470 // clone the main nav 471 const clone = original.cloneNode(true); 472 clone.id = clone.id + '-offcanvas-nav'; 473 clone.classList.remove('uk-visible@m'); 474 475 // for second tier. shouldn't do anything if nothing with the attr exists 476 clone.querySelectorAll('[uk-dropdown]').forEach(drop => { 477 drop.removeAttribute('uk-dropdown'); 478 drop.classList.remove('uk-dropdown', 'uk-navbar-dropdown', 'uk-dropdown-bottom-left'); 479 }); 480 481 // add the cloned nav 482 mobile.appendChild(clone); 483 484 // confirm nav is cloned 485 navCloned = true; 486 } 487 }); 488 })(); 489 </script>
489 490 491 492 </div> 493 </div> 494 495 <div class="ev-grid-zone ev-primary-zone"> 496 <div class="fdn-grid-main uk-flex-none fdn-primary"> 497 <div class="ev-grid-col" data-ev-zone="MainTop"> 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 <div class="ZoneA AddEvent uk-root fdn-margin-vert AddEventResponsive comp-event-addevent-index" data-component-id="AddEventResponsive"> 766 <h1 class="uk-margin-small fdn-listing-headline"> 767 768 Add Your Event 769 770 </h1> 771 772 773 774 775 <form class="uk-form-stacked" name="addEventForm" method="post" action="https://calendar.chronogram.com/hudsonvalley/Events/AddEvent" enctype="multipart/form-data" style="position:relative;z-index:1;"> 776 <input type="hidden" name="pageState" value="storeEvent"> 777 <input type="hidden" name="sessionId" value="f59265743f6bdebd9eb5dc127d2bb653"> 778 <input type="hidden" name="sessionOid" value=""> 779 <input type="hidden" name="sessionEmail" value=""> 780 781 782 783 784 <div class="uk-margin-medium uk-position-relative uk-position-z-index" fdn-add-event-step-2-container> 785 <fieldset class="uk-fieldset"> 786 787 788 <input type="hidden" name="eventType" value="location"> 789 <legend class="fdn-interface-form-legend">Step 1: Location Details</legend> 790 791 792 793 <div class="errorContainer uk-margin-bottom" id="locationErrors" hidden></div> 794 795 796 797 798 799 <ul class="locationSwitcher" hidden> 800 <li><a href="#"></a>Search</li> 801 <li><a href="#"></a>New</li> 802 <li><a href="#"></a>Result</li> 803 </ul> 804 805 <ul class="uk-switcher"> 806 807 808 809 810 <li> 811 <div class="locationStart uk-flex uk-flex-column 812 uk-width-1-1 uk-margin-medium"> 813 814 <label class="fdn-interface-label" for="locationSearchInput">Venue Name:</label> 815 816 817 818 <div class="uk-form-controls"> 819 820 <div class="uk-inline uk-width-1-1"> 821 <input class="uk-input" 822 id="locationSearchInput" 823 type="text" 824 name="locationSearch" 825 value="" 826 autocomplete="off" 827 placeholder="Find venue"> 828 829 <div class="locationSuggestions uk-padding-small" 830 uk-dropdown="mode: click; 831 pos: bottom-left; 832 offset: 0; 833 animation: uk-animation-slide-top-small; 834 duration: 250; 835 delay-hide:800;"> 836 <div class="uk-text-muted uk-padding-small"> 837 Enter 4 or more letters to find matches. 838 </div> 839 </div> 840 841 </div> 842 </div> 843 844 845 <div class="uk-margin-small fdn-content-infoline"> 846 847 <p class="uk-margin-remove">Trouble finding your Location? Tried all spelling variations?</p> 848 <a href="#" 849 class="fdn-interface-form-addevent-link" 850 uk-switcher-item="1">Click here to submit a new location for this event</a>. 851 852 </div> 853 854 855 856 </div> 857 </li> 858 859 860 861 862 <li> 863 <div class="locationFormNew"> 864 865 866 867 868 <div class="fdn-content-infoline"> 869 <p class="uk-margin-xsmall">If you are 100% sure your desired location is not already in this 870 website, you can create a new location by filling in the form below. 871 </p> 872 <p class="uk-margin-xsmall">Before starting, please 873 <a href="#" 874 class="fdn-interface-form-addevent-link" 875 uk-switcher-item="0">search existing Locations first</a> 876 </p> 877 </div> 878 879 880 881 882 883 <div class="uk-margin-medium"> 884 <label class="fdn-interface-label" for="locationNameInput"> 885 Name: 886 887 <span class="fdn-interface-form-required-marker">•</span> 888 889 </label> 890 891 892
893 <div class="uk-form-controls"> 894 <input class="uk-input " 895 id="locationNameInput" 896 type="text" 897 name="locationName" 898 value="" 899 required 900 > 901 </div> 902 903 904 905 </div> 906 907 <div class="uk-margin-medium"> 908 <label class="fdn-interface-label" for="locationAddressInput"> 909 Address: 910 911 <span class="fdn-interface-form-required-marker">•</span> 912 913 </label> 914 915 916 917 <div class="uk-form-controls"> 918 <input class="uk-input " 919 id="locationAddressInput" 920 type="text" 921 name="locationAddress" 922 value="" 923 required 924 > 925 </div> 926 927 928 929 </div> 930 931 932 933 <div class="uk-flex uk-flex-row uk-child-width-expand" uk-grid> 934 <div class=""> 935 <div class="uk-margin-medium"> 936 <label class="fdn-interface-label" for="locationCityInput"> 937 City: 938 939 <span class="fdn-interface-form-required-marker">•</span> 940 941 </label> 942 943 944 945 <div class="uk-form-controls"> 946 <input class="uk-input " 947 id="locationCityInput" 948 type="text" 949 name="locationCity" 950 value="" 951 required 952 > 953 </div> 954 955 956 957 </div> 958 </div> 959 960 <div class=""> 961 962 963 <div class="uk-margin-medium"> 964 <label class="fdn-interface-label" for="locationStateInput"> 965 State: 966 967 <span class="fdn-interface-form-required-marker">•</span> 968 969 </label> 970 971 972 973 <div class="uk-form-controls"> 974 <input class="uk-input " 975 id="locationStateInput" 976 type="text" 977 name="locationState" 978 value="" 979 required 980 > 981 </div> 982 983 984 985 </div> 986 987 988 </div> 989 990 <div class=""> 991 <div class="uk-margin-medium"> 992 <label class="fdn-interface-label" for="locationZipCodeInput"> 993 Zip Code: 994 995 <span class="fdn-interface-form-required-marker">•</span> 996 997 </label> 998 999 1000 1001 <div class="uk-form-controls"> 1002 <input class="uk-input " 1003 id="locationZipCodeInput" 1004 type="text" 1005 name="locationZipCode" 1006 value="" 1007 required 1008 pattern="(\d{5}([\-]\d{4})?)|([A-Za-z][0-9][A-Za-z] [0-9][A-Za-z][0-9])"> 1009 </div> 1010 1011 1012 1013 </div> 1014 </div> 1015 </div> 1016 1017 <div class="uk-margin-medium"> 1018 <label class="fdn-interface-label" for="locationPhoneInput"> 1019 Phone: 1020 1021 <span class="fdn-interface-form-required-marker">•</span> 1022 1023 </label> 1024 1025 1026 1027 <div class="uk-form-controls"> 1028 <input class="uk-input " 1029 id="locationPhoneInput" 1030 type="text" 1031 name="locationPhone" 1032 value="" 1033 required 1034 pattern="\d{3}[\-\.]\d{3}[\-\.]\d{4}|\d{7}|\d{10}"> 1035 </div> 1036 1037 1038 1039 </div> 1040 1041 <div class="uk-margin-medium"> 1042 <label class="fdn-interface-label" for="locationEmailInput"> 1043 Email: 1044 1045 </label> 1046 1047 1048 1049 <div class="uk-form-controls"> 1050 <input class="uk-input " 1051 id="locationEmailInput" 1052 type="text" 1053 name="locationEmail" 1054 value="" 1055 1056 > 1057 </div> 1058 1059 1060 1061 </div> 1062 1063 <div class="uk-margin-medium"> 1064 <label class="fdn-interface-label" for="locationDescription"> 1065 Description: 1066 </label> 1067 1068 1069 1070 <div class="uk-form-controls"> 1071 <textarea class="uk-textarea uk-height-small 1072 uk-height-max-large uk-resize-vertical" 1073 name="userDescription"></textarea> 1074 </div> 1075 1076 1077 1078 </div> 1079 1080 <div class="uk-margin-medium"> 1081 <label class="fdn-interface-label" for="locationHours"> 1082 Hours: 1083 </label> 1084 1085 1086
1087 <div class="uk-form-controls"> 1088 <textarea class="uk-textarea fdn-textarea-short uk-height-max-large uk-resize-vertical" 1089 name="locationHours"></textarea> 1090 </div> 1091 1092 1093 1094 </div> 1095 1096 <div class="uk-margin-medium"> 1097 <label class="fdn-interface-label" for="locationURLInput"> 1098 Website: 1099 1100 </label> 1101 1102 1103 1104 <div class="uk-form-controls"> 1105 <input class="uk-input " 1106 id="locationURLInput" 1107 type="url" 1108 name="locationURL" 1109 value="" 1110 1111 > 1112 </div> 1113 1114 1115 1116 </div> 1117 1118 1119 1120 1121 <div class="uk-margin-medium"> 1122 <label class="fdn-interface-label" for="locationFacebookURLInput"> 1123 Facebook URL: 1124 1125 </label> 1126 1127 1128 1129 <div class="uk-form-controls"> 1130 <input class="uk-input " 1131 id="locationFacebookURLInput" 1132 type="url" 1133 name="locationFacebookURL" 1134 value="" 1135 1136 > 1137 </div> 1138 1139 1140 1141 </div> 1142 1143 <div class="uk-margin-medium"> 1144 <label class="fdn-interface-label" for="locationInstagramURLInput"> 1145 Instagram URL: 1146 1147 </label> 1148 1149 1150 1151 <div class="uk-form-controls"> 1152 <input class="uk-input " 1153 id="locationInstagramURLInput" 1154 type="url" 1155 name="locationInstagramURL" 1156 value="" 1157 1158 > 1159 </div> 1160 1161 1162 1163 </div> 1164 1165 <div class="uk-margin-medium"> 1166 <label class="fdn-interface-label" for="locationTwitterURLInput"> 1167 X URL: 1168 1169 </label> 1170 1171 1172 1173 <div class="uk-form-controls"> 1174 <input class="uk-input " 1175 id="locationTwitterURLInput" 1176 type="url" 1177 name="locationTwitterURL" 1178 value="" 1179 1180 > 1181 </div> 1182 1183 1184 1185 </div> 1186 1187 1188 <div class="uk-margin-medium"> 1189 <label class="fdn-interface-label" for="relationshipRadio"> 1190 Relationship: 1191 <span class="fdn-interface-form-required-marker">•</span> 1192 </label> 1193 1194 1195 1196 <div class="uk-form-controls uk-flex-row" uk-grid> 1197 1198 1199 <label class="uk-width-auto uk-margin-remove"> 1200 <input class="uk-radio" 1201 id="relationshipRadio" 1202 type="radio" 1203 name="relationship" 1204 value="Owner" 1205 1206 requiredviajs> 1207 Owner 1208 </label> 1209 1210 1211 <label class="uk-width-auto uk-margin-remove"> 1212 <input class="uk-radio" 1213 id="relationshipRadio" 1214 type="radio" 1215 name="relationship" 1216 value="Employee" 1217 1218 requiredviajs> 1219 Employee 1220 </label> 1221 1222 1223 <label class="uk-width-auto uk-margin-remove"> 1224 <input class="uk-radio" 1225 id="relationshipRadio" 1226 type="radio" 1227 name="relationship" 1228 value="Patron" 1229 1230 requiredviajs> 1231 Patron 1232 </label> 1233 1234 1235 <label class="uk-width-auto uk-margin-remove"> 1236 <input class="uk-radio" 1237 id="relationshipRadio" 1238 type="radio" 1239 name="relationship" 1240 value="Other" 1241 1242 requiredviajs> 1243 Other 1244 </label> 1245 1246 </div> 1247 1248 1249 1250 </div> 1251 1252 1253 1254 <div class="uk-margin-medium"> 1255 <label class="fdn-interface-label" for="locationNeighborhood"> 1256 Neighborhood:
1257 <span class="fdn-interface-form-required-marker">•</span> 1258 </label> 1259 1260 1261 1262 <div class="uk-form-controls"> 1263 <select class="uk-select uk-width-1-1 uk-width-auto@s" 1264 name="locationNeighborhood" 1265 requiredviajs> 1266 <option value="">Choose...</option> 1267 1268 1269 <option value="2125242" > 1270 1271 Albany County: Albany 1272 1273 </option> 1274 1275 1276 <option value="2269932" > 1277 1278 Albany County: Berne 1279 1280 </option> 1281 1282 1283 <option value="2125243" > 1284 1285 Albany County: Colonie 1286 1287 </option> 1288 1289 1290 <option value="2125245" > 1291 1292 Albany County: Delmar 1293 1294 </option> 1295 1296 1297 <option value="2125247" > 1298 1299 Albany County: Latham 1300 1301 </option> 1302 1303 1304 <option value="2125498" > 1305 1306 Albany County: Preston Hollow 1307 1308 </option> 1309 1310 1311 <option value="2125246" > 1312 1313 Albany County: Rensselaerville 1314 1315 </option> 1316 1317 1318 <option value="2125244" > 1319 1320 Albany County: Voorheesville 1321 1322 </option> 1323 1324 1325 <option value="2125257" > 1326 1327 Berkshire County, MA: Amherst 1328 1329 </option> 1330 1331 1332 <option value="2125251" > 1333 1334 Berkshire County, MA: Becket 1335 1336 </option> 1337 1338 1339 <option value="2125253" > 1340 1341 Berkshire County, MA: Great Barrington 1342 1343 </option> 1344 1345 1346 <option value="2125258" > 1347 1348 Berkshire County, MA: Lee 1349 1350 </option> 1351 1352 1353 <option value="2125255" > 1354 1355 Berkshire County, MA: Lenox 1356 1357 </option> 1358 1359 1360 <option value="2182580" > 1361 1362 Berkshire County, MA: New Marlborough 1363 1364 </option> 1365 1366 1367 <option value="2125254" > 1368 1369 Berkshire County, MA: North Adams 1370 1371 </option> 1372 1373 1374 <option value="2125250" > 1375 1376 Berkshire County, MA: Northampton 1377 1378 </option> 1379 1380 1381 <option value="2125256" > 1382 1383 Berkshire County, MA: Otis 1384 1385 </option> 1386 1387 1388 <option value="2125252" > 1389 1390 Berkshire County, MA: Pittsfield 1391 1392 </option> 1393 1394 1395 <option value="2125249" > 1396 1397 Berkshire County, MA: Sheffield 1398 1399 </option> 1400 1401 1402 <option value="2125596" > 1403 1404 Berkshire County, MA: South Egremont 1405 1406 </option> 1407 1408 1409 <option value="2125260" > 1410 1411 Berkshire County, MA: Springfield 1412 1413 </option> 1414 1415 1416 <option value="2125259" > 1417
1418 Berkshire County, MA: Stockbridge 1419 1420 </option> 1421 1422 1423 <option value="2379630" > 1424 1425 Berkshire County, MA: Tolland 1426 1427 </option> 1428 1429 1430 <option value="2125248" > 1431 1432 Berkshire County, MA: Williamstown 1433 1434 </option> 1435 1436 1437 <option value="2125274" > 1438 1439 Columbia County: Ancram 1440 1441 </option> 1442 1443 1444 <option value="2148027" > 1445 1446 Columbia County: Austerlitz 1447 1448 </option> 1449 1450 1451 <option value="2125275" > 1452 1453 Columbia County: Canaan 1454 1455 </option> 1456 1457 1458 <option value="2125265" > 1459 1460 Columbia County: Chatham 1461 1462 </option> 1463 1464 1465 <option value="2193470" > 1466 1467 Columbia County: Claverack 1468 1469 </option> 1470 1471 1472 <option value="20585089" > 1473 1474 Columbia County: Clermont 1475 1476 </option> 1477 1478 1479 <option value="2125276" > 1480 1481 Columbia County: Copake 1482 1483 </option> 1484 1485 1486 <option value="2125278" > 1487 1488 Columbia County: Copake Falls 1489 1490 </option> 1491 1492 1493 <option value="2125277" > 1494 1495 Columbia County: Copake Lake 1496 1497 </option> 1498 1499 1500 <option value="2146600" > 1501 1502 Columbia County: Craryville 1503 1504 </option> 1505 1506 1507 <option value="2125269" > 1508 1509 Columbia County: Germantown 1510 1511 </option> 1512 1513 1514 <option value="2125264" > 1515 1516 Columbia County: Ghent 1517 1518 </option> 1519 1520 1521 <option value="2125268" > 1522 1523 Columbia County: Hillsdale 1524 1525 </option> 1526 1527 1528 <option value="2125262" > 1529 1530 Columbia County: Hudson 1531 1532 </option> 1533 1534 1535 <option value="2125270" > 1536 1537 Columbia County: Kinderhook 1538 1539 </option> 1540 1541 1542 <option value="2157812" > 1543 1544 Columbia County: Livingston 1545 1546 </option> 1547 1548 1549 <option value="2125266" > 1550 1551 Columbia County: New Lebanon 1552 1553 </option> 1554 1555 1556 <option value="2125694" > 1557 1558 Columbia County: Old Chatham 1559 1560 </option> 1561 1562 1563 <option value="2125271" > 1564 1565 Columbia County: Palenville 1566 1567 </option> 1568 1569 1570 <option value="2125273" > 1571 1572 Columbia County: Philmont 1573 1574 </option> 1575 1576 1577 <option value="2125267" > 1578 1579 Columbia County: Spencertown 1580 1581 </option> 1582 1583 1584 <option value="2125272" > 1585 1586 Columbia County: Valatie 1587 1588 </option> 1589 1590 1591 <option value="2125445" > 1592 1593 Columbia County: West Lebanon 1594 1595 </option> 1596 1597 1598 <option value="2125263" > 1599 1600 Columbia County: West Taghkanic 1601 1602 </option> 1603 1604 1605 <option value="2125279" > 1606 1607 Delaware County: Andes 1608 1609 </option> 1610 1611 1612 <option value="2125281" > 1613 1614 Delaware County: Arkville 1615 1616 </option> 1617 1618 1619 <option value="8279484" > 1620 1621 Delaware County: Bovina 1622 1623 </option> 1624 1625 1626 <option value="2125712" > 1627 1628 Delaware County: Delaware 1629 1630 </option> 1631 1632 1633 <option value="14513891" > 1634 1635 Delaware County: Delaware County: Flesichmanns 1636 1637 </option> 1638 1639 1640 <option value="25000087" > 1641 1642 Delaware County: Delaware County: Roxbury 1643 1644 </option> 1645 1646 1647 <option value="2125282" > 1648 1649 Delaware County: Fleischmanns 1650 1651 </option> 1652 1653 1654 <option value="2125280" > 1655 1656 Delaware County: Margaretville 1657 1658 </option> 1659 1660 1661 <option value="18013040" > 1662 1663 Delaware County: Stamford 1664 1665 </option> 1666 1667 1668 <option value="2125304" > 1669 1670 Dutchess County: Amenia 1671 1672 </option> 1673 1674 1675 <option value="2125283" > 1676 1677 Dutchess County: Annandale-on-Hudson 1678 1679 </option> 1680 1681 1682 <option value="2180253" > 1683 1684 Dutchess County: Arlington 1685 1686 </option> 1687 1688 1689 <option value="2125285" > 1690 1691 Dutchess County: Beacon 1692 1693 </option> 1694 1695 1696 <option value="2125306" > 1697 1698 Dutchess County: Clinton Corners 1699 1700 </option> 1701 1702 1703 <option value="2125698" > 1704 1705 Dutchess County: Dover Plains 1706 1707 </option> 1708 1709 1710 <option value="2125301" > 1711 1712 Dutchess County: Fairview 1713 1714 </option> 1715 1716 1717 <option value="2125287" > 1718 1719 Dutchess County: Fishkill 1720 1721 </option> 1722 1723 1724 <option value="2125311" > 1725 1726 Dutchess County: Glenham 1727 1728 </option> 1729 1730 1731 <option value="2125297" > 1732 1733 Dutchess County: Hopewell Junction 1734 1735 </option> 1736 1737 1738 <option value="2125296" > 1739 1740 Dutchess County: Hyde Park 1741 1742 </option> 1743 1744 1745 <option value="2125303" > 1746 1747 Dutchess County: LaGrange 1748 1749 </option> 1750 1751 1752 <option value="2125291" > 1753 1754 Dutchess County: LaGrangeville 1755 1756 </option> 1757 1758 1759 <option value="2125294" > 1760 1761 Dutchess County: Millbrook 1762 1763 </option> 1764 1765 1766 <option value="2125292" > 1767 1768 Dutchess County: Millerton 1769 1770 </option> 1771 1772 1773 <option value="2125288" > 1774 1775 Dutchess County: Pawling 1776 1777 </option> 1778 1779 1780 <option value="2125305" > 1781 1782 Dutchess County: Pine Plains 1783 1784 </option> 1785 1786 1787 <option value="2125307" > 1788 1789 Dutchess County: Pleasant Valley 1790 1791 </option> 1792 1793 1794 <option value="2125308" > 1795 1796 Dutchess County: Poughkeepsie 1797 1798 </option> 1799 1800 1801 <option value="2125697" > 1802 1803 Dutchess County: Poughquag 1804 1805 </option> 1806 1807 1808 <option value="2125290" > 1809 1810 Dutchess County: Red Hook 1811 1812 </option> 1813 1814 1815 <option value="2125710" > 1816 1817 Dutchess County: Red Oak Mills 1818 1819 </option> 1820 1821 1822 <option value="2125289" > 1823 1824 Dutchess County: Rhinebeck 1825 1826 </option> 1827 1828 1829 <option value="2125298" > 1830 1831 Dutchess County: Rhinecliff 1832 1833 </option> 1834 1835 1836 <option value="2125699" > 1837 1838 Dutchess County: Salt Point 1839 1840 </option> 1841 1842 1843 <option value="2125300" > 1844 1845 Dutchess County: Staatsburg 1846 1847 </option> 1848 1849 1850 <option value="2125309" > 1851 1852 Dutchess County: Stanfordville 1853 1854 </option> 1855 1856 1857 <option value="2125302" > 1858 1859 Dutchess County: Stormville 1860 1861 </option> 1862 1863 1864 <option value="2125293" > 1865 1866 Dutchess County: Tivoli 1867 1868 </option> 1869 1870 1871 <option value="2125299" > 1872 1873 Dutchess County: Verbank 1874 1875 </option> 1876 1877 1878 <option value="2125286" > 1879 1880 Dutchess County: Wappingers Falls 1881 1882 </option> 1883 1884 1885 <option value="2125597" > 1886 1887 Dutchess County: Wingdale 1888 1889 </option> 1890 1891 1892 <option value="7146132" > 1893 1894 Fairfield County, CT: Bridgeport, CT 1895 1896 </option> 1897 1898 1899 <option value="2150159" > 1900 1901 Fairfield County, CT: Danbury 1902 1903 </option> 1904 1905 1906 <option value="2291387" > 1907 1908 Fairfield County, CT: Greenwich 1909 1910 </option> 1911 1912 1913 <option value="2135377" > 1914 1915 Fairfield County, CT: Ridgefield, CT 1916 1917 </option> 1918 1919 1920 <option value="7146135" > 1921
1922 Fairfield County, CT: Stamford, CT 1923 1924 </option> 1925 1926 1927 <option value="2125239" > 1928 1929 Greene County: Athens 1930 1931 </option> 1932 1933 1934 <option value="2125313" > 1935 1936 Greene County: Cairo 1937 1938 </option> 1939 1940 1941 <option value="2125315" > 1942 1943 Greene County: Catskill 1944 1945 </option> 1946 1947 1948 <option value="2125321" > 1949 1950 Greene County: Coxsackie 1951 1952 </option> 1953 1954 1955 <option value="2125318" > 1956 1957 Greene County: Elka Park 1958 1959 </option> 1960 1961 1962 <option value="2125317" > 1963 1964 Greene County: Freehold 1965 1966 </option> 1967 1968 1969 <option value="2125322" > 1970 1971 Greene County: Haines Falls 1972 1973 </option> 1974 1975 1976 <option value="2125319" > 1977 1978 Greene County: Hannacroix 1979 1980 </option> 1981 1982 1983 <option value="2125320" > 1984 1985 Greene County: Hunter 1986 1987 </option> 1988 1989 1990 <option value="2125314" > 1991 1992 Greene County: Jewett 1993 1994 </option> 1995 1996 1997 <option value="2198556" > 1998 1999 Greene County: Leeds 2000 2001 </option> 2002 2003 2004 <option value="2165001" > 2005 2006 Greene County: Oak Hill 2007 2008 </option> 2009 2010 2011 <option value="2178670" > 2012 2013 Greene County: Prattsville 2014 2015 </option> 2016 2017 2018 <option value="2223310" > 2019 2020 Greene County: Tannersville 2021 2022 </option> 2023 2024 2025 <option value="2125316" > 2026 2027 Greene County: Windham 2028 2029 </option> 2030 2031 2032 <option value="7146215" > 2033 2034 Hampden County, MA: Holyoke, MA 2035 2036 </option> 2037 2038 2039 <option value="2125442" > 2040 2041 Hampshire County, MA: Amherst 2042 2043 </option> 2044 2045 2046 <option value="7146060" > 2047 2048 Hartford County, CT: Hartford, CT 2049 2050 </option> 2051 2052 2053 <option value="2125330" > 2054 2055 Litchfield County, CT: Falls Village 2056 2057 </option> 2058 2059 2060 <option value="2184028" > 2061
2062 Litchfield County, CT: Goshen 2063 2064 </option> 2065 2066 2067 <option value="2125324" > 2068 2069 Litchfield County, CT: Kent 2070 2071 </option> 2072 2073 2074 <option value="2125326" > 2075 2076 Litchfield County, CT: Lakeville 2077 2078 </option> 2079 2080 2081 <option value="15195364" > 2082 2083 Litchfield County, CT: Litchfield County: Lakeville 2084 2085 </option> 2086 2087 2088 <option value="21236635" > 2089 2090 Litchfield County, CT: Litchfield: Washington Depot 2091 2092 </option> 2093 2094 2095 <option value="2125328" > 2096 2097 Litchfield County, CT: New Milford 2098 2099 </option> 2100 2101 2102 <option value="7146064" > 2103 2104 Litchfield County, CT: Norfolk 2105 2106 </option> 2107 2108 2109 <option value="2125323" > 2110 2111 Litchfield County, CT: Norfolk 2112 2113 </option> 2114 2115 2116 <option value="2344293" > 2117 2118 Litchfield County, CT: Roxbury 2119 2120 </option> 2121 2122 2123 <option value="2125325" > 2124 2125 Litchfield County, CT: Salisbury 2126 2127 </option> 2128 2129 2130 <option value="2125331" > 2131 2132 Litchfield County, CT: Sharon 2133 2134 </option> 2135 2136 2137 <option value="2125329" > 2138 2139 Litchfield County, CT: Torrington 2140 2141 </option> 2142 2143 2144 <option value="2125327" > 2145 2146 Litchfield County, CT: Winsted 2147 2148 </option> 2149 2150 2151 <option value="2125467" > 2152 2153 Middlesex County, MA: Cambridge 2154 2155 </option> 2156 2157 2158 <option value="2125446" > 2159 2160 Montgomery County: Canajoharie 2161 2162 </option> 2163 2164 2165 <option value="2125448" > 2166 2167 New Haven County, CT: Bethany 2168 2169 </option> 2170 2171 2172 <option value="7146134" > 2173 2174 New Haven County, CT: Hamden, CT 2175 2176 </option> 2177 2178 2179 <option value="7146061" > 2180 2181 New Haven County, CT: New Haven, CT 2182 2183 </option> 2184 2185 2186 <option value="7146130" > 2187 2188 New Haven County, CT: Wallingford, CT 2189 2190 </option> 2191 2192 2193 <option value="7146131" > 2194 2195 New Haven County, CT: Waterbury, CT 2196 2197 </option> 2198 2199 2200 <option value="2125352" > 2201 2202 Orange County: Bear Mountain 2203 2204 </option> 2205 2206 2207 <option value="2125704" > 2208 2209 Orange County: Campbell Hall 2210 2211 </option> 2212 2213 2214 <option value="2125345" > 2215 2216 Orange County: Chester 2217 2218 </option> 2219 2220 2221 <option value="2125344" > 2222 2223 Orange County: Cornwall 2224 2225 </option> 2226 2227 2228 <option value="2125357" > 2229 2230 Orange County: Cornwall-on-Hudson 2231 2232 </option> 2233 2234 2235 <option value="2125356" > 2236 2237 Orange County: Florida 2238 2239 </option> 2240 2241 2242 <option value="2125348" > 2243 2244 Orange County: Goshen 2245 2246 </option> 2247 2248 2249 <option value="2125340" > 2250 2251 Orange County: Greenwood Lake 2252 2253 </option> 2254 2255 2256 <option value="2125349" > 2257 2258 Orange County: Highland Mills 2259 2260 </option> 2261 2262 2263 <option value="2125334" > 2264 2265 Orange County: Middletown 2266 2267 </option> 2268 2269 2270 <option value="2125364" > 2271 2272 Orange County: Monroe 2273 2274 </option> 2275 2276 2277 <option value="2125342" > 2278 2279 Orange County: Monroe 2280 2281 </option> 2282 2283 2284 <option value="2125339" > 2285 2286 Orange County: Montgomery 2287 2288 </option> 2289 2290 2291 <option value="2125343" > 2292 2293 Orange County: Mountainville 2294 2295 </option> 2296 2297 2298 <option value="2125351" > 2299 2300 Orange County: New Hampton 2301 2302 </option> 2303 2304 2305 <option value="2125350" > 2306 2307 Orange County: New Windsor 2308 2309 </option> 2310 2311 2312 <option value="2125240" > 2313 2314 Orange County: Newburgh 2315 2316 </option> 2317 2318 2319 <option value="2125354" > 2320 2321 Orange County: Pine Bush 2322 2323 </option> 2324 2325 2326 <option value="2125347" > 2327 2328 Orange County: Pine Island 2329 2330 </option> 2331 2332 2333 <option value="2129829" > 2334 2335 Orange County: Rock Tavern 2336 2337 </option> 2338 2339 2340 <option value="2125336" > 2341 2342 Orange County: Salisbury Mills 2343 2344 </option> 2345 2346 2347 <option value="2125335" > 2348 2349 Orange County: Sugar Loaf 2350 2351 </option> 2352 2353 2354 <option value="2311108" > 2355 2356 Orange County: Tuxedo 2357 2358 </option> 2359 2360 2361 <option value="2125353" > 2362 2363 Orange County: Walden 2364 2365 </option> 2366 2367 2368 <option value="2125337" > 2369 2370 Orange County: Warwick 2371 2372 </option> 2373 2374 2375 <option value="2125341" > 2376 2377 Orange County: Washingtonville 2378 2379 </option> 2380 2381 2382 <option value="2125333" > 2383 2384 Orange County: West Point 2385 2386 </option> 2387 2388 2389 <option value="2125346" > 2390 2391 Orange County: Westtown 2392 2393 </option> 2394 2395 2396 <option value="2125451" > 2397 2398 Oswego County: Redfield 2399 2400 </option> 2401 2402 2403 <option value="2125452" > 2404 2405 Otsego County: Cooperstown 2406 2407 </option> 2408 2409 2410 <option value="2125361" > 2411 2412 Putnam County: Brewster 2413 2414 </option> 2415 2416 2417 <option value="2125705" > 2418 2419 Putnam County: Carmel 2420 2421 </option> 2422 2423 2424 <option value="2125359" > 2425 2426 Putnam County: Cold Spring 2427 2428 </option> 2429 2430 2431 <option value="2125358" > 2432 2433 Putnam County: Garrison 2434 2435 </option> 2436 2437 2438 <option value="2125360" > 2439 2440 Putnam County: Mahopac 2441 2442 </option> 2443 2444 2445 <option value="2125362" > 2446 2447 Putnam County: Patterson 2448 2449 </option> 2450 2451
2452 <option value="5776468" > 2453 2454 Putnam County: Putnam Valley 2455 2456 </option> 2457 2458 2459 <option value="2125454" > 2460 2461 Rensselaer County: Averill Park 2462 2463 </option> 2464 2465 2466 <option value="2125456" > 2467 2468 Rensselaer County: Rensselaer 2469 2470 </option> 2471 2472 2473 <option value="2125455" > 2474 2475 Rensselaer County: Troy 2476 2477 </option> 2478 2479 2480 <option value="2125367" > 2481 2482 Rockland County: Chestnut Ridge 2483 2484 </option> 2485 2486 2487 <option value="14972648" > 2488 2489 Rockland County: Clarkstown 2490 2491 </option> 2492 2493 2494 <option value="2125366" > 2495 2496 Rockland County: Haverstraw 2497 2498 </option> 2499 2500 2501 <option value="2125365" > 2502 2503 Rockland County: Nyack 2504 2505 </option> 2506 2507 2508 <option value="2125706" > 2509 2510 Rockland County: Piermont 2511 2512 </option> 2513 2514 2515 <option value="14972647" > 2516 2517 Rockland County: Ramapo 2518 2519 </option> 2520 2521 2522 <option value="2125363" > 2523 2524 Rockland County: Sparkill 2525 2526 </option> 2527 2528 2529 <option value="2125460" > 2530 2531 Saratoga County: Clifton Park 2532 2533 </option> 2534 2535 2536 <option value="2125459" > 2537 2538 Saratoga County: Saratoga Springs 2539 2540 </option> 2541 2542 2543 <option value="2125458" > 2544 2545 Saratoga County: Schuylerville 2546 2547 </option> 2548 2549 2550 <option value="2125462" > 2551 2552 Schenectady County: Schenectady 2553 2554 </option> 2555 2556 2557 <option value="2125464" > 2558 2559 Schoharie County: Sharon Springs 2560 2561 </option> 2562 2563 2564 <option value="2125368" > 2565 2566 Sullivan County: Bethel 2567 2568 </option> 2569 2570 2571 <option value="2162283" > 2572 2573 Sullivan County: Callicoon 2574 2575 </option> 2576 2577 2578 <option value="2125371" > 2579 2580 Sullivan County: Claryville 2581 2582 </option> 2583 2584 2585 <option value="2125375" > 2586 2587 Sullivan County: Grahamsville 2588 2589 </option> 2590 2591 2592 <option value="5218410" > 2593 2594 Sullivan County: Hurleyville 2595 2596 </option> 2597 2598 2599 <option value="2125369" > 2600 2601 Sullivan County: Liberty 2602 2603 </option> 2604 2605 2606 <option value="2125377" > 2607 2608 Sullivan County: Livingston Manor 2609 2610 </option> 2611 2612 2613 <option value="15385729" > 2614 2615 Sullivan County: Monticello 2616 2617 </option> 2618 2619 2620 <option value="2125374" > 2621 2622 Sullivan County: Narrowsburg 2623 2624 </option> 2625 2626 2627 <option value="2125376" > 2628 2629 Sullivan County: Neversink 2630 2631 </option> 2632 2633 2634 <option value="2125373" > 2635 2636 Sullivan County: South Fallsburg 2637 2638 </option> 2639 2640 2641 <option value="2125372" > 2642 2643 Sullivan County: Woodbourne 2644 2645 </option> 2646 2647 2648 <option value="2125370" > 2649 2650 Sullivan County: Wurtsboro 2651 2652 </option> 2653 2654 2655 <option value="2125466" > 2656 2657 Tolland County, CT: Vernon 2658 2659 </option> 2660 2661 2662 <option value="2125397" > 2663 2664 Ulster County: Accord 2665 2666 </option> 2667 2668 2669 <option value="2125396" > 2670 2671 Ulster County: Ashokan 2672 2673 </option> 2674 2675 2676 <option value="2125408" > 2677 2678 Ulster County: Bloomington 2679 2680 </option> 2681 2682 2683 <option value="2125395" > 2684 2685 Ulster County: Boiceville 2686 2687 </option> 2688 2689 2690 <option value="2125409" > 2691 2692 Ulster County: Clintondale 2693 2694 </option> 2695 2696 2697 <option value="2133455" > 2698 2699 Ulster County: Cragsmoor 2700 2701 </option> 2702 2703 2704 <option value="2125419" > 2705 2706 Ulster County: Eddyville 2707 2708 </option> 2709 2710 2711 <option value="2125390" > 2712 2713 Ulster County: Ellenville 2714 2715 </option> 2716 2717 2718 <option value="2125412" > 2719 2720 Ulster County: Esopus 2721 2722 </option> 2723 2724 2725 <option value="2125393" > 2726 2727 Ulster County: Gardiner 2728 2729 </option> 2730 2731 2732 <option value="2125392" > 2733 2734 Ulster County: High Falls 2735 2736 </option> 2737 2738 2739 <option value="2125383" > 2740 2741 Ulster County: Highland 2742 2743 </option> 2744 2745 2746 <option value="2125382" > 2747 2748 Ulster County: Highmount
2749 2750 </option> 2751 2752 2753 <option value="2125389" > 2754 2755 Ulster County: Hurley 2756 2757 </option> 2758 2759 2760 <option value="2125405" > 2761 2762 Ulster County: Kerhonkson 2763 2764 </option> 2765 2766 2767 <option value="2125380" > 2768 2769 Ulster County: Kingston 2770 2771 </option> 2772 2773 2774 <option value="2125707" > 2775 2776 Ulster County: Krumville 2777 2778 </option> 2779 2780 2781 <option value="2125398" > 2782 2783 Ulster County: Lake Katrine 2784 2785 </option> 2786 2787 2788 <option value="2125404" > 2789 2790 Ulster County: Marlboro 2791 2792 </option> 2793 2794 2795 <option value="2125461" > 2796 2797 Ulster County: Milton 2798 2799 </option> 2800 2801 2802 <option value="2125403" > 2803 2804 Ulster County: Modena 2805 2806 </option> 2807 2808 2809 <option value="2125391" > 2810 2811 Ulster County: Mount Tremper 2812 2813 </option> 2814 2815 2816 <option value="2125385" > 2817 2818 Ulster County: New Paltz 2819 2820 </option> 2821 2822 2823 <option value="2125379" > 2824 2825 Ulster County: Olivebridge 2826 2827 </option> 2828 2829 2830 <option value="2125241" > 2831 2832 Ulster County: Phoenicia 2833 2834 </option> 2835 2836 2837 <option value="2125400" > 2838 2839 Ulster County: Pine Hill 2840 2841 </option> 2842 2843 2844 <option value="2125413" > 2845 2846 Ulster County: Plattekill 2847 2848 </option> 2849 2850 2851 <option value="2125399" > 2852 2853 Ulster County: Port Ewen 2854 2855 </option> 2856 2857 2858 <option value="2125384" > 2859 2860 Ulster County: Rosendale 2861 2862 </option> 2863 2864 2865 <option value="2125387" > 2866 2867 Ulster County: Saugerties 2868 2869 </option> 2870 2871 2872 <option value="2125394" > 2873 2874 Ulster County: Shady 2875 2876 </option> 2877 2878 2879 <option value="2125407" > 2880 2881 Ulster County: Shokan 2882 2883 </option> 2884 2885 2886 <option value="2125388" > 2887 2888 Ulster County: Stone Ridge 2889 2890 </option> 2891 2892 2893 <option value="2125701" > 2894 2895 Ulster County: Tannersville 2896 2897 </option> 2898 2899 2900 <option value="2125410" > 2901 2902 Ulster County: Tillson 2903 2904 </option> 2905 2906 2907 <option value="2125406" > 2908 2909 Ulster County: Ulster Park 2910 2911 </option> 2912 2913 2914 <option value="2133456" > 2915 2916 Ulster County: Walker Valley 2917 2918 </option> 2919 2920 2921 <option value="2125386" > 2922 2923 Ulster County: Wallkill 2924 2925 </option> 2926 2927 2928 <option value="2125417" > 2929 2930 Ulster County: West Hurley 2931 2932 </option> 2933 2934 2935 <option value="2125401" > 2936 2937 Ulster County: West Park 2938 2939 </option> 2940 2941 2942 <option value="2125402" > 2943 2944 Ulster County: West Shokan 2945 2946 </option> 2947 2948 2949 <option value="2125414" > 2950 2951 Ulster County: Willow 2952 2953 </option> 2954 2955 2956 <option value="2125381" > 2957 2958 Ulster County: Woodstock 2959 2960 </option> 2961 2962 2963 <option value="2125708" > 2964 2965 Westchester County: Armonk 2966 2967 </option> 2968 2969 2970 <option value="2160873" > 2971 2972 Westchester County: Croton 2973 2974 </option> 2975 2976 2977 <option value="2125427" > 2978
2979 Westchester County: Dobbs Ferry 2980 2981 </option> 2982 2983 2984 <option value="2125429" > 2985 2986 Westchester County: Elmsford 2987 2988 </option> 2989 2990 2991 <option value="2125424" > 2992 2993 Westchester County: Hartsdale 2994 2995 </option> 2996 2997 2998 <option value="2269091" > 2999 3000 Westchester County: Hastings 3001 3002 </option> 3003 3004 3005 <option value="2125428" > 3006 3007 Westchester County: Irvington 3008 3009 </option> 3010 3011 3012 <option value="2125421" > 3013 3014 Westchester County: Katonah 3015 3016 </option> 3017 3018 3019 <option value="2125422" > 3020 3021 Westchester County: Mamaroneck 3022 3023 </option> 3024 3025 3026 <option value="2125434" > 3027 3028 Westchester County: Mohegan Lake 3029 3030 </option> 3031 3032 3033 <option value="2125435" > 3034 3035 Westchester County: Mount Kisco 3036 3037 </option> 3038 3039 3040 <option value="2125709" > 3041 3042 Westchester County: Mt. Vernon 3043 3044 </option> 3045 3046 3047 <option value="2162795" > 3048 3049 Westchester County: Ossining 3050 3051 </option> 3052 3053 3054 <option value="2125423" > 3055 3056 Westchester County: Peekskill 3057 3058 </option> 3059 3060 3061 <option value="2125432" > 3062 3063 Westchester County: Pound Ridge 3064 3065 </option> 3066 3067 3068 <option value="2125436" > 3069 3070 Westchester County: Rye 3071 3072 </option> 3073 3074 3075 <option value="2125426" > 3076 3077 Westchester County: Sleepy Hollow 3078 3079 </option> 3080 3081 3082 <option value="2125425" > 3083 3084 Westchester County: Tarrytown 3085 3086 </option> 3087 3088 3089 <option value="2125430" > 3090 3091 Westchester County: Valhalla 3092 3093 </option> 3094 3095 3096 <option value="2125702" > 3097 3098 Westchester County: White Plains 3099 3100 </option> 3101 3102 3103 <option value="9924075" > 3104 3105 Westchester County: Yonkers 3106 3107 </option> 3108 3109 3110 <option value="2125433" > 3111 3112 Westchester County: Yorktown 3113 3114 </option> 3115 3116 3117 <option value="2125431" > 3118 3119 Westchester County: Yorktown Heights 3120 3121 </option> 3122 3123 </select> 3124 </div> 3125 3126 3127 3128 </div> 3129 3130 3131 <div class="uk-margin-medium"> 3132 <label class="fdn-interface-label" for="locationCategory"> 3133 Category:
3134 <span class="fdn-interface-form-required-marker">•</span> 3135 </label> 3136 3137 3138 3139 <div class="uk-form-controls"> 3140 3141 <div class="locationCategoryWrapper uk-flex uk-flex-row uk-margin-medium"> 3142 <div class="uk-width-auto"> 3143 <select class="uk-select uk-width-1-1 uk-width-auto@s" 3144 name="locationCategory" 3145 requiredviajs> 3146 <option value="">Choose...</option> 3147 3148 3149 <option value="22683454" > 3150 3151 Cannabis: Dispensary 3152 3153 </option> 3154 3155 3156 <option value="24315720" > 3157 3158 Chronogram Guides: Explore Directory 3159 3160 </option> 3161 3162 3163 <option value="2300507" > 3164 3165 Chronogram Guides: Health and Wellness Guide 3166 3167 </option> 3168 3169 3170 <option value="2306057" > 3171 3172 Chronogram Guides: Homes, Building & Gardens Guide 3173 3174 </option> 3175 3176 3177 <option value="2312109" > 3178 3179 Chronogram Guides: Nightlife and Entertainment Guide 3180 3181 </option> 3182 3183 3184 <option value="2316837" > 3185 3186 Chronogram Guides: Restaurant Guide 3187 3188 </option> 3189 3190 3191 <option value="2125023" > 3192 3193 Culture & Entertainment: Art Centers 3194 3195 </option> 3196 3197 3198 <option value="2125024" > 3199 3200 Culture & Entertainment: Art Galleries 3201 3202 </option> 3203 3204 3205 <option value="2125026" > 3206 3207 Culture & Entertainment: Art Instruction 3208 3209 </option> 3210 3211 3212 <option value="2125027" > 3213 3214 Culture & Entertainment: Art Supplies 3215 3216 </option> 3217 3218 3219 <option value="2125028" > 3220 3221 Culture & Entertainment: Artisans 3222 3223 </option> 3224 3225 3226 <option value="2125029" > 3227 3228 Culture & Entertainment: Book Publishers 3229 3230 </option> 3231 3232 3233 <option value="2125030" > 3234 3235 Culture & Entertainment: Bookstores 3236 3237 </option> 3238 3239 3240 <option value="2125031" > 3241 3242 Culture & Entertainment: Broadcasting 3243 3244 </option> 3245 3246 3247 <option value="2125032" > 3248 3249 Culture & Entertainment: Cinemas 3250 3251 </option> 3252 3253 3254 <option value="2125033" > 3255 3256 Culture & Entertainment: Comedy Club 3257 3258 </option> 3259 3260 3261 <option value="2125034" > 3262 3263 Culture & Entertainment: Community & Recreation Centers 3264 3265 </option> 3266 3267 3268 <option value="2125035" > 3269 3270 Culture & Entertainment: Cultural Centers 3271 3272 </option> 3273 3274 3275 <option value="2125045" > 3276 3277 Culture & Entertainment: Culture & Entertainment Organizations 3278 3279 </option> 3280 3281 3282 <option value="2125036" > 3283 3284 Culture & Entertainment: Dance Centers 3285 3286 </option> 3287 3288 3289 <option value="2125037" > 3290 3291 Culture & Entertainment: Dance Instruction 3292 3293 </option> 3294 3295 3296 <option value="2125038" > 3297 3298 Culture & Entertainment: Dating Services 3299 3300 </option> 3301 3302 3303 <option value="2125039" > 3304 3305 Culture & Entertainment: DJ Services 3306 3307 </option> 3308 3309 3310 <option value="2152928" > 3311 3312 Culture & Entertainment: eBook Publishers 3313 3314 </option> 3315 3316 3317 <option value="2125040" > 3318 3319 Culture & Entertainment: Golfing 3320 3321 </option> 3322 3323 3324 <option value="2125041" > 3325 3326 Culture & Entertainment: Historic Sites 3327 3328 </option> 3329 3330 3331 <option value="2125042" > 3332 3333 Culture & Entertainment: Libraries 3334 3335 </option> 3336 3337 3338 <option value="2125043" > 3339 3340 Culture & Entertainment: Museums 3341 3342 </option> 3343 3344 3345 <option value="2125044" > 3346 3347 Culture & Entertainment: Music Venues 3348 3349 </option> 3350 3351 3352 <option value="2125046" > 3353 3354 Culture & Entertainment: Photography 3355 3356 </option> 3357 3358 3359 <option value="2125047" > 3360 3361 Culture & Entertainment: Pottery Lessons 3362 3363 </option> 3364 3365 3366 <option value="2125048" > 3367 3368 Culture & Entertainment: Stadiums 3369 3370 </option> 3371 3372 3373 <option value="2125049" > 3374 3375 Culture & Entertainment: Theaters 3376 3377 </option> 3378 3379 3380 <option value="2125050" > 3381 3382 Culture & Entertainment: Tourism Agencies 3383 3384 </option> 3385 3386 3387 <option value="2125051" > 3388 3389 Culture & Entertainment: Travel Agencies 3390 3391 </option> 3392 3393 3394 <option value="2125052" > 3395 3396 Culture & Entertainment: Weddings 3397 3398 </option> 3399 3400 3401 <option value="2125053" > 3402 3403 Education Directory: Agriculture 3404 3405 </option> 3406 3407 3408 <option value="2125054" > 3409 3410 Education Directory: Crafts 3411 3412 </option> 3413 3414 3415 <option value="2149241" > 3416 3417 Education Directory: Education Almanac 3418 3419 </option> 3420 3421 3422 <option value="2125055" > 3423 3424 Education Directory: Environmental 3425 3426 </option> 3427 3428 3429 <option value="2125056" > 3430 3431 Education Directory: Literary 3432 3433 </option> 3434 3435 3436 <option value="2125057" > 3437 3438 Education Directory: Music 3439 3440 </option> 3441 3442 3443 <option value="2125058" > 3444 3445 Education Directory: Music Lessons 3446 3447 </option> 3448 3449 3450 <option value="2125216" > 3451 3452 Education Directory: Pottery 3453 3454 </option> 3455 3456 3457 <option value="2125059" > 3458 3459 Education Directory: Psychodrama 3460 3461 </option> 3462 3463 3464 <option value="2125060" > 3465 3466 Education Directory: Schools 3467 3468 </option> 3469 3470 3471 <option value="2125061" > 3472 3473 Education Directory: Summer Camps 3474 3475 </option> 3476 3477 3478 <option value="2125062" > 3479 3480 Education Directory: Sustainability 3481 3482 </option> 3483 3484 3485 <option value="2125063" > 3486 3487 Education Directory: Swim Lessons 3488 3489 </option> 3490 3491 3492 <option value="2289497" > 3493 3494 Education Directory: Tutoring 3495 3496 </option> 3497 3498 3499 <option value="2125064" > 3500 3501 Education Directory: Yoga 3502 3503 </option> 3504 3505 3506 <option value="2125065" > 3507 3508 Education Directory: Youth Classes 3509 3510 </option> 3511 3512 3513 <option value="2125066" > 3514 3515 Food & Drink: Bakeries 3516 3517 </option> 3518 3519 3520 <option value="2125067" > 3521 3522 Food & Drink: Beverages 3523 3524 </option> 3525 3526 3527 <option value="2125068" > 3528 3529 Food & Drink: Breweries 3530 3531 </option> 3532 3533 3534 <option value="23889300" > 3535 3536 Food & Drink: Butcher Shop 3537 3538 </option> 3539 3540 3541 <option value="2125069" > 3542 3543 Food & Drink: Catering 3544 3545 </option> 3546 3547 3548 <option value="15276220" > 3549 3550 Food & Drink: Cideries 3551 3552 </option> 3553 3554 3555 <option value="2125070" > 3556 3557 Food & Drink: Coffee & Tea 3558 3559 </option> 3560 3561 3562 <option value="2148790" > 3563 3564 Food & Drink: Distilleries 3565 3566 </option> 3567 3568 3569 <option value="2125071" > 3570 3571 Food & Drink: Farm Markets & Natural Food Stores 3572 3573 </option> 3574 3575 3576 <option value="2125072" > 3577 3578 Food & Drink: Farms 3579 3580 </option> 3581 3582 3583 <option value="2125218" > 3584 3585 Food & Drink: Food & Drink Organizations 3586 3587 </option> 3588 3589 3590 <option value="2125073" > 3591
3591 3592 Food & Drink: Italian Specialty Products 3593 3594 </option> 3595 3596 3597 <option value="8032264" > 3598 3599 Food & Drink: Meaderies 3600 3601 </option> 3602 3603 3604 <option value="2125074" > 3605 3606 Food & Drink: Snacks 3607 3608 </option> 3609 3610 3611 <option value="2125075" > 3612 3613 Food & Drink: Specialty Food Shops 3614 3615 </option> 3616 3617 3618 <option value="2125076" > 3619 3620 Food & Drink: Supermarkets 3621 3622 </option> 3623 3624 3625 <option value="2125077" > 3626 3627 Food & Drink: Wine & Liquor 3628 3629 </option> 3630 3631 3632 <option value="2125078" > 3633 3634 Food & Drink: Wineries 3635 3636 </option> 3637 3638 3639 <option value="2125079" > 3640 3641 House & Home: Alternative Energy 3642 3643 </option> 3644 3645 3646 <option value="2125080" > 3647 3648 House & Home: Antiques 3649 3650 </option> 3651 3652 3653 <option value="2125081" > 3654 3655 House & Home: Appliances 3656 3657 </option> 3658 3659 3660 <option value="2125082" > 3661 3662 House & Home: Architecture 3663 3664 </option> 3665 3666 3667 <option value="2125083" > 3668 3669 House & Home: Building Services & Supplies 3670 3671 </option> 3672 3673 3674 <option value="2125084" > 3675 3676 House & Home: Gardening & Garden Supplies 3677 3678 </option> 3679 3680 3681 <option value="2125085" > 3682 3683 House & Home: Home Furnishings & Decor 3684 3685 </option> 3686 3687 3688 <option value="2125086" > 3689 3690 House & Home: Home Improvement 3691 3692 </option> 3693 3694 3695 <option value="2125087" > 3696 3697 House & Home: Interior Design 3698 3699 </option> 3700 3701 3702 <option value="2125088" > 3703 3704 House & Home: Kitchenwares 3705 3706 </option> 3707 3708 3709 <option value="2125089" > 3710 3711 House & Home: Landscaping 3712 3713 </option> 3714 3715 3716 <option value="2125090" > 3717 3718 House & Home: Moving & Storage 3719 3720 </option> 3721 3722 3723 <option value="2125091" > 3724 3725 House & Home: Picture Framing 3726 3727 </option> 3728 3729 3730 <option value="2125092" > 3731 3732 House & Home: Pools & Spas 3733 3734 </option> 3735 3736 3737 <option value="2125093" > 3738 3739 House & Home: Real Estate 3740 3741 </option> 3742 3743 3744 <option value="2125094" > 3745 3746 House & Home: Restoration 3747 3748 </option> 3749 3750 3751 <option value="2125095" > 3752 3753 House & Home: Retirement Communities 3754 3755 </option> 3756 3757 3758 <option value="2125096" > 3759 3760 House & Home: Stained Glass 3761 3762 </option> 3763 3764 3765 <option value="2125097" > 3766 3767 House & Home: Sunrooms 3768 3769 </option> 3770 3771 3772 <option value="2125098" > 3773 3774 House & Home: Utilities 3775 3776 </option> 3777 3778 3779 <option value="2125099" > 3780 3781 House & Home: Welders 3782 3783 </option> 3784 3785 3786 <option value="2125100" > 3787 3788 Lodging: Accommodations 3789 3790 </option> 3791 3792 3793 <option value="2125103" > 3794 3795 Outdoors & Recreation: Bicycle Sales 3796 3797 </option> 3798 3799 3800 <option value="2125104" > 3801 3802 Outdoors & Recreation: Camps 3803 3804 </option> 3805 3806 3807 <option value="2125105" > 3808 3809 Outdoors & Recreation: Country Club 3810 3811 </option> 3812 3813 3814 <option value="2125106" > 3815 3816 Outdoors & Recreation: Cruises 3817 3818 </option> 3819 3820 3821 <option value="2125107" > 3822 3823 Outdoors & Recreation: Equestrian Services 3824 3825 </option> 3826 3827 3828 <option value="2125219" > 3829 3830 Outdoors & Recreation: Golf Courses 3831 3832 </option> 3833 3834 3835 <option value="2125108" > 3836 3837 Outdoors & Recreation: Marina 3838 3839 </option> 3840 3841 3842 <option value="2125109" > 3843 3844 Outdoors & Recreation: Martial Arts Lessons 3845 3846 </option> 3847 3848 3849 <option value="2125101" > 3850 3851 Outdoors & Recreation: Nature Center 3852 3853 </option> 3854 3855 3856 <option value="2125217" > 3857 3858 Outdoors & Recreation: Outdoor & Recreation Organizations 3859 3860 </option> 3861 3862 3863 <option value="2125110" > 3864
3865 Outdoors & Recreation: Outfitters 3866 3867 </option> 3868 3869 3870 <option value="2125111" > 3871 3872 Outdoors & Recreation: Parks 3873 3874 </option> 3875 3876 3877 <option value="2125112" > 3878 3879 Outdoors & Recreation: Recreation 3880 3881 </option> 3882 3883 3884 <option value="2125113" > 3885 3886 Outdoors & Recreation: Recreation Centers 3887 3888 </option> 3889 3890 3891 <option value="2125114" > 3892 3893 Outdoors & Recreation: Sailing 3894 3895 </option> 3896 3897 3898 <option value="2125102" > 3899 3900 Outdoors & Recreation: Skiing 3901 3902 </option> 3903 3904 3905 <option value="2125115" > 3906 3907 Outdoors & Recreation: Tennis Clubs 3908 3909 </option> 3910 3911 3912 <option value="2125116" > 3913 3914 Outdoors & Recreation: Tubing 3915 3916 </option> 3917 3918 3919 <option value="2125117" > 3920 3921 Pets & Animals: Animal Sanctuaries 3922 3923 </option> 3924 3925 3926 <option value="2125118" > 3927 3928 Pets & Animals: Grooming 3929 3930 </option> 3931 3932 3933 <option value="2125119" > 3934 3935 Pets & Animals: Pet Services & Supplies 3936 3937 </option> 3938 3939 3940 <option value="2125120" > 3941 3942 Pets & Animals: Portraits 3943 3944 </option> 3945 3946 3947 <option value="2125121" > 3948 3949 Pets & Animals: Stables 3950 3951 </option> 3952 3953 3954 <option value="2125122" > 3955 3956 Pets & Animals: Veterinary Care 3957 3958 </option> 3959 3960 3961 <option value="2124939" > 3962 3963 Restaurants: American 3964 3965 </option> 3966 3967 3968 <option value="2124968" > 3969 3970 Restaurants: Asian 3971 3972 </option> 3973 3974 3975 <option value="2124978" > 3976 3977 Restaurants: Bagels 3978 3979 </option> 3980 3981 3982 <option value="2124955" > 3983 3984 Restaurants: Bakery 3985 3986 </option> 3987 3988 3989 <option value="2124985" > 3990 3991 Restaurants: Bar 3992 3993 </option> 3994 3995 3996 <option value="2124944" > 3997 3998 Restaurants: Barbecue 3999 4000 </option> 4001 4002 4003 <option value="2125713" > 4004 4005 Restaurants: Bed & Breakfast 4006 4007 </option> 4008 4009 4010 <option value="2124976" > 4011 4012 Restaurants: Beer Bar 4013 4014 </option> 4015 4016 4017 <option value="22660102" > 4018 4019 Restaurants: Brazilian 4020 4021 </option> 4022 4023 4024 <option value="2124984" > 4025 4026 Restaurants: Brewery 4027 4028 </option> 4029 4030 4031 <option value="2124947" > 4032 4033 Restaurants: Burgers 4034 4035 </option> 4036 4037 4038 <option value="2134882" > 4039 4040 Restaurants: Cafe 4041 4042 </option> 4043 4044 4045 <option value="2124948" > 4046 4047 Restaurants: Cajun 4048 4049 </option> 4050 4051 4052 <option value="2124938" > 4053 4054 Restaurants: Caribbean 4055 4056 </option> 4057 4058 4059 <option value="2124965" > 4060 4061 Restaurants: Chinese 4062 4063 </option> 4064 4065 4066 <option value="2124967" > 4067 4068 Restaurants: Coffee Shop 4069 4070 </option> 4071 4072 4073 <option value="2124949" > 4074 4075 Restaurants: Creole 4076 4077 </option> 4078 4079 4080 <option value="2124979" > 4081 4082 Restaurants: Cuban 4083 4084 </option> 4085 4086 4087 <option value="2124977" > 4088 4089 Restaurants: Deli 4090 4091 </option> 4092 4093 4094 <option value="2124953" > 4095 4096 Restaurants: Desserts 4097 4098 </option> 4099 4100 4101 <option value="2124961" > 4102 4103 Restaurants: Diner 4104 4105 </option> 4106 4107 4108 <option value="2124981" > 4109 4110 Restaurants: English 4111 4112 </option> 4113 4114 4115 <option value="2124966" > 4116 4117 Restaurants: European 4118 4119 </option> 4120 4121 4122 <option value="2124954" > 4123 4124 Restaurants: French 4125 4126 </option> 4127 4128 4129 <option value="2124940" > 4130 4131 Restaurants: General Dining 4132 4133 </option> 4134 4135 4136 <option value="2124971" > 4137 4138 Restaurants: German 4139 4140 </option> 4141 4142 4143 <option value="2124974" > 4144 4145 Restaurants: Greek 4146 4147 </option> 4148 4149 4150 <option value="2124982" > 4151 4152 Restaurants: Hot Dogs 4153 4154 </option> 4155 4156 4157 <option value="2124973" > 4158 4159 Restaurants: Ice Cream 4160 4161 </option> 4162 4163 4164 <option value="2124957" > 4165 4166 Restaurants: Indian 4167 4168 </option> 4169 4170 4171 <option value="2124963" > 4172 4173 Restaurants: Irish 4174 4175 </option> 4176 4177 4178 <option value="2124952" > 4179 4180 Restaurants: Italian 4181 4182 </option> 4183 4184 4185 <option value="2124959" > 4186 4187 Restaurants: Japanese 4188 4189 </option> 4190 4191 4192 <option value="2124983" > 4193 4194 Restaurants: Korean 4195 4196 </option> 4197 4198 4199 <option value="2125703" > 4200 4201 Restaurants: Latin American 4202 4203 </option> 4204 4205 4206 <option value="2124956" > 4207 4208 Restaurants: Mediterranean 4209 4210 </option> 4211 4212 4213 <option value="2124958" > 4214 4215 Restaurants: Mexican 4216 4217 </option> 4218 4219 4220 <option value="2124972" > 4221 4222 Restaurants: Middle Eastern 4223 4224 </option> 4225 4226 4227 <option value="2124941" > 4228 4229 Restaurants: Modern American 4230 4231 </option> 4232 4233 4234 <option value="2124969" > 4235 4236 Restaurants: Notable Wine List 4237 4238 </option> 4239 4240 4241 <option value="2124943" > 4242 4243 Restaurants: Pizza 4244 4245 </option> 4246 4247 4248 <option value="2124950" > 4249 4250 Restaurants: Sandwiches 4251 4252 </option> 4253 4254 4255 <option value="2124945" > 4256 4257 Restaurants: Seafood 4258 4259 </option> 4260 4261 4262 <option value="2124962" > 4263 4264 Restaurants: Smoothies 4265 4266 </option> 4267 4268 4269 <option value="2125717" > 4270 4271 Restaurants: Soups 4272 4273 </option> 4274 4275 4276 <option value="2124951" > 4277 4278 Restaurants: Southwestern and Soul 4279 4280 </option> 4281 4282 4283 <option value="2124970" > 4284 4285 Restaurants: Spanish 4286 4287 </option> 4288 4289 4290 <option value="2124937" > 4291 4292 Restaurants: Steakhouse 4293 4294 </option> 4295 4296 4297 <option value="2124960" > 4298 4299 Restaurants: Sushi 4300 4301 </option> 4302 4303 4304 <option value="2124980" > 4305 4306 Restaurants: Tapas 4307 4308 </option> 4309 4310 4311 <option value="2124975" > 4312 4313 Restaurants: Tex-Mex 4314 4315 </option> 4316 4317 4318 <option value="2124964" > 4319 4320 Restaurants: Thai 4321 4322 </option> 4323 4324 4325 <option value="20148317" > 4326 4327 Restaurants: Turkish 4328 4329 </option> 4330 4331 4332 <option value="2124946" > 4333 4334 Restaurants: Vegetarian 4335 4336 </option> 4337 4338 4339 <option value="2124942" > 4340 4341 Restaurants: Wine Bar 4342 4343 </option> 4344 4345 4346 <option va
4346lue="2125123" > 4347 4348 Services: Airports 4349 4350 </option> 4351 4352 4353 <option value="2125124" > 4354 4355 Services: Auto Sales & Services 4356 4357 </option> 4358 4359 4360 <option value="2125125" > 4361 4362 Services: Banks 4363 4364 </option> 4365 4366 4367 <option value="2125126" > 4368 4369 Services: Beauty Supply 4370 4371 </option> 4372 4373 4374 <option value="2125127" > 4375 4376 Services: Bookkeeping 4377 4378 </option> 4379 4380 4381 <option value="2125128" > 4382 4383 Services: Chambers of Commerce 4384 4385 </option> 4386 4387 4388 <option value="2125129" > 4389 4390 Services: Cleaning Services 4391 4392 </option> 4393 4394 4395 <option value="2125130" > 4396 4397 Services: Computer Services 4398 4399 </option> 4400 4401 4402 <option value="2125131" > 4403 4404 Services: Consulting Services 4405 4406 </option> 4407 4408 4409 <option value="2125132" > 4410 4411 Services: Financial Advisors 4412 4413 </option> 4414 4415 4416 <option value="2125133" > 4417 4418 Services: Firehouses 4419 4420 </option> 4421 4422 4423 <option value="19958096" > 4424 4425 Services: Floral Design 4426 4427 </option> 4428 4429 4430 <option value="2125134" > 4431 4432 Services: Florists 4433 4434 </option> 4435 4436 4437 <option value="2125135" > 4438 4439 Services: Graphic Design 4440 4441 </option> 4442 4443 4444 <option value="2125136" > 4445 4446 Services: Insurance 4447 4448 </option> 4449 4450 4451 <option value="2125137" > 4452 4453 Services: Internet Services 4454 4455 </option> 4456 4457 4458 <option value="2125138" > 4459 4460 Services: Lawyers & Mediators 4461 4462 </option> 4463 4464 4465 <option value="2125140" > 4466 4467 Services: Limousines 4468 4469 </option> 4470 4471 4472 <option value="2125141" > 4473 4474 Services: Marketing 4475 4476 </option> 4477 4478 4479 <option value="2125142" > 4480 4481 Services: Networking 4482 4483 </option> 4484 4485 4486 <option value="2125143" > 4487 4488 Services: Office Building 4489 4490 </option> 4491 4492 4493 <option value="2125144" > 4494 4495 Services: Printing Services 4496 4497 </option> 4498 4499 4500 <option value="2125145" > 4501 4502 Services: Tailors 4503 4504 </option> 4505 4506 4507 <option value="2125146" > 4508 4509 Services: Tattoos 4510 4511 </option> 4512 4513 4514 <option value="2125147" > 4515 4516 Services: Technology Consultants 4517 4518 </option> 4519 4520 4521 <option value="2125148" > 4522 4523 Services: Transportation 4524 4525 </option> 4526 4527 4528 <option value="2125149" > 4529 4530 Services: Writing Services 4531 4532 </option> 4533 4534 4535 <option value="2125220" > 4536 4537 Shopping: Antiques Shops 4538 4539 </option> 4540 4541 4542 <option value="2125151" > 4543 4544 Shopping: Audio & Video Supply/Services 4545 4546 </option> 4547 4548 4549 <option value="2125152" > 4550 4551 Shopping: Clothing & Accessories 4552 4553 </option> 4554 4555 4556 <option value="2125153" > 4557 4558 Shopping: Consignment Shops 4559 4560 </option> 4561 4562 4563 <option value="2125154" > 4564 4565 Shopping: Electronics 4566 4567 </option> 4568 4569 4570 <option value="2127664" > 4571 4572 Shopping: Fine Art 4573 4574 </option> 4575 4576 4577 <option value="2125155" > 4578 4579 Shopping: Footwear 4580 4581 </option> 4582 4583 4584 <option value="2125711" > 4585 4586 Shopping: Gifts 4587 4588 </option> 4589 4590 4591 <option value="19964601" > 4592 4593 Shopping: Home Goods 4594 4595 </option> 4596 4597 4598 <option value="2125150" > 4599 4600 Shopping: Jewelry 4601 4602 </option> 4603 4604 4605 <option value="2125156" > 4606 4607 Shopping: Malls 4608 4609 </option> 4610 4611 4612 <option value="2125157" > 4613 4614 Shopping: Maternity 4615 4616 </option> 4617 4618 4619 <option value="2125158" > 4620 4621 Shopping: Music Store 4622 4623 </option> 4624 4625 4626 <option value="2125159" > 4627 4628 Shopping: Musical Instruments 4629 4630 </option> 4631 4632 4633 <option value="2125160" > 4634 4635 Shopping: Toys & Games 4636 4637 </option> 4638 4639 4640 <option value="2125161" > 4641 4642 Spirituality: Buddist Center 4643 4644 </option> 4645 4646 4647 <option value="2125162" > 4648 4649 Spirituality: Communities 4650 4651 </option> 4652 4653 4654 <option value="2125163" > 4655 4656 Spirituality: Healing 4657 4658 </option> 4659 4660 4661 <option value="2125164" > 4662 4663 Spirituality: Holistic Centers 4664 4665 </option> 4666 4667 4668 <option value="2125165" > 4669 4670 Spirituality: Interfaith Ministers 4671 4672 </option> 4673 4674 4675 <option value="2125166" > 4676 4677 Spirituality: Monasteries 4678 4679 </option> 4680 4681 4682 <option value="2125167" > 4683 4684 Spirituality: Places of Worship 4685 4686 </option> 4687 4688 4689 <option value="2125168" > 4690 4691 Spirituality: Psychics 4692 4693 </option> 4694 4695 4696 <option value="2125169" > 4697 4698 Spirituality: Societies 4699 4700 </option> 4701 4702 4703 <option value="2125170" > 4704 4705 Spirituality: Tarot 4706 4707 </option> 4708 4709 4710 <option value="2125171" > 4711 4712 Spirituality: Workshops 4713 4714 </option> 4715 4716 4717 <option value="19964754" > 4718 4719 Weddings: Wedding Venue 4720 4721 </option> 4722 4723 4724 <option value="2125172" > 4725 4726 Wellness: Accessible Living 4727 4728 </option> 4729 4730 4731 <option value="2125173" > 4732 4733 Wellness: Acupuncture 4734 4735 </option> 4736 4737 4738 <option value="2125174" > 4739 4740 Wellness: Apothecaries 4741 4742 </option> 4743 4744 4745 <option value="2125175" > 4746 4747 Wellness: Aromatherapy 4748 4749 </option> 4750 4751 4752 <option value="2125176" > 4753 4754 Wellness: Body & Skin Care 4755 4756 </option> 4757 4758 4759 <option value="2125177" > 4760 4761 Wellness: Body-Centered Therapy 4762 4763 </option> 4764 4765 4766 <option value="2125178" > 4767 4768 Wellness: Chiropractic 4769 4770 </option> 4771 4772 4773 <option value="2125179" > 4774 4775 Wellness: Colon Health Care 4776 4777 </option> 4778 4779 4780 <option value="2125180" > 4781 4782 Wellness: Cosmetic & Plastic Surgery 4783 4784 </option> 4785 4786 4787 <option value="2125181" > 4788 4789 Wellness: Counseling 4790 4791 </option> 4792 4793 4794 <option value="2125182" > 4795 4796 Wellness: Dentistry & Orthodontics 4797 4798 </option> 4799 4800 4801 <option value="2125183" > 4802 4803 Wellness: Energy Healing 4804 4805 </option> 4806 4807 4808 <option value="2125184" > 4809 4810 Wellness: Fitness Centers 4811 4812 </option> 4813 4814 4815 <option value="2125185" > 4816 4817 Wellness: Fitness Trainers 4818 4819 </option> 4820 4821 4822 <option value="2125186" > 4823 4824 Wellness: Hair Salons 4825 4826
4826 </option> 4827 4828 4829 <option value="2125187" > 4830 4831 Wellness: Healing Centers 4832 4833 </option> 4834 4835 4836 <option value="2125188" > 4837 4838 Wellness: Herbal Medicine & Nutrition 4839 4840 </option> 4841 4842 4843 <option value="2125189" > 4844 4845 Wellness: Holistic Health 4846 4847 </option> 4848 4849 4850 <option value="2125190" > 4851 4852 Wellness: Homeopathy 4853 4854 </option> 4855 4856 4857 <option value="2125191" > 4858 4859 Wellness: Hospitals 4860 4861 </option> 4862 4863 4864 <option value="2125192" > 4865 4866 Wellness: Hypnosis 4867 4868 </option> 4869 4870 4871 <option value="2125193" > 4872 4873 Wellness: Integrated Kabbalistic Healing 4874 4875 </option> 4876 4877 4878 <option value="2125221" > 4879 4880 Wellness: Martial Arts 4881 4882 </option> 4883 4884 4885 <option value="2125194" > 4886 4887 Wellness: Massage Therapy 4888 4889 </option> 4890 4891 4892 <option value="2125195" > 4893 4894 Wellness: Meditation 4895 4896 </option> 4897 4898 4899 <option value="2125196" > 4900 4901 Wellness: Midwifery 4902 4903 </option> 4904 4905 4906 <option value="2125197" > 4907 4908 Wellness: Naturopathic Medicine 4909 4910 </option> 4911 4912 4913 <option value="2125198" > 4914 4915 Wellness: Nutrition 4916 4917 </option> 4918 4919 4920 <option value="2125199" > 4921 4922 Wellness: Nutrition Counseling 4923 4924 </option> 4925 4926 4927 <option value="2125200" > 4928 4929 Wellness: Optometrists 4930 4931 </option> 4932 4933 4934 <option value="2125201" > 4935 4936 Wellness: Osteopathy 4937 4938 </option> 4939 4940 4941 <option value="2125202" > 4942 4943 Wellness: Pharmacies 4944 4945 </option> 4946 4947 4948 <option value="2125203" > 4949 4950 Wellness: Physical Therapy 4951 4952 </option> 4953 4954 4955 <option value="2125204" > 4956 4957 Wellness: Physicians 4958 4959 </option> 4960 4961 4962 <option value="2125205" > 4963 4964 Wellness: Pilates 4965 4966 </option> 4967 4968 4969 <option value="2125206" > 4970 4971 Wellness: Psychologists 4972 4973 </option> 4974 4975 4976 <option value="2125207" > 4977 4978 Wellness: Psychotherapy 4979 4980 </option> 4981 4982 4983 <option value="2125208" > 4984 4985 Wellness: Radiology 4986 4987 </option> 4988 4989 4990 <option value="2125209" > 4991 4992 Wellness: Reflexology 4993 4994 </option> 4995 4996 4997 <option value="2125210" > 4998 4999 Wellness: Residential Care 5000 5001 </option> 5002 5003 5004 <option value="2125211" > 5005 5006 Wellness: Resorts & Spas 5007 5008 </option> 5009 5010 5011 <option value="2125212" > 5012 5013 Wellness: Retreat Centers 5014 5015 </option> 5016 5017 5018 <option value="2125213" > 5019 5020 Wellness: Structural Integration 5021 5022 </option> 5023 5024 5025 <option value="2125214" > 5026 5027 Wellness: Thermography 5028 5029 </option> 5030 5031 5032 <option value="21716824" > 5033 5034 Wellness: Yoga Studio 5035 5036 </option> 5037 5038 5039 <option value="2125215" > 5040 5041 Wellness: Zumba 5042 5043 </option> 5044 5045 </select> 5046 </div> 5047 5048 </div> 5049 5050 </div> 5051 5052 5053 <div class="uk-width-1-1 uk-flex uk-flex-middle"> 5054 <a class="locAddCategoryLink fdn-interface-form-item-add" 5055 href="#">
5056 <span class="uk-display-block"> 5057 <span uk-icon="icon:plus-bold;ratio: .6;"></span> add another category 5058 </span> 5059 </a> 5060 </div> 5061 <div class="addCategoryError uk-alert" hidden></div> 5062 5063 5064 5065 </div> 5066 5067 5068 5069 <div class="newLocationNextButton uk-flex uk-flex-right"> 5070 <div class="uk-inline"> 5071 <span class="uk-form-icon uk-form-icon-flip fdn-button-control-icon"><img loading="lazy" src="/foundation/fontawesome-v6/svgs/solid/caret-right.svg" width="12" height="24" alt="Next"></span> 5072 <input class="uk-input fdn-button-submit fdn-button-control" 5073 type="submit" 5074 value="next" 5075 fdn-add-event-step-1-next> 5076 </div> 5077 <div class="uk-position-center" 5078 hidden 5079 uk-spinner></div> 5080 </div> 5081 5082 </div> 5083 </li> 5084 5085 5086 5087 5088 5089 <li> 5090 <div class="locationFormResult locationSearchDiv uk-margin-bottom uk-grid-default" 5091 uk-grid> 5092 5093 <input name="location" type="hidden" value=""> 5094 5095 </div> 5096 5097 </li> 5098 5099 </ul> 5100 </fieldset> 5101 </div> 5102 5103 5104 <div class="uk-animation-scale-up uk-margin-medium" fdn-add-event-step-3-container 5105 style="display: none;"> 5106 <div class="uk-inline"> 5107 <fieldset class="uk-fieldset"> 5108 5109 5110 5111 <legend class="fdn-interface-form-legend"> 5112 Step 2: Event 5113 5114 <div class="fdn-form-required-message uk-float-right uk-text-small uk-text-muted"> 5115 Required fields are marked with a dot: <span class="fdn-interface-form-required-marker">•</span> 5116 </div> 5117 <div class="uk-clear-both"></div> 5118 </legend> 5119 5120 5121 <div class="errorContainer uk-margin-bottom" id="eventErrors" hidden></div> 5122 5123 5124 5125 <div class="uk-margin-medium uk-margin-remove-top"> 5126 5127 <label class="fdn-interface-label" for="title"> 5128 Title: <span class="fdn-interface-form-required-marker">•</span> 5129 </label> 5130 5131 5132 5133 <div class="uk-form-controls"> 5134 <input class="uk-input" 5135 type="text" 5136 name="title" 5137 value="" 5138 aria-required="true" 5139 minlength="1" 5140 required> 5141 </div> 5142 5143 5144 5145 </div> 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 <div class="uk-margin-medium uk-flex-column"> 5156 5157 <label class="fdn-interface-label" for="eventCategory"> 5158 Category: <span class="fdn-interface-form-required-marker">•</span> 5159 </label> 5160 5161 5162 5163 <div class="uk-form-controls"> 5164 5165 5166 5167 5168 5169 5170 <div class="eventCategoryWrapper uk-flex uk-flex-row uk-margin-small"> 5171 <div class="uk-width-auto"> 5172 <select class="uk-select uk-width-1-1 uk-width-auto@s" 5173 name="eventCategory" 5174 required> 5175 <option value="">Choose...</option> 5176 5177 5178 5179 <option value="2127685" > 5180 Events: Art Exhibits 5181 </option> 5182 5183 5184 5185 5186 <option value="2127688" > 5187 Events: Business & Networking 5188 </option> 5189 5190 5191 5192 5193 <option value="21127221" > 5194 Events: Cabaret 5195 </option> 5196 5197 5198 5199 5200 <option value="2136341" > 5201 Events: Clubs & Organizations 5202 </option> 5203 5204 5205 5206 5207 <option value="2129925" > 5208 Events: Comedy 5209 </option> 5210 5211 5212 5213 5214 <option value="22375196" > 5215 Events: Craft Beverage & Cocktails 5216 </option> 5217 5218 5219 5220 5221 <option value="2127690" > 5222 Events: Dance 5223 </option> 5224 5225 5226 5227 5228 <option value="2127694" > 5229 Events: Fairs & Festivals 5230 </option> 5231 5232 5233 5234 5235 <option value="2127695" > 5236 Events: Film 5237 </option> 5238 5239 5240 5241 5242 <option value="2127696" > 5243 Events: Food & Wine 5244 </option> 5245 5246 5247 5248 5249 <option value="10557674" > 5250 Events: Government & Politics 5251 </option> 5252 5253 5254 5255 5256 <option value="2127737" > 5257 Events: Health & Wellness 5258 </option> 5259 5260 5261 5262 5263 <option value="6074723" > 5264 Events: Holiday 5265 </option> 5266 5267 5268 5269 5270 <option value="2127738" > 5271 Events: Kids & Family 5272 </option> 5273 5274 5275 5276 5277 <option value="2127739" > 5278 Events: Lectures & Talks 5279 </option> 5280 5281 5282 5283 5284 <option value="2127740" > 5285 Events: Literary & Books 5286 </option> 5287 5288 5289 5290 5291 <option value="2127741" > 5292 Events: Music Shows 5293 </option> 5294 5295 5296 5297 5298 <option value="2127742" > 5299 Events: Nightlife 5300 </option> 5301 5302 5303 5304 5305 <option value="2132244" > 5306 Events: Open Houses/Parties/Benefits 5307 </option> 5308 5309 5310 5311 5312 <option value="2127743" > 5313 Events: Outdoors & Recreation 5314 </option> 5315 5316 5317 5318 5319 <option value="2127744" > 5320 Events: Pets 5321 </option> 5322 5323 5324 5325 5326 <option value="10557675" > 5327 Events: Science & Technology 5328 </option> 5329 5330 5331 5332 5333 <option value="2127745" > 5334 Events: Spirituality 5335 </option> 5336 5337 5338 5339 5340 <option value="2127746" > 5341 Events: Sports 5342 </option> 5343 5344 5345 5346 5347 <option value="2127747" > 5348 Events: Theater 5349 </option> 5350 5351 5352 5353 5354 <option value="2127748" > 5355 Events: Workshops & Classes 5356 </option> 5357 </select> 5358 </div> 5359 5360 </div> 5361 5362 5363 <div class="uk-width-1-1 uk-flex uk-flex-middle uk-margin-remove"> 5364 <a class="eventAddCategoryLink fdn-interface-form-item-add" 5365 href="#" >
5366 <span class="uk-display-block uk-text-bold"> 5367 Does your event need more than one category? 5368 </span> 5369 <span class="uk-flex-inline fdn-interface-form-item-add-button"> 5370 add another category 5371 </span> 5372 </a> 5373 </div> 5374 <div class="addCategoryError uk-alert" hidden></div> 5375 5376 5377 5378 5379 </div> 5380 5381 5382 5383 <div class="uk-margin-medium uk-flex-column"> 5384 5385 5386 5387 5388 5389 5390 5391 5392 <div class="uk-form-controls"> 5393 5394 <div class="datetime_row uk-margin-medium uk-flex-column uk-grid-small 5395 uk-animation-slide-bottom-small" 5396 uk-grid> 5397 5398 5399 <div class="uk-grid-small" uk-grid> 5400 5401 5402 <div class="uk-width-1-1 uk-width-1-3@s"> 5403 <label class="fdn-interface-label">Event Date: <span class="fdn-interface-form-required-marker">•</span></label> 5404 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom fdn-line-height-small"> 5405 Date format: MM/DD/YYYY<br> 5406 Ex: 10/02/2026 5407 </div> 5408 <div class="uk-inline uk-width-expand"> 5409 <span class="uk-form-icon"><img loading="lazy" src="/foundation/fontawesome-v6/svgs/light/calendar-days.svg" alt="Event Date" width="16" height="16"></span> 5410 <input id="eventDate1" 5411 class="uk-input uk-flex uk-flex-middle" 5412 type="text" 5413 name="eventDate" 5414 value="" 5415 required 5416 min="2026-10-01" 5417 max="2028-10-02" 5418 data-input> 5419 </div> 5420 </div> 5421 5422 5423 <div class="uk-width-auto uk-width-2-3@s uk-flex"> 5424 <div class="uk-width-1-1 uk-width-1-2@s uk-padding-xsmall-right"> 5425 <label class="fdn-interface-label">Start Time:</label> 5426 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom fdn-line-height-small"> 5427 Time format: HH:MM AM/PM<br> 5428 Ex: 3:14 PM 5429 </div> 5430 <div class="uk-inline uk-width-expand"> 5431 <span class="uk-form-icon"><img loading="lazy" src="/foundation/fontawesome-v6/svgs/light/clock.svg" alt="Start Time" width="16" height="16"></span> 5432 <input class="uk-input uk-flex uk-flex-middle" 5433 type="text" 5434 name="eventStartTime" 5435 value="" 5436 required 5437 data-input> 5438 </div> 5439 </div> 5440 5441 <div class="uk-width-1-1 uk-width-1-2@s uk-padding-xsmall-left"> 5442 <label class="fdn-interface-label">End Time:</label> 5443 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom fdn-line-height-small"> 5444 Time format: HH:MM AM/PM<br> 5445 Ex: 3:14 AM 5446 </div> 5447 <div class="uk-inline uk-width-expand"> 5448 <span class="uk-form-icon"><img loading="lazy" src="/foundation/fontawesome-v6/svgs/light/clock.svg" alt="End Time" width="16" height="16"></span> 5449 <input class="uk-input uk-flex uk-flex-middle" 5450 type="text" 5451 name="eventEndTime" 5452 value="" 5453 required 5454 data-input> 5455 </div> 5456 </div> 5457 </div> 5458 </div> 5459 5460 <div class="uk-flex uk-flex-row uk-flex-middle uk-flex-between 5461 uk-margin-small-top"> 5462 5463 <div class="uk-width-1-1 uk-flex uk-flex-wrap fdn-interface-form-recurring-event-block"> 5464 <a href="#" 5465 data-base="time" 5466 class="popUpLink uk-button fdn-interface-form-item-add fdn-interface-form-item-add-frequency uk-margin-right uk-padding-remove uk-text-left" 5467 tabindex="-1">
5468 <span class="fdn-interface-form-item-add-prompt uk-display-block uk-text-bold"> 5469 Is this event recurring? 5470 </span> 5471 <span class="uk-flex-inline fdn-interface-form-item-add-frequency-button">set frequency 5472 </span> 5473 </a> 5474 5475 <input name="time_spec" 5476 id="time_spec1" 5477 type="hidden" 5478 value="0::0::0::0,0,0,0,0,0,0::mm-dd-yyyy"> 5479 <span class="time_string uk-input fdn-interface-form-time-string-input"></span> 5480 </div> 5481 5482 5483 5484 </div> 5485 5486 </div> 5487 </div> 5488 5489 5490 5491 5492 5493 <div class="uk-width-1-1 uk-flex uk-flex-middle uk-margin-remove"> 5494 <a class="addDateTimeLink fdn-interface-form-item-add" 5495 href="#"> 5496 <span class="fdn-interface-form-item-add-prompt uk-text-bold uk-display-block">Does your event have multiple dates or times?</span> 5497 <span class="uk-flex-inline fdn-interface-form-item-add-date-time"> 5498 add more dates/times 5499 </span> 5500 </a> 5501 </div> 5502 5503 5504 5505 </div> 5506 5507 5508 <div class="uk-margin-medium uk-flex-column"> 5509 5510 5511 <div class="uk-margin"> 5512 5513 <div class="uk-flex-row"> 5514 <label class="fdn-interface-label uk-margin-remove" for="description"> 5515 Description: 5516 5517 <span class="fdn-interface-form-required-marker">•</span> 5518 5519 </label> 5520 5521 5522 5523 5524 5525 <div class="uk-width-1-1 uk-text-small fdn-line-height-small"> 5526 <em>(100 word max)</em> 5527 5528 5529 <span class="descriptionWordsLeft"></span> 5530 </div> 5531 5532 5533 <div class="uk-width-1-1"> 5534 <progress id="js-progressbar" 5535 class="descriptionProgress uk-progress uk-margin-remove" 5536 value="0" 5537 max="100"></progress> 5538 </div> 5539 5540 </div> 5541 5542 <div class="uk-form-controls"> 5543 <textarea class="uk-textarea 5544 uk-height-small uk-height-max-large uk-resize-vertical" 5545 name="description"></textarea> 5546 </div> 5547 5548 5549 5550 </div> 5551 5552 5553 5554 <div class="uk-margin-medium"> 5555 <label class="fdn-interface-label" for="priceInput"> 5556 Price: 5557 5558 </label> 5559 5560 5561 5562 <div class="uk-form-controls"> 5563 <input class="uk-input uk-width-1-2" 5564 id="priceInput" 5565 type="text" 5566 name="price" 5567 value="" 5568 5569 > 5570 </div> 5571 5572 5573 5574 </div> 5575 5576 5577 5578 <div class="uk-margin-medium"> 5579 <label class="fdn-interface-label" for="ticketUrlInput"> 5580 Ticket URL: 5581 5582 </label> 5583 5584 5585 5586 <div class="uk-form-controls"> 5587 <input class="uk-input " 5588 id="ticketUrlInput" 5589 type="url" 5590 name="ticketUrl" 5591 value="" 5592 5593 > 5594 </div> 5595 5596 5597 5598 </div> 5599 5600 5601 5602 <div class="uk-margin-medium"> 5603 <label class="fdn-interface-label" for="urlInput"> 5604 Event URL: 5605 5606 </label> 5607 5608 5609 5610 <div class="uk-form-controls"> 5611 <input class="uk-input " 5612 id="urlInput" 5613 type="url" 5614 name="url" 5615 value="" 5616 5617 > 5618 </div> 5619 5620 5621 5622 </div> 5623 5624 5625 5626 5627 5628 <div class="uk-margin-medium"> 5629 <label class="fdn-interface-label" for="phoneInput"> 5630 Event Phone: 5631 5632 </label> 5633 5634 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom 5635 fdn-line-height-small"> 5636 Please include area code and hyphens. ex: 222-345-6789 5637 <br> 5638 </div> 5639 5640 <div class="uk-form-controls"> 5641 <input class="uk-input uk-width-1-2" 5642 id="phoneInput" 5643 type="phone" 5644 name="phone" 5645 value="" 5646 5647 pattern="\d{3}[\-\.]\d{3}[\-\.]\d{4}|\d{7}|\d{10}"> 5648 </div> 5649 5650 5651 5652 </div> 5653 5654 5655 <div class="uk-margin-medium"> 5656 <label class="fdn-interface-label" for="eventEmailInput"> 5657 Event Email: 5658 5659 </label> 5660 5661 5662
5663 <div class="uk-form-controls"> 5664 <input class="uk-input " 5665 id="eventEmailInput" 5666 type="email" 5667 name="eventEmail" 5668 value="" 5669 5670 > 5671 </div> 5672 5673 5674 5675 </div> 5676 5677 5678 5679 5680 5681 5682 5683 <div class="uk-margin-medium" uk-margin fdn-features-container> 5684 <label class="fdn-interface-label features"> 5685 Features: 5686 </label> 5687 5688 5689 5690 <div class="uk-form-controls uk-flex uk-flex-row uk-flex-wrap uk-grid-small" uk-grid> 5691 5692 5693 5694 <label class="uk-width-1-2 uk-width-1-3@m"> 5695 <input class="uk-checkbox" 5696 id="eventFeaturesCheckbox" 5697 type="checkbox" 5698 name="eventFeatures" 5699 value="Online" 5700 requiredviajs 5701 > 5702 Online 5703 </label> 5704 5705 </div> 5706 5707 5708 </div> 5709 5710 5711 5712 5713 5714 <div class="uk-margin-medium"> 5715 5716 5717 <input id="imageInputField" type="hidden" name="imageOid" value=""> 5718 <label class="fdn-interface-label" for="image"> 5719 Image 5720 5721 <span class="fdn-interface-form-required-marker">•</span> 5722 5723 </label> 5724 5725 <div class="uk-width-1-1 uk-text-small fdn-line-height-small"> 5726 (jpg, gif, png, or webp) <em>Max 5MB</em> 5727 </div> 5728 5729 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom 5730 fdn-line-height-small"> 5731 <p style="color: #406ac4; font-weight:700; font-size: 15px; padding:10px 30px 0px 30px; "> 5732 **All events must be uploaded with a photo. By uploading a photo, you confirm that you own it or have the legal right to use and share it. 5733 </p> 5734 </div> 5735 5736 <div class="uk-margin-medium"> 5737 <div id="imageUploadComponent" 5738 class="uk-width-1-1 uk-flex uk-flex-column uk-flex-middle"> 5739 <div class="fdn-interface-form-addevent-placeholder 5740 uk-width-1-3 uk-placeholder uk-background-muted uk-height-small 5741 uk-flex uk-flex-column uk-flex-middle uk-flex-center 5742 uk-text-center"> 5743 <img loading="lazy" src="/foundation/fontawesome-v6/svgs/light/cloud-arrow-up.svg" alt="Upload Image" width="20" height="20"> 5744 <span class="uk-text-middle uk-hidden-touch 5745 uk-margin-xsmall-right uk-margin-small-left"> 5746 Drag and drop an image here or</span> 5747 <div uk-form-custom> 5748 <input type="file" name="image" multiple> 5749 <span class="fdn-interface-form-addevent-link">select an image</span> 5750 </div> 5751 </div> 5752 </div> 5753 5754 <progress id="imageUploadProgressbar" class="uk-progress" value="0" max="100" hidden></progress> 5755 5756 <div id="eventImageDetailsContainer" 5757 class="uk-flex uk-flex-column" 5758 hidden> 5759 5760 <div class="uk-flex uk-flex-row uk-grid-medium uk-gri
5760d" uk-grid=""> 5761 5762 <div id="imagePlaceholder" class="uk-width-1-3"></div> 5763 5764 <div class="uk-width-expand uk-flex uk-flex-column uk-flex-between" uk-grid> 5765 <div class="uk-flex uk-flex-column"> 5766 <div id="imageCaption"> 5767 <div class="uk-margin-medium"> 5768 <label class="fdn-interface-label" for="imageCaptionInput"> 5769 Caption: 5770 5771 </label> 5772 5773 5774 5775 <div class="uk-form-controls"> 5776 <input class="uk-input " 5777 id="imageCaptionInput" 5778 type="text" 5779 name="imageCaption" 5780 value="" 5781 5782 > 5783 </div> 5784 5785 5786 5787 </div> 5788 </div> 5789 5790 <div id="imageCredit"> 5791 <div class="uk-margin-medium"> 5792 <label class="fdn-interface-label" for="imageCreditInput"> 5793 Credit: 5794 5795 <span class="fdn-interface-form-required-marker">•</span> 5796 5797 </label> 5798 5799 5800 5801 <div class="uk-form-controls"> 5802 <input class="uk-input " 5803 id="imageCreditInput" 5804 type="text" 5805 name="imageCredit" 5806 value="" 5807 required 5808 > 5809 </div> 5810 5811 5812 5813 </div> 5814 </div> 5815 </div> 5816 5817 <div id="imageDeleteContainer" 5818 class="uk-flex uk-flex-row uk-flex-right"> 5819 <div class="uk-width-auto uk-flex uk-flex-middle uk-padding-small uk-margin-auto-right"> 5820 <a href="#" 5821 class="imgDeleteLink fdn-interface-form-item-remove"> 5822 remove <span uk-icon="icon:close-bold;ratio: .5;"></span> 5823 </a> 5824 </div> 5825 </div> 5826 5827 </div> 5828 5829 </div> 5830 </div> 5831 </div> 5832 5833 5834 5835 </div> 5836 5837 5838 5839 <div class="uk-margin-medium"> 5840 <label class="fdn-interface-label uk-margin-remove" for="noteToEditor"> 5841 Note to Editor: 5842 </label> 5843 5844 5845 5846 <div class="uk-form-controls"> 5847 <textarea class="uk-textarea fdn-textarea-short uk-resize-vertical" 5848 maxlength="250" 5849 name="noteToEditor" 5850 id="noteToEditor"></textarea> 5851 </div> 5852 5853 5854 5855 5856 </div> 5857 5858 5859 5860 <div class="uk-margin-medium"> 5861 <div class="uk-margin-medium"> 5862 <label class="fdn-interface-label" for="userEmailInput"> 5863 Submitting User's Email: 5864 5865 <span class="fdn-interface-form-required-marker">•</span> 5866 5867 </label> 5868 5869 <div class="uk-width-1-1 uk-text-small uk-margin-small-bottom 5870 fdn-line-height-small"> 5871 You must provide your Email for staff to contact in case of a problem. 5872 <i>(internal use only)</i> 5873 </div> 5874 5875 <div class="uk-form-controls"> 5876 <input class="uk-input " 5877 id="userEmailInput" 5878 type="email" 5879 name="userEmail" 5880 value="" 5881 required 5882 > 5883 </div> 5884 5885 5886 5887 </div> 5888 </div> 5889 5890 5891 </div> 5892 </fieldset> 5893 5894 5895 5896 5897 5898 <div id="reCpatchaContainer" 5899 class="uk-flex uk-flex-center uk-margin"> 5900 <div 5901 data-view="recaptcha" 5902 data-view-subclass="Foundation.Form.ReCaptcha" 5903 data-recaptcha-sitekey="6LeHFTMUAAAAAEvqppN43ejObEmUfW2axDS-iWsv" 5904 ></div> 5905 </div> 5906 5907
5907<script> 5908 new Foundation.Form.ReCaptcha(jQuery('#reCpatchaContainer div')[0]) 5909 </script>
5909 5910 5911 5912 </div> 5913 5914 <div class="uk-flex uk-flex-right uk-inline"> 5915 5916 <div class="uk-inline fdn-add-event-step-2-next"> 5917 <span class="uk-form-icon uk-form-icon-flip fdn-button-control-icon"><img loading="lazy" src="/foundation/fontawesome-v6/svgs/solid/caret-right.svg" width="12" height="24" alt="Next"></span> 5918 <input class="formSubmitButton uk-input fdn-button-submit fdn-button-control" type="submit" value="next" fdn-add-event-step-2-next> 5919 </div> 5920 5921 5922 <div class="formSubmitSpinner uk-position-center" 5923 hidden 5924 uk-spinner></div> 5925 </div> 5926 </div> 5927</form> 5928 5929<div id="popUpRepeat" 5930 uk-modal="container: [data-component-id=AddEventResponsive]; 5931 bg-close: false;"> 5932 <div class="uk-modal-dialog uk-modal-body"> 5933 <button class="uk-modal-close-default" type="button" uk-close></button> 5934 5935 <form name="repeatForm"> 5936 <input type="hidden" name="currentInput" value="0"> 5937 5938 <fieldset class="uk-fieldset uk-flex uk-flex-column"> 5939 5940 <div class="uk-flex uk-flex-row" uk-grid> 5941 <legend class="uk-width-1-1 uk-h3 uk-heading-divider 5942 uk-text-bold uk-width-auto">Frequency</legend> 5943 <div class="uk-width-auto"> 5944 Starting Date:<br> 5945 <span id="popUpCurrentDate" class="uk-text-bold"></span> 5946 </div> 5947 </div> 5948 5949 <div class="uk-margin-medium"> 5950 Select the pattern of repetition for this object and if it should repeat until further notice or until a specific date. When complete, press update to save your settings. 5951 </div> 5952 5953 <div class="errorContainer" id="popupErrors"></div> 5954 5955 <ul class="uk-list uk-list-striped"> 5956 5957 <li class="uk-flex uk-flex-row"> 5958 <label class="uk-width-1-1"> 5959 <input class="uk-radio" 5960 type="radio" 5961 name="repeatType" 5962 checked value="0" 5963 onClick="updateFocus(0)"> 5964 Do not repeat 5965 </label> 5966 </li> 5967 5968 <li class="uk-flex uk-flex-row"> 5969 <label class="uk-width-1-1"> 5970 <input class="uk-radio" 5971 type="radio" 5972 name="repeatType" 5973 value="1" 5974 onClick="updateFocus(1)"> 5975 Repeat daily every 5976 <input class="uk-input uk-width-auto fdn-input-short" 5977 type="text" 5978 name="daily" 5979 value="1" 5980 size="3" 5981 onFocus="updateFocus(1)" 5982 onChange="updateFocus(1)"> day(s) 5983 </label> 5984 </li> 5985 5986 <li class="uk-flex uk-flex-row"> 5987 <label class="uk-width-1-1"> 5988 <input class="uk-radio" 5989 type="radio" 5990 name="repeatType" 5991 value="2" 5992 onClick="updateFocus(2)"> 5993 5994 Repeat on the "<span id="popUpCurrentDay"></span>" every 5995 5996 <select class="uk-select uk-width-auto fdn-input-short" 5997 name="dayOfMonthRepeatEvery" 5998 onFocus="updateFocus(2)" 5999 onChange="updateFocus(2)"> 6000 <option>month</option> 6001 <option>other month</option> 6002 <option>3 months</option> 6003 <option>4 months</option> 6004 <option>6 months</option> 6005 <option>12 months</option> 6006 </select> 6007 </label> 6008 </li> 6009 6010 6011 <li class="uk-flex uk-flex-column"> 6012 <div class="uk-flex uk-flex-row uk-margin-xsmall-bottom"> 6013 <label class="uk-width-1-1"> 6014 <input class="uk-radio" 6015 type="radio" 6016 name="repeatType" 6017 value="3" 6018 onClick="updateFocus(3)"> 6019 Repeat 6020
6021 <select class="uk-select uk-width-auto fdn-input-short" 6022 name="weeklyRepeatEvery" 6023 onFocus="updateFocus(3)" 6024 onChange="updateFocus(3)"> 6025 <option>every</option> 6026 <option>every other</option> 6027 <option>every third</option> 6028 <option>every fourth</option> 6029 </select> 6030 6031 week on 6032 </label> 6033 </div> 6034 6035 <div class="uk-flex uk-flex-row uk-flex-middle uk-flex-center uk-margin-small-top" uk-grid> 6036 <label> 6037 <input class="uk-checkbox" 6038 type="checkbox" 6039 name="weeklyRepeatDay" 6040 onClick="updateFocus(3)"> 6041 Mon 6042 </label> 6043 <label> 6044 <input class="uk-checkbox" 6045 type="checkbox" 6046 name="weeklyRepeatDay" 6047 onClick="updateFocus(3)"> 6048 Tue 6049 </label> 6050 <label> 6051 <input class="uk-checkbox" 6052 type="checkbox" 6053 name="weeklyRepeatDay" 6054 onClick="updateFocus(3)"> 6055 Wed 6056 </label> 6057 <label> 6058 <input class="uk-checkbox" 6059 type="checkbox" 6060 name="weeklyRepeatDay" 6061 onClick="updateFocus(3)"> 6062 Thu 6063 </label> 6064 <label> 6065 <input class="uk-checkbox" 6066 type="checkbox" 6067 name="weeklyRepeatDay" 6068 onClick="updateFocus(3)"> 6069 Fri 6070 </label> 6071 <label> 6072 <input class="uk-checkbox" 6073 type="checkbox" 6074 name="weeklyRepeatDay" 6075 onClick="updateFocus(3)"> 6076 Sat 6077 </label> 6078 <label> 6079 <input class="uk-checkbox" 6080 type="checkbox" 6081 name="weeklyRepeatDay" 6082 onClick="updateFocus(3)"> 6083 Sun 6084 </label> 6085 6086 <div class="uk-width-auto uk-margin-small-top"> 6087 <a class="uk-button uk-button-default" 6088 href="" 6089 onClick="checkAll('weeklyRepeatDay'); updateFocus(3); return false"> 6090 Select All 6091 </a> 6092 </div> 6093 6094 </div> 6095 </li> 6096 6097 6098 <li class="uk-flex uk-flex-column"> 6099 <div class="uk-flex uk-flex-row uk-margin-small-top"> 6100 <label> 6101 <input class="uk-radio" 6102 type="radio" 6103 name="repeatType" 6104 value="4" 6105 onClick="updateFocus(4)"> 6106 Repeat every 6107 6108 <select class="uk-select uk-width-auto fdn-input-short" 6109 name="monthlyRepeatEvery" 6110 onFocus="updateFocus(4)" 6111 onChange="updateFocus(4)"> 6112 <option>month</option> 6113 <option>other month</option> 6114 <option>3 months</option> 6115 <option>4 months</option> 6116 <option>6 months</option> 6117 <option>12 months</option> 6118 </select> 6119 6120 on the 6121 6122 <select class="uk-select uk-width-auto fdn-input-short" 6123 name="monthlyRepeatOnThe" 6124 onFocus="updateFocus(4)" 6125 onChange="updateFocus(4)"> 6126 <option>first</option> 6127 <option>second</option> 6128 <option>third</option> 6129 <option>fourth</option> 6130 <option>last</option> 6131 </select> 6132 6133 </label> 6134 </div> 6135 6136 <div class="uk-flex uk-flex-row uk-flex-middle uk-flex-center uk-margin-small-top" uk-gri
6136d> 6137 <label> 6138 <input class="uk-checkbox" 6139 type="checkbox" 6140 name="monthlyRepeatDay" 6141 onClick="updateFocus(4)"> 6142 Mon 6143 </label> 6144 <label> 6145 <input class="uk-checkbox" 6146 type="checkbox" 6147 name="monthlyRepeatDay" 6148 onClick="updateFocus(4)"> 6149 Tue 6150 </label> 6151 <label> 6152 <input class="uk-checkbox" 6153 type="checkbox" 6154 name="monthlyRepeatDay" 6155 onClick="updateFocus(4)"> 6156 Wed 6157 </label> 6158 <label> 6159 <input class="uk-checkbox" 6160 type="checkbox" 6161 name="monthlyRepeatDay" 6162 onClick="updateFocus(4)"> 6163 Thu 6164 </label> 6165 <label> 6166 <input class="uk-checkbox" 6167 type="checkbox" 6168 name="monthlyRepeatDay" 6169 onClick="updateFocus(4)"> 6170 Fri 6171 </label> 6172 <label> 6173 <input class="uk-checkbox" 6174 type="checkbox" 6175 name="monthlyRepeatDay" 6176 onClick="updateFocus(4)"> 6177 Sat 6178 </label> 6179 <label> 6180 <input class="uk-checkbox" 6181 type="checkbox" 6182 name="monthlyRepeatDay" 6183 onClick="updateFocus(4)"> 6184 Sun 6185 </label> 6186 6187 <div class="uk-width-auto uk-margin-small-top"> 6188 <a class="uk-button uk-button-default" 6189 href="" 6190 onClick="checkAll('monthlyRepeatDay'); updateFocus(4); return false"> 6191 Select All 6192 </a> 6193 </div> 6194 6195 </div> 6196 </li> 6197 </ul> 6198 6199 <div class="uk-flex uk-flex-row uk-flex-wrap uk-flex-top uk-margin repeatUntil uk-margin-xsmall-bottom"> 6200 <label class="uk-width-1-3"> 6201 <input class="uk-radio" 6202 name="repeatUntil" 6203 type="radio" 6204 checked 6205 value="0" 6206 onClick="document.repeatForm.repeatUntilDate.value=''"> 6207 TFN ('til further notice) 6208 </label> 6209 <label class="uk-width-2-3"> 6210 <input class="uk-radio" 6211 type="radio" 6212 checked 6213 name="repeatUntil" 6214 value="1"> 6215 Until: 6216 <div class="uk-inline uk-width-expand uk-margin-xsmall-top"> 6217 <span class="uk-form-icon" uk-icon="icon: clock"></span> 6218 <input class="uk-input uk-width-auto" 6219 type="text" 6220 name="repeatUntilDate" 6221 value="" 6222 onFocus="document.repeatForm.repeatUntil[1].checked=true" 6223 data-input> 6224 </div> 6225 </label> 6226 </div> 6227 6228 <div class="uk-flex uk-flex-row uk-flex-between uk-margin"> 6229 <a class="popUpDoneLink uk-button uk-button-default" 6230 href="#" 6231 onClick="closeFreq(); return false;"> 6232 Cancel 6233 </a> 6234 <a class="popUpDoneLink uk-button uk-button-default fdn-button-control fdn-button-control-smaller" 6235 href="#" 6236 onClick="saveRepeatValue(); return false"> 6237 Update 6238 </a> 6239 </div> 6240 6241 </fieldset> 6242 </form> 6243 </div> 6244 </div>
6245<script> 6246 // 6247 history.scrollRestoration = 'manual' 6248 6249 6250 6251 Foundation.AddEvent = Foundation.AddEvent || { 6252 ajaxUrl: "https://calendar.chronogram.com/hudsonvalley" 6253 + "/Responsive/Components/Event/AddEvent/Ajax.html", 6254 requiredMarkHTML: "<span class=\"fdn-interface-form-required-marker\">•<\/span>", 6255 get isLocationEventType () { 6256 return jQuery('[name="eventType"]:checked').val() === 'location' 6257 }, 6258 get isOnlineOnlyEventType () { 6259 return jQuery('[name="eventType"]:checked').val() === 'online-only' 6260 }, 6261 get isExistingLocation () { 6262 return jQuery(locOidSelector).val() !== '' 6263 }, 6264 updateDependentRequiredFields () { 6265 var eventUrlDependency = jQuery('input[name="eventFeatures"][value="Online"]:checked').length > 0 6266 var eventUrlLabel = jQuery('label[for^=urlInput]') 6267 var eventUrlLabelRequiredMark = eventUrlLabel.find('.fdn-interface-form-required-marker') 6268 if (eventUrlDependency) { 6269 // Add a required mark if there isn't one 6270 if (eventUrlLabelRequiredMark.length === 0) { 6271 eventUrlLabel.append(Foundation.AddEvent.requiredMarkHTML) 6272 } 6273 else { 6274 eventUrlLabelRequiredMark.removeClass('uk-hidden') 6275 } 6276 } 6277 else { 6278 eventUrlLabelRequiredMark.addClass('uk-hidden') 6279 } 6280 }, 6281 handleOnlineOnlySelection () { 6282 var onlineInputElement = jQuery('input[name="eventFeatures"][value="Online"]') 6283 onlineInputElement 6284 .attr('checked',true) 6285 .hide() 6286 .closest('label') 6287 .hide() 6288 6289 var moreFeaturesThanJustOnline = jQuery('input[name="eventFeatures"]').length > jQuery('input[name="eventFeatures"][value="Online"]').length 6290 if(!moreFeaturesThanJustOnline) { 6291 jQuery('[fdn-features-container]').hide() 6292 } 6293 6294 Foundation.AddEvent.updateDependentRequiredFields() 6295 }, 6296 handleAtLocationSelection () { 6297 var onlineInputElement = jQuery('input[name="eventFeatures"][value="Online"]') 6298 onlineInputElement 6299 .attr('checked',false) 6300 .show() 6301 .closest('label') 6302 .show() 6303 6304 jQuery('[fdn-features-container]').show() 6305 6306 Foundation.AddEvent.updateDependentRequiredFields() 6307 } 6308 } 6309 6310 // Step flow 6311 Foundation.AddEvent.Step = { 6312 setupStep: function (params) { 6313 Foundation.AddEvent.Step[params.stepName] = { 6314 containerSelector: params.containerSelector, 6315 nextButtonSelector: params.nextButtonSelector, 6316 complete: params.onComplete || null, 6317 onShow: params.onShow || null, 6318 show: function () { 6319 jQuery(this.containerSelector) 6320 .removeClass('uk-animation-slide-top-small uk-animation-reverse') 6321 .addClass('uk-animation-slide-top-small') 6322 .show() 6323 if (typeof(this.onShow) === "function") { 6324 this.onShow() 6325 } 6326 }, 6327 hide: function () { 6328 jQuery(this.containerSelector) 6329 .removeClass('uk-animation-slide-top-small uk-animation-reverse') 6330 .addClass('uk-animation-slide-top-small uk-animation-reverse') 6331 .hide(300) 6332 } 6333 } 6334 } 6335 } 6336 6337 // Event Type Step 6338 Foundation.AddEvent.Step.setupStep({ 6339 stepName: 'Event Type', 6340 containerSelector: '[fdn-add-event-step-1-container]', 6341 nextButtonSelector: '[name="eventType"]', 6342 onComplete: function () { 6343 if (Foundation.AddEvent.isOnlineOnlyEventType) { 6344 Foundation.AddEvent.Step['Location Details'].hide() 6345 Foundation.AddEvent.Step['Event Details'].show() 6346 resetLoc() 6347 Foundation.AddEvent.handleOnlineOnlySelection() 6348 } 6349 else if (Foundation.AddEvent.isLocationEventType) { 6350 Foundation.AddEvent.Step['Location Details'].show() 6351 Foundation.AddEvent.Step['Event Details'].hide() 6352 6353 // 6354 var eventUrlId = 'urlInput' 6355 jQuery('label[for^='+eventUrlId+'Input]') 6356 .find('.fdn-interface-form-required-marker').remove() 6357 6358 Foundation.AddEvent.handleAtLocationSelection() 6359 } 6360 }, 6361 onShow: function () {}, 6362 }) 6363 6364 // Location Details Step 6365 Foundation.AddEvent.Step.setupStep({ 6366 stepName: 'Location Details', 6367 containerSelector: '[fdn-add-event-step-2-container]', 6368 nextButtonSelector: '[fdn-add-event-step-1-next]', 6369 onComplete: function () { 6370 validateLocation() 6371 }, 6372 onShow: function () {}, 6373 }) 6374 6375 // Event Details Step 6376 Foundation.AddEvent.Step.setupStep({ 6377 stepName: 'Event Details', 6378 containerSelector: '[fdn-add-event-step-3-container]', 6379 nextButtonSelector: '[fdn-add-event-step-2-next]', 6380 onComplete: function () { validateSubmitEvent() }, 6381 onShow: function () { }, 6382 }) 6383 6384 jQuery(Foundation.AddEvent.Step['Event Type'].nextButtonSelector) 6385 .click(function (e) { 6386 Foundation.AddEvent.Step['Event Type'].complete() 6387 }) 6388 6389 jQuery(Foundation.AddEvent.Step['Location Details'].nextButtonSelector) 6390 .click(function (e) { 6391 e.preventDefault() 6392 Foundation.AddEvent.Step['Location Details'].complete() 6393 }) 6394 6395 jQuery(Foundation.AddEvent.Step['Event Details'].nextButtonSelector) 6396 .click(function (e) { 6397 e.preventDefault() 6398 Foundation.AddEvent.Step['Event Details'].complete() 6399 }) 6400 6401 6402 var componentSelector = '[data-component-id="AddEventResponsive"]'; 6403 var addEventFormSelector = componentSelector + ' form[name=addEventForm]' 6404 var popUpRepeatFormSelector = componentSelector + ' form[name=repeatForm]' 6405 6406 // Location vars 6407 6408 var locSearchIndex = 0; 6409 var locNewIndex = 1; 6410 var locResultIndex = 2; 6411 6412 var locSwitcherSelector = componentSelector + ' .locationSwitcher'; 6413 var locSwitcherIndex = 0; 6414 6415 var locSwitcherUkObj = UIkit.switcher(locSwitcherSelector, { 6416 active: locSwitcherIndex,
6417 animation: 'uk-animation-slide-top-small, ' 6418 + 'uk-animation-slide-bottom-small uk-animation-reverse', 6419 swiping: false 6420 }); 6421 6422 var locSearchSelector = componentSelector + ' .locationStart'; 6423 var locOidSelector = componentSelector + ' input[name=location]'; 6424 var locNewSelector = componentSelector + ' .locationFormNew'; 6425 var locResultSelector = componentSelector + ' .locationFormResult'; 6426 var locResetLocationSelector = 'div.resetLocLink div' 6427 var locComponentResetLocationSelector = componentSelector + ' ' + locResetLocationSelector 6428 6429 var locSearchSuggestionsSelector = componentSelector + " .locationSuggestions" 6430 var locSearchSuggestionsOriginalHTML = jQuery(locSearchSuggestionsSelector).html() 6431 6432 var locLookUpRequest=null; 6433 var locResultsList = new Array(); 6434 6435 var locRequiredFields = [ 6436 "locationName", 6437 "locationAddress", 6438 "locationCity", 6439 "locationState", 6440 "locationZipCode", 6441 "locationPhone", 6442 "relationship", 6443 "locationNeighborhood", 6444 "locationCategory", 6445 ] 6446 6447 6448 // Add/remove required attribute based on visibility to take advantage of browser 6449 // enforcement. Required attr must be removed on hidden fields to avoid errors. 6450 6451 UIkit.util.on('.locationSwitcher + .uk-switcher', 'shown', function(e) { 6452 for(let value of locRequiredFields) { 6453 var requiredField = jQuery(e.target).find('[name='+value+']') 6454 if(requiredField.length > 0){ 6455 requiredField.attr('required',true) 6456 jQuery('label[for='+requiredField.attr('id')+'Input], ' 6457 +'label[for='+requiredField.attr('id')+'Radio]') 6458 .append(Foundation.AddEvent.requiredMarkHTML) 6459 } 6460 } 6461 }) 6462 6463 UIkit.util.on('.locationSwitcher + .uk-switcher', 'hidden', function(e) { 6464 for(let value of locRequiredFields) { 6465 var requiredField = jQuery(e.target).find('[name='+value+']') 6466 if(requiredField.length > 0){ 6467 requiredField.attr('required',false) 6468 jQuery('label[for='+requiredField.attr('id')+'Input], ' 6469 +'label[for='+requiredField.attr('id')+'Radio]') 6470 .find('.fdn-interface-form-required-marker').remove() 6471 } 6472 } 6473 }) 6474 6475 6476 // Event vars 6477 var eventDescriptionWordLimit = 100; 6478 6479 var eventDateTimeRowClone = jQuery(".datetime_row:last").clone() 6480 6481 var eventDateSelector = "input[name=eventDate]" 6482 var eventStartTimeSelector = "input[name=eventStartTime]" 6483 var eventEndTimeSelector = "input[name=eventEndTime]" 6484 var eventTimeSpecSelector = "input[name='time_spec']" 6485 6486 var eventRepeatUntilDateElement = jQuery("input[name=repeatUntilDate]") 6487 6488 // Upload vars 6489 var ukUploadProgress = jQuery('#imageUploadProgressbar') 6490 var ukUploadImageContainer = jQuery('#imagePlaceholder') 6491 var ukUploadImageInput = jQuery('#imageInputField') 6492 var ukUploadComponent = jQuery('#imageUploadComponent') 6493 var ukUploadImageDetailsContainer = jQuery('#eventImageDetailsContainer') 6494 var ukErrorModal = jQuery('#errorModal') 6495 6496 6497 // Utility functions 6498 function scrollToItem(item){ 6499 var container = jQuery(document), scrollTo = jQuery(item); 6500 container.scrollTop( 6501 scrollTo.offset().top-50 6502 ); 6503 } 6504 6505 // Location functions 6506 function checkLocation(locationOid){ 6507 var params = { 6508 action: "findLocation", 6509 location: locationOid 6510 }; 6511 jQuery.ajax({ 6512 url: Foundation.AddEvent.ajaxUrl, 6513 data: (params), 6514 type: "GET", 6515 success: function (data) { 6516 if (data.result){ 6517 jQuery(locResultSelector).html(data.result); 6518 UIkit.switcher(locSwitcherSelector).show(locResultIndex); 6519 resetLocationErrorDisplay() 6520 6521 setTimeout(function () { 6522 Foundation.AddEvent.Step['Event Details'].show() 6523 }, 500) 6524 } 6525 } 6526 }); 6527 } 6528 6529 function hoverSelectSuggestedLocation (e) { 6530 jQuery(locSearchSuggestionsSelector + ' li').removeClass('fdn-selected') 6531 jQuery(e.target).closest('li').addClass('fdn-selected') 6532 } 6533 6534 function keySelectSuggestedLocation (e) { 6535 var suggestedItemsObj = jQuery(locSearchSuggestionsSelector + ' li') 6536 var firstItemObj = suggestedItemsObj.first() 6537 var lastItemObj = suggestedItemsObj.last() 6538 var selectedObj = suggestedItemsObj.filter('.fdn-selected') 6539 var prevItemObj = selectedObj.prev('li') 6540 var nextItemObj = selectedObj.next('li') 6541 6542 var navigationKeyList = ['ArrowUp','ArrowDown','Tab'] 6543 6544 if(e.key == "Enter"){ 6545 e.preventDefault() 6546 if(selectedObj.length > 0) { 6547 selectedObj.find('a').click() 6548 console.log("Select highlighted item") 6549 return 6550 } 6551 } 6552 6553 if(navigationKeyList.indexOf(e.key) != -1){ 6554 jQuery(locSearchSuggestionsSelector + ' li').removeClass('fdn-selected') 6555 6556 if(e.key == 'ArrowDown' || (e.key == 'Tab' && !e.shiftKey)){ 6557 e.preventDefault() 6558 if(selectedObj[0] != null && nextItemObj[0] != null) 6559 nextItemObj.addClass('fdn-selected') 6560 else 6561 firstItemObj.addClass('fdn-selected') 6562 console.log("Highlight next one down or wrap to beginning") 6563 } 6564 6565 if(e.key == 'ArrowUp' || (e.key == 'Tab' && e.shiftKey)){ 6566 e.preventDefault() 6567 if(selectedObj[0] != null && prevItemObj[0] != null) 6568 prevItemObj.addClass('fdn-selected').focus() 6569 else 6570 lastItemObj.addClass('fdn-selected').focus() 6571 console.log("Highlight next one up or wrap to end") 6572 } 6573 } 6574 } 6575 6576 function selectSuggestedLocationOn () { 6577 jQuery('input[name=locationSearch]').on('keydown', keySelectSuggestedLocation) 6578 jQuery(locSearchSuggestionsSelector + ' li').on('hover',hoverSelectSuggestedLocation) 6579 } 6580 6581 function selectSuggestedLocationOff () { 6582 jQuery('input[name=locationSearch]').off('keydown', keySelectSuggestedLocation) 6583 jQuery(locSearchSuggestionsSelector + ' li').off('hover',hoverSelectSuggestedLocation) 6584 } 6585 6586 UIkit.util.on(locSearchSuggestionsSelector, 'shown', function(e) { 6587 selectSuggestedLocationOn() 6588 }) 6589 UIkit.util.on(locSearchSuggestionsSelector, 'hidden', function(e) { 6590 selectSuggestedLocationOff() 6591 }) 6592 6593 function resetLoc(e){ 6594 if (e !== undefined) { 6595 e.preventDefault(); 6596 } 6597 jQuery(locSearchSelector).find('input').val(''); 6598 jQuery(locOidSelector).val(''); 6599 jQuery(locSearchSuggestionsSelector).html(locSearchSuggestionsOriginalHTML); 6600 UIkit.switcher(locSwitcherSelector).show(locSearchIndex); 6601 6602 // Foundation.AddEvent.Step['Location Details'].show(); 6603 // Foundation.AddEvent.Step['Event Details'].hide(); 6604 6605 setTimeout(resetNewLocationNextButt, 500) 6606 } 6607 6608 function narrowResults(){ 6609 selectSuggestedLocationOff(); 6610 if (locResultsList.length > 0){ 6611 6612 var myString = '<ul class="uk-nav uk-dropdown-nav">'; 6613 for (i=0;i<locResultsList.length;i++){ 6614 myString+="<li class='fdn-interface-form-dropselect-item'>"+locResultsList[i]+"</li>"; 6615 } 6616 myString += "</ul>"; 6617 jQuery(locSearchSuggestionsSelector) 6618 .html(myString); 6619 } 6620 selectSuggestedLocationOn(); 6621 } 6622 6623 function lookAhead(e){ 6624 var ignoreKeyList = ['Shift','Tab','Enter','ArrowUp','ArrowDown','ArrowRight','ArrowLeft'] 6625 if(ignoreKeyList.indexOf(e.key) == -1){ 6626 6627 // check size of value 6628 var myVal = jQuery(e.target).val(); 6629 var myValTest = myVal.replace(/[^a-zA-Z0-9]/g, ''); 6630 //var myValTestAlpha = myValTest.replace(/[^a-zA-Z]/g, ''); 6631 var myLength = myValTest.length; 6632 var noSuggestionsHTML = "<div class='locNoSuggest uk-text-muted uk-padding-small'>No suggestions</div>"; 6633 6634 if (locLookUpRequest!=null) 6635 locLookUpRequest.abort(); 6636 6637 if (myLength >= 2){ 6638 locResultsList.length = 0; 6639 // get values from database and put them into an array 6640 var params = { 6641 action: "locationLookUp", 6642 value: myVal 6643 }; 6644 locLookUpRequest = new jQuery.ajax({ 6645 url: Foundation.AddEvent.ajaxUrl, 6646 data: (params), 6647 type: "GET", 6648 beforeSend: function () { 6649 selectSuggestedLocationOff() 6650 }, 6651 success: function (data) { 6652 if (data.length > 0){ 6653 jQuery.each(data, function(index, data) { 6654 locResultsList.push(data.location); 6655 }); 6656 } else { 6657 selectSuggestedLocationOff() 6658 jQuery(locSearchSuggestionsSelector) 6659 .html(noSuggestionsHTML); 6660 locResultsList.length = 0; 6661 } 6662 }, complete: function(){ 6663 narrowResults(); 6664 } 6665 }); 6666 6667 } else { 6668 // do nothing here but hide results and clear suggestions 6669 selectSuggestedLocationOff() 6670 jQuery(locSearchSuggestionsSelector) 6671 .html(noSuggestionsHTML); 6672 locResultsList.length = 0; 6673 } 6674 } 6675 } 6676 6677 function addLocationCategory(e){ 6678 e.preventDefault(); 6679 var categories = jQuery(".locationCategoryWrapper"); 6680 if(categories.length >= 2){ 6681 jQuery('.locAddCategoryLink').fadeOut("fast"); 6682 } 6683 6684 if(categories.length >= 3){ 6685 return false;
6686 } 6687 6688 jQuery(".locationCategoryWrapper:first") 6689 .clone(true) 6690 .hide() 6691 .append("<div class=\"uk-width-auto uk-flex uk-flex-middle uk-padding-small uk-margin-auto-right\">\n <a href=\"#\"\n class=\"locCatDeleteLink fdn-interface-form-item-remove\">\n remove <span uk-icon=\"icon:close-bold;ratio: .5;\"><\/span>\n <\/a>\n <\/div>") 6692 .insertAfter(".locationCategoryWrapper:last") 6693 .fadeIn("fast"); 6694 } 6695 6696 function deleteLocationCategory(e){ 6697 e.preventDefault(); 6698 jQuery(this).closest(".locationCategoryWrapper").fadeOut("fast", function(){ 6699 jQuery(this).remove(); 6700 jQuery('.eventAddCategoryLink').fadeIn("fast"); 6701 }); 6702 jQuery(".addCategoryError") 6703 .attr("hidden",true) 6704 .html(""); 6705 } 6706 6707 6708 // Event functions 6709 6710 function updateEventCategoryOptions () { 6711 jQuery('[name="eventCategory"]').each(function(){ 6712 var selectElement = jQuery(this) 6713 var currentlySelected = selectElement.val() 6714 var excludeCategories = [] 6715 6716 jQuery('[name="eventCategory"]').each(function(){ 6717 var alreadySelected = jQuery(this).val() 6718 if(alreadySelected != '' && alreadySelected != currentlySelected) 6719 excludeCategories.push(alreadySelected) 6720 }) 6721 6722 var params = { 6723 action: "eventCategoryLookup", 6724 selectedOid: currentlySelected, 6725 excludeOidList: excludeCategories, 6726 } 6727 6728 jQuery.ajax({ 6729 url: Foundation.AddEvent.ajaxUrl, 6730 data: (params), 6731 type: "POST", 6732 success: function (data) { 6733 if(data.html) 6734 selectElement.html(data.html) 6735 else 6736 console.warn('EventCategory Options Update', data) 6737 } 6738 }) 6739 }) 6740 } 6741 6742 function addEventCategory(e){ 6743 e.preventDefault(); 6744 var categories = jQuery(".eventCategoryWrapper"); 6745 if(categories.length >= 2){ 6746 jQuery('.eventAddCategoryLink').fadeOut("fast"); 6747 } 6748 if(categories.length >= 3){ 6749 return false; 6750 } 6751 6752 var clonedSelect = jQuery(".eventCategoryWrapper:first") 6753 .clone(true) 6754 .hide() 6755 .append("<div class=\"uk-width-auto uk-flex uk-flex-middle uk-padding-small uk-margin-auto-right\">\n <a href=\"#\"\n class=\"eventCatDeleteLink fdn-interface-form-item-remove\">\n remove <span uk-icon=\"icon:close-bold;ratio: .5;\"><\/span>\n <\/a>\n <\/div>") 6756 .insertAfter(".eventCategoryWrapper:last") 6757 .fadeIn("fast") 6758 .find("option:selected").removeAttr("selected"); 6759 6760 updateEventCategoryOptions() 6761 } 6762 6763 function deleteEventCategory(e){ 6764 e.preventDefault(); 6765 jQuery(this).closest(".eventCategoryWrapper").fadeOut("fast", function(){ 6766 jQuery(this).remove(); 6767 jQuery('.eventAddCategoryLink').fadeIn("fast"); 6768 updateEventCategoryOptions(); 6769 }); 6770 6771 jQuery(".addCategoryError") 6772 .attr("hidden",true) 6773 .html(""); 6774 } 6775 6776 jQuery('[name="eventCategory"]').change(function(){ 6777 updateEventCategoryOptions(); 6778 }) 6779 6780 function spinNewLocationNextButt() { 6781 // 6782 jQuery('.newLocationNextButton button').attr('disabled',true) 6783 jQuery('.newLocationNextButton [uk-spinner]').attr('hidden',false) 6784 } 6785 6786 function hideNewLocationNextButt() { jQuery('.newLocationNextButton').hide() } 6787 6788 function resetNewLocationNextButt() { 6789 // 6790 jQuery('.newLocationNextButton').show() 6791 jQuery('.newLocationNextButton button').attr('disabled',false) 6792 jQuery('.newLocationNextButton [uk-spinner]').attr('hidden',true) 6793 } 6794 6795 function updateChangeLocationButt() { 6796 if(jQuery(locOidSelector).val() == ''){ 6797 jQuery(locComponentResetLocationSelector).attr('hidden',true) 6798 } else { 6799 jQuery(locComponentResetLocationSelector).removeAttr('hidden') 6800 } 6801 } 6802 6803 function resetLocationErrorDisplay() { 6804 jQuery("#locationErrors").slideUp("fast",function(){ 6805 jQuery(this).attr('hidden',true).html(''); 6806 }) 6807 } 6808 6809 function resetEventErrorDisplay() { 6810 jQuery("#eventErrors").slideUp("fast",function(){ 6811 jQuery(this).attr('hidden',true).html(''); 6812 }) 6813 } 6814 6815 function validateLocation(e){ 6816 var validationSuccess = false 6817 spinNewLocationNextButt() 6818 6819 jQuery(".errorContainer").slideUp("fast");
6820 var params = jQuery(addEventFormSelector).serialize() 6821 + "&action=validateEvent"; 6822 jQuery.ajax({ 6823 url: Foundation.AddEvent.ajaxUrl, 6824 data: (params), 6825 type: "POST", 6826 success: function (data) { 6827 if (data){ 6828 if (data.locationErrors){ 6829 jQuery("#locationErrors") 6830 .attr('hidden',false) 6831 .html(data.locationErrors) 6832 .slideDown("fast"); 6833 scrollToItem("#locationErrors") 6834 } else { 6835 validationSuccess = true 6836 hideNewLocationNextButt() 6837 resetLocationErrorDisplay() 6838 Foundation.AddEvent.Step['Event Details'].show() 6839 } 6840 } 6841 }, 6842 complete: function () { 6843 if(!validationSuccess) { 6844 resetNewLocationNextButt() 6845 } 6846 updateChangeLocationButt() 6847 if(typeof(grecaptcha) !== "undefined" && typeof(grecaptcha.reset) === 'function') { 6848 grecaptcha.reset(); 6849 } 6850 } 6851 }); 6852 } 6853 6854 function validateSubmitEvent(e){ 6855 var validationSuccess = false 6856 6857 // 6858 jQuery('.formSubmitButton').attr('disabled',true) 6859 jQuery('.formSubmitSpinner').attr('hidden',false) 6860 6861 jQuery(".errorContainer").slideUp("fast"); 6862 6863 var hackValidateOptionallyRequired = "" 6864 if(jQuery('input[name=imageOid]').val() && jQuery('input[name=imageCredit]').attr('required')) { 6865 hackValidateOptionallyRequired += "&requireImageCredit=true" 6866 } 6867 if(jQuery('input[name=imageOid]').val() && jQuery('input[name=imageCaption]').attr('required')) { 6868 hackValidateOptionallyRequired += "&requireImageCaption=true" 6869 } 6870 6871 var params = jQuery(addEventFormSelector).serialize() 6872 + "&action=validateEvent" 6873 + hackValidateOptionallyRequired; 6874 jQuery.ajax({ 6875 url: Foundation.AddEvent.ajaxUrl, 6876 data: (params), 6877 type: "POST", 6878 success: function (data) { 6879 if (data){ 6880 // 6881 if (data.validFormData == true){ 6882 validationSuccess = true 6883 jQuery(addEventFormSelector) 6884 .trigger(jQuery.Event('submit', { validationSuccess: true })) 6885 6886 // 6887 } else if (data.error == true){ 6888 6889 if (data.locationErrors){ 6890 jQuery("#locationErrors") 6891 .attr('hidden',false) 6892 .html(data.locationErrors) 6893 .slideDown("fast"); 6894 } 6895 6896 if (data.eventErrors){ 6897 jQuery("#eventErrors") 6898 .attr('hidden',false) 6899 .html(data.eventErrors) 6900 .slideDown("fast"); 6901 } 6902 6903 if (data.locationErrors) scrollToItem("#locationErrors"); 6904 else if (data.eventErrors) scrollToItem("#eventErrors"); 6905 } 6906 } 6907 }, 6908 complete: function () { 6909 if(!validationSuccess) { 6910 // 6911 jQuery('.formSubmitButton').attr('disabled',false) 6912 jQuery('.formSubmitSpinner').attr('hidden',true) 6913 if(typeof(grecaptcha) !== "undefined" && typeof(grecaptcha.reset) === 'function') { 6914 grecaptcha.reset(); 6915 } 6916 } 6917 } 6918 }); 6919 } 6920 6921 6922 function popUpRepeat(e){ 6923 e.preventDefault(); 6924 var baseName = jQuery(this).attr("data-base"); 6925 6926 var myRow = jQuery(this).closest(".datetime_row"); 6927 var dateField = myRow.find("input[name='eventDate']"); 6928 var dateValue = dateField.val(); 6929 6930 var repeatField = myRow.find(eventTimeSpecSelector); 6931 var repeatValue = repeatField.val(); 6932 var repeatUntilTfnRadioObj = jQuery('[name=repeatUntil][value=0]') 6933 var repeatUntilDateRadioObj = jQuery('[name=repeatUntil][value=1]') 6934 var repeatUntilDate = repeatField.attr('data-repeat-until-date'); 6935 6936 var timeStringField = myRow.find("span.time_string"); 6937 6938 // validate date 6939 if (validDateFormat(dateValue)) { 6940 dateField.parent().css("borderColor", ""); 6941 if (dateValue.indexOf("/") != -1) { 6942 d = dateValue.split("/"); 6943 sepStyle = "/"; 6944 } else { 6945 d = dateValue.split("-"); 6946 sepStyle = "-"; 6947 } 6948 6949 var myDay = parseInt(d[2]); 6950 // If not the 11th and date ends at 1 6951 if (myDay != 11 && (myDay + '').match(/1$/)) 6952 var daySuffix='st'; 6953 // If not the 12th and date ends at 2 6954 else if (myDay != 12 && (myDay + '').match(/2$/)) 6955 var daySuffix='nd'; 6956 // If not the 13th and date ends at 3 6957 else if (myDay != 13 && (myDay + '').match(/3$/)) 6958 var daySuffix='rd'; 6959 else 6960 var daySuffix='th'; 6961 6962 UIkit.modal('#popUpRepeat').show() 6963
6964 jQuery("form[name='repeatForm'] input[name='currentInput']") 6965 .val(dateField.attr("id")); 6966 jQuery('#popUpRepeat #popUpCurrentDate') 6967 .html(ymdToMdy(dateValue,'/')) 6968 .attr('data-start-date-value',dateValue); 6969 jQuery('#popUpRepeat #popUpCurrentDay').html(myDay+daySuffix); 6970 setRepeatValue(repeatValue); 6971 6972 var repeatUntilInputObj = jQuery("form[name='repeatForm'] input[name='repeatUntilDate']") 6973 repeatUntilInputObj.val(repeatUntilDate).attr('min',dateValue); 6974 6975 var defaultDate = repeatUntilDate ? repeatUntilDate : dateValue; 6976 6977 Foundation.AddEvent.repeatDateLastValue = defaultDate 6978 6979 if(Foundation.AddEvent.repeatDatePicker == undefined) { 6980 Foundation.AddEvent.repeatDatePicker = 6981 /* */ 6982 setupDatePicker(repeatUntilInputObj, defaultDate, { 6983 appendTo: jQuery('#popUpRepeat')[0], 6984 position: 'above', 6985 static: true, 6986 onOpen: function(){ 6987 repeatUntilDateRadioObj.attr('checked',true) 6988 jQuery(Foundation.AddEvent.repeatDatePicker.calendarContainer) 6989 .css({ 'margin-top': '-335px' }) 6990 }, 6991 }) 6992 } else { 6993 Foundation.AddEvent.repeatDatePicker.setDate(defaultDate) 6994 } 6995 6996 // Selecting the Till Further Notice Stuff 6997 repeatUntilTfnRadioObj.on('change', function(){ 6998 if(Foundation.AddEvent.repeatDatePicker.selectedDates.length > 0) { 6999 Foundation.AddEvent.repeatDateLastValue = 7000 Foundation.AddEvent.repeatDatePicker.selectedDates[0] 7001 } 7002 Foundation.AddEvent.repeatDatePicker.clear() 7003 }) 7004 7005 // Selecting the Repeat Until Date stuff 7006 repeatUntilDateRadioObj.on('change', function(){ 7007 Foundation.AddEvent.repeatDatePicker 7008 .setDate(Foundation.AddEvent.repeatDateLastValue) 7009 }) 7010 7011 } else { 7012 //alert('You must type in a valid date first.\n\nThe date format is mm-dd-yyyy'); 7013 dateField.parent().css("borderColor", "#C00"); 7014 } 7015 } 7016 7017 function validDateFormat(inDate) { 7018 // 7019 7020 // Basic date YYYY-MM-DD: 7021 var matchYyyyMmDd = /([0-9]{4})[-|\/](0[1-9]|1[012])[-|\/](0[1-9]|1[0-9]|2[0-9]|3[01])/ 7022 7023 // Basic date DD.MM.YYYY: 7024 var matchDdMmYyyy = /(0[1-9]|1[0-9]|2[0-9]|3[01]).(0[1-9]|1[012]).[0-9]{4}/ 7025 7026 return inDate.match(matchYyyyMmDd) || inDate.match(matchDdMmYyyy) 7027 } 7028 7029 function isPossiblyMonthDayYear(inDate) { 7030 // Basic date MM/DD/YYYY: 7031 var matchMmDdYyyy = /(0[1-9]|1[012])[-|\/](0[1-9]|1[0-9]|2[0-9]|3[01])[-|\/][0-9]{4}/ 7032 return inDate.match(matchMmDdYyyy) 7033 } 7034 7035 function ymdToMdy (inDate, separator='-') { 7036 // Basic date YYYY-MM-DD: 7037 var matchYyyyMmDd = /([0-9]{4})[-|\/](0[1-9]|1[012])[-|\/](0[1-9]|1[0-9]|2[0-9]|3[01])/ 7038 var matches = inDate.match(matchYyyyMmDd) 7039 if(matches) 7040 return matches[2].padStart(2,'0') + separator 7041 + matches[3].padStart(2,'0') + separator 7042 + matches[1] 7043 return null 7044 } 7045 7046 function mdyToYmd (inDate, separator='-') { 7047 var matchMmDdYyyy = /(0?[1-9]|1[012])\/(0?[1-9]|1[0-9]|2[0-9]|3[01])\/([0-9]{4})/ 7048 var matches = inDate.match(matchMmDdYyyy) 7049 if(matches) 7050 return matches[3] + separator 7051 + matches[1].padStart(2,'0') + separator 7052 + matches[2].padStart(2,'0') 7053 return null 7054 } 7055 7056 function getCurrentFormattedDate() { 7057 var now = new Date() 7058 return now.getFullYear() + '-' + (now.getMonth()+1) + '-' + now.getDate() 7059 } 7060 7061 function setupDatePicker(element, date, params) { 7062 var defaultDate = getCurrentFormattedDate() 7063 var myElement = jQuery(element)[0] // Ensure we're passing a DOM element object 7064 var myMinDate = element.attr ? element.attr('min') : element.min 7065 var myMaxDate = element.attr ? element.attr('max') : element.max 7066 7067 if (date && validDateFormat(date)) { 7068 defaultDate = date 7069 } else if (element.attr && (element.attr('min') || element.min)) { 7070 defaultDate = null 7071 } 7072 7073 var onOpen = params ? params.onOpen || null : null 7074 var position = params ? params.position : 'auto' 7075 // 7076 // 7077 // 7078 var appendTo = params ? params.appendTo || jQuery('[data-ev-zone="Closer"]')[0] : jQuery('[data-ev-zone="Closer"]')[0] // DOM HTML element 7079 7080 var static = params ? params.static : false 7081 7082 var fp = flatpickr(myElement, { 7083 allowInput: true, 7084 altInput: true, 7085 altFormat: "m/d/Y", 7086 dateFormat: "Y-m-d", 7087 defaultDate: defaultDate, 7088 minDate: myMinDate, 7089 maxDate: myMaxDate, 7090 onOpen: onOpen, 7091 position: position, 7092 appendTo: appendTo, 7093 static: static, 7094 }) 7095 7096 return fp 7097 } 7098 7099 function setupTimePicker(element,allowClear) { 7100 var setupClear = null 7101 7102 if(allowClear != null && allowClear){ 7103 setupClear = function ( dateObj, dateStr, instance ) { 7104 var clearLink = jQuery( '<div class="flatpickr-clear">Clear</div>' ) 7105 .on( 'click', function() { 7106 instance.clear(); 7107 instance.close(); 7108 }) 7109 .appendTo(jQuery(instance.calendarContainer)); 7110 } 7111 } 7112 7113 var fp = element.flatpickr({ 7114 enableTime: true, 7115 noCalendar: true, 7116 dateFormat: "H:i", 7117 defaultDate: null, 7118 allowInput: true, 7119 altInput: true, 7120 altFormat: "h:i K", 7121 time_24hr: false, 7122 minuteIncrement: 15, 7123 onReady: setupClear, 7124 }) 7125 7126 return fp 7127 } 7128 7129 var dateTimeRowIndex = 1; 7130 7131 function addDateTime(e){ 7132 e.preventDefault(); 7133 dateTimeRowIndex++; 7134 7135 var newRow = eventDateTimeRowClone.clone() 7136 newRow.find(".removeDateTimeLink").remove().end().attr('hidden',true); 7137 newRow.find('>div').last().append("<div class=\"uk-width-auto uk-flex uk-flex-middle uk-padding-small uk-margin-auto-right\">\n <a href=\"#\"\n class=\"removeDateTimeLink fdn-interface-form-item-remove\">\n remove <span uk-icon=\"icon:close-bold;ratio: .5;\"><\/span>\n <\/a>\n <\/div>"); 7138 7139 newRow.find(eventDateSelector).attr("id", "eventDate"+dateTimeRowIndex); 7140 newRow.find(eventTimeSpecSelector).attr("id", "time_spec"+dateTimeRowIndex); 7141 setupDatePicker(newRow.find(eventDateSelector)) 7142 setupTimePicker(newRow.find(eventStartTimeSelector),true) 7143 setupTimePicker(newRow.find(eventEndTimeSelector),true) 7144 7145 newRow.insertAfter(".datetime_row:last"); 7146 newRow.attr('hidden',false); 7147 } 7148 7149 function removeDatetime(e){ 7150 e.preventDefault();
7151 jQuery(this).closest(".datetime_row").slideUp("fast", function(){ 7152 jQuery(this).remove(); 7153 }); 7154 } 7155 7156 function removeImage(e){ 7157 e.preventDefault(); 7158 ukUploadImageDetailsContainer.attr('hidden',true) 7159 ukUploadImageContainer.html('') 7160 ukUploadImageInput.val('') 7161 ukUploadComponent.attr('hidden',false) 7162 jQuery('[name=imageCaption], [name=imageCredit]').val('') 7163 } 7164 7165 function setAndRevealImage(oid,html) { 7166 ukUploadComponent.attr('hidden',true) 7167 ukUploadImageContainer.html(html) 7168 ukUploadImageInput.val(oid) 7169 ukUploadImageDetailsContainer.attr('hidden',false) 7170 } 7171 7172 function closeFreq(e){ 7173 if (e) e.preventDefault(); 7174 UIkit.modal('#popUpRepeat').hide() 7175 } 7176 7177 // 7178 7179 function checkSome(formName,checkDays) { 7180 var s = checkDays.split(","); 7181 for (i=0; i<document.repeatForm[formName].length; i++) { 7182 if (s[i] == "1") document.repeatForm[formName][i].checked=true; 7183 } 7184 } 7185 7186 function checkAll(formName) { 7187 for (i=0; i<document.repeatForm[formName].length; i++) { 7188 document.repeatForm[formName][i].checked=true; 7189 } 7190 } 7191 7192 function unCheckAll(formName) { 7193 for (i=0; i<document.repeatForm[formName].length; i++) { 7194 document.repeatForm[formName][i].checked=false; 7195 } 7196 } 7197 7198 function padDigits(number) { 7199 return (number < 10) ? '0' + number : number; 7200 } 7201 7202 function buildRepeatDays(formName) { 7203 var s = ""; 7204 for (i=0; i<document.repeatForm[formName].length; i++) { 7205 if (document.repeatForm[formName][i].checked) { 7206 s += "1" 7207 } else { 7208 s += "0" 7209 } 7210 if (i < 6) s += ","; 7211 } 7212 return s; 7213 } 7214 7215 function validateRepeatValues 7216 (repeatType, repeatEvery, repeatOnThe, repeatDays, repeatUntil) { 7217 7218 var valid = 1; 7219 var dayTally = 0; 7220 var s = repeatDays.split(","); 7221 var myErrors = ""; 7222 7223 for (i=0; i<s.length; i++) 7224 dayTally += s[i]-0; 7225 7226 if ((repeatType == 1) && (isNaN(repeatEvery) || repeatEvery=="" 7227 || (parseInt(repeatEvery) <= 0))) { 7228 7229 valid = 0; 7230 myErrors += "<div class='uk-alert-warning' uk-alert>" 7231 + "<a class='uk-alert-close' uk-close></a>" 7232 + "<p>Invalid number of days to repeat: " + repeatEvery + ".</p>" 7233 + "</div>"; 7234 } 7235 7236 if (((repeatType == 3) || (repeatType == 4)) && (dayTally == 0)) { 7237 valid = 0; 7238 myErrors += "<div class='uk-alert-warning' uk-alert>" 7239 + "<a class='uk-alert-close' uk-close></a>" 7240 + "<p>You must check at least one day.</p>" 7241 + "</div>"; 7242 } 7243 7244 if ((repeatUntil != 0) && (validDateFormat(repeatUntil) == 0)) { 7245 valid = 0; 7246 myErrors += "<div class='uk-alert-warning' uk-alert>" 7247 + "<a class='uk-alert-close' uk-close></a>" 7248 + "<p>Invalid repeat until date.</p>" 7249 + "</div>"; 7250 } 7251 7252 if ((repeatType == 0) && (repeatUntil != 0)) { 7253 valid = 0; 7254 myErrors += "<div class='uk-alert-warning' uk-alert>" 7255 + "<a class='uk-alert-close' uk-close></a>" 7256 + "<p>Please choose a repeat specification.</p>" 7257 + "</div>"; 7258 } 7259 7260 if (valid==0){ 7261 jQuery("#popupErrors").html(myErrors).attr('hidden',false).fadeIn("fast"); 7262 } else { 7263 jQuery("#popupErrors").fadeOut("fast"); 7264 } 7265 7266 return valid; 7267 } 7268 7269 function resetFrequencyMinDate(minDate) { 7270 Foundation.AddEvent.repeatDatePicker.set('minDate', minDate) 7271 if(Foundation.AddEvent.repeatDatePicker.selectedDates[0] < new Date(minDate) 7272 || Foundation.AddEvent.repeatDatePicker.selectedDates[0] == undefined){ 7273 Foundation.AddEvent.repeatDatePicker.setDate(minDate) 7274 Foundation.AddEvent.repeatDatePicker.jumpToDate(minDate) 7275 } 7276 } 7277 7278 function calculateFrequencyMinDate(repeatTypeIndex) { 7279 var eventDate = new Date(jQuery('#popUpCurrentDate').attr('data-start-date-value')) 7280 7281 // The very next day (default) 7282 var nextPossible = new Date(new Date(eventDate).setUTCDate(eventDate.getUTCDate()+1)) 7283 7284 // Every [X] days 7285 if (repeatTypeIndex == 1) { 7286 var dayInterval = parseInt(document.repeatForm.daily.value) 7287 nextPossible = new Date(eventDate.getUTCFullYear(), eventDate.getUTCMonth(), eventDate.getUTCDate() + dayInterval) 7288 7289 // On the Xth day every [month|other month|3|4|6|12] 7290 } else if (repeatTypeIndex == 2) { 7291 var monthInterval = parseInt(document.repeatForm.dayOfMonthRepeatEvery.options.selectedIndex) + 1 7292 nextPossible = new Date(eventDate.getUTCFullYear(), eventDate.getUTCMonth() + monthInterval, eventDate.getUTCDate()) 7293 7294 // [Every|Every Other|3rd|4th] week on [Mon|Tue|Wed|Thu|Fri|Sat|Sun] 7295 } else if (repeatTypeIndex == 3) { 7296 var repeatDayOptions = [1,2,3,4,5,6,0] // [Mon|Tue|Wed|Thu|Fri|Sat|Sun] is [1|2|3|4|5|6|0] 7297 var weekMultiplier = parseInt(document.repeatForm.weeklyRepeatEvery.options.selectedIndex) + 1 7298 weekStart = new Date(eventDate.getUTCFullYear(), eventDate.getUTCMonth(), weekMultiplier * 7 + eventDate.getUTCDate()) 7299 nextPossible = weekStart 7300 for(var i = 1; i < 7; i++){ 7301 var checkDate = new Date( 7302 new Date(weekStart).setUTCDate(weekStart.getUTCDate()+i) 7303 ) 7304 var repeatDayIndex = repeatDayOptions.indexOf(checkDate.getUTCDay()) 7305 if(document.repeatForm.weeklyRepeatDay[repeatDayIndex].checked){ 7306 nextPossible = checkDate 7307 } 7308 console.log('weekStart: ', weekStart, 'nextPossible: ', nextPossible, 'repeatDayIndex: ', repeatDayIndex) 7309 } 7310 7311 // Every [month|other month|3|4|6|12] on the [1st|2nd|3rd|4th|last] [Mon|Tue|Wed|Thu|Fri|Sat|Sun] 7312 } else if (repeatTypeIndex == 4) { 7313 var repeatDayOptions = [1,2,3,4,5,6,0] // [Mon|Tue|Wed|Thu|Fri|Sat|Sun] is [1|2|3|4|5|6|0] 7314 var monthMultiplier = parseInt(document.repeatForm.monthlyRepeatEvery.options.selectedIndex) + 1 7315 var monthStart = new Date(new Date(eventDate).setUTCMonth(monthMultiplier + eventDate.getUTCMonth())) 7316 var weekToCheck = parseInt(document.repeatForm.monthlyRepeatOnThe.options.selectedIndex) 7317 7318 if(weekToCheck == 0){ 7319 var firstDay = new Date(monthStart.getUTCFullYear(), monthStart.getUTCMonth(), 1) 7320 } else if (weekToCheck < 4){ 7321 var firstDay = new Date(monthStart.getUTCFullYear(), monthStart.getUTCMonth(), weekToCheck * 7) 7322 } else if (weekToCheck == 4){ 7323 var firstDay = new Date(monthStart.getUTCFullYear(), monthStart.getUTCMonth() + 1, -6) 7324 } 7325 7326 nextPossible = firstDay 7327 for(var i = 1; i < 7; i++){ 7328 var checkDate = new Date( 7329 new Date(firstDay).setUTCDate(firstDay.getUTCDate()+i) 7330 ) 7331 var repeatDayIndex = repeatDayOptions.indexOf(checkDate.getUTCDay()) 7332 if(document.repeatForm.monthlyRepeatDay[repeatDayIndex].checked){ 7333 nextPossible = checkDate 7334 } 7335 console.log('firstDay: ', firstDay, 'nextPossible: ', nextPossible, 'repeatDayIndex: ', repeatDayIndex) 7336 } 7337 } 7338 7339 return nextPossible.getUTCFullYear() 7340 + '-' + ('0' + (nextPossible.getUTCMonth()+1)).slice(-2) // Month is zero based 7341 + '-' + ('0' + nextPossible.getUTCDate()).slice(-2) 7342 } 7343 7344 function updateFocus(element) { 7345 // 7346 document.repeatForm.repeatType[element].checked=true; 7347 7348 if (element == 0) { 7349 document.repeatForm.repeatUntil[0].checked=true; 7350 document.repeatForm.repeatUntilDate.value=''; 7351 } 7352 7353 if (element != 1){ 7354 document.repeatForm.daily.value="1"; 7355 } 7356 7357 if (element != 2){ 7358 document.repeatForm.dayOfMonthRepeatEvery.options.selectedIndex=0; 7359 } 7360 7361 if (element != 3) { 7362 unCheckAll('weeklyRepeatDay'); 7363 document.repeatForm.weeklyRepeatEvery.options.selectedIndex=0; 7364 } 7365 7366 if (element != 4) { 7367 unCheckAll('monthlyRepeatDay'); 7368 document.repeatForm.monthlyRepeatEvery.options.selectedIndex=0; 7369 document.repeatForm.monthlyRepeatOnThe.options.selectedIndex=0; 7370 } 7371 7372 resetFrequencyMinDate(calculateFrequencyMinDate(element)) 7373 } 7374 7375 function setRepeatValue(repeatValue) { 7376 var s = repeatValue.split("::"); 7377 var repeatType = s[0];
7378 var repeatEvery = s[1]; 7379 var repeatOnThe = s[2]; 7380 var repeatDays = s[3]; 7381 var repeatUntil = s[4]; 7382 7383 // 7384 document.repeatForm.daily.value = '1' 7385 jQuery(document.repeatForm.dayOfMonthRepeatEvery.options).each(function(){ 7386 jQuery(this).prop("selected", false) 7387 }) 7388 jQuery(document.repeatForm.weeklyRepeatEvery.options).each(function(){ 7389 jQuery(this).prop("selected", false) 7390 }) 7391 jQuery(document.repeatForm.weeklyRepeatDay).each(function(){ 7392 jQuery(this).prop("checked", false) 7393 }) 7394 jQuery(document.repeatForm.monthlyRepeatEvery.options).each(function(){ 7395 jQuery(this).prop("selected", false) 7396 }) 7397 jQuery(document.repeatForm.monthlyRepeatOnThe.options).each(function(){ 7398 jQuery(this).prop("selected", false) 7399 }) 7400 jQuery(document.repeatForm.monthlyRepeatDay).each(function(){ 7401 jQuery(this).prop("checked", false) 7402 }) 7403 document.repeatForm.repeatUntil[0].checked = false; 7404 document.repeatForm.repeatUntil[0].checked = true; 7405 document.repeatForm.repeatUntilDate.value = '' 7406 7407 // 7408 document.repeatForm.repeatType[repeatType].checked=true; 7409 7410 if (repeatType == 1) { 7411 document.repeatForm.daily.value = repeatEvery; 7412 } 7413 else if (repeatType == 2) { 7414 document.repeatForm.dayOfMonthRepeatEvery.options.selectedIndex = repeatEvery; 7415 } 7416 else if (repeatType == 3) { 7417 checkSome('weeklyRepeatDay',repeatDays); 7418 document.repeatForm.weeklyRepeatEvery.options.selectedIndex = repeatEvery; 7419 } 7420 else if (repeatType == 4) { 7421 checkSome('monthlyRepeatDay',repeatDays); 7422 document.repeatForm.monthlyRepeatEvery.options.selectedIndex = repeatEvery; 7423 document.repeatForm.monthlyRepeatOnThe.options.selectedIndex = repeatOnThe; 7424 } 7425 7426 // 7427 if (repeatUntil == 0) { 7428 document.repeatForm.repeatUntil[0].checked=true; 7429 } else { 7430 document.repeatForm.repeatUntil[1].checked=true; 7431 document.repeatForm.repeatUntilDate.value = repeatUntil; 7432 } 7433 } 7434 7435 7436 function saveRepeatValue() { 7437 var repeatType = "0"; 7438 var repeatEvery = "0"; 7439 var repeatOnThe = "0"; 7440 var repeatDays = "0,0,0,0,0,0,0"; 7441 var repeatUntil = "0"; 7442 7443 // 7444 for (i=0; i<=4; i++) { 7445 if (document.repeatForm.repeatType[i].checked) { 7446 repeatType=document.repeatForm.repeatType[i].value; 7447 } 7448 } 7449 7450 if (repeatType == 1) { 7451 repeatEvery = document.repeatForm.daily.value; 7452 } 7453 else if (repeatType == 2) { 7454 repeatEvery = document.repeatForm.dayOfMonthRepeatEvery.options.selectedIndex; 7455 } 7456 else if (repeatType == 3) { 7457 repeatDays = buildRepeatDays('weeklyRepeatDay'); 7458 repeatEvery = document.repeatForm.weeklyRepeatEvery.options.selectedIndex; 7459 } 7460 else if (repeatType == 4) { 7461 repeatDays = buildRepeatDays('monthlyRepeatDay'); 7462 repeatEvery = document.repeatForm.monthlyRepeatEvery.options.selectedIndex; 7463 repeatOnThe = document.repeatForm.monthlyRepeatOnThe.options.selectedIndex; 7464 } 7465 else { 7466 repeatEvery = "0"; 7467 } 7468 7469 // 7470 if (document.repeatForm.repeatUntil[0].checked) { 7471 repeatUntil = "0"; 7472 } else { 7473 repeatUntil = document.repeatForm.repeatUntilDate.value; 7474 } 7475 7476 // 7477 if (validateRepeatValues(repeatType,repeatEvery,repeatOnThe,repeatDays,repeatUntil)) 7478 { 7479 var currentInputId = jQuery("form[name='repeatForm'] input[name='currentInput']") 7480 .val(); 7481 var startDate = jQuery("#"+currentInputId).val(); 7482 var myCont = jQuery("#"+currentInputId).closest(".datetime_row"); 7483 var repeatField = myCont.find(eventTimeSpecSelector); 7484 var repeatValue = repeatType 7485 + "::" + repeatEvery 7486 + "::" + repeatOnThe 7487 + "::" + repeatDays 7488 + "::" + repeatUntil; 7489 repeatField.val(repeatValue); 7490 repeatField.attr('data-repeat-until-date',repeatUntil); 7491 7492 var timeStringField = myCont.find("span.time_string"); 7493 7494 // 7495 var timeStringRepeatUntil = 0 // default 7496 if(repeatUntil != 0) 7497 timeStringRepeatUntil = ymdToMdy(repeatUntil,'/') 7498 7499 var repeatTimeStringValue = repeatType 7500 + "::" + repeatEvery 7501 + "::" + repeatOnThe 7502 + "::" + repeatDays
7503 + "::" + timeStringRepeatUntil; 7504 var params = { 7505 action: "timeString", 7506 repeat: repeatTimeStringValue, 7507 date: startDate, 7508 } 7509 jQuery.ajax({ 7510 url: Foundation.AddEvent.ajaxUrl, 7511 type: "GET", 7512 data: (params), 7513 success: function (data) { 7514 if (data.result){ 7515 timeStringField.html(data.result); 7516 } else if (repeatType!=0) { 7517 timeStringField.html("Error"); 7518 } else { 7519 timeStringField.html(""); 7520 } 7521 } 7522 }); 7523 closeFreq(); 7524 } 7525 } 7526 7527 var setupEventForm = function() { 7528 jQuery(addEventFormSelector + ', ' + popUpRepeatFormSelector).on("keyup", function(e){ 7529 return e.which !== 13; 7530 }); 7531 7532 jQuery(addEventFormSelector).on('change', 'input[type="checkbox"]', Foundation.AddEvent.updateDependentRequiredFields) 7533 7534 jQuery(addEventFormSelector).on("submit", function(e){ 7535 if(!e.validationSuccess) 7536 e.preventDefault(); 7537 }); 7538 7539 jQuery(popUpRepeatFormSelector) 7540 .on("submit", function(e){ e.preventDefault(); }); 7541 7542 jQuery(locSearchSelector).on('input', "input[name=locationSearch]", lookAhead); 7543 jQuery(locSearchSelector).on('click', "a.newLocationLink", function(e){ 7544 e.preventDefault(); 7545 jQuery(this).parents(locResultSelector).fadeOut("fast", function(){ 7546 jQuery(locNewSelector).fadeIn("fast"); 7547 }); 7548 }); 7549 7550 jQuery(componentSelector).on('click', locResetLocationSelector, resetLoc); 7551 7552 jQuery(componentSelector).on("click", ".locationSuggestions a", function(e){ 7553 e.stopPropagation(); 7554 e.preventDefault(); 7555 checkLocation(jQuery(this).attr("data-oid")); 7556 }); 7557 7558 jQuery(componentSelector).on("click", ".locAddCategoryLink", addLocationCategory); 7559 jQuery(componentSelector).on("click", ".locCatDeleteLink", deleteLocationCategory); 7560 jQuery(componentSelector).on("click", ".eventAddCategoryLink", addEventCategory); 7561 jQuery(componentSelector).on("click", ".eventCatDeleteLink", deleteEventCategory); 7562 jQuery(componentSelector).on("click", ".addDateTimeLink", addDateTime); 7563 jQuery(componentSelector).on("click", ".removeDateTimeLink", removeDatetime); 7564 jQuery(componentSelector).on("click", ".imgDeleteLink", removeImage); 7565 jQuery(componentSelector).on("click", ".datetime_row a.popUpLink, span.time_string", popUpRepeat); 7566 7567 7568 // 7569 jQuery(eventDateSelector).each(function(){ setupDatePicker(jQuery(this)) }) 7570 jQuery(eventStartTimeSelector).each(function(){ setupTimePicker(jQuery(this),true) }) 7571 jQuery(eventEndTimeSelector).each(function(){ setupTimePicker(jQuery(this),true) }) 7572 7573 7574 // 7575 if(eventDescriptionWordLimit > 0){ 7576 jQuery('textarea[name=description]').on('input propertychange',function(){ 7577 var originalText = jQuery(this).prop('value'); 7578 var wordList = originalText.trim().split(/\s+/); 7579 var wordLimit = 100; 7580 var wordsUsed = wordList[0] == "" ? 0 : wordList.length; 7581 var wordsLeft = Math.max(0,wordLimit - wordsUsed); 7582 jQuery('span.descriptionWordsLeft').text(wordsLeft+" words left."); 7583 jQuery('progress.descriptionProgress').val(wordsUsed); 7584 if(wordsUsed > wordLimit){ 7585 // 7586 var shortenedMatch = new RegExp("^([^\\s]*\\s+){" 7587 + (wordLimit-1) 7588 + "}[^\\s]{1,10}","gi"); 7589 var shortenedText = shortenedMatch.exec(originalText)[0]; 7590 jQuery(this).prop('value', shortenedText); 7591 } 7592 if(wordsLeft < wordLimit){ 7593 jQuery('span.descriptionWordsLeft').text(wordsLeft+" words left."); 7594 jQuery('progress.descriptionProgress').val(wordsUsed); 7595 }else{ 7596 jQuery('span.descriptionWordsLeft').text(''); 7597 jQuery('progress.descriptionProgress').val(0); 7598 } 7599 }); 7600 } 7601 7602 7603 // 7604 jQuery(window).on("dragenter dragover drop", function(e) { 7605 if (e.target.id != ukUploadComponent.attr('id')) 7606 e.preventDefault(); 7607 }) 7608 7609 7610 // 7611 UIkit.upload(ukUploadComponent, { 7612 url: Foundation.AddEvent.ajaxUrl, 7613 multiple: false, 7614 type: 'json', 7615 name: 'image', 7616 params: { action: 'uploadImage' }, 7617 mime: 'image/jpeg|image/gif|image/png|image/webp', 7618 maxSize: 5100, 7619 msgInvalidMime: 'Accepted file types are JPG, JPEG, PNG, GIF or WEBP.', 7620 msgInvalidSize: 'Image file size is limited to 5MB', 7621 error: function () { 7622 ukErrorModal.find('p').text('There was an error during the image upload.') 7623 UIkit.modal(ukErrorModal).show() 7624 }, 7625 loadStart: function (e) { 7626 ukUploadProgress.attr('hidden',false) 7627 ukUploadProgress.attr('max', e.total) 7628 ukUploadProgress.val(e.loaded) 7629 }, 7630 progress: function (e) { 7631 ukUploadProgress.attr('max', e.total) 7632 ukUploadProgress.val(e.loaded) 7633 }, 7634 loadEnd: function (e) { 7635 ukUploadProgress.attr('max', e.total) 7636 ukUploadProgress.val('0') 7637 ukUploadProgress.attr('hidden',true) 7638 7639 if(e.target.response != null && e.target.response.success){ 7640 if(e.target.response.success) { 7641 setAndRevealImage(e.target.response.imageOid,e.target.response.thumbCode) 7642 7643 } else if(e.target.response.error){ 7644 ukErrorModal.find('p').text(e.target.errorText) 7645 UIkit.modal(ukErrorModal).show() 7646 } 7647 } 7648 }, 7649 fail: function (msg) { 7650 console.log('fail', arguments) 7651 ukErrorModal.find('p').text(msg) 7652 UIkit.modal(ukErrorModal).show() 7653 } 7654 }) 7655 } 7656 7657 jQuery(() => { 7658 if (window.Foundation && typeof Foundation.loadflatpickr === 'function') { 7659 Foundation.loadflatpickr().then(setupEventForm); 7660 } 7661 else {
7662 setupEventForm(); 7663 } 7664 }); 7665 7666 Foundation.AddEvent.Step['Event Type'].complete() 7667 7668 // 7669 if(false || jQuery(locOidSelector).val()) { 7670 Foundation.AddEvent.Step['Location Details'].complete() 7671 } 7672 if('' != '') { 7673 setAndRevealImage("","") 7674 } 7675 </script>
7675 7676 7677 7678 7679 </div> 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 </div> 7692 7693 <div class="ev-grid-col" data-ev-zone="ZoneB"> 7694 7695 7696 </div> 7697 7698 <div class="ev-grid-col" style="clear:both;" data-ev-zone="ZoneC"> 7699 7700 </div> 7701 </div> 7702 7703 <div class="fdn-grid-sidebar"> 7704 <div class="ev-grid-col" data-ev-zone="ZoneD"> 7705 7706 7707<div gpt-slot-div-id-base="Rectangle" gpt-slot-config-id="Rectangle" data-component-id="AirAdRectangle" class="uk-text-center uk-margin" hidden></div> 7708 7709 7710 7711 7712 7713 7714<!--This is the Trending component in the layout --> 7715 7716 7717 </div> 7718 </div> 7719 </div> 7720 7721 <div class="ev-grid-zone ev-footer-zone" data-ev-zone="GlobalFooter"> 7722 <div class="ev-grid-col uk-width-1-1"> 7723 <div gpt-slot-div-id-base="Leaderboard" gpt-slot-config-id="Leaderboard" data-component-id="AirAdLeaderboardDynamic" class="uk-text-center uk-margin" hidden></div> 7724 7725 7726 7727 7728 7729 7730 <footer class="GlobalFooter AddEvent uk-margin-auto footer-community uk-root fdn-margin-vert FooterCommunity comp-shell-footercommunity" data-component-id="FooterCommunity"> 7731 <div class="uk-flex uk-flex-wrap uk-flex-center uk-flex-middle uk-position-relative footer-community-block"> 7732 7733 <p class="uk-margin-auto-right footer-community-copyright"> 7734 © 2026 <a href="https://www.chronogram.com">Chronogram Magazine</a> 7735 </p> 7736 7737 <nav aria-label="Footer Navigation"> 7738 <ul class="uk-list uk-flex uk-flex-wrap"> 7739 7740 7741 <li><a href="https://chronogrammedia.com/contact/" target="_self">Contact Us</a></li> 7742 7743 7744 7745 <li><a href="https://chronogrammedia.com/our-portfolio/chronogram-2/" target="_self">Advertise</a></li> 7746 7747 7748 7749 <li><a href="https://www.chronogram.com/hudsonvalley-privacypolicy-page/" target="_self">Privacy Policy</a></li> 7750 7751 7752 </ul> 7753 </nav> 7754 7755 <p class="uk-margin-auto-left footer-community-tagline"> 7756 <a href="https://www.newspack.com/" target="_blank">Powered by Newspack</a> 7757 </p> 7758 </div> 7759 </footer> 7760 7761 </div> 7762 </div> 7763 7764 <div class="ev-grid-zone ev-closer-zone" data-ev-zone="Closer"> 7765 <div class="ev-grid-col uk-width-1-1"> 7766 7767 7768 7769 <!-- stats tracking code goes here --> 7770 7771<!-- Google Analytics --> 7772<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 7772-7773
7772 7773<script async src="https://www.googletagmanager.com/gtag/js?id=
7773G-15P9QW4NKK
vendor: 12 bytes, line 7773
7773"></script>
7774<script> 7775
vendor: 134 bytes, lines 7775-7779
7775window.dataLayer = window.dataLayer || []; 7776 function gtag(){dataLayer.push(arguments);} 7777 gtag('js', new Date()); 7778 7779 gtag('config', '
7779G-15P9QW4NKK
vendor: 4 bytes, line 7779
7779');
7780</script>
7780 7781 7782<!-- End Google Analytics --> 7783 7784 7785<!-- Page-Source Tracker for Newsletter Signup ClickThroughs --> 7786
7787<script> 7788 document.addEventListener('DOMContentLoaded', function() { 7789 var currentURL = window.location.href; 7790 var inputField = document.querySelector('[name="SIGNUPURL"]'); 7791 if (inputField) { 7792 inputField.value = currentURL; 7793 } 7794 }); 7795</script>
7795 7796 7797<!-- End Signup PageSource Tracker for --> 7798 7799 7800<!-- UNIVERSAL PIXEL --> 7801 7802
7802<script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script>
7802 7803
7803<script type="text/javascript"> 7804 ttd_dom_ready( function() { 7805 if (typeof TTDUniversalPixelApi === 'function') { 7806 var universalPixelApi = new TTDUniversalPixelApi(); 7807 universalPixelApi.init("0ks2sjc", ["7rjlxfm"], "https://insight.adsrvr.org/track/up"); 7808 } 7809 }); 7810 </script>
7810 7811 <!-- End UNIVESAL Pixel --> 7812 7813 7814 7815 <!-- Quantcast Tag --> 7816
7816<script type="text/javascript"> 7817 var _qevents = _qevents || []; 7818 7819 (function() { 7820 var elem = document.createElement('script'); 7821 elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; 7822 elem.async = true; 7823 elem.type = "text/javascript"; 7824 var scpt = document.getElementsByTagName('script')[0]; 7825 scpt.parentNode.insertBefore(elem, scpt); 7826 })(); 7827 7828 _qevents.push({ 7829 qacct:"p-6BZWL6ZaXqz-c" 7830 }); 7831 </script>
7831 7832 7833 <noscript> 7834 <div style="display:none;"> 7835 <img src="//pixel.quantserve.com/pixel/p-6BZWL6ZaXqz-c.gif" border="0" height="1" width="1" alt="Quantcast"/> 7836 </div> 7837 </noscript> 7838 <!-- End Quantcast Tag --> 7839 7840 7841 7842 7843 </div> 7844 </div> 7845 7846 </div> 7847</div> 7848 7849
7849<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4406a0b7f78db04',t:'MTc5MDkwOTU4MA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
7849</body> 7850</html> 7851 7852 7853 7854
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.