1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3 <head> 4 <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> 5 <meta charset="utf-8" /> 6<meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> 7<meta name="MobileOptimized" content="width" /> 8<meta name="HandheldFriendly" content="true" /> 9<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 10<link rel="apple-touch-icon" sizes="180x180" href="/themes/custom/material_rcs/favicon-set/apple-touch-icon.png" /> 11<link rel="icon" type="image/png" sizes="16x16" href="/themes/custom/material_rcs/favicon-set/favicon-16x16.png" /> 12<link rel="icon" type="image/png" sizes="32x32" href="/themes/custom/material_rcs/favicon-set/favicon-32x32.png" /> 13<link rel="manifest" href="/themes/custom/material_rcs/favicon-set/site.webmanifest" /> 14<link rel="mask-icon" href="/themes/custom/material_rcs/favicon-set/safari-pinned-tab.svg" color="#5bbad5" /> 15<meta name="msapplication-TileColor" content="#da532c" /> 16<meta name="theme-color" content="#ffffff" /> 17<link rel="icon" href="/themes/custom/material_rcs/favicon-set/favicon.ico" type="image/vnd.microsoft.icon" /> 18<link rel="canonical" href="https://rootscs.org/docs/our-statement-information-practices" /> 19<link rel="shortlink" href="https://rootscs.org/node/227" /> 20 21 <title>Our Statement Of Information Practices | Roots Community Services Inc.</title> 22 <link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/align.module.css?tjzkg5" /> 23<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/fieldgroup.module.css?tjzkg5" /> 24<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/container-inline.module.css?tjzkg5" /> 25<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/clearfix.module.css?tjzkg5" /> 26<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/details.module.css?tjzkg5" /> 27<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/hidden.module.css?tjzkg5" /> 28<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/item-list.module.css?tjzkg5" /> 29<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/js.module.css?tjzkg5" /> 30<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/nowrap.module.css?tjzkg5" /> 31<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/position-container.module.css?tjzkg5" /> 32<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/reset-appearance.module.css?tjzkg5" /> 33<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/resize.module.css?tjzkg5" /> 34<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/system-status-counter.css?tjzkg5" /> 35<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/system-status-report-counters.css?tjzkg5" /> 36<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/system-status-report-general-info.css?tjzkg5" /> 37<link rel="stylesheet" media="all" href="/core/themes/stable9/css/system/components/tablesort.module.css?tjzkg5" /> 38<link rel="stylesheet" media="all" href="/core/themes/stable9/css/views/views.module.css?tjzkg5" /> 39<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/fonts.css?tjzkg5" /> 40<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/styles.css?tjzkg5" /> 41<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css?family=Nunito:400,600,600i,700,800&display=swap" /> 42<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/flexboxgrid.css?tjzkg5" /> 43<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/code-highlight.css?tjzkg5" /> 44<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/filetypes-icons.css?tjzkg5" /> 45<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/icons.css?tjzkg5" /> 46<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/services-icons.css?tjzkg5" /> 47<link rel="stylesheet" media="all" href="/themes/contrib/material_base/css/helpers.css?tjzkg5" /> 48<link rel="stylesheet" media="all" href="/themes/custom/material_rcs/css/vendor/cookieconsent.css?tjzkg5" /> 49<link rel="stylesheet" media="all" href="/themes/custom/material_rcs/css/cookie-consent-overrides.css?tjzkg5" /> 50<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" /> 51<link rel="stylesheet" media="all" href="/themes/custom/material_rcs/css/style.min.css?tjzkg5" /> 52 53 54 </head> 55 <body class="no-sidebars admin-toolbar navbar-fixed full-width path-node page-node-type-page">
56 <a href="#main-content" class="visually-hidden focusable"> 57 Skip to main content 58 </a> 59 60 <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> 61 <div id="page" class="layout-container"> 62 63 <div id="navbar"> 64 <div class="region region-navbar"> 65 <div id="block-navbar-menu-toggle" class="navbar-item navbar-menu-toggle hidden-md block block-block-content block-block-contentcfe30723-d2ee-4767-a0ae-5a28681f417f"> 66 67 68 69 <div class="field field-name-body field-type-text-with-summary field-label-hidden field-item"><div id="navbar-menu-toggle"><a href="#"><i class="material-icons navbar-icon">menu</i></a></div> 70</div> 71 72 </div> 73<div id="block-material-compile-branding" class="navbar-item navbar-branding block block-system block-system-branding-block"> 74 75 76 <div class="navbar-logo"> 77 <a href="/" title="Home" rel="home"> 78 <img src="/themes/custom/material_rcs/rcs-logo%402x.png" alt="Home" class="large-logo"/> 79 <span class="small-logo-circle"> 80 <img src="" alt="Home" class="small-logo"/> 81 </span> 82 </a> 83 </div> 84 <div class="navbar-mini-hero" aria-hidden="true"> 85 <img src="" alt="" loading="lazy"/> 86 <div class="navbar-mini-hero-text" role="presentation"></div> 87 </div> 88 </div> 89<nav role="navigation" aria-labelledby="block-material-compile-main-menu-menu" id="block-material-compile-main-menu" class="navbar-item navbar-menu pull-right visible-md"> 90 91 <h2 class="visually-hidden" id="block-material-compile-main-menu-menu">Main Menu</h2> 92 93 94 95 <ul class="menu"> 96 <li class="menu-item menu-level-0 expanded"> 97 <a href="/whoweare" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/12">Who We Are</a> 98 <ul class="menu"> 99 <li class="menu-item menu-level-1"> 100 <a href="/whoweare/mission-vision-values" class="menu-level-1" data-drupal-link-system-path="node/35">Mission, Vision and Values</a> 101 </li> 102 <li class="menu-item menu-level-1"> 103 <a href="/whoweare/strategic" class="menu-level-1" data-drupal-link-system-path="node/34">Strategic Priorities</a> 104 </li> 105 </ul> 106 107 </li> 108 <li class="menu-item menu-level-0 expanded"> 109 <a href="/whatwedo" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/11">What We Do</a> 110 <ul class="menu"> 111 <li class="menu-item menu-level-1"> 112 <a href="/childrens-program" title="Children's Program" class="menu-level-1" data-drupal-link-system-path="node/19">Children's Programs</a> 113 </li> 114 <li class="menu-item menu-level-1"> 115 <a href="/youth-program" title="Youth Program" class="menu-level-1" data-drupal-link-system-path="node/20">Youth Programs</a> 116 </li> 117 <li class="menu-item menu-level-1"> 118 <a href="/womens-program" title="Women's Program" class="menu-level-1" data-drupal-link-system-path="node/22">Women's Programs</a> 119 </li> 120 <li class="menu-item menu-level-1"> 121 <a href="/mens-program" title="Men's Program" class="menu-level-1" data-drupal-link-system-path="node/68">Men's Program</a> 122 </li> 123 <li class="menu-item menu-level-1"> 124 <a href="/seniors-program" title="Seniors Program" class="menu-level-1" data-drupal-link-system-path="node/23">Seniors' Programs</a> 125 </li> 126 <li class="menu-item menu-level-1"> 127 <a href="/families-program" title="Families Program" class="menu-level-1" data-drupal-link-system-path="node/21">Family Programs</a> 128 </li> 129 <li class="menu-item menu-level-1"> 130 <a href="/newcomer" class="menu-level-1" data-drupal-link-system-path="node/305">Newcomer Programs</a> 131 </li> 132 <li class="menu-item menu-level-1"> 133 <a href="/bhss" class="menu-level-1" data-drupal-link-system-path="node/252">BHSS Hub</a> 134 </li> 135 <li class="menu-item menu-level-1"> 136 <a href="/resources" class="menu-level-1" data-drupal-link-system-path="node/7">Resources</a> 137 </li> 138 <li class="menu-item menu-level-1"> 139 <a href="/event-calendar" class="menu-level-1" data-drupal-link-system-path="node/169">Event Calendar</a> 140 </li> 141 <li class="menu-item menu-level-1">
142 <a href="/bac" title="BAC Community Support Line" class="menu-level-1" data-drupal-link-system-path="node/69">BAC Community Support Line</a> 143 </li> 144 </ul> 145 146 </li> 147 <li class="menu-item menu-level-0"> 148 <a href="/funders-partners" class="menu-level-0" data-drupal-link-system-path="node/52">Funders and Partners</a> 149 </li> 150 <li class="menu-item menu-level-0"> 151 <a href="/join-us" title="Join our team " class="menu-level-0" data-drupal-link-system-path="node/114">Join Us</a> 152 </li> 153 <li class="menu-item menu-level-0"> 154 <a href="/contactus" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/4">Contact Us</a> 155 </li> 156 </ul> 157 158 159 160 </nav> 161 162<div class="navbar-item navbar-donate-button"> 163 <a href="/donate" title="Donate Now" aria-label="Donate Now" class="donate-now-link navbar-version"> 164 <span class="navbar-icon donate-icon" aria-hidden="true"> 165 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" focusable="false"> 166 <path d="M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z"/> 167 </svg> 168 </span> 169 <span class="donate-text">Donate Now</span> 170 </a> 171</div> 172 173 174 </div> 175 176 <!-- 177 178 179 --> 180 </div> 181
182 <div id="drawer-overlay"></div> 183 <div id="drawer"> 184 <div class="region region-drawer"> 185 <div id="block-block-drawer-title" class="drawer-item divider-bottom block block-block-content block-block-content3138d845-9e7e-4fb8-a727-deb484cbcb99"> 186 187 188 189 <div class="field field-name-body field-type-text-with-summary field-label-hidden field-item"><div id="drawer-menu-close"><a href="#"><i class="material-icons drawer-icon">arrow_back</i></a></div> 190<div id="drawer-title">Navigation</div> 191</div> 192 193 </div> 194<nav role="navigation" aria-labelledby="block-block-drawer-main-navigation-menu-menu" id="block-block-drawer-main-navigation-menu" class="drawer-item"> 195 196 <h2 class="visually-hidden" id="block-block-drawer-main-navigation-menu-menu">Drawer Main Navigation Menu</h2> 197 198 199 200 <ul class="menu"> 201 <li class="menu-item menu-level-0"> 202 <a href="/home" class="menu-level-0" data-drupal-link-system-path="node/16">Home</a> 203 </li> 204 <li class="menu-item menu-level-0 expanded"> 205 <a href="/whoweare" class="menu-level-0" data-drupal-link-system-path="node/12">Who We Are</a> 206 <ul class="menu"> 207 <li class="menu-item menu-level-1"> 208 <a href="/whoweare/mission-vision-values" class="menu-level-1" data-drupal-link-system-path="node/35">Mission, Vision and Values</a> 209 </li> 210 <li class="menu-item menu-level-1"> 211 <a href="/whoweare/strategic" title="Seniors Program" class="menu-level-1" data-drupal-link-system-path="node/34">Strategic Priorities</a> 212 </li> 213 </ul> 214 215 </li> 216 <li class="menu-item menu-level-0 expanded"> 217 <a href="/whatwedo" class="menu-level-0" data-drupal-link-system-path="node/11">What We Do</a> 218 <ul class="menu"> 219 <li class="menu-item menu-level-1"> 220 <a href="/childrens-program" title="Children's Program" class="menu-level-1" data-drupal-link-system-path="node/19">Children's Program</a> 221 </li> 222 <li class="menu-item menu-level-1"> 223 <a href="/youth-program" title="Youth Program" class="menu-level-1" data-drupal-link-system-path="node/20">Youth Program</a> 224 </li> 225 <li class="menu-item menu-level-1"> 226 <a href="/womens-program" title="Women's Program" class="menu-level-1" data-drupal-link-system-path="node/22">Women's Program</a> 227 </li> 228 <li class="menu-item menu-level-1"> 229 <a href="/mens-program" title="Men's Program" class="menu-level-1" data-drupal-link-system-path="node/68">Men's Program</a> 230 </li> 231 <li class="menu-item menu-level-1"> 232 <a href="/seniors-program" title="Seniors Program" class="menu-level-1" data-drupal-link-system-path="node/23">Seniors' Programs</a> 233 </li> 234 <li class="menu-item menu-level-1"> 235 <a href="/families-program" title="Family Programs" class="menu-level-1" data-drupal-link-system-path="node/21">Family Programs</a> 236 </li> 237 <li class="menu-item menu-level-1"> 238 <a href="/newcomer" class="menu-level-1" data-drupal-link-system-path="node/305">Newcomer Programs</a> 239 </li> 240 <li class="menu-item menu-level-1"> 241 <a href="/bhss" class="menu-level-1" data-drupal-link-system-path="node/252">BHSS Hub</a> 242 </li> 243 <li class="menu-item menu-level-1"> 244 <a href="/resources" class="menu-level-1" data-drupal-link-system-path="node/7">Resources</a> 245 </li> 246 <li class="menu-item menu-level-1"> 247 <a href="/event-calendar" class="menu-level-1" data-drupal-link-system-path="node/169">Event Calendar</a> 248 </li> 249 <li class="menu-item menu-level-1"> 250 <a href="/bac" title="BAC Community Support Line" class="menu-level-1" data-drupal-link-system-path="node/69">BAC Support Line</a> 251 </li> 252 </ul> 253 254 </li> 255 <li class="menu-item menu-level-0"> 256 <a href="/join-us" title="Join our team " class="menu-level-0" data-drupal-link-system-path="node/114">Join Us</a> 257 </li> 258 <li class="menu-item menu-level-0"> 259 <a href="/contactus" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/4">Contact Us</a> 260 </li> 261 </ul> 262 263 264 265 </nav> 266 267 </div> 268 269 </div> 270 271 <header id="header" role="banner"> 272 <div id="header-content"> 273 <div class="region region-header"> 274 <div id="block-small-logo" class="visually-hidden block block-block-content block-block-content2d4f7728-ecbf-44de-a0f7-dab7bced7709"> 275 276 <h2>Small Logo</h2> 277 278 279 <div class="field field-name-field-generic-image field-type-image field-label-hidden field-item"> <img loading="lazy" src="/sites/default/files/2020-02/RootsCS_Logo_02-small.png" width="130" height="130" alt="Small logo" /> 280 281</div> 282 283 </div> 284 285 </div> 286 287 </div> 288 <div id="header-bg"> 289 290 </div> 291 </header> 292 293 294 <div id="content"> 295 296 <main role="main" id="main" class="container"> 297 <div id="main-content" tabindex="-1"> 298 <div class="card-holder"> 299 300 <div class="region region-highlighted"> 301 <div data-drupal-messages-fallback class="hidden"></div> 302 303 </div> 304 305 306 307 <div class="layout-content"> 308 <div class="region region-content"> 309 310<div id="block-supportusfloatingpitch" class="floating-button support-floating-button block block-block-content block-block-content398ac8e8-92f7-4cd6-a8f1-aba017252cd5 support-floating-button--donate"> 311 312 313 <a href="/donate" title="Donate Now" aria-label="Donate Now" class="donate-now-link"> 314 <span class="support-donate-content"> 315 <span class="donate-icon" aria-hidden="true"> 316 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" focusable="false"> 317 <path d="M12 21.35 10.55 20.03C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35Z"/> 318 </svg> 319 </span> 320 <span class="donate-text donate-text-vertical">Donate Now</span> 321 </span> 322 </a> 323 </div> 324
325<div id="block-mainpagecontent" class="block block-system block-system-main-block"> 326 327 328 <article data-history-node-id="227"> 329 330 331 332 333 334 <div> 335 336 <div class="field field-name-body field-type-text-with-summary field-label-hidden field-item"><p> </p><h2>Our Statement Of Information Practices</h2><p>This statement explains your privacy rights and the steps RootsCS takes to protect your Personal Health Information. The law we follow is the Personal Health Information Protection Act, 2004 (PHIPA).</p><h2>Collection Of Your Personal Health Information</h2><p>RootsCS is a Health Information Custodian (as defined in PHIPA) which means that we store your Personal Health Information in our systems. We collect information directly from you or from the person acting on your behalf (e.g. your Substitute Decision Maker). The information that we collect may include your name, date of birth, Health Card Number, address, health history, records of your visits and the care that you received during those visits, and other relevant information. Occasionally, we may collect information about you from other sources if permitted by law. Such other sources could include other providers working with us to provide you with care or services (e.g. hospitals, clinics, specialists, etc.).</p><h2>Uses and Disclosure Of Your Personal Health Information</h2><p><strong>We may use and disclose your Personal Health Information to:</strong></p><ul><li data-list-item-id="e8697db8da76ea104405699091089c6a2">Treat and care for you alongside the health care providers that are involved in your care (e.g. hospitals, doctors, nurses, nurse practitioners, social workers, etc.);</li><li data-list-item-id="e05727e67cf5686a9ca95b0308dd12f55">Enable you to participate in our programs and services;</li><li data-list-item-id="eb03a5bed66b98cbd518750decc1615d2">Receive payment for your treatment and care (e.g. from funding agencies, WSIB, your private insurer or others);</li><li data-list-item-id="e282b135216ea40b2574f7efcc3329934">Inform funding agencies such as the Ontarioâs Ministry of Health and Long-Term Care and Local Health Integration Networks for health system management purposes;</li><li data-list-item-id="e58ba21eb64ca9d014e95f1a70988d73c">Guide the planning and administration of our services and operations;</li><li data-list-item-id="e64df83bbe561752f0643e4ebe0e3b5ec">Conduct quality improvement activities;</li><li data-list-item-id="e56e9173d64d0af9f6c45e73081dadba3">Ensure we comply with legal and regulatory requirements;</li><li data-list-item-id="e9ea241561959d0cef2aafca70d228d5c">Conduct research;</li><li data-list-item-id="e6164123b5109c2861e6e2832bfc4ca65">Fulfill other purposes permitted or required by law (e.g. infectious disease reporting to Public Health).</li></ul><h2>Your Rights</h2><p>You may request to access and correct your Personal Health Information, or withdraw your consent for the above<br>uses and disclosures by contacting our privacy officer. Your withdrawal of consent may be subject to legal exceptions.</p><h2>Safeguarding Your Personal Health Information</h2><ul><li data-list-item-id="e215e0afb0914e72d5816849323ca5449">We take steps to protect your Personal Health Information from theft, loss and unauthorized access, copying, modification, use, disclosure and disposal.</li><li data-list-item-id="e129990a8f8f8046ffad6a97c46226122"> We conduct audits and complete investigations to monitor and manage our privacy compliance and ensure your Personal Health Information is secure.</li><li data-list-item-id="e31708bbb92c28fbe96f28d641a73f563"> We take steps to ensure that those who perform services for us protect your privacy and only use your information for the purposes you have consented to.</li></ul><p><strong>For more information about our privacy practices or to raise a concern, please ask for our privacy officer.</strong></p><p>If you believe your rights have been violated, you can contact the Information and Privacy Commissionerâs Office/Ontario:<br>2 Bloor Street East, Suite 1400, Toronto, Ontario M4W 1A8<br><br>Tel: 416-326-3333 or 1-800-387-0073 Fax: 416-325-9195 </p><p>
336Web: www.ipc.on.ca Email: [email protected] have consented to.</p><p>Please view PDF version <a href="https://drive.google.com/file/d/1QvX3uGXDM1OxlgnPcIE50FhkRoVW-8et/view?usp=sharing" target="_blank">here</a>.</p></div> 337 338 </div> 339 340</article> 341 342 </div> 343 344 </div> 345 346 </div> 347 </div> 348 </div> 349 350 351 </main> 352 353 </div> 354 <footer id="footer" role="contentinfo"> 355 356 <div id="footer-content"> 357 <div class="region region-footer-content"> 358 <nav role="navigation" aria-labelledby="block-material-compile-footer-menu" id="block-material-compile-footer" class="footer-item pull-center"> 359 360 <h2 class="visually-hidden" id="block-material-compile-footer-menu">Footer menu</h2> 361 362 363 364 <ul class="menu"> 365 <li class="menu-item menu-level-0"> 366 <a href="/whoweare" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/12">Who We Are</a> 367 <span class="menu-separator">â¢</span> 368 </li> 369 <li class="menu-item menu-level-0"> 370 <a href="/whatwedo" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/11">What We Do</a> 371 <span class="menu-separator">â¢</span> 372 </li> 373 <li class="menu-item menu-level-0"> 374 <a href="/funders-partners" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/52">Funders and Partners</a> 375 <span class="menu-separator">â¢</span> 376 </li> 377 <li class="menu-item menu-level-0 active-trail"> 378 <a href="/docs/our-statement-information-practices" title="Links to relevant page" class="menu-level-0 is-active" data-drupal-link-system-path="node/227" aria-current="page">Privacy Statement</a> 379 <span class="menu-separator">â¢</span> 380 </li> 381 <li class="menu-item menu-level-0"> 382 <a href="/docs/terms-use" class="menu-level-0" data-drupal-link-system-path="node/244">Terms Of Use</a> 383 <span class="menu-separator">â¢</span> 384 </li> 385 <li class="menu-item menu-level-0"> 386 <a href="/docs/health-information-and-privacy-rights" class="menu-level-0" data-drupal-link-system-path="node/243">HIPR</a> 387 <span class="menu-separator">â¢</span> 388 </li> 389 <li class="menu-item menu-level-0"> 390 <a href="/contactus" title="Links to relevant page" class="menu-level-0" data-drupal-link-system-path="node/4">Contact Us</a> 391 <span class="menu-separator">â¢</span> 392 </li> 393 <li class="menu-item menu-level-0 cookie-preferences-menu-item"> 394 <a href="#cookie-preferences" class="menu-level-0 js-cookie-preferences-link">Privacy Preferences</a> 395 </li> 396 </ul> 397 398 399 400 </nav> 401<div class="views-element-container block-social-icons block block-views block-views-blocksocial-icons-block-1" id="block-views-block-social-icons-block-1"> 402 403 404 <div><div class="social-icons-grid js-view-dom-id-b69f75a32151c1459a8206faf812cba8de4291642bbd9d2019fae895663673f0"> 405 406 407 408 409 410 411 412 413 <div class="social-icons views-row"><div class="views-field views-field-nothing"><span class="field-content"><a href="https://www.facebook.com/RootsCSI " target="_blank" title="Facebook"><i class="fa-brands fa-square-facebook"></i></a></span></div></div> 414 <div class="social-icons views-row"><div class="views-field views-field-nothing"><span class="field-content"><a href="https://www.instagram.com/rootscspeel " target="_blank" title="Instagram"><i class="fa-brands fa-square-instagram"></i></a></span></div></div> 415 <div class="social-icons views-row"><div class="views-field views-field-nothing"><span class="field-content"><a href="https://ca.linkedin.com/in/roots-community-services " target="_blank" title="LinkedIn"><i class="fa-brands fa-linkedin"></i></a></span></div></div> 416 417 418 419 420 421 422 423 424</div> 425</div> 426 427 </div> 428 429 </div> 430 431 </div> 432 </footer> 433 434</div> 435 </div> 436 437 438 439 440<div 441 id="mailchimp-popup-modal" class="mailchimp-popup-modal" role="dialog" aria-modal="true" aria-labelledby="mailchimp-popup-title" data-mc-delay="3000" data-mc-popup> 442 443 <!-- Modal overlay background --> 444 <div class="mailchimp-popup-overlay"></div> 445 446 <!-- Modal card container --> 447 <div 448 class="mailchimp-popup-card"> 449 450 <!-- Header with close button --> 451 <div class="mailchimp-popup-header"> 452 <button type="button" class="mailchimp-popup-close" tabindex="0" aria-label="Close newsletter popup" title="Close">
453 <span class="close-icon"> 454 <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 455 <line x1="18" y1="6" x2="6" y2="18"></line> 456 <line x1="6" y1="6" x2="18" y2="18"></line> 457 </svg> 458 </span> 459 </button> 460 </div> 461 462 <!-- MailChimp form embed code --> 463 <div class="mailchimp-popup-form-wrapper"> 464 465 <h2 id="mailchimp-popup-title" class="mailchimp-popup-title"> 466 Sign up for our Newsletter 467 </h2> 468 469 <div id="mce-responses" class="clear"> 470 <div class="response" id="mce-error-response"></div> 471 <div class="response" id="mce-success-response"></div> 472 </div> 473 474 <!-- Placeholder for MailChimp form --> 475 <div class="mailchimp-form-container"> 476 <div id="mc_embed_shell"> <link href="//cdn-images.mailchimp.com/embedcode/classic-061523.css" rel="stylesheet" type="text/css"> 477 <div id="mc_embed_signup"> 478 <form action="https://rootscs.us19.list-manage.com/subscribe/post?u=a5e54b642c105fc4448129e73&amp;id=0e03449ea9&amp;f_id=008434e7f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank"> 479 <div id="mc_embed_signup_scroll"> 480 <div class="indicates-required"> 481 <span class="asterisk">*</span> 482 indicates required</div> 483 <div class="mc-name-fields-row"> 484 <div class="mc-field-group mc-field-group--firstname"> 485 <label for="mce-FIRSTNAME">First Name 486 <span class="asterisk">*</span> 487 </label> 488 <input type="text" name="FIRSTNAME" class="text required" id="mce-FIRSTNAME" value="" required aria-required="true" tabindex="1"> 489 </div> 490 <div class="mc-field-group mc-field-group--lastname"> 491 <label for="mce-LNAME">Last Name 492 <span class="asterisk">*</span> 493 </label> 494 <input type="text" name="LNAME" class="text required" id="mce-LNAME" value="" required aria-required="true" tabindex="2"> 495 </div> 496 </div> 497 <div class="mc-field-group"> 498 <label for="mce-EMAIL">Email Address 499 <span class="asterisk">*</span> 500 </label><input type="email" name="EMAIL" class="required email" id="mce-EMAIL" required="" value="" tabindex="3"></div> 501 <div hidden=""><input type="hidden" name="tags" value="24266329"></div> 502 <div 503 aria-hidden="true" class="visually-hidden"> 504 <input type="text" name="b_6608e3c13652a49dec6bed89c_09f0e5b9df" tabindex="-1" value=""> 505 </div> 506 <div class="clear button-wrapper"><input type="submit" name="sign-up" id="mc-embedded-subscribe" class="button" value="Sign Up" tabindex="4"></div> 507 </div> 508 </form> 509 </div> 510
510<script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js"></script>
510 511
511<script type="text/javascript"> 512 (function ($) { 513 window.fnames = new Array(); 514 window.ftypes = new Array(); 515 fnames[0] = 'EMAIL'; 516 ftypes[0] = 'email'; 517 fnames[1] = 'FIRSTNAME'; 518 ftypes[1] = 'text'; 519 fnames[2] = 'LNAME'; 520 ftypes[2] = 'text'; 521 fnames[3] = 'ADDRESS'; 522 ftypes[3] = 'address'; 523 fnames[4] = 'PHONE'; 524 ftypes[4] = 'phone'; 525 }(jQuery)); 526 var $mcj = jQuery.noConflict(true); 527 528 // SMS Phone Multi-Country Functionality 529 if (!window.MC) { 530 window.MC = {}; 531 } 532 window.MC.smsPhoneData = { 533 defaultCountryCode: 'CA', 534 programs: [], 535 smsProgramDataCountryNames: [] 536 }; 537 538 function getCountryUnicodeFlag(countryCode) { 539 return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397)) 540 }; 541 542 // HTML sanitization function to prevent XSS 543 function sanitizeHtml(str) { 544 if (typeof str !== 'string') 545 return ''; 546 547 548 549 return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g, '/'); 550 } 551 552 // URL sanitization function to prevent javascript: and data: URLs 553 function sanitizeUrl(url) { 554 if (typeof url !== 'string') 555 return ''; 556 557 558 559 const trimmedUrl = url.trim().toLowerCase(); 560 if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) { 561 return '#'; 562 } 563 return url; 564 } 565 566 const getBrowserLanguage = () => { 567 if (!window ?. navigator ?. language ?. split('-')[1]) { 568 return window ?. navigator ?. language ?. toUpperCase(); 569 } 570 return window ?. navigator ?. language ?. split('-')[1]; 571 }; 572 573 function getDefaultCountryProgram(defaultCountryCode, smsProgramData) { 574 if (! smsProgramData || smsProgramData.length === 0) { 575 return null; 576 } 577 578 const browserLanguage = getBrowserLanguage(); 579 580 if (browserLanguage) { 581 const foundProgram = smsProgramData.find((program) => program ?. countryCode === browserLanguage,); 582 if (foundProgram) { 583 return foundProgram; 584 } 585 } 586 587 if (defaultCountryCode) { 588 const foundProgram = smsProgramData.find((program) => program ?. countryCode === defaultCountryCode,); 589 if (foundProgram) { 590 return foundProgram; 591 } 592 } 593 594 return smsProgramData[0]; 595 } 596 597 function updateSmsLegalText(countryCode, fieldName) { 598 if (! countryCode || ! fieldName) { 599 return; 600 } 601 602 const programs = window ?. MC ?. smsPhoneData ?. programs; 603 if (! programs || !Array.isArray(programs)) { 604 return; 605 } 606 607 const program = programs.find(program => program ?. countryCode === countryCode); 608 if (! program || ! program.requiredTemplate) { 609 return; 610 } 611 612 const legalTextElement = document.querySelector('#legal-text-' + fieldName); 613 if (! legalTextElement) { 614 return; 615 } 616 617 // Remove HTML tags and clean up the text 618 const divRegex = new RegExp('</?[div][^>]*>
618', 'gi'); 619 const fullAnchorRegex = new RegExp('<a.*?</a>', 'g'); 620 const anchorRegex = new RegExp('<a href="(.*?)" target="(.*?)">(.*?)</a>'); 621 622 const template = program.requiredTemplate.replace(divRegex, ''); 623 624 625 legalTextElement.textContent = ''; 626 const parts = template.split(/(<a href=".*?" target=".*?">.*?<\/a>)/g); 627 parts.forEach(function (part) { 628 if (! part) { 629 return; 630 } 631 const anchorMatch = part.match(/<a href="(.*?)" target="(.*?)">(.*?)<\/a>/); 632 if (anchorMatch) { 633 const linkElement = document.createElement('a'); 634 linkElement.href = sanitizeUrl(anchorMatch[1]); 635 linkElement.target = sanitizeHtml(anchorMatch[2]); 636 linkElement.textContent = sanitizeHtml(anchorMatch[3]); 637 legalTextElement.appendChild(linkElement); 638 } else { 639 legalTextElement.appendChild(document.createTextNode(part)); 640 } 641 }); 642 643 } 644 645 function generateDropdownOptions(smsProgramData) { 646 if (! smsProgramData || smsProgramData.length === 0) { 647 return ''; 648 } 649 650 return smsProgramData.map(program => { 651 const flag = getCountryUnicodeFlag(program.countryCode); 652 const countryName = getCountryName(program.countryCode); 653 const callingCode = program.countryCallingCode || ''; 654 655 // Sanitize all values to prevent XSS 656 const sanitizedCountryCode = sanitizeHtml(program.countryCode || ''); 657 const sanitizedCountryName = sanitizeHtml(countryName || ''); 658 const sanitizedCallingCode = sanitizeHtml(callingCode || ''); 659 return '<option value="' + sanitizedCountryCode + '">' + sanitizedCountryName + ' ' + sanitizedCallingCode + '</option>'; 660 }).join(''); 661 } 662 663 function getCountryName(countryCode) { 664 if (window.MC ?. smsPhoneData ?. smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) { 665 for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) { 666 if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) { 667 return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name; 668 } 669 } 670 } 671 return countryCode; 672 } 673 674 function getDefaultPlaceholder(countryCode) { 675 if (! countryCode || typeof countryCode !== 'string') { 676 return '+1 000 000 0000'; // Default US placeholder 677 } 678 679 var mockPlaceholders = [ 680 { 681 countryCode: 'US', 682 placeholder: '+1 000 000 0000', 683 helpText: 'Include the US country code +1 before the phone number' 684 }, 685 { 686 countryCode: 'GB', 687 placeholder: '+44 0000 000000', 688 helpText: 'Include the GB country code +44 before the phone number' 689 }, 690 { 691 countryCode: 'CA', 692 placeholder: '+1 000 000 0000', 693 helpText: 'Include the CA country code +1 before the phone number' 694 }, 695 { 696 countryCode: 'AU', 697 placeholder: '+61 000 000 000', 698 helpText: 'Include the AU country code +61 before the phone number' 699 }, { 700 countryCode: 'DE', 701 placeholder: '+49 000 0000000', 702 helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein' 703 }, { 704 countryCode: 'FR', 705 placeholder: '+33 0 00 00 00 00', 706 helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone' 707 }, { 708 countryCode: 'ES', 709 placeholder: '+34 000 000 000', 710 helpText: 'Incluya el código de paÃs ES +34 antes del número de teléfono' 711 }, { 712 countryCode: 'NL', 713 placeholder: '+31 0 00000000', 714 helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer' 715 }, { 716 countryCode: 'BE', 717 placeholder: '+32 000 00 00 00', 718 helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone' 719 }, { 720 countryCode: 'CH', 721 placeholder: '+41 00 000 00 00', 722 helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein' 723 }, { 724 countryCode: 'AT', 725 placeholder: '+43 000 000 0000', 726 helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein' 727 }, { 728 countryCode: 'IE', 729 placeholder: '+353 00 000 0000', 730 helpText: 'Include the IE country code +353 before the phone number' 731 }, { 732 countryCode: 'IT', 733 placeholder: '+39 000 000 0000', 734 helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono' 735 }, { 736 countryCode: 'NO', 737 placeholder: '+47 000 00 000', 738 helpText: 'Inkluder NO landskode +47 før telefonnummeret' 739 }, { 740 countryCode: 'SE', 741 placeholder: '+46 00 000 00 00', 742 helpText: 'Inkludera SE landskod +46 före telefonnumret' 743 }, { 744 countryCode: 'DK', 745 placeholder: '+45 00 00 00 00', 746 helpText: 'Inkluder DK landekode +45 før telefonnummeret' 747 }, { 748 countryCode: 'FI', 749 placeholder: '+358 00 000 0000', 750 helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa' 751 }, { 752 countryCode: 'EE', 753 placeholder: '+372 0000 0000', 754 helpText: 'Lisage EE riigikood +372 telefoninumbri ette' 755 }, { 756 countryCode: 'PL', 757 placeholder: '+48 000 000 000', 758 helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu' 759 }, { 760 countryCode: 'SK', 761 placeholder: '+421 000 000 000', 762 helpText: 'Pred telefónne ÄÃslo uveÄte kód krajiny SK +421' 763 }, { 764 countryCode: 'LV', 765 placeholder: '+371 0000 0000', 766 helpText: 'Iekļaujiet LV valsts kodu +371 pirms tÄlruÅa numura' 767 }, { 768 countryCode: 'LT', 769 placeholder: '+370 0000 0000', 770 helpText: 'Ä®traukite LT Å¡alies kodÄ +370 prieÅ¡ telefono numerį' 771 }, { 772 countryCode: 'GR', 773 placeholder: '+30 000 000 0000', 774 helpText: 'Î£Ï Î¼ÏεÏιλάβεÏε Ïον κÏÎ´Î¹ÎºÏ ÏÏÏÎ±Ï GR +30 ÏÏιν αÏÏ Ïον αÏÎ¹Î¸Î¼Ï ÏηλεÏÏÎ½Î¿Ï ' 775 }, { 776 countryCode: 'PT', 777 placeholder: '+351 000 000 000', 778 helpText: 'Inclua o código de paÃs PT +351 antes do número de telefone' 779 }, { 780 countryCode: 'HR', 781 placeholder: '+385 00 000 0000', 782 helpText: 'UkljuÄite HR pozivni broj države +385 prije telefonskog broja' 783 }, { 784 countryCode: 'SI', 785 placeholder: '+386 00 000 000', 786 helpText: 'VkljuÄite SI kodo države +386 pred telefonsko Å¡tevilko' 787 }, { 788 countryCode: 'IS', 789 placeholder: '+354 000 0000', 790 helpText: 'Láttu IS landsnúmer +354 fylgja á undan sÃmanúmerinu' 791 }, { 792 countryCode: 'LU', 793 placeholder: '+352 000 000 000', 794 helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone' 795 }, { 796 countryCode: 'MC', 797 placeholder: '+377 00 00 00 00', 798 helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone' 799 }, { 800 countryCode: 'AD', 801 placeholder: '+376 000 000', 802 helpText: 'Incloeu el codi de paÃs AD +376 abans del número de telèfon' 803 }, { 804 countryCode: 'JE', 805 placeholder: '+44 0000 000000', 806 helpText: 'Include the JE country code +44 before the phone number' 807 }, { 808 countryCode: 'IM', 809 placeholder: '+44 0000 000000', 810 helpText: 'Include the IM country code +44 before the phone number' 811 }, { 812 countryCode: 'GG', 813 placeholder: '+44 0000 000000', 814 helpText: 'Include the GG country code +44 before the phone number' 815 }, { 816 countryCode: 'AL', 817 placeholder: '+355 00 000 0000', 818 helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit' 819 }, { 820 countryCode: 'SM', 821 placeholder: '+378 0000 000000', 822 helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono' 823 }, { 824 countryCode: 'FO', 825 placeholder: '+298 000000', 826 helpText: 'Inkluder FO landekode +298 før telefonnummeret' 827 }, { 828 countryCode: 'MT', 829 placeholder: '+356 0000 0000', 830 helpText: 'Include the MT country code +356 before the phone number' 831 }, { 832 countryCode: 'LI', 833 placeholder: '+423 000 0000', 834 helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein' 835 }, { 836 countryCode: 'GI', 837 placeholder: '+350 000 00000', 838 helpText: 'Include the GI country code +350 before the phone number' 839 }, { 840 countryCode: 'MD', 841 placeholder: '+373 00 000 000', 842 helpText: 'IncludeÈi codul de ÈarÄ MD +373 înaintea numÄrului de telefon' 843 }, { 844 countryCode: 'HU', 845 placeholder: '+36 00 000 0000', 846 helpText: 'A telefonszám elÅtt adja meg a HU országkódot +36' 847 }, { 848 countryCode: 'NZ', 849 placeholder: '+64 00 000 0000', 850 helpText: 'Include the NZ country code +64 before the phone number' 851 }, { 852 countryCode: 'ME', 853 placeholder: '+382 00 000 000', 854 helpText: 'UkljuÄite ME pozivni broj države +382 prije telefonskog broja' 855 }, 856 ]; 857 858 const selectedPlaceholder = mockPlaceholders.find(function (item) { 859 return item && item.countryCode === countryCode; 860 }); 861 862 return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder; 863 } 864 865 function updatePlaceholder(countryCode, fieldName) { 866 if (! countryCode || ! fieldName) { 867 return; 868 } 869 870 const phoneInput = document.querySelector('#mce-' + fieldName); 871 if (! phoneInput) { 872 return; 873 } 874 875 const placeholder = getDefaultPlaceholder(countryCode); 876 if (placeholder) { 877 phoneInput.placeholder = placeholder; 878 } 879 } 880 881
881 function updateCountryCodeInstruction(countryCode, fieldName) { 882 updatePlaceholder(countryCode, fieldName); 883 884 } 885 886 function getDefaultHelpText(countryCode) { 887 var mockPlaceholders = [ 888 { 889 countryCode: 'US', 890 placeholder: '+1 000 000 0000', 891 helpText: 'Include the US country code +1 before the phone number' 892 }, 893 { 894 countryCode: 'GB', 895 placeholder: '+44 0000 000000', 896 helpText: 'Include the GB country code +44 before the phone number' 897 }, 898 { 899 countryCode: 'CA', 900 placeholder: '+1 000 000 0000', 901 helpText: 'Include the CA country code +1 before the phone number' 902 }, 903 { 904 countryCode: 'AU', 905 placeholder: '+61 000 000 000', 906 helpText: 'Include the AU country code +61 before the phone number' 907 }, { 908 countryCode: 'DE', 909 placeholder: '+49 000 0000000', 910 helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein' 911 }, { 912 countryCode: 'FR', 913 placeholder: '+33 0 00 00 00 00', 914 helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone' 915 }, { 916 countryCode: 'ES', 917 placeholder: '+34 000 000 000', 918 helpText: 'Incluya el código de paÃs ES +34 antes del número de teléfono' 919 }, { 920 countryCode: 'NL', 921 placeholder: '+31 0 00000000', 922 helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer' 923 }, { 924 countryCode: 'BE', 925 placeholder: '+32 000 00 00 00', 926 helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone' 927 }, { 928 countryCode: 'CH', 929 placeholder: '+41 00 000 00 00', 930 helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein' 931 }, { 932 countryCode: 'AT', 933 placeholder: '+43 000 000 0000', 934 helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein' 935 }, { 936 countryCode: 'IE', 937 placeholder: '+353 00 000 0000', 938 helpText: 'Include the IE country code +353 before the phone number' 939 }, { 940 countryCode: 'IT', 941 placeholder: '+39 000 000 0000', 942 helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono' 943 }, { 944 countryCode: 'NO', 945 placeholder: '+47 000 00 000', 946 helpText: 'Inkluder NO landskode +47 før telefonnummeret' 947 }, { 948 countryCode: 'SE', 949 placeholder: '+46 00 000 00 00', 950 helpText: 'Inkludera SE landskod +46 före telefonnumret' 951 }, { 952 countryCode: 'DK', 953 placeholder: '+45 00 00 00 00', 954 helpText: 'Inkluder DK landekode +45 før telefonnummeret' 955 }, { 956 countryCode: 'FI', 957 placeholder: '+358 00 000 0000', 958 helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa' 959 }, { 960 countryCode: 'EE', 961 placeholder: '+372 0000 0000', 962 helpText: 'Lisage EE riigikood +372 telefoninumbri ette' 963 }, { 964 countryCode: 'PL', 965 placeholder: '+48 000 000 000', 966 helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu' 967 }, { 968 countryCode: 'SK', 969 placeholder: '+421 000 000 000', 970 helpText: 'Pred telefónne ÄÃslo uveÄte kód krajiny SK +421' 971 }, { 972 countryCode: 'LV', 973 placeholder: '+371 0000 0000', 974 helpText: 'Iekļaujiet LV valsts kodu +371 pirms tÄlruÅa numura' 975 }, { 976 countryCode: 'LT', 977 placeholder: '+370 0000 0000', 978 helpText: 'Ä®traukite LT Å¡alies kodÄ +370 prieÅ¡ telefono numerį' 979 }, { 980 countryCode: 'GR', 981 placeholder: '+30 000 000 0000', 982 helpText: 'Î£Ï Î¼ÏεÏιλάβεÏε Ïον κÏÎ´Î¹ÎºÏ ÏÏÏÎ±Ï GR +30 ÏÏιν αÏÏ Ïον αÏÎ¹Î¸Î¼Ï ÏηλεÏÏÎ½Î¿Ï ' 983 }, { 984 countryCode: 'PT', 985 placeholder: '+351 000 000 000', 986 helpText: 'Inclua o código de paÃs PT +351 antes do número de telefone' 987 }, { 988 countryCode: 'HR', 989 placeholder: '+385 00 000 0000', 990 helpText: 'UkljuÄite HR pozivni broj države +385 prije telefonskog broja' 991 }, { 992 countryCode: 'SI', 993 placeholder: '+386 00 000 000', 994 helpText: 'VkljuÄite SI kodo države +386 pred telefonsko Å¡tevilko' 995 }, { 996 countryCode: 'IS', 997 placeholder: '+354 000 0000', 998 helpText: 'Láttu IS landsnúmer +354 fylgja á undan sÃmanúmerinu' 999 }, { 1000 countryCode: 'LU', 1001 placeholder: '+352 000 000 000', 1002 helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone' 1003 }, { 1004 countryCode: 'MC', 1005 placeholder: '+377 00 00 00 00', 1006 helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone' 1007 }, { 1008 countryCode: 'AD', 1009 placeholder: '+376 000 000', 1010 helpText: 'Incloeu el codi de paÃs AD +376 abans del número de telèfon' 1011 }, { 1012 countryCode: 'JE', 1013 placeholder: '+44 0000 000000', 1014 helpText: 'Include the JE country code +44 before the phone number' 1015 }, { 1016 countryCode: 'IM', 1017 placeholder: '+44 0000 000000', 1018 helpText: 'Include the IM country code +44 before the phone number' 1019 }, { 1020 countryCode: 'GG', 1021 placeholder: '+44 0000 000000', 1022 helpText: 'Include the GG country code +44 before the phone number' 1023 }, { 1024 countryCode: 'AL', 1025 placeholder: '+355 00 000 0000', 1026 helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit' 1027 }, { 1028 countryCode: 'SM', 1029 placeholder: '+378 0000 000000', 1030 helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono' 1031 }, { 1032 countryCode: 'FO', 1033 placeholder: '+298 000000', 1034 helpText: 'Inkluder FO landekode +298 før telefonnummeret' 1035 }, { 1036 countryCode: 'MT', 1037 placeholder: '+356 0000 0000', 1038 helpText: 'Include the MT country code +356 before the phone number' 1039 }, { 1040 countryCode: 'LI', 1041 placeholder: '+423 000 0000', 1042 helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein' 1043 }, { 1044 countryCode: 'GI', 1045 placeholder: '+350 000 00000', 1046 helpText: 'Include the GI country code +350 before the phone number' 1047 }, { 1048 countryCode: 'MD', 1049 placeholder: '+373 00 000 000', 1050 helpText: 'IncludeÈi codul de ÈarÄ MD +373 înaintea numÄrului de telefon' 1051 }, { 1052 countryCode: 'HU', 1053 placeholder: '+36 00 000 0000', 1054 helpText: 'A telefonszám elÅtt adja meg a HU országkódot +36' 1055 }, { 1056 countryCode: 'NZ', 1057 placeholder: '+64 00 000 0000', 1058 helpText: 'Include the NZ country code +64 before the phone number' 1059 }, { 1060 countryCode: 'ME', 1061 placeholder: '+382 00 000 000', 1062 helpText: 'UkljuÄite ME pozivni broj države +382 prije telefonskog broja' 1063 }, 1064 ]; 1065 1066 if (! countryCode || typeof countryCode !== 'string') { 1067 return mockPlaceholders[0].helpText; 1068 } 1069 1070 const selectedHelpText = mockPlaceholders.find(function (item) { 1071 return item && item.countryCode === countryCode; 1072 }); 1073 1074 return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText; 1075 } 1076 1077 function setDefaultHelpText(countryCode) { 1078 const helpTextSpan = document.querySelector('#help-text'); 1079 if (! helpTextSpan) { 1080 return; 1081 } 1082 1083 1084 } 1085 1086 function updateHelpTextCountryCode(countryCode, fieldName) { 1087 if (! countryCode || ! fieldName) { 1088 return; 1089 } 1090 1091 setDefaultHelpText(countryCode); 1092 } 1093 1094 function initializeSmsPhoneDropdown(fieldName) { 1095 if (! fieldName || typeof fieldName !== 'string') { 1096 return; 1097 } 1098 1099 const dropdown = document.querySelector('#country-select-' + fieldName); 1100 const displayFlag = document.querySelector('#flag-display-' + fieldName); 1101 1102 if (! dropdown || ! displayFlag) { 1103 return; 1104 } 1105 1106 const smsPhoneData = window.MC ?. smsPhoneData; 1107 if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) { 1108 dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs); 1109 } 1110 1111 const defaultProgram = getDefaultCountryProgram(smsPhoneData ?. defaultCountryCode, smsPhoneData ?. programs); 1112 if (defaultProgram && defaultProgram.countryCode) { 1113 dropdown.value = defaultProgram.countryCode; 1114
1115 const flagSpan = displayFlag ?. querySelector('#flag-emoji-' + fieldName); 1116 if (flagSpan) { 1117 flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode); 1118 flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag'); 1119 } 1120 1121 updateSmsLegalText(defaultProgram.countryCode, fieldName); 1122 updatePlaceholder(defaultProgram.countryCode, fieldName); 1123 updateCountryCodeInstruction(defaultProgram.countryCode, fieldName); 1124 } 1125 1126 1127 var smsNotRequiredRemoveCountryCodeEnabled = true; 1128 var smsField = Object.values({ 1129 "EMAIL": { 1130 "name": "EMAIL", 1131 "label": "Email Address", 1132 "helper_text": "", 1133 "type": "email", 1134 "required": true, 1135 "audience_field_name": "Email Address", 1136 "merge_id": 0, 1137 "help_text_enabled": false, 1138 "enabled": true, 1139 "order": 0, 1140 "field_type": "merge" 1141 }, 1142 "FIRSTNAME": { 1143 "name": "FIRSTNAME", 1144 "label": "First Name", 1145 "helper_text": "", 1146 "type": "text", 1147 "required": false, 1148 "audience_field_name": "First Name", 1149 "merge_id": 1, 1150 "help_text_enabled": false, 1151 "enabled": false, 1152 "order": null, 1153 "field_type": "merge" 1154 }, 1155 "LNAME": { 1156 "name": "LNAME", 1157 "label": "Last Name", 1158 "helper_text": "", 1159 "type": "text", 1160 "required": false, 1161 "audience_field_name": "Last Name", 1162 "merge_id": 2, 1163 "help_text_enabled": false, 1164 "enabled": false, 1165 "order": null, 1166 "field_type": "merge" 1167 }, 1168 "ADDRESS": { 1169 "name": "ADDRESS", 1170 "label": "Address", 1171 "helper_text": "", 1172 "type": "address", 1173 "required": false, 1174 "audience_field_name": "Address", 1175 "enabled": false, 1176 "order": null, 1177 "field_type": "merge", 1178 "merge_id": 3, 1179 "countries": { 1180 "2": "Albania", 1181 "3": "Algeria", 1182 "4": "Andorra", 1183 "5": "Angola", 1184 "6": "Argentina", 1185 "7": "Armenia", 1186 "8": "Australia",
1187 "9": "Austria", 1188 "10": "Azerbaijan", 1189 "11": "Bahamas", 1190 "12": "Bahrain", 1191 "13": "Bangladesh", 1192 "14": "Barbados", 1193 "15": "Belarus", 1194 "16": "Belgium", 1195 "17": "Belize", 1196 "18": "Benin", 1197 "19": "Bermuda", 1198 "20": "Bhutan", 1199 "21": "Bolivia", 1200 "22": "Bosnia and Herzegovina", 1201 "23": "Botswana", 1202 "24": "Brazil", 1203 "25": "Bulgaria", 1204 "26": "Burkina Faso", 1205 "27": "Burundi", 1206 "28": "Cambodia", 1207 "29": "Cameroon", 1208 "30": "Canada", 1209 "31": "Cape Verde", 1210 "32": "Cayman Islands", 1211 "33": "Central African Republic", 1212 "34": "Chad", 1213 "35": "Chile", 1214 "36": "China", 1215 "37": "Colombia", 1216 "38": "Congo", 1217 "40": "Croatia", 1218 "41": "Cyprus", 1219 "42": "Czech Republic", 1220 "43": "Denmark", 1221 "44": "Djibouti", 1222 "45": "Ecuador", 1223 "46": "Egypt", 1224 "47": "El Salvador", 1225 "48": "Equatorial Guinea", 1226 "49": "Eritrea", 1227 "50": "Estonia", 1228 "51": "Ethiopia", 1229 "52": "Fiji", 1230 "53": "Finland", 1231 "54": "France", 1232 "56": "Gabon", 1233 "57": "Gambia", 1234 "58": "Georgia", 1235 "59": "Germany", 1236 "60": "Ghana", 1237 "61": "Greece", 1238 "62": "Guam", 1239 "63": "Guinea", 1240 "64": "Guinea-Bissau", 1241 "65": "Guyana", 1242 "66": "Honduras", 1243 "67": "Hong Kong", 1244 "68": "Hungary", 1245 "69": "Iceland", 1246 "70": "India", 1247 "71": "Indonesia", 1248 "74": "Ireland", 1249 "75": "Israel", 1250 "76": "Italy", 1251 "78": "Japan", 1252 "79": "Jordan", 1253 "80": "Kazakhstan", 1254 "81": "Kenya", 1255 "82": "Kuwait", 1256 "83": "Kyrgyzstan", 1257 "84": "Lao People's Democratic Republic", 1258 "85": "Latvia", 1259 "86": "Lebanon", 1260 "87": "Lesotho", 1261 "88": "Liberia", 1262 "90": "Liechtenstein", 1263 "91": "Lithuania", 1264 "92": "Luxembourg", 1265 "93": "Macedonia", 1266 "94": "Madagascar", 1267 "95": "Malawi", 1268 "96": "Malaysia", 1269 "97": "Maldives", 1270 "98": "Mali", 1271 "99": "Malta", 1272 "100": "Mauritania", 1273 "101": "Mexico", 1274 "102": "Moldova", 1275 "103": "Monaco", 1276 "104": "Mongolia", 1277 "105": "Morocco", 1278 "106": "Mozambique", 1279 "107": "Namibia", 1280 "108": "Nepal", 1281 "109": "Netherlands", 1282 "110": "Netherlands Antilles", 1283 "111": "New Zealand", 1284 "112": "Nicaragua", 1285 "113": "Niger", 1286 "114": "Nigeria", 1287 "116": "Norway", 1288 "117": "Oman", 1289 "118": "Pakistan", 1290 "119": "Panama", 1291 "120": "Paraguay", 1292 "121": "Peru", 1293 "122": "Philippines", 1294 "123": "Poland", 1295 "124": "Portugal", 1296 "126": "Qatar", 1297 "127": "Reunion", 1298 "128": "Romania", 1299 "129": "Russia", 1300 "130": "Rwanda", 1301 "132": "Samoa (Independent)", 1302 "133": "Saudi Arabia", 1303 "134": "Senegal", 1304 "135": "Seychelles", 1305 "136": "Sierra Leone", 1306 "137": "Singapore", 1307 "138": "Slovakia", 1308 "139": "Slovenia", 1309 "140": "Somalia", 1310 "141": "South Africa", 1311 "142": "South Korea", 1312 "143": "Spain", 1313 "144": "Sri Lanka", 1314 "146": "Suriname", 1315 "147": "Swaziland",
1316 "148": "Sweden", 1317 "149": "Switzerland", 1318 "152": "Taiwan", 1319 "153": "Tanzania", 1320 "154": "Thailand", 1321 "155": "Togo", 1322 "156": "Tunisia", 1323 "157": "Turkiye", 1324 "158": "Turkmenistan", 1325 "159": "Uganda", 1326 "161": "Ukraine", 1327 "162": "United Arab Emirates", 1328 "163": "Uruguay", 1329 "164": "USA", 1330 "165": "Uzbekistan", 1331 "166": "Vatican City State (Holy See)", 1332 "167": "Venezuela", 1333 "168": "Vietnam", 1334 "169": "Virgin Islands (British)", 1335 "170": "Yemen", 1336 "173": "Zambia", 1337 "174": "Zimbabwe", 1338 "175": "Antigua And Barbuda", 1339 "176": "Anguilla", 1340 "178": "American Samoa", 1341 "179": "Aruba", 1342 "180": "Brunei Darussalam", 1343 "181": "Bouvet Island", 1344 "183": "Cook Islands", 1345 "185": "Christmas Island", 1346 "187": "Dominican Republic", 1347 "188": "Western Sahara", 1348 "189": "Falkland Islands", 1349 "191": "Faroe Islands", 1350 "192": "Grenada", 1351 "193": "French Guiana", 1352 "194": "Gibraltar", 1353 "195": "Greenland", 1354 "196": "Guadeloupe", 1355 "198": "Guatemala", 1356 "200": "Haiti", 1357 "202": "Jamaica", 1358 "203": "Kiribati", 1359 "204": "Comoros", 1360 "205": "Saint Kitts and Nevis", 1361 "206": "Saint Lucia", 1362 "207": "Marshall Islands", 1363 "208": "Macau", 1364 "210": "Martinique", 1365 "212": "Mauritius", 1366 "213": "New Caledonia", 1367 "214": "Norfolk Island", 1368 "215": "Nauru", 1369 "217": "Niue", 1370 "219": "Papua New Guinea", 1371 "221": "Pitcairn", 1372 "222": "Palau", 1373 "223": "Solomon Islands", 1374 "225": "Svalbard and Jan Mayen Islands", 1375 "227": "San Marino", 1376 "232": "Tonga", 1377 "233": "Timor-Leste", 1378 "234": "Trinidad and Tobago", 1379 "235": "Tuvalu", 1380 "237": "Saint Vincent and the Grenadines", 1381 "238": "Virgin Islands (U.S.)", 1382 "239": "Vanuatu", 1383 "241": "Mayotte", 1384 "242": "Myanmar", 1385 "255": "Sao Tome and Principe", 1386 "257": "South Georgia and the South Sandwich Islands", 1387 "260": "Tajikistan", 1388 "262": "United Kingdom", 1389 "268": "Costa Rica", 1390 "270": "Guernsey", 1391 "272": "North Korea", 1392 "274": "Afghanistan", 1393 "275": "Cote D'Ivoire", 1394 "276": "Cuba", 1395 "277": "French Polynesia", 1396 "278": "Iran", 1397 "279": "Iraq", 1398 "281": "Libya", 1399 "282": "Palestine", 1400 "285": "Syria", 1401 "286": "Aaland Islands", 1402 "287": "Turks & Caicos Islands", 1403 "288": "Jersey (Channel Islands)", 1404 "289": "Dominica", 1405 "290": "Montenegro", 1406 "293": "Sudan", 1407 "294": "Montserrat", 1408 "298": "Curacao", 1409 "302": "Sint Maarten", 1410 "311": "South Sudan", 1411 "315": "Republic of Kosovo", 1412 "318": "Congo, Democratic Republic of the", 1413 "323": "Isle of Man", 1414 "324": "Saint Martin", 1415 "325": "Bonaire, Saint Eustatius and Saba", 1416 "326": "Serbia" 1417 }, 1418 "defaultcountry": 164 1419 }, 1420 "PHONE": { 1421 "name": "PHONE", 1422 "label": "Phone Number", 1423 "helper_text": "", 1424 "type": "phone", 1425 "required": false, 1426 "audience_field_name": "Phone Number", 1427 "phoneformat": "", 1428 "enabled": false, 1429 "order": null, 1430 "field_type": "merge", 1431 "merge_id": 4 1432 } 1433 }).find(function (f) { 1434 return f.name === fieldName && f.type === 'smsphone'; 1435 }); 1436 var isRequired = smsField ? smsField.required : false;
1437 var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; 1438 1439 var phoneInput = document.querySelector('#mce-' + fieldName); 1440 if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) { 1441 phoneInput.value = defaultProgram.countryCallingCode; 1442 } 1443 1444 1445 displayFlag ?. addEventListener('click', function (e) { 1446 dropdown.focus(); 1447 }); 1448 1449 1450 dropdown ?. addEventListener('change', function () { 1451 const selectedCountry = this.value; 1452 1453 if (! selectedCountry || typeof selectedCountry !== 'string') { 1454 return; 1455 } 1456 1457 const flagSpan = displayFlag ?. querySelector('#flag-emoji-' + fieldName); 1458 if (flagSpan) { 1459 flagSpan.textContent = getCountryUnicodeFlag(selectedCountry); 1460 flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag'); 1461 } 1462 1463 1464 const selectedProgram = window.MC ?. smsPhoneData ?. programs.find(function (program) { 1465 return program && program.countryCode === selectedCountry; 1466 }); 1467 1468 var smsNotRequiredRemoveCountryCodeEnabled = true; 1469 var smsField = Object.values({ 1470 "EMAIL": { 1471 "name": "EMAIL", 1472 "label": "Email Address", 1473 "helper_text": "", 1474 "type": "email", 1475 "required": true, 1476 "audience_field_name": "Email Address", 1477 "merge_id": 0, 1478 "help_text_enabled": false, 1479 "enabled": true, 1480 "order": 0, 1481 "field_type": "merge" 1482 }, 1483 "FIRSTNAME": { 1484 "name": "FIRSTNAME", 1485 "label": "First Name", 1486 "helper_text": "", 1487 "type": "text", 1488 "required": false, 1489 "audience_field_name": "First Name", 1490 "merge_id": 1, 1491 "help_text_enabled": false, 1492 "enabled": false, 1493 "order": null, 1494 "field_type": "merge" 1495 }, 1496 "LNAME": { 1497 "name": "LNAME", 1498 "label": "Last Name", 1499 "helper_text": "", 1500 "type": "text", 1501 "required": false, 1502 "audience_field_name": "Last Name", 1503 "merge_id": 2, 1504 "help_text_enabled": false, 1505 "enabled": false, 1506 "order": null, 1507 "field_type": "merge" 1508 }, 1509 "ADDRESS": { 1510 "name": "ADDRESS", 1511 "label": "Address", 1512 "helper_text": "", 1513 "type": "address", 1514 "required": false, 1515 "audience_field_name": "Address", 1516 "enabled": false, 1517 "order": null, 1518 "field_type": "merge", 1519 "merge_id": 3, 1520 "countries": { 1521 "2": "Albania", 1522 "3": "Algeria", 1523 "4": "Andorra", 1524 "5": "Angola", 1525 "6": "Argentina", 1526 "7": "Armenia", 1527 "8": "Australia",
1528 "9": "Austria", 1529 "10": "Azerbaijan", 1530 "11": "Bahamas", 1531 "12": "Bahrain", 1532 "13": "Bangladesh", 1533 "14": "Barbados", 1534 "15": "Belarus", 1535 "16": "Belgium", 1536 "17": "Belize", 1537 "18": "Benin", 1538 "19": "Bermuda", 1539 "20": "Bhutan", 1540 "21": "Bolivia", 1541 "22": "Bosnia and Herzegovina", 1542 "23": "Botswana", 1543 "24": "Brazil", 1544 "25": "Bulgaria", 1545 "26": "Burkina Faso", 1546 "27": "Burundi", 1547 "28": "Cambodia", 1548 "29": "Cameroon", 1549 "30": "Canada", 1550 "31": "Cape Verde", 1551 "32": "Cayman Islands", 1552 "33": "Central African Republic", 1553 "34": "Chad", 1554 "35": "Chile", 1555 "36": "China", 1556 "37": "Colombia", 1557 "38": "Congo", 1558 "40": "Croatia", 1559 "41": "Cyprus", 1560 "42": "Czech Republic", 1561 "43": "Denmark", 1562 "44": "Djibouti", 1563 "45": "Ecuador", 1564 "46": "Egypt", 1565 "47": "El Salvador", 1566 "48": "Equatorial Guinea", 1567 "49": "Eritrea", 1568 "50": "Estonia", 1569 "51": "Ethiopia", 1570 "52": "Fiji", 1571 "53": "Finland", 1572 "54": "France", 1573 "56": "Gabon", 1574 "57": "Gambia", 1575 "58": "Georgia", 1576 "59": "Germany", 1577 "60": "Ghana", 1578 "61": "Greece", 1579 "62": "Guam", 1580 "63": "Guinea", 1581 "64": "Guinea-Bissau", 1582 "65": "Guyana", 1583 "66": "Honduras", 1584 "67": "Hong Kong", 1585 "68": "Hungary", 1586 "69": "Iceland", 1587 "70": "India", 1588 "71": "Indonesia", 1589 "74": "Ireland", 1590 "75": "Israel", 1591 "76": "Italy", 1592 "78": "Japan", 1593 "79": "Jordan", 1594 "80": "Kazakhstan", 1595 "81": "Kenya", 1596 "82": "Kuwait", 1597 "83": "Kyrgyzstan", 1598 "84": "Lao People's Democratic Republic", 1599 "85": "Latvia", 1600 "86": "Lebanon", 1601 "87": "Lesotho", 1602 "88": "Liberia", 1603 "90": "Liechtenstein", 1604 "91": "Lithuania", 1605 "92": "Luxembourg", 1606 "93": "Macedonia", 1607 "94": "Madagascar", 1608 "95": "Malawi", 1609 "96": "Malaysia", 1610 "97": "Maldives", 1611 "98": "Mali", 1612 "99": "Malta", 1613 "100": "Mauritania", 1614 "101": "Mexico", 1615 "102": "Moldova", 1616 "103": "Monaco", 1617 "104": "Mongolia", 1618 "105": "Morocco", 1619 "106": "Mozambique", 1620 "107": "Namibia", 1621 "108": "Nepal", 1622 "109": "Netherlands", 1623 "110": "Netherlands Antilles", 1624 "111": "New Zealand", 1625 "112": "Nicaragua", 1626 "113": "Niger", 1627 "114": "Nigeria", 1628 "116": "Norway", 1629 "117": "Oman", 1630 "118": "Pakistan", 1631 "119": "Panama", 1632 "120": "Paraguay", 1633 "121": "Peru", 1634 "122": "Philippines", 1635 "123": "Poland", 1636 "124": "Portugal", 1637 "126": "Qatar", 1638 "127": "Reunion", 1639 "128": "Romania", 1640 "129": "Russia", 1641 "130": "Rwanda", 1642 "132": "Samoa (Independent)", 1643 "133": "Saudi Arabia", 1644 "134": "Senegal", 1645 "135": "Seychelles", 1646 "136": "Sierra Leone", 1647 "137": "Singapore", 1648 "138": "Slovakia", 1649 "139": "Slovenia", 1650 "140": "Somalia", 1651 "141": "South Africa", 1652 "142": "South Korea", 1653 "143": "Spain", 1654 "144": "Sri Lanka", 1655 "146": "Suriname", 1656 "147": "Swaziland",
1657 "148": "Sweden", 1658 "149": "Switzerland", 1659 "152": "Taiwan", 1660 "153": "Tanzania", 1661 "154": "Thailand", 1662 "155": "Togo", 1663 "156": "Tunisia", 1664 "157": "Turkiye", 1665 "158": "Turkmenistan", 1666 "159": "Uganda", 1667 "161": "Ukraine", 1668 "162": "United Arab Emirates", 1669 "163": "Uruguay", 1670 "164": "USA", 1671 "165": "Uzbekistan", 1672 "166": "Vatican City State (Holy See)", 1673 "167": "Venezuela", 1674 "168": "Vietnam", 1675 "169": "Virgin Islands (British)", 1676 "170": "Yemen", 1677 "173": "Zambia", 1678 "174": "Zimbabwe", 1679 "175": "Antigua And Barbuda", 1680 "176": "Anguilla", 1681 "178": "American Samoa", 1682 "179": "Aruba", 1683 "180": "Brunei Darussalam", 1684 "181": "Bouvet Island", 1685 "183": "Cook Islands", 1686 "185": "Christmas Island", 1687 "187": "Dominican Republic", 1688 "188": "Western Sahara", 1689 "189": "Falkland Islands", 1690 "191": "Faroe Islands", 1691 "192": "Grenada", 1692 "193": "French Guiana", 1693 "194": "Gibraltar", 1694 "195": "Greenland", 1695 "196": "Guadeloupe", 1696 "198": "Guatemala", 1697 "200": "Haiti", 1698 "202": "Jamaica", 1699 "203": "Kiribati", 1700 "204": "Comoros", 1701 "205": "Saint Kitts and Nevis", 1702 "206": "Saint Lucia", 1703 "207": "Marshall Islands", 1704 "208": "Macau", 1705 "210": "Martinique", 1706 "212": "Mauritius", 1707 "213": "New Caledonia", 1708 "214": "Norfolk Island", 1709 "215": "Nauru", 1710 "217": "Niue", 1711 "219": "Papua New Guinea", 1712 "221": "Pitcairn", 1713 "222": "Palau", 1714 "223": "Solomon Islands", 1715 "225": "Svalbard and Jan Mayen Islands", 1716 "227": "San Marino", 1717 "232": "Tonga", 1718 "233": "Timor-Leste", 1719 "234": "Trinidad and Tobago", 1720 "235": "Tuvalu", 1721 "237": "Saint Vincent and the Grenadines", 1722 "238": "Virgin Islands (U.S.)", 1723 "239": "Vanuatu", 1724 "241": "Mayotte", 1725 "242": "Myanmar", 1726 "255": "Sao Tome and Principe", 1727 "257": "South Georgia and the South Sandwich Islands", 1728 "260": "Tajikistan", 1729 "262": "United Kingdom", 1730 "268": "Costa Rica", 1731 "270": "Guernsey", 1732 "272": "North Korea", 1733 "274": "Afghanistan", 1734 "275": "Cote D'Ivoire", 1735 "276": "Cuba", 1736 "277": "French Polynesia", 1737 "278": "Iran", 1738 "279": "Iraq", 1739 "281": "Libya", 1740 "282": "Palestine", 1741 "285": "Syria", 1742 "286": "Aaland Islands", 1743 "287": "Turks & Caicos Islands", 1744 "288": "Jersey (Channel Islands)", 1745 "289": "Dominica", 1746 "290": "Montenegro", 1747 "293": "Sudan", 1748 "294": "Montserrat", 1749 "298": "Curacao", 1750 "302": "Sint Maarten", 1751 "311": "South Sudan", 1752 "315": "Republic of Kosovo", 1753 "318": "Congo, Democratic Republic of the", 1754 "323": "Isle of Man", 1755 "324": "Saint Martin", 1756 "325": "Bonaire, Saint Eustatius and Saba", 1757 "326": "Serbia" 1758 }, 1759 "defaultcountry": 164 1760 }, 1761 "PHONE": { 1762 "name": "PHONE", 1763 "label": "Phone Number", 1764 "helper_text": "", 1765 "type": "phone", 1766 "required": false, 1767 "audience_field_name": "Phone Number", 1768 "phoneformat": "", 1769 "enabled": false, 1770 "order": null, 1771 "field_type": "merge", 1772 "merge_id": 4 1773 } 1774 }).find(function (f) { 1775 return f.name === fieldName && f.type === 'smsphone'; 1776 }); 1777 var isRequired = smsField ? smsField.required : false;
1778 var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; 1779 1780 var phoneInput = document.querySelector('#mce-' + fieldName); 1781 if (phoneInput && selectedProgram.countryCallingCode && shouldAppendCountryCode) { 1782 phoneInput.value = selectedProgram.countryCallingCode; 1783 } 1784 1785 1786 updateSmsLegalText(selectedCountry, fieldName); 1787 updatePlaceholder(selectedCountry, fieldName); 1788 updateCountryCodeInstruction(selectedCountry, fieldName); 1789 }); 1790 } 1791 1792 document.addEventListener('DOMContentLoaded', function () { 1793 const smsPhoneFields = document.querySelectorAll('[id^="country-select-"]'); 1794 1795 smsPhoneFields.forEach(function (dropdown) { 1796 const fieldName = dropdown ?. id.replace('country-select-', ''); 1797 initializeSmsPhoneDropdown(fieldName); 1798 }); 1799 }); 1800 </script>
1800 1801 </div> 1802 1803 </div> 1804 1805 </div> 1806 1807 </div> 1808 1809</div> 1810 1811<!-- Trigger button to reopen popup (appears after scrolling when dismissed) --> 1812<button id="mailchimp-popup-trigger" class="mailchimp-popup-trigger" aria-label="Open newsletter signup" title="Sign up for our newsletter"> 1813 <span class="trigger-icon" aria-hidden="true"> 1814 <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-envelope-at-fill" viewbox="0 0 16 16"> 1815 <path d="M2 2A2 2 0 0 0 .05 3.555L8 8.414l7.95-4.859A2 2 0 0 0 14 2zm-2 9.8V4.698l5.803 3.546zm6.761-2.97-6.57 4.026A2 2 0 0 0 2 14h6.256A4.5 4.5 0 0 1 8 12.5a4.49 4.49 0 0 1 1.606-3.446l-.367-.225L8 9.586zM16 9.671V4.697l-5.803 3.546.338.208A4.5 4.5 0 0 1 12.5 8c1.414 0 2.675.652 3.5 1.671"/> 1816 <path d="M15.834 12.244c0 1.168-.577 2.025-1.587 2.025-.503 0-1.002-.228-1.12-.648h-.043c-.118.416-.543.643-1.015.643-.77 0-1.259-.542-1.259-1.434v-.529c0-.844.481-1.4 1.26-1.4.585 0 .87.333.953.63h.03v-.568h.905v2.19c0 .272.18.42.411.42.315 0 .639-.415.639-1.39v-.118c0-1.277-.95-2.326-2.484-2.326h-.04c-1.582 0-2.64 1.067-2.64 2.724v.157c0 1.867 1.237 2.654 2.57 2.654h.045c.507 0 .935-.07 1.18-.18v.731c-.219.1-.643.175-1.237.175h-.044C10.438 16 9 14.82 9 12.646v-.214C9 10.36 10.421 9 12.485 9h.035c2.12 0 3.314 1.43 3.314 3.034zm-4.04.21v.227c0 .586.227.8.581.8.31 0 .564-.17.564-.743v-.367c0-.516-.275-.708-.572-.708-.346 0-.573.245-.573.791"/> 1817 </svg> 1818 </span> 1819 <span class="trigger-text">Sign up</span> 1820</button> 1821 1822
1822<script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/227","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"materialCompile":{"ga4MeasurementId":"G-8J7Y10Y5DK"},"user":{"uid":0,"permissionsHash":"3c6d9458c69cd229723af685f77cec9983b666e924b9496be40f88e2069a6baf"}}</script>
vendor: 1 bytes, line 1822
1822
1823<script src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script>
vendor: 1 bytes, line 1823
1823
1824<script src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script>
vendor: 1 bytes, line 1824
1824
1825<script src="/core/misc/drupalSettingsLoader.js?v=10.6.10"></script>
vendor: 1 bytes, line 1825
1825
1826<script src="/core/misc/drupal.js?v=10.6.10"></script>
vendor: 1 bytes, line 1826
1826
1827<script src="/core/misc/drupal.init.js?v=10.6.10"></script>
vendor: 1 bytes, line 1827
1827
1828<script src="/themes/contrib/material_base/js/prism.js?tjzkg5"></script>
vendor: 1 bytes, line 1828
1828
1829<script src="/themes/contrib/material_base/js/mb-ripple.js?tjzkg5"></script>
vendor: 1 bytes, line 1829
1829
1830<script src="/themes/contrib/material_base/js/mb-slide.js?tjzkg5"></script>
vendor: 1 bytes, line 1830
1830
1831<script src="/themes/contrib/material_base/js/misc.js?tjzkg5"></script>
vendor: 1 bytes, line 1831
1831
1832<script src="/themes/custom/material_rcs/js/vendor/cookieconsent.umd.js?v=1.12"></script>
vendor: 1 bytes, line 1832
1832
1833<script src="/themes/custom/material_rcs/js/cookie-consent.min.js?v=1.12"></script>
vendor: 1 bytes, line 1833
1833
1834<script src="https://kit.fontawesome.com/d22b01db32.js"></script>
vendor: 1 bytes, line 1834
1834
1835<script src="/themes/custom/material_rcs/js/mailchimp/mailchimp-popup.min.js?v=1.6"></script>
vendor: 1 bytes, line 1835
1835
1836<script src="/themes/custom/material_rcs/js/safe-exit.min.js?v=1.2"></script>
vendor: 1 bytes, line 1836
1836
1837<script src="/themes/custom/material_rcs/js/nav.min.js?v=3.2"></script>
1837 1838 1839 </body> 1840</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.