1<!DOCTYPE html> 2 <html lang="en" translate="no"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-eqiv="X-UA-Compatible" content="IE=edge,chrome=1"> 7 8 <title>electronic Nutrition Care Process Terminology (eNCPT)</title> 9 10 <meta name="view-transition" content="same-origin"> 11 12 13 <meta property="og:image" content="https://ncpro.org/lib/img/portal-banner-v2.png" /> 14 15 <meta name="twitter:card" content="summary_large_image" /> 16 17 <meta property="og:title" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 18 19 <meta property="og:site" content="ncpro.org" /> 20 21 <meta name="twitter:image" content="https://ncpro.org/lib/img/portal-banner-v2.png" /> 22 23 <meta property="og:image:height" content="630" /> 24 25 <meta property="og:description" content="Webauthor: All-in-one business applications that helps you organize, manage and grow your business" /> 26 27 <meta name="twitter:image:alt" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 28 29 <meta property="og:image:alt" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 30 31 <meta property="og:type" content="website" /> 32 33 <meta property="og:site_name" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 34 35 <meta property="og:image:width" content="1200" /> 36 37 <meta name="twitter:description" content="Webauthor: All-in-one business applications that helps you organize, manage and grow your business" /> 38 39 <meta name="twitter:title" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 40 41 <meta name="wa-upload-token" content="1790664329.35c4cd48d3f24e27522765540fff4f98b159e610251398f3b4d95d08bab1fbb0" /> 42 43 <meta property="og:url" content="https://ncpro.org/" /> 44 45 46 <meta name="description" id="metaTagDescription" content="" /> 47 48 49 50 <meta name="apple-mobile-web-app-title" content="electronic Nutrition Care Process Terminology (eNCPT)"/> 51 <meta name="application-name" content="electronic Nutrition Care Process Terminology (eNCPT)" /> 52 <link rel="stylesheet" href="/lib/com/fontawesome/6.x/css/all.min.css?ver=20230815-A"/> <link rel="stylesheet" href="/lib/com/fontawesome/6.x/css/sharp-solid.min.css?ver=20230815-A"/> <link rel="stylesheet" href="/lib/com/fontawesome/6.x/css/v4-shims.min.css?ver=20230815-A"/> <link rel="stylesheet" href="/lib/theme/xm-3/css/pre-bootstrap.css?ver=20181109-a"/> <link rel="stylesheet" href="/lib/theme/xm-3/css/bootstrap-extended.css?ver=20240318-B"/> <link rel="stylesheet" href="/lib/jquery/jquery-ui-bootstrap/css/custom-theme/jquery-ui-1.10.0.custom.css?ver=20260115-A"/> <link rel="stylesheet" href="/lib/theme/xm-3/css/main.css?ver=20260902-A"/> 53 54 <link id="darkModeCSS" rel="stylesheet" type="text/css" href="/lib/theme/xm-3/css/dark-mode.css?ver=20260525-A" disabled="disabled"/> 55 56 <style type="text/css">BODY { color: #000000;} 57h1 { 58 font-weight: bold; 59 font-size: 28px; 60 font-family: "Times New Roman", Times, serif; 61} 62 63 #xmcssmenu > ul, #xmcssmenu,#xmcssmenu ul ul li a { 64 background: #34495A !important; 65} 66#xmcssmenu ul ul li a { 67 color: #ffffff !important; 68 background: #559900 !important; 69} 70 71#xmcssmenu ul ul li a:hover { 72 background: #34495A !important; 73} 74 75#xmcssmenu ul ul li a { 76 width:240px !important; 77 } 78#xmcssmenu > ul > li > a { 79 color:white !important; 80} 81 82#xmcssmenu ul ul li.has-sub::after { 83 border-left-color:#fff !important; 84}</style>
84<script src="/lib/theme/xm-3/polymer/bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
84
84<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
84
84<script charset="UTF-8" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.3/jquery-ui.min.js"></script>
84
84<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.30.1/moment.min.js"></script>
84
84<script defer src="/lib/bootstrap/js/bootstrap-3.4.1.js"></script>
84
84<script defer type="text/javascript" src="/lib/theme/xm-3/js/jquery.main.js?ver=20230513-A"></script>
84
84<script> 85 jQuery(document).ready(function(e){ 86 document.querySelectorAll( 'oembed[url]' ).forEach( element => { 87 iframely.load( element, element.attributes.url.value ); 88 } ); 89 90 $('figure img').each(function() { 91 var $img = $(this); 92 var $fig = $img.parent(); 93 var $cap = $fig.find("figcaption"); 94 var alt = $img.attr('alt'); 95 try { 96 $img.attr("alt",ListFirst(alt,"^")); 97 98 //MR: 12/20/2024 - removing the below line - we had it there for TCT but they are no longer hosted with us. 99 //var $cre = $("<div/>").addClass("figCredit").html(ListLast(alt,"^")).insertAfter($img); 100 } catch (e) { 101 102 } 103 }); 104 }) 105</script>
105 106 107<style> 108 .figCredit { 109 text-align:right; 110 text-transform: uppercase; 111 color:#666; 112 font-size:11px; 113 margin-bottom:2px; 114 margin-top: -5px; 115 } 116 .flexContainer { 117 display:flex;flex-flow:row wrap; 118 } 119 .flexContainer > div { 120 width:275px; 121 } 122 .flexContainer img { 123 object-fit: cover; 124 max-width: 100% !important; 125 height: auto; 126 } 127 figure.image { 128 margin: 0.9em auto; 129 min-width: 50px; 130 text-align: center; 131 clear: both; 132 display: table; 133 margin: 0.9em auto; 134 min-width: 50px; 135 text-align: center; 136 } 137 figure.image img { 138 width:100% !important; 139 } 140 141 figcaption, .image-field-caption { 142 background:none !important; 143 font-weight:bold; 144 color: #646464; 145 font-size:13px; 146 } 147 .image-style-side { 148 float: right; 149 margin-left: 1.5em !important; 150 max-width: 50%; 151 } 152 .image-style-side img { 153 max-width: 100%; 154 height:auto !important; 155 } 156 .ck-content .table{ 157 display:table; 158 margin:.9em auto 159 } 160 .ck-content .table table{ 161 border:1px double #b3b3b3; 162 border-collapse:collapse; 163 border-spacing:0; 164 height:100%; 165 width:100% 166 } 167 .ck-content .table table td,.ck-content .table table th{ 168 border:1px solid #bfbfbf; 169 min-width:2em; 170 padding:.4em 171 } 172 .ck-content .table table th{ 173 background:rgba(0,0,0,.05); 174 font-weight:700 175 } 176 .ck-content[dir=rtl] .table th{ 177 text-align:right 178 } 179 .ck-content[dir=ltr] .table th{ 180 text-align:left 181 } 182 .ck-editor__editable .ck-table-bogus-paragraph{ 183 display:inline-block; 184 width:100% 185 } 186 .ck-content .table>figcaption{ 187 background-color:var(--ck-color-table-caption-background); 188 caption-side:top; 189 color:var(--ck-color-table-caption-text); 190 display:table-caption; 191 font-size:.75em; 192 outline-offset:-1px; 193 padding:.6em; 194 text-align:center; 195 word-break:break-word 196 } 197 198 .ck-content .table .ck-table-resized{ 199 table-layout:fixed 200 } 201 .ck-content .table table{ 202 overflow:hidden 203 } 204 .ck-content .table td,.ck-content .table th{ 205 position:relative 206 } 207 .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{ 208 align-content:baseline; 209 flex-basis:0; 210 flex-wrap:wrap 211 } 212 .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{ 213 flex-wrap:nowrap 214 } 215 .ck.ck-table-properties-form{ 216 width:320px 217 } 218 .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{ 219 align-self:flex-end; 220 padding:0 221 } 222 .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{ 223 background:none; 224 margin-top:var(--ck-spacing-standard) 225 } 226 .ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{ 227 width:40px 228 } 229 .ck-content span[lang]{ 230 font-style:italic 231 } 232 233</style> <link rel="stylesheet" media="screen" href="/lib/theme/xm-3/css/web_site_menu.css?ver=20220610-A"/> 234 <style> 235 @view-transition { 236 navigation: auto; 237 } 238 </style> 239 <link href="/vault/2570/web/files/NCPT_14_32.png" rel="shortcut icon" type="image/png" /> 240<link href="/vault/2570/web/files/NCPT_14_final_60.jpg" rel="apple-touch-icon-precomposed" sizes="60x60" /> 241<link href="/vault/2570/web/files/NCPT_14_final_76.jpg" rel="apple-touch-icon-precomposed" sizes="76x76" /> <link rel="stylesheet" media="all" href="/lib/theme/xm-3/css/cms.css?ver=20210114-A"/> 242 243
243<script type="text/javascript" data-keep="true"> 244 245 var xmTheme = "xm-3"; var xmFormPreventDoubleClick = true; var calendarStartDay = 2; var enableAI = false; var enableTranslations = true;var userLanguage = "en";var pusherChannel = "presence-groupxm-2570";var pusherAppKey = "29ffbc75beaa5b2165d7";var isLoggedIn = false;var xmUserUUID = ""; var module_id = "0" 246 247 if (self !== top && window.name == "XMEmbedFrame" && window.location.href.indexOf("fullscreen") == -1) { 248 let urlParams = new URLSearchParams(location.search.substr(1)); 249 urlParams.set("fullscreen", true); 250 location.search = urlParams.toString(); 251 } 252 window.XM_CARTO_KEY="cb1_307c_1_56e5b8b90a79273064afa5b1";window.XM_CARTO_QS="?key=cb1_307c_1_56e5b8b90a79273064afa5b1"; 253 </script>
253 254 255
255<script type="text/javascript" src="/lib/tag/xm/inc/xm.2.0.js?ver=20260921-C"></script>
255
255<script type="module" src="/lib/com/web-component/module.js?ver=20260903-A"></script>
255 <link rel="stylesheet" href="/lib/com/toggle/css/switcher.css?ver=20220322-A"/>
255<script src="/lib/com/toggle/js/jquery.switcher.webauthor.js?ver=20221122-C"></script>
255 256 </head> 257 <body > 258 259 260 <div id="wrapper" style="width:100%;"><!-- header web element --> 261 <a class="accessibility noPrint" href="#main">Skip to Content</a> 262 263 <div class="footer_bottom"> 264 265 <header id="header" class="noPrint" > 266 267 <div class="left-holder"> 268 <!-- nav --> 269 <nav id="nav" > 270 <!-- nav opener button --> 271 272 <a aria-label="Open Menu" href="#" class="nav-opener"> 273 <span class="icon-playback-play"></span> 274 <div class="nav-opener-holder"> 275 276 <span>opener button</span> 277 278 </div> 279 </a> 280 <!-- slider --> 281 <div class="slider" > 282 283 <!-- request.web_site --> 284 <ul id="main_nav" class="main_nav jcf-scrollable accordion" style="min-height:100vh;"> 285 286 287 <li class="arrow-btn"><a href="#" target="_self" class="opener">Subscriptions</a><div class="slide"><ul><li><a href="/pub/sm.cfm" target="_self">Purchase Subscription</a></li><li><a href="/subscription-categories-explained" target="_self">Subscription Categories explained</a></li></ul></div></li><li class="arrow-btn"><a href="#" target="_self" class="opener">International</a><div class="slide"><ul><li><a href="/international-collaboration" target="_self">Collaboration and Translations</a></li><li><a href="/international-documents" target="_self">International Documents</a></li><li><a href="/translate-the-encpt" target="_self">eNCPT Translation Overview</a></li></ul></div></li><li><a href="/about" target="_self">About Us</a></li><li class="arrow-btn"><a href="#" target="_self" class="opener">Resources</a><div class="slide"><ul><li><a href="/frequently-asked-questions" target="_self">Frequently Asked Questions</a></li><li><a href="/encpt-tutorials" target="_self">NCP Tutorials</a></li><li><a href="/ncp-quest" target="_blank">NCP Quest Tool</a></li><li><a href="/shop-Academy-products" target="_self">NCPT Books and Resources</a></li><li><a href="/freely-available-ncp-terms" target="_self">Freely Available NCP Terms</a></li><li><a href="https://www.andhii.org/info/"target="_blank" target="_blank">Learn About ANDHII</a></li><li><a href="/volunteer-opportunities" target="_self">Get Involved</a></li></ul></div></li> 288 </ul> 289 290 291 292 293 </div> 294 </nav> 295 <!-- logo page --> 296 <a href="/" id="logo" style="font-size: 20px;color: #666666;font-weight: bold;max-height: 100%;max-width: 300px;"> 297 298 299 <img style="max-height: 65px;max-width:100%;" src="/vault/2570/Logo_eNCPT_FINAL 300px no Registered Mark1.png" alt="electronic Nutrition Care Process Terminology (eNCPT)" /> 300 301 </a> 302 </div> 303 304 <div class="right-holder"> 305 306 <link rel="stylesheet" href="/lib/theme/xm-3/css/login.css?ver=20200527-a"/> 307 <div class="login-btns-container"> 308 <a class="login-btn" href="/auth.cfm?sign_in=true" title="Login"><i class="fas fa-sign-in-alt dnd"></i><span>Login</span></a> 309 310 </div> 311 312 313 314 </div> 315 </header> 316 317 318 319 320 321 <a id="ga_opt_out_container" href="#ga_opt_out_data"></a> 322 <div style="display:none;" > 323 <div id="ga_opt_out_data"> 324 <form action="/auth.cfm" method="url"> 325 326 <div class="inner_wrp"> 327 <div class="ga_optout_row"> 328 <div class="ga_optout_column"> 329 330 <div><b>This site uses cookies</b></div> 331 <p>Some of these cookies are essential, while others help us to improve your experience by providing insights into how the site is being used.</p> 332 <p>For more detailed information on the cookies we use, please check our <a href="https://www.eatrightpro.org/about-us/our-policies/privacy-policy" target="_blank">privacy policy</a>.</p> 333 </div> 334 <div class="ga_optout_column"> 335 336 <div><b>Necessary Cookies</b></div> 337 338<p>Necessary Cookies enable core functionality. The website cannot function properly without these cookies, and they can only be disabled by changing your browser preferences.</p> 339 340<div><b>Analytical Cookies</b></div> 341 342<p>
342Analytical cookies are used to identify which eNCPT pages are of greatest interest to our users. With this data we can work to bring the best possible experience to current and future eNCPT subscribers. Please select "I accept" to allow the use of analytical cookies and click "Save Settings".</p> 343 <div align="left"> 344 <span style="float:left;"> 345 <input type="radio" value="1" name="set_ga_opt_in_cookie" class="ga_optout" checked/>I accept the usage of analytical cookies 346 <br/> 347 <input type="radio" value="0" name="set_ga_opt_in_cookie" class="ga_optout"/>I do not accept the use of analytical cookies 348 </span> 349 </div> 350 <div class="clr"></div> 351 <p><i>Please note that this pop-up notice will appear on every NCPT website page until you have saved your preferred setting.</i> 352 </div> 353 </div> 354 <div class="clr10"></div> 355 <div align="right"> 356 <input type="submit" value="Save Settings" name="set_ga_opt_in" class="ga_save_button"> 357 </div> 358 </div> 359 360 </form> 361 </div> 362 </div> 363 364
364<script type="text/javascript" src="/lib/jquery/jquery.fancybox.pack.js"></script>
364 365 <link rel="stylesheet" href="/lib/jquery/jquery.fancybox.css" type="text/css" media="screen" /> 366 367 368
368<script> 369 jQuery("a#ga_opt_out_container").fancybox({ 370 'hideOnContentClick': true, 371 'width':750, 372 'maxWidth':750, 373 'height':275, 374 'autoSize' : true 375 }).trigger('click'); 376 </script>
376 377 378 379<!-- main --> 380<main id="main" class="fixed_layout"> 381 <div class="container-fluid" id="xmMainContainer" style="flex:1;"> 382 383 <div id="PageInstructionsBox" class="well" style="background:white;display:none;"> 384 385 <span id="PageInstructions"></span> 386 </div> 387 388
388<script type="text/javascript"> 389 checkBeforeLeaving = false; 390 </script>
390 391 392
393<script language="javascript"> 394 checkBeforeLeaving = false; 395 if (location.protocol == "http:" ) { 396 document.write("Please wait while we redirect you to our secure server..."); 397 location.replace("https://ncpro.org\x2Fauth.cfm?"); 398 } 399</script>
399 400 401 402 403 <style> 404 #header, .page-head {display:none;} 405 .sing-box{ 406 border: 1px solid #dfe2e4; 407 border-top: 2px solid #8c8c8c; 408 border-bottom: 2px solid #8c8c8c; 409 background:#fff; 410 -webkit-border-radius:4px; 411 -moz-border-radius:4px; 412 border-radius:4px; 413 padding:22px 0 6px; 414 width:100%; 415 max-width:380px; 416 margin: 0 auto; 417 } 418 .sing-box .title{ 419 padding:0 5px 23px; 420 display:block; 421 text-align:center; 422 font-size: 16px; 423 } 424 .sing-form{ 425 margin:0 0 10px; 426 padding: 20px 35px 0px; 427 } 428 .sing-form button[type="submit"], .sing-form button[type="button"] { 429 font-size: 14px; 430 line-height:15px; 431 font-weight:700; 432 color:#fff; 433 padding:3px 5px; 434 height:39px; 435 display:block; 436 border:none; 437 -webkit-border-radius:2px; 438 -moz-border-radius:2px; 439 border-radius:2px; 440 margin:0; 441 overflow:visible; 442 cursor:pointer; 443 width:100%; 444 text-align:center; 445 margin:15px auto 0 auto; 446 background-color:#337ab7; 447 } 448 .sing-form button[type="submit"]:disabled, 449 .sing-form button[type="submit"][disabled]{ 450 opacity:.55; 451 cursor:not-allowed; 452 } 453 /* JH/Claude 9/21/26 The captcha row is a plain block, not .row > .input-group (see the markup comment 454 below), so the widget gets the same box as the fields above it. */ 455 .xm-captcha-row {margin-bottom:15px;} 456 .xm-captcha-row .g-recaptcha {display:flex;justify-content:center;max-width:100%;} 457 .xm-passkey-status {margin:14px 0 0;text-align:center;font-size:13px;color:#565656;} 458 .xm-passkey-status .xm-passkey-cancel {display:inline-block;margin-left:8px;padding:0;border:0;background:none;color:#337ab7;font:inherit;text-decoration:underline;cursor:pointer;} 459 .support-btn, a.signup-btn { 460 display: block; 461 padding: 15px; 462 font-size: 11px; 463 text-align: center; 464 margin: 10px auto; 465 } 466 a.signup-btn { 467 color: #383838; 468 font-size: 13px; 469 border-radius: 6px; 470 -ms-box-shadow: inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 0 hsla(0,0%,100%,.5); 471 -o-box-shadow: inset 0 1px 0 hsla(0,0%,100%,.5),0 1px 0 hsla(0,0%,100%,.5); 472 box-shadow: inset 0 1px 0 hsla(0,0%,100%,.5), 0 1px 0 hsla(0,0%,100%,.5); 473 border: 1px solid rgba(14,41,57,.1); 474 font-weight: 700; 475 max-width: 380px; 476 margin: 20px auto; 477 } 478 a.signup-btn span { 479 text-decoration: underline; 480 } 481 a.signup-btn:hover { 482 text-decoration: none; color:#3398e6; 483 } 484 </style> 485 486 487 <div class="sign-holder"> 488 489 490 <div style="text-align:center;margin-bottom:30px;"><a href="/" style="font-size:24px;font-weight:bold;color:#333333;"> 491 492 <img src="/vault/2570/Logo_eNCPT_FINAL 300px no Registered Mark1.png" style="max-width:90%;" alt="electronic Nutrition Care Process Terminology (eNCPT)" /> 493 494 </a></div> 495 496 <div class="sing-box"> 497 <style>h1.sing-box .title, h1 { margin:10px 0 0 0;padding: 10px 5px 23px; display: block; text-align: center; font-size: 16px;}</style> 498 <h1 class="title">As an eNCPT subscriber, simply enter your username and password and click</h1> 499 <form class="sing-form form-horizontal" action="/auth.cfm?" onsubmit="return frmValidCheck(this);" id="AuthForm" name="AuthForm" method="post"> 500 <fieldset> 501 502 503 <input type="hidden" name="xm_token" value="6921cccc950a1a0b70d1fa269bdf7402cc0af5e0b4ac3fdab58d5a69bcea7489" /> 504 <input type="hidden" name="actionxm" value="authenticate"/> 505 <input type="hidden" id="support_passkeys" name="support_passkeys" value="0" /> 506 507 <div id="SignInFields"> 508 <div class="row form-group"> 509 <div class="input-group"> 510 <span class="input-group-addon"><i class="fa fa-envelope"></i></span> 511 512 <input type="text" id="email" class="form-control" name="email" placeholder="Email Address/Login ID" 513 title="Email Address/Login ID" autocomplete="username webauthn"/> 514 </div> 515 </div> 516 <div class="row form-group"> 517 <div class="input-group"> 518 <span class="input-group-addon"><i class="fa fa-key"></i></span> 519 <input type="password" name="password" id="password" class="form-control" placeholder="Password" title="Password" autocomplete="current-password"/> 520 </div>
521 </div> 522 </div> 523 524 525 526 <div class="form-group xm-captcha-row"> 527 528 <div class="XMFieldWrapper " style=" ;"> 529 530
530<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
530 531
531<script src="/lib/tag/xm/inc/turnstile-error.js?v=2" defer></script>
531 532 533 <div class="cf-turnstile" data-response-field-name="g-recaptcha-response" data-sitekey="0x4AAAAAAAAvwRLDtUrzZ0Bb" data-language="auto" data-theme="light" data-size="flexible" data-appearance="always" data-retry="auto" data-retry-interval="12000" data-error-callback="xmTurnstileError"></div> 534 535 </div> 536 537 </div> 538 539 540 541 <div> 542 543 <div style="float: left;margin: 0 7px 0 0"><input id="remember_me" value="NEVER" name="remember_me" type="checkbox" /></div> 544 <label for="remember_me" style="float: left; font-size: 11px;padding-top: 3px;font-weight:normal">Remember Me</label> 545 546 <div style="float:right;font-size: 11px;padding-top: 3px;"><a href="/auth.cfm?actionxm=ForgotPassword">Forgot your password?</a></div> 547 </div> 548 549 <div style="clear:both;float:none;"></div> 550 <button type="submit">Sign In</button> 551 552 <p id="passkey-status" class="xm-passkey-status" role="status" aria-live="polite" hidden></p> 553 <div id="passkey-sign-in" style="display: none;text-align:center;"> 554 <div style="border-top: 1px solid #cbd2d6;position: relative;margin-top: 8.72%;margin-bottom: 4.895%;height: 15px;text-align: center;font-size: 83.34%;"><span style="background-color: #fff;padding: 0 0.5em;position: relative;color: #6c7378;top: -0.7em;">or</span></div> 555 <button type="button" onclick="authPassKey();" style="background-color:#efefef;color:#565656;border:1px solid #dadada;font-weight:normal;"><i class="fa fa-key"></i> Sign In with a passkey</button> 556 </div> 557 558 559 560 </fieldset> 561 </form> 562
562<script type="text/javascript" src="/lib/com/auth/sign-in.js"></script>
562 563 564
564<script type="text/javascript"> 565 $(document).ready(function() { 566 // The email input has no autofocus attribute (it would pop the password manager while the 567 // captcha is still verifying). Focus is applied here: immediately when no captcha gate is 568 // active, otherwise on first transition to ready â and never if the user already focused 569 // something themselves. 570 var focusedOnce = false; 571 var focusEmail = function() { 572 if (focusedOnce) return; 573 focusedOnce = true; 574 if (!document.activeElement || document.activeElement === document.body) $('#email').trigger('focus'); 575 }; 576 if (!document.querySelector('#AuthForm .cf-turnstile, #AuthForm .g-recaptcha')) { focusEmail(); return; } 577 // A captcha is present: gate the button. Disable it now and enable it only while the widget's 578 // response field holds a verification token. Disabling the submit button also blocks Enter-key 579 // submission and leaves the separate passkey button (type="button") untouched. 580 var $submitBtn = $('#AuthForm button[type="submit"]').prop('disabled', true); 581 var t0 = new Date().getTime(); 582 var isTurnstile = !!document.querySelector('#AuthForm .cf-turnstile'); 583 var recovered = false; 584 585 // If api.js never loads (blocked/slow), re-inject it once so the widget can still appear. 586 // We deliberately do NOT reset an already-loaded widget â that would clobber the interactive 587 // "Verify you are human" checkbox the user is about to click; we just keep waiting for it. 588 var recoverCaptcha = function() { 589 if (recovered) return; recovered = true; 590 try { 591 if (isTurnstile && !window.turnstile) { 592 var s = document.createElement('script'); // api.js never loaded -> re-inject it once 593 s.src = "https://challenges.cloudflare.com/turnstile/v0/api.js"; 594 s.async = true; s.defer = true; document.head.appendChild(s); 595 } 596 } catch (e) {} 597 }; 598 599 // JH/Claude 7/27/26 Double-submit guard: a second POST would re-spend the single-use captcha token and be 600 // rejected by siteverify as a duplicate, so once a submit actually goes out (i.e. no 601 // validator prevented it) the gate below holds the button disabled. The 20s failsafe 602 // re-arms it in case the navigation never happens (dropped connection, bfcache restore). 603 var submitting = false; 604 document.getElementById('AuthForm').addEventListener('submit', function(ev) { 605 if (submitting) { ev.preventDefault(); return; } 606 setTimeout(function() { // after all submit handlers: was it really allowed? 607 if (ev.defaultPrevented) return; 608 submitting = true; 609 setTimeout(function() { submitting = false; }, 20000); 610 }, 0); 611 }); 612 613 // Poll for the life of the page: a token appearing enables the button (and focuses the login 614 // field once); the token being cleared on expiry/timeout re-disables it until the user verifies 615 // again. Turnstile and reCAPTCHA both write their token into the "g-recaptcha-response" field, 616 // so this one check drives the gate for either widget. 617 setInterval(function() { 618 var fld = document.querySelector('#AuthForm [name="g-recaptcha-response"]'); 619 var verified = !!(fld && fld.value.length); 620 $submitBtn.prop('disabled', !verified || submitting); 621 if (verified) { focusEmail(); return; } // verified -> button enabled, focus the login field 622 if (new Date().getTime() - t0 > 5000) recoverCaptcha(); // ~5s: silently re-inject api.js if it never loaded 623 }, 400); 624 }); 625 </script>
625 626 627 628 629
629<script> 630 window.xmPasskeySignIn = { 631 enabled: true, 632 requestUrl: "/lib/com/auth/passkey.cfc?returnFormat=JSON&method=SignInRequest", 633 action: "/auth.cfm", 634 token: "6921cccc950a1a0b70d1fa269bdf7402cc0af5e0b4ac3fdab58d5a69bcea7489", 635 failed: false, 636 labels: { 637 auto: "Signing\x20you\x20in\x20with\x20your\x20passkey\u2026", 638 waiting: "Waiting\x20for\x20your\x20passkey\u2026", 639 signingIn: "Signing\x20you\x20in\u2026", 640 usePassword: "Use\x20password\x20instead", 641 failed: "Passkey\x20sign\x2Din\x20did\x20not\x20complete.\x20Use\x20your\x20password\x20instead." 642 } 643 }; 644 </script>
644 645
645<script src="/lib/com/auth/passkey-sign-in.js?ver=20260924-A" defer></script>
645 646 647 648 <div class="support-btn">Having trouble? <a href="/cdn-cgi/l/email-protection#caa4a9bab9bfbabaa5b8be8aafabbeb8a3ada2bee4a5b8adf5b9bfa8a0afa9bef7a2bebebab9f0e5e5a4a9bab8a5e4a5b8adf0ea86a5ada3a4ea82afa6ba">Contact Support</a> </div> 649 650 651 </div> 652 653 654 655 </div> 656 657 658 659<link rel="stylesheet" type="text/css" href="/lib/jquery/jquery.reject.css" />
vendor: 110 bytes, lines 659-660
659 660<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
660<script type="text/javascript" src="/lib/jquery/jquery.reject.js"></script>
vendor: 2 bytes, line 660
660
661<script type="text/javascript"> 662 jQuery.reject({ 663 imagePath: '/lib/img/', 664 reject: { all: false, msie5: true, msie6: true,msie7:true }, // Reject all renderers for demo 665 display: ['chrome','firefox','safari','msie'], 666 closeCookie: true // Set cookie to remmember close for this session 667 }); 668</script>
668 669 670 671 672 <!--CometChat Test--> 673 674 675 676 </div> 677 678 679 680 681 </main> 682 683 684 685 686 687 688 </div> 689 </div> 690 691 <!-- footer web element --> 692 <footer id="footer" style="text-align: center;font-size:10px;padding:2px;color:#333333 !important;"> 693 694 695 696 697 698 699 700 701 <div class="NoWrap"> 702 703 Copyright 2026. Powered by <a href="https://www.webauthor.com/" target="_blank" rel="noopener noreferrer">Webauthor ®</a>. <a href="https://www.webauthor.com/privacy-policy" target="_blank" rel="noopener noreferrer">Privacy Policy</a>. All Rights Reserved. LX-131-206 <span id="ServerExecutionTime" style="color:#70757a;">(Execution Time: 0.67 seconds)</span> <span id='BrowserRenderTime'></span> 704 </div> 705 706 </footer> 707 708 709 <style> 710 body:has(.xmFullScreen) { 711 .xmFullScreenExitBtn { 712 display:block; 713 position:fixed; 714 top:10px; 715 right:45%; 716 z-index:9999; 717 } 718 } 719 720 .xmFullScreenExitBtn { 721 display:none; 722 } 723 </style> 724 <span class="btn btn-primary xmFullScreenExitBtn" onclick="$('.xmFullScreen').removeClass('xmFullScreen');"><i class="fa fa-circle-xmark"></i> Exit Full Screen</span> 725 726 <div style="clear:both;display:block;" align="left"></div> 727 <div class='scrolltop'><div class='scroll icon'><i class="fa fa-angle-up"></i></div></div> 728 729 <iframe id="PopUpBox" name="PopUpBox" style="position:absolute;" frameborder="0" class="PopupBox" scrolling="auto"></iframe> 730 731
731<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
731 <link rel="stylesheet" href="/lib/jquery/sticky.css" type="text/css"/>
731<script type="text/javascript" src="/lib/jquery/sticky.js"></script>
731 <link rel="stylesheet" href="/lib/jquery/jquery.toast.min.css" type="text/css"/>
731<script type="text/javascript" src="/lib/jquery/jquery.toast.min.js"></script>
731 732 733
733<script type="text/javascript"> 734 735 736 737 var xmMainNotificationToast; 738 function showNotificationMessage(title,text,image,uri,sticky,inpClass) { 739 var callback = null; 740 var ac = 10000; 741 var cl = (typeof inpClass != "undefined") ? inpClass : "success";//sticky-success 742 if (sticky) {ac = 0;cl="success";} 743 var msg = '<strong>'+title+'</strong><br />'+text; 744 if (image != "") msg = '<img src="'+image+'" align="left" height="42" width="42" hspace="3">'+msg; 745 if (uri != "") msg = msg+'<br />'+'<a href="'+uri+'">View</a>'; 746 var hideAfter = sticky ? false : 3000; 747 $.toast({ 748 text: text, 749 position: "bottom-left", 750 icon: cl, 751 heading:title, 752 bgColor: "##444", 753 textColor:"##fff", 754 hideAfter:hideAfter, 755 stack: false 756 }); 757 758 //showNotificationMessage("",msg,{className: cl,speed: 'fast',autoclose: ac}); 759 } 760 761 762 /*MR: 7/25/2019 - keyboard shortcut to go full screen */ 763 document.onkeyup = function(e) { 764 if (e.ctrlKey && e.altKey && e.which == 89) { 765 var unobstructed = $("body").hasClass("unobstructed"); 766 $("body").toggleClass("unobstructed",!unobstructed); 767 window.dispatchEvent(new Event('resize')); 768 } 769 }; 770 771 </script>
771 772 773 774 <div id="freeow"></div> 775 776 777 778 779 780
780<script type="text/javascript" async>
vendor: 360 bytes, lines 780-785
780 781 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 782 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 783 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 784 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 785 ga('create', '
785UA-39890950-4
vendor: 51 bytes, lines 785-788
785', 'auto'); 786 787 ga('send', 'pageview'); 788
788</script>
788 789
789<script type="text/javascript" src="/lib/bootstrap/js/bootstrap.xm.min.js?ver=20181031-a"></script>
789
789<script type="text/javascript" src="/lib/bootstrap/bootbox-3.3.0.min.js?ver=20181031-a"></script>
789
789<script type="text/javascript" src="/lib/bootstrap/js/bootstrapx-clickover.js?ver=20181031-a"></script>
789 790
790<script type="text/javascript"> 791 $(document).ready(function(e) { 792 $('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }); 793 $('.dropdown-toggle').click(function(e) { 794 e.preventDefault(); 795 setTimeout($.proxy(function() { 796 if ('ontouchstart' in document.documentElement) { 797 $(this).siblings('.dropdown-backdrop').off().remove(); 798 } 799 }, this), 0); 800 }); 801 }); 802 </script>
802 803
803<script defer type="text/javascript" src="/lib/js/store.modern.min.js"></script>
803 804 <link rel="stylesheet" href="/lib/com/tippy/light.css"/> 805 <link rel="stylesheet" href="/lib/com/tippy/material.css"/> 806
806<script defer src="/lib/com/popper/popper.min.js"></script>
806
806<script defer src="/lib/com/tippy/tippy-bundle.umd.min.js"></script>
806 807 <style> 808 .tippy-content:has(.xm-list-card) {padding:0;text-align:left;} 809 .tippy-arrow {z-index:1} 810 .tippy-box[data-theme~=alert]{background-color:#EA4335;font-weight:600}.tippy-box[data-theme~=alert][data-placement^=top]>.tippy-arrow:before{border-top-color:#EA4335}.tippy-box[data-theme~=alert][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#EA4335}.tippy-box[data-theme~=alert][data-placement^=left]>.tippy-arrow:before{border-left-color:#EA4335}.tippy-box[data-theme~=alert][data-placement^=right]>.tippy-arrow:before{border-right-color:#EA4335}.tippy-box[data-theme~=alert]>.tippy-backdrop{background-color:#EA4335}.tippy-box[data-theme~=alert]>.tippy-svg-arrow{fill:#EA4335} 811 .tippy-box[data-theme~='alert'] {color: #ffffff;} 812 </style> 813 814
814<script> 815 $(document).ready(function(r) { 816 $('.xmTip[title]').each(function() { 817 $(this).attr("data-tippy-content",$(this).attr("title")); 818 $(this).removeAttr("title"); 819 }); 820 $('.xmTip[data-tooltip]').each(function() { 821 $(this).attr("data-tippy-content",$(this).data("tooltip")); 822 }); 823 tippy('.xmTip[data-tippy-content]',{ 824 allowHTML:true 825 }); 826 827 tippy.delegate('body', { 828 target: '.select2-selection__rendered[title]', 829 content(el) { 830 const title = el.getAttribute('title'); 831 // Optionally remove the native title to avoid double tooltips 832 el.removeAttribute('title'); 833 return title; 834 }, 835 allowHTML: false, 836 placement: 'top', 837 delay: [300, 0] // Small delay before showing 838 }); 839 840 }); 841 </script>
841 842
842<script src="/lib/js/emodal.min.js"></script>
842 843 844 <style> 845 .fancybox-slide--iframe .fancybox-content { 846 width : 100%; 847 height : 100%; 848 max-width : 97%; 849 max-height : 97%; 850 margin: 0; 851 } 852 .fancybox-slide { 853 padding:10px 10px 40px 10px !important; 854 } 855 </style> 856 857 858
858<script> 859 if ('serviceWorker' in navigator) { 860 navigator.serviceWorker.getRegistrations().then(function(registrations) { 861 for(let registration of registrations) { 862 registration.unregister() 863 } 864 }); 865 } 866 </script>
866 867 868 869
869<script type="speculationrules" data-keep="true" id="SpeculationRules"> 870 { 871 "prerender": [ 872 { 873 "source": "document", 874 "where": { 875 "or": [{"href_matches":"*records.cfm?actionxm=Detail*"},{"href_matches":"*records.cfm?actionxm=Explore*"},{"href_matches":"*records.cfm?actionxm=Notes*"},{"href_matches":"*records.cfm?actionxm=Modify*"},{"selector_matches":".xmPR"},{"href_matches":"/"}] 876 }, 877 "eagerness": "moderate" 878 } 879 880 ] 881 } 882 </script>
882 883 884 885 886 887 <div class="xm-panel-wrap"></div> 888 889 890
890<script> 891 $(document).ready(function(e) { 892 //MR: 7/23/2021 - Setup Page Titles - Open Graph 893 if ($(".OGTitle").length > 0) { 894 var pageTitle = $(".OGTitle").html().replace(/<(.*)>(.*?)<\/(.*)>/ig,""); 895 $("meta[property='og:title']").attr('content', pageTitle); 896 document.title = pageTitle; 897 } 898 if ($(".OGImage").length > 0) { 899 $("meta[property='og:image']").attr('content', $(".OGImage").attr("src")); 900 } 901 if ($(".OGDescription").length > 0) { 902 $("meta[property='og:description']").attr('content', $(".OGDescription").html().replace(/<(.*)>(.*?)<\/(.*)>/ig,"")); 903 } 904 // Open Graph previews are cached server-side from public-safe module metadata. 905 // Do not persist DOM-derived record titles/photos: Redis-backed tags are public. 906 let paramObj = {}; 907 let urlObj = new URL(location.href); 908 urlObj.searchParams.forEach((value, key) => {paramObj[key] = value;}); 909 910 if (paramObj.hasOwnProperty("reset_object_cache") || paramObj.hasOwnProperty("reset_page_cache") || paramObj.hasOwnProperty("reset_translation") || paramObj.hasOwnProperty("reset") || paramObj.hasOwnProperty("reset_settings_cache") || paramObj.hasOwnProperty("reset_record_cache") || paramObj.hasOwnProperty("recreate_user_profile") || paramObj.hasOwnProperty("xm_retry") || paramObj.hasOwnProperty("xm_error")) { 911 navigator.sendBeacon('/modules/portal/update-queue-counts.cfm'); 912 urlObj.searchParams.delete('reset_object_cache'); 913 urlObj.searchParams.delete('reset_page_cache'); 914 urlObj.searchParams.delete('reset_settings_cache'); 915 urlObj.searchParams.delete('reset_translation'); 916 urlObj.searchParams.delete('reset_record_cache'); 917 urlObj.searchParams.delete('refresh_user'); 918 urlObj.searchParams.delete('recreate_user_profile'); 919 urlObj.searchParams.delete('xm_retry'); 920 urlObj.searchParams.delete('xm_error'); 921 urlObj.searchParams.delete('reset'); 922 urlObj.searchParams.delete('xm_tmp_notice'); 923 history.pushState({}, document.title, window.location.pathname+urlObj.search); 924 } 925 }); 926 </script>
926 927 928
929<script type="module" src="/lib/com/web/popup.js?ver=20260913-A"></script>
929 930<xm-popup-modal></xm-popup-modal>
931<script> 932 window.xmPopupModal = document.querySelector('xm-popup-modal'); 933</script>
933 934
935<script src="/lib/com/htmx/htmx.min.js"></script>
935 936 937 938 939 940
940<script type="text/javascript" src="/lib/theme/xm-3/js/footer.js"></script>
940 941 942 943
944<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"9943b87c681647adb0d861cff6f119e8","spa":2}' crossorigin="anonymous"></script>
944 945</body> 946</html> 947
948<script type="text/javascript"> 949 function noAccessCode(checkbox_checked){ 950 jQuery('#access_code').attr('vrequired',!checkbox_checked); 951 } 952 953 jQuery(document).ready(function(e) { 954 jQuery("#client_id").change(function(e) { 955 jQuery("#form_row_crm_account_new").toggle(jQuery(this).val() == "0"); 956 jQuery("#crm_account_new").attr('vrequired',jQuery(this).val() == "0"); 957 }).change(); 958 959 960 961 //if member type is "other", then hide the University fields 962 jQuery("input[name='user_type']").change(function(e) { 963 //alert("test"); 964 var $this = jQuery(this); 965 var flag = $this.val() != 'Other'; 966 jQuery("#form_row_client_id").toggle(flag); 967 jQuery("#client_id").attr('vrequired',flag); 968 jQuery("#form_row_crm_account_new").toggle(flag); 969 jQuery("#crm_account_new").attr('vrequired',flag); 970 }).change(); 971 972 973 jQuery("input[name='no_access_code']").change(function(e) { 974 var $this = jQuery(this); 975 //if it's NOT checked, show access code and make required 976 var flag = !($this.prop('checked')); 977 978 jQuery("#form_row_access_code").toggle(flag); 979 jQuery("#access_code").attr('vrequired',flag); 980 }).change(); 981 982 }); 983</script>
983 984
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.