# APIRx

> Markdown mirror of DialtoneApp's public top-site detail page for `apirx.com`.

URL: https://dialtoneapp.com/top-sites/apirx.com/index.md
Canonical HTML: https://dialtoneapp.com/top-sites/apirx.com

## Summary

- Domain: `apirx.com`
- Website: https://apirx.com
- Description: ai readable | score 27 | purchase read only
- Label: ai_readable
- Payment surface: Not available
- Purchase boundary: read_only
- Control boundary: unknown
- Rank: 622786

## robots

~~~text
User-agent: *

Disallow: /*.pdf$
Disallow: /*.xls$
Disallow: /*.xlsx$
Disallow: /*.doc$
Disallow: /*.docx$
Disallow: /pdf/
Disallow: /xls/
Disallow: /c/reset-password
Disallow: /docs/
Disallow: /api/
Disallow: /myportal/
~~~

## llms

~~~text
<!DOCTYPE html>
<!-- before link -->

<html lang="en" class=" defaultNav unknownOS  desktop ">
<!-- after link -->
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta http-equiv="X-UA-Compatible" content="IE=Edge">
	<!-- rel=dynamic-content indicates an element that is replaced with the contents produced by the specified href. 
		 dyn-cs:* URIs are resolved using the values within the 'wp_dynamicContentSpots_85' theme module. -->
	<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TCLNW9SG');</script>
<!-- End Google Tag Manager -->

<script src="/js/ag-grid-enterprise.min.noStyle.js"></script><link rel="stylesheet" href="/contenthandler/!ut/p/digest!VnvyWFJwJQo-kKj1NBt5VA/sp/mashup:ra:collection?soffset=0&amp;eoffset=24&amp;themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fcss&amp;lm=1774759108000&amp;entry=wp_toolbar_common__0.0%3Ahead_css&amp;entry=wp_dialog_css__0.0%3Ahead_css&amp;entry=wp_toolbar_logo__0.0%3Ahead_css&amp;entry=wp_theme_portal_edit_85__0.0%3Ahead_css&amp;entry=wp_theme_portal_85__0.0%3Ahead_css&amp;entry=wp_portlet_css__0.0%3Ahead_css&amp;entry=wp_toolbar_common_actionbar__0.0%3Ahead_css&amp;entry=wp_simple_contextmenu_css__0.0%3Ahead_css&amp;entry=wp_toolbar_actionbar__0.0%3Ahead_css&amp;entry=wp_draft_page_ribbon__0.0%3Ahead_css&amp;entry=vai90_2018_login_mod__0.0%3Ahead_css&amp;entry=wp_toolbar_sitepreview__0.0%3Ahead_css&amp;entry=wp_toolbar_moremenu__0.0%3Ahead_css&amp;entry=wp_status_bar__0.0%3Ahead_css&amp;entry=wp_toolbar_projectmenu__0.0%3Ahead_css" type="text/css"/><link rel="alternate" id="head_css_deferred" href="/contenthandler/!ut/p/digest!VnvyWFJwJQo-kKj1NBt5VA/sp/mashup:ra:collection?soffset=0&amp;eoffset=7&amp;themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fcss&amp;lm=1774759108000&amp;entry=wp_contextmenu_css__0.0%3Ahead_css&amp;entry=wp_federated_documents_picker__0.0%3Ahead_css&amp;entry=wp_analytics_tags__0.0%3Ahead_css&amp;entry=wp_dnd_css__0.0%3Ahead_css&amp;entry=wcm_inplaceEdit__0.0%3Ahead_css&amp;entry=wp_content_targeting_cam__0.0%3Ahead_css&amp;deferred=true"/><script type="text/javascript">var djConfig={"baseUrl":"/portal_dojo/v1.9/dojo/","locale":"en","isDebug":false,"debugAtAllCosts":false,"parseOnLoad":false,"afterOnLoad":false,"has":{"dojo-bidi":true},"modulePaths":{"com":"/themeModules/js/com","ibm":"/themeModules/js/ibm","pagebuilder":"/themeModules/modules/pagebuilder/js","portalclient":"/themeModules/modules/portalclient/js","asa":"/themeModules/modules/asa/js","contentmapping":"/themeModules/modules/contentmapping/js","federation":"/themeModules/modules/federation/js"}};djConfig.locale=djConfig.locale.replace(/_/g, "-").replace(/iw/, "he").toLowerCase();(function(){if (typeof(wpModules) == 'undefined') wpModules = {}; if (typeof(wpModules.state) == 'undefined') wpModules.state = {}; if (typeof(wpModules.state.page) == 'undefined') wpModules.state.page = {};wpModules.state.page._initial=[{"nsuri":"http://www.ibm.com/xmlns/prod/websphere/portal/publicparams","name":"selection","value":["Z6_11A619S01HDMB0QFK1PVFM00U6"]},{"nsuri":"http://www.ibm.com/xmlns/prod/websphere/portal/publicparams","name":"labelMappings","value":["Z6_11A619S01HDMB0QFK1PVFM00U6","Z6_000000000000000000000000A0"]},{"nsuri":"http://www.ibm.com/xmlns/prod/websphere/portal/publicparams","name":"expansions","value":["Z6_000000000000000000000000A0","Z6_GHK6HJC0OG6S20Q8HU3K6R0GK1"]}];wpModules.state.page.selectionPath=['Z6_000000000000000000000000A0','Z6_GHK6HJC0OG6S20Q8HU3K6R0GK1','Z6_11A619S01HDMB0QFK1PVFM00U6'];wpModules.state.page.supportsEditMode=true;wpModules.state.page.supportsToolbar=true;wpModules.state.page.path='';wpModules.state.page.protectedPath='/myportal';wpModules.state.page.publicPath='';})();</script><script type="text/javascript" src="/contenthandler/!ut/p/digest!VnvyWFJwJQo-kKj1NBt5VA/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fjavascript&amp;lm=1774759096000&amp;entry=dojo_19__0.0%3Ahead_js&amp;entry=wp_client_main__0.0%3Ahead_js&amp;entry=wp_client_ext__0.0%3Ahead_js&amp;entry=wp_client_logging__0.0%3Ahead_js&amp;entry=dojo_app_19__0.0%3Ahead_js&amp;entry=dojo_fx_19__0.0%3Ahead_js&amp;entry=dojo_dom_19__0.0%3Ahead_js&amp;entry=dojo_dnd_basic_19__0.0%3Ahead_js&amp;entry=dojo_data_19__0.0%3Ahead_js&amp;entry=dojo_selector_lite_19__0.0%3Ahead_js&amp;entry=dijit_19__0.0%3Ahead_js&amp;entry=dojo_dnd_ext_19__0.0%3Ahead_js&amp;entry=dijit_layout_basic_19__0.0%3Ahead_js&amp;entry=dijit_menu_19__0.0%3Ahead_js&amp;entry=dojo_fmt_19__0.0%3Ahead_js&amp;entry=wp_client_tracing__0.0%3Ahead_js&amp;entry=wp_modules__0.0%3Ahead_js&amp;entry=wp_photon_dom__0.0%3Ahead_js&amp;entry=wp_toolbar_common__0.0%3Ahead_js&amp;entry=dojox_html_basic_19__0.0%3Ahead_js&amp;entry=wp_dialog_util__0.0%3Ahead_js&amp;entry=wp_dialog_draggable__0.0%3Ahead_js&amp;entry=wp_dialog_main__0.0%3Ahead_js&amp;entry=wp_a11y__0.0%3Ahead_js&amp;entry=dijit_layout_ext_19__0.0%3Ahead_js&amp;entry=dijit_form_19__0.0%3Ahead_js&amp;entry=wp_state_page__0.0%3Ahead_js&amp;entry=wp_theme_portal_85__0.0%3Ahead_js&amp;entry=wp_theme_utils__0.0%3Ahead_js&amp;entry=wp_toolbar_viewframe_validator__0.0%3Ahead_js&amp;entry=vai90_2018_login_mod__0.0%3Ahead_js&amp;entry=dijit_app_19__0.0%3Ahead_js&amp;entry=dijit_editor_19__0.0%3Ahead_js&amp;entry=dijit_editor_plugins_19__0.0%3Ahead_js"></script><link rel="alternate" id="head_js_deferred" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fjavascript&amp;lm=1745628304000&amp;entry=dojox_layout_basic_19__0.0%3Ahead_js&amp;entry=dijit_tree_19__0.0%3Ahead_js&amp;entry=wp_dnd_namespace__0.0%3Ahead_js&amp;entry=wp_dnd_source__0.0%3Ahead_js&amp;entry=wp_client_selector__0.0%3Ahead_js&amp;entry=wp_client_dnd__0.0%3Ahead_js&amp;entry=wp_contextmenu_js__0.0%3Ahead_js&amp;entry=wp_dnd_target__0.0%3Ahead_js&amp;entry=wp_dnd_util__0.0%3Ahead_js&amp;entry=wcm_inplaceEdit__0.0%3Ahead_js&amp;deferred=true"/><link title="assigned" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/css/s2k-ecommerce/master.css.uncompressed.css" rel="stylesheet" type="text/css" /><link id="KFeIgjvAwZ3" rel="alternate" href="https://www.apirx.com/c/home/!ut/p/z0/04_Sj9CPykssy0xPLMnMz0vMAfIjo8ziDQ0dzQwtgw0MPVx8nQwC3bwNA8LcfA0MQs30vfSjgAoMcABHA5AJRkW-zr7p-lEFiSUZupl5afn6ETk5ucV6JRUl-gXZUZEAI1dGxQ!!/"><script type="text/javascript">(function() {
	var element = document.getElementById("KFeIgjvAwZ3");
	if (element) {
		wpModules.theme.WindowUtils.baseURL.resolve(element.href);
	}
}());</script><style id="layout-wstate-styles"></style><base href="https://www.apirx.com/c/home/!ut/p/z0/04_Sj9CPykssy0xPLMnMz0vMAfIjo8ziDQ0dzQwtgw0MPVx8nQwC3bwNA8LcfA0MQs30vfSjgAoMcABHA5AJRkW-zr7p-lEFiSUZupl5afn6ETk5ucV6JRUl-gXZUZEAI1dGxQ!!/">
		<title>APIRx</title>
	
<meta name="format-detection" content="telephone=no">

<link id="com.ibm.lotus.NavStateUrl" rel="alternate" href="/c/home/!ut/p/z0/04_Sj9CPykssy0xPLMnMz0vMAfIjo8ziDQ0dzQwtgw0MPVx8nQwC3bwNA8LcfA0MQs30vfSjgAoMcABHA5AJRkW-zr7p-lEFiSUZupl5afn6ETk5ucV6JRUl-gXZUZEAI1dGxQ!!/" />


<link rel="shortcut icon" type="image/x-icon" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon.ico" />
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-60x60.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/apple-touch-icon-152x152.png" />
<link rel="icon" type="image/png" sizes="196x196" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon-196x196.png" />
<link rel="icon" type="image/png" sizes="96x96" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon-96x96.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="128x128" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/favicon-128.png" />

<meta name="application-name" content="APIRx"/>
	
<meta name="msapplication-TileColor" content="#000000" />
<meta name="msapplication-TileImage" content="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/images/mstile-310x310.png" />



<script type="text/javascript">
var activeCampaignPageTracking = true;
var getThemeWebDAVBaseURI = function(){
	return "/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90/"; 
};
</script>

<!-- Google Font Import -->
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap" rel="stylesheet">
<!-- End Google Font Import -->

<!--Start of MS Clarity Script-->
<script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "evvvdk8z3c"); </script>
<!--End of MS Clarity Script-->
<!-- rendering is delegated to the specified href for each locale -->
</head>
<body id="content" class="lotusui30dojo tundra claro locale_en s2k-dojo">	
	<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TCLNW9SG"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script type="text/javascript">
var availablePages = [];
var navObj = [];


</script>


<div class="side-menu left">
	<nav class="mainNav" id="navContainer"></nav>
</div>
<div id="sideNavOverlay"></div>

<div class="outerContainer wpthemeFrame">
		<a name="pageTop" id="pageTop"></a>

		<!-- site toolbar -->
		<div class="innerContainer">
			<div class="headBodyContainer">
				<header role="banner" aria-label="Main header" class="headerClass">
					<div class="headerBanner">
						<div class="wpthemeHeader">
							<div class="wpthemeInner">
								<!-- renders the top navigation -->
								</div>
						</div><!-- end header -->
						<div class="wpthemeBanner">
							<div class="wpthemeBannerInner">
								<div class="wpthemeInner">
									
<ul class="wpthemeCommonActions wpthemeRight">


            <li class="wpthemeFirst" id="wpthemeSignUp">
                <a href="">Sign Up</a>
            </li>
        
        <li class="wpthemeLast" id="wpthemeLogin">
       	
	    	<a href="/myportal/c/home/!ut/p/z0/04_Sj9CPykssy0xPLMnMz0vMAfIjo8ziDQ0dzQwtgw0MPVx8nQwC3bwNA8LcfA0MQs30vfSjgAoMcABHA5AJRkW-zr7p-lEFiSUZupl5afn6ETk5ucV6JRUl-gXZUZEAI1dGxQ!!/" >Log In</a>
	    
        
        
        
            
        </li>
    
</ul><div class="wpthemeClear"></div>
								</div>
							</div>
						</div><!--end main banner-->
						<div class="bcc">
							<div class="bccBanner">
								<div class="logoNavContainer">
									<div class="wpthemeInner">
										


<div class="wpthemeLogo">
	<div class="wpthemeInner">
		<div class="navBarMenuButton" id="navBarMenuButton"></div>
		
				<div class="logo">
				
						<a href="/home">
					
						<img src="/logo/API-logo.png" alt="Associated Pharmacies" />
					
				</a>
				</div>
			
	</div>
</div><div class="wpthemeBanner wpthemeBannerPrimaryNavigation">
											
<div class="topNavBar">

    <div id="navTabs" class="wpthemeNavContainer1">
        <nav class="wpthemePrimaryNav wpthemeLeft" aria-label="Portal Application" role="navigation">
            <ul class="wpthemeNavList">

                

            </ul>
        </nav>
        <div class="wpthemeClear"></div>
    </div>


</div>
<div class="wpthemeClear"></div>
										</div>
									</div>
								</div><!--end primary nav banner-->
							</div>
						</div>
					</div>
				</header>
		
				<div class="wpthemeMainContent" role="main" aria-label="IBM WebSphere Portal">
					<div class="wpthemeInner">	
						<!-- asa markup contributions for pages -->	
						
<div class="asa.page asa-hidden" id="asa.page">
	<span class="asa.page.id">Z6_11A619S01HDMB0QFK1PVFM00U6</span>

	

</div>

<div class="wpthemeClear"></div>
						
<div class="wpthemeInner">
	<div id="wpthemeStatusBarContainer" class="wpthemeStatusBarContainer">

		
		<noscript>
			<div class="wpthemeMessage" role="alert" wairole="alert">
				<img class="wpthemeMsgIcon wpthemeMsgIconError" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="Error" />
				<span class="wpthemeAltText">Error:</span>
				<div class="wpthemeMessageBody">Javascript is disabled in this browser. This page requires Javascript. Modify your browser's settings to allow Javascript to execute. See your browser's documentation for specific instructions.</div>
			</div>
		</noscript>

	</div>
</div>
</div>		
		
					<!-- required - do not remove -->
					<div style="display:none" id="portletState">{}</div><div id="layoutContainers" class="wpthemeLayoutContainers wpthemeLayoutContainersHidden" >	
						<div class="wpthemeInner">					
							<div class="hiddenWidgetsDiv">
	<!-- widgets in this container are hidden in the UI by default -->
	<div class='component-container ibmDndRow wpthemeRow hiddenWidgetsContainer wpthemeCol12of12 wpthemeFull id-Z7_11A619S01HDMB0QFK1PVFM00U3' name='ibmHiddenWidgets' ></div><div style="clear:both"></div>
</div>
<!-- this layout has one main container -->
<div class="wptheme1Col s2kLayouts fullScreen">
	<div class='component-container wpthemeCol ibmDndColumn wpthemePrimary id-Z7_11A619S01HDMB0QFK1PVFM00U7' name='ibmMainContainer' ><div class='component-control id-Z7_11A619S01HDMB0QFK1PVFM0014' ><section class="ibmPortalControl wpthemeControl wpthemeHidden a11yRegionTarget" role="region">

	
	
	<div class="asa.portlet asa-hidden" id="asa.portlet.Z7_11A619S01HDMB0QFK1PVFM0014">
		<span class="asa.portlet.id">Z7_11A619S01HDMB0QFK1PVFM0014</span>

		

	</div>
	
<!-- start header markup -->
	<header class="wpthemeControlHeader" role="banner" aria-label="Skin header">
		<div class="wpthemeInner">
			<h2>
				<img class="dndHandle" draggable="true" ondragstart="wpModules.dnd.util.portletDragStart(event, this, this.parentNode, 30, 0);"
				ondragend="wpModules.dnd.util.portletDragEnd(event);" 
				src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt=""/>
				<!-- lm-dynamic-title node marks location for dynamic title support -->
 				<span class="lm-dynamic-title asa.portlet.title a11yRegionLabel">S2K Commerce - Shopping Cart</span>
			</h2>
			<a aria-haspopup="true" aria-label="Display content menu" role="button" href="javascript:;" class="wpthemeIcon wpthemeMenuFocus contextMenuInSkinIcon" style="display:none" tabindex="0">
				<span title="Display content menu"><img aria-label="Display content menu" alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"></span>
				<span class="wpthemeAltText">Component Action Menu</span>
				<!-- start CAM template -->
				<span class="wpthemeMenu" data-positioning-handler="horizontallyCenteredBelow">
					<div class="wpthemeMenuBorder">
						<!-- define the menu item template inside the "ul" element.  only "css-class", "description", and "title" are handled by the theme's sample javascript. -->
						<ul class="wpthemeMenuDropDown wpthemeTemplateMenu" role="menu">
							<li class="${css-class}" role="menuitem" tabindex="-1"><span
								class="wpthemeMenuText">${title}</span></li>
						</ul>
						<div class="verticalMenuPointer pointer"></div>
					</div> <!-- Template for loading -->
					<div class="wpthemeMenuLoading wpthemeTemplateLoading">${loading}</div>
					<!-- Template for submenu -->
					<div class="wpthemeAnchorSubmenu wpthemeTemplateSubmenu">
						<div class="wpthemeMenuBorder wpthemeMenuSubmenu">
							<ul id="${submenu-id}" class="wpthemeMenuDropDown"
								role="menu">
								<li role="menuitem" tabindex="-1"></li>
							</ul>
						</div>
					</div>
				</span>
				<!-- end CAM template -->
			</a>
			<a aria-haspopup="true" aria-label="Display portlet menu" role="button" href="javascript:;" class="wpthemeIcon wpthemeMenuFocus" tabindex="0"
                onclick="if (typeof wptheme != 'undefined') wptheme.contextMenu.init({ 'node': this, menuId: 'skinAction', jsonQuery: {'navID':ibmCfg.portalConfig.currentPageOID,'windowID':wptheme.getWindowIDFromSkin(this)}, params: {'alignment':'right'}});"
				onkeydown="javascript:if (typeof i$ != 'undefined' &amp;&amp; typeof wptheme != 'undefined') {if (event.keyCode ==13 || event.keyCode ==32 || event.keyCode==38 || event.keyCode ==40) {wptheme.contextMenu.init(this, 'skinAction', {'navID':ibmCfg.portalConfig.currentPageOID,'windowID':wptheme.getWindowIDFromSkin(this)}); return false;}}">
				<span title="Display portlet menu"><img aria-label="Display portlet menu" alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"></span>
				<span class="wpthemeAltText">Actions</span>
			</a>
		</div>
	</header>
	
	<div class="wpthemeControlBody wpthemeOverflowAuto wpthemeClear"> <!-- lm:control dynamic spot injects markup of layout control -->
	<!-- asa.overlay marks the node that the AsaOverlayWidget will be placed in -->
		<div style="position:relative; z-index: 1;">
			<div class="analytics.overlay" ></div>
		</div>
		
 






























<script type="text/javascript">
	var ns_Z7_11A619S01HDMB0QFK1PVFM0014_displayQtyGlobal;

require(["dojo/ready", "dojo/_base/declare", "dojo/_base/connect", "dojo/_base/array", "dojo/on", "dijit/registry", "dojo/_base/xhr", "dojo/dom", "dojo/dom-class", "dojo/dom-style", "dojo/_base/json", "dijit/TooltipDialog", "dijit/popup", "dojo/dom-construct", "dojo/currency", "dojo/_base/fx", "dojo/store/Memory", "dijit/form/FilteringSelect", "dijit/form/Button", "dojo/query", "dojo/on"],
function(ready, declare, connect, array, on, registry, xhr, dom, domClass, domStyle, json, TooltipDialog, popup, domConstruct, currency, fx, Memory, FilteringSelect, Button, query, on){
	var itemPreview = new TooltipDialog({
        id: 'ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemPreviewPopup',
        style: "width: 300px;",
        content: "<div id=\"ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip\"></div>"
    });
    var addToListTimer;
    var popUpDurationJS = 5000;
    var isAddingVisibleJS = false;
    var isAddedVisibleJS = true;
	connect.subscribe("Add_To_Cart", function(obj){
		var submit=false;
		var submitType;
		console.log("obj.items.length",obj.items.length);
		var items = json.toJson(obj.items);

		if(obj.items.length==1){
			if(!isNaN(obj.items[0].quantity) && obj.items[0].quantity>0){
				submit=true;
				submitType="single";
			}
		} else if(obj.items.length>1){
			submit=true;
			submitType="list";
		}
		if(submit){
			if(submitType=="single" && isAddingVisibleJS){
				displaySuccess(obj.items[0],"ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingDescription");
				addingToCart.startLoading();
			} else if(submitType=="list" && isAddingVisibleJS){
			//	console.log("display List");
				displaySuccessList(obj.items,"ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingDescription");
				addingToCart.startLoading();
			}
			xhr.get({
	            url: "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJaddToCartAJAX=/",
	            content:{"items":items,
	            		 "sequenceNumber":'1',
					 	 "currentUser":'anonymous',
					 	 "sessionID":'null',
					 	 "accountNumber":'',
					 	 "shipTo":'',
					 	 "location":'',
					 	 "minimumMultiple":'N',
					 	 "imgPath":'/images/items/'
					 	 },
	            load: function(data) {
	            	if (isAddingVisibleJS) addingToCart.endLoading();
	            	var dataJSON = json.fromJson(data);
				//	console.log("load",data);
				//	console.log("data.success",dataJSON.success);
				//	console.log("data.errorMsg",dataJSON.errorMsg);
					if(dataJSON.itemsAdded.length>0){
						if(submitType=="single" && isAddedVisibleJS){
							displaySuccess(dataJSON.itemsAdded[0],"ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip");
						} else if(submitType=="list" && isAddedVisibleJS){
							displaySuccessList(dataJSON.itemsAdded,"ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip");
						}
					
					}
					if(dataJSON.itemsNotAdded.length>0 || !dataJSON.success){
						var msg = dataJSON.errorMsg;

					msg = msg.concat("\n");
					array.forEach(dataJSON.itemsNotAdded,function(entry,i){
						var itemMsg = "\n\u2022 "+entry.itemNumber+" - "+entry.addedMessage;
						msg = msg.concat(itemMsg);
					});
						
						alert(msg);
					}
					displayQty(dataJSON);
					//obj.fields.forEach(function(widget,index,hash){
					//	widget.set("value","");
					//});
				    
				        // Redmine 10427: Add GA enhanced e-commerce tracking
				        ns_Z7_11A619S01HDMB0QFK1PVFM0014_triggerGAAddToCartEvent(dataJSON);
				    

					ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems();


		            if (obj.hasOwnProperty('callbackFn')) {
                        obj.callbackFn();
                    }
	            },
	            error: function(error) {
	                console.log("error",error);
	            }
	        });
		} else {
			alert("Quantities can only be numbers and greater than 0.");
		}
	});
	
	connect.subscribe("Quick_Add_Item_To_Cart", function(obj){
	//	console.log("Quick_Add_Item_To_List obj",obj);
		if (isAddingVisibleJS) {
			displaySuccessList(obj.items,"validating");
			addingToCart.startLoading();
		}
		var items = json.toJson(obj.items);
	//	console.log("items",items);
		xhr.get({
            url: "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJaddToCartAJAX=/",
            content:{"items":items,
            		 "quickAdd":true,
	            	 "sequenceNumber":'1',
				 	 "currentUser":'anonymous',
				 	 "sessionID":'null',
				 	 "accountNumber":'',
				 	 "shipTo":'',
				 	 "location":'',
				 	 "minimumMultiple":'N',
				 	 "imgPath":'/images/items/'           		 
            		 },
            load: function(data) {
            	if (isAddingVisibleJS) addingToCart.endLoading();
            	var dataJSON = json.fromJson(data);
            	if(dataJSON.success && dataJSON.itemsAdded.length>0 && isAddedVisibleJS){
					displaySuccessList(dataJSON.itemsAdded,"ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip");
				}
				connect.publish("Build_Quick_Grid",dataJSON);
				displayQty(dataJSON);

				ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems();

			},
            error: function(error) {
                console.log("error",error);
            }
        });
	});
    
	
    var ns_Z7_11A619S01HDMB0QFK1PVFM0014_backInStockAJAX = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJbackInStockAJAX=/'
	var ns_Z7_11A619S01HDMB0QFK1PVFM0014_isAlreadyOnBackInStockNotificationListAJAX = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJisAlreadyOnBackInStockNotificationListAJAX=/'
    connect.subscribe("Show_NotifyMe_PopUp", function(obj) {
        let cancelButton;
        let yesTheraputicsButton;
        let noTheraputicsButton;

        var layoutConfirmModal = function (item, selfOnList = false, othersOnList = []) {
            console.log('othersOnList', othersOnList);

            const notifyMeFlybox = dojo.byId("notifyMeFlybox");
            domStyle.set(notifyMeFlybox, 'display', 'block');

            const notifyMeFlyboxTitle = dojo.byId("notifyMeFlyBoxTitle");
            notifyMeFlyboxTitle.innerHTML = 'Notify Me - Item# ' + item.itemNumber;

            let oldYesButton = dijit.byId("yesTheraputicsButton");
            let oldNoButton = dijit.byId("noTheraputicsButton");
            let oldCancelButton = dijit.byId("cancelButton");

            if (oldYesButton) {
                oldYesButton.destroy();
            }

            if (oldNoButton) {
                oldNoButton.destroy();
            }

            if (oldCancelButton) {
                oldCancelButton.destroy();
            }

            const yesTheraputicsButtonContainer = dom.byId('yesTheraputicsButtonContainer');
            const noTheraputicsButtonContainer = dom.byId('noTheraputicsButtonContainer');
            const cancelButtonContainer = dom.byId('cancelButtonContainer');
            const closeButtonContainer = dom.byId('closeButtonContainer');

            const notifyMeMessageText = dojo.byId("notifyMeMessageText");

            if (selfOnList) {
                notifyMeMessageText.innerHTML = 'There is already a back in stock notification request for this item.';
            } else if (othersOnList.length > 0) {
                notifyMeMessageText.innerHTML = 'There is already a back in stock notification request for item {0}, which is an equivalent for this item.'.replace("{0}", othersOnList[0]);
            } else {
                notifyMeMessageText.innerHTML = 'Would you also like to be notified if API receives therapeutic equivalent inventory?';

                yesTheraputicsButton = new Button({
                                                      type: "button",
                                                      id: "yesTheraputicsButton",
                                                      label: "<span class=\"bIcon\"></span><span class=\"bText\">Yes</span>",
                                                      onClick: function () {
                                                          sendConfirmation(item, true);
                                                      }
                                                  });

                noTheraputicsButton = new Button({
                                                     type: "button",
                                                     id: "noTheraputicsButton",
                                                     label: "<span class=\"bIcon\"></span><span class=\"bText\">No, I only want this NDC</span>",
                                                     onClick: function () {
                                                         sendConfirmation(item, false);
                                                     }
                                                 });

                domConstruct.place(yesTheraputicsButton.domNode, yesTheraputicsButtonContainer);
                domConstruct.place(noTheraputicsButton.domNode, noTheraputicsButtonContainer);
            }

            cancelButton = new Button({
                                          type: "button",
                                          id: "cancelButton",
                                          label: "<span class=\"bIcon\"></span><span class=\"bText\">Cancel</span>",
                                          onClick: function () {
                                              ns_Z7_11A619S01HDMB0QFK1PVFM0014_closeCartAlert('notifyMeFlybox');
                                              if (yesTheraputicsButton) {
                                                  yesTheraputicsButton.destroy();
                                              }
                                              if (noTheraputicsButton) {
                                                  noTheraputicsButton.destroy();
                                              }
                                              cancelButton.destroy();
                                          }
                                      });
            domConstruct.place(cancelButton.domNode, cancelButtonContainer);
        };

        const showConfirmation = function (itemNbr, includeTheraputics, errorOccurred, alreadyExists) {

            const notifyMeFlybox = dojo.byId("notifyMeFlybox");
            domStyle.set(notifyMeFlybox, 'display', 'none');

            const notifyMeConfirmation = dojo.byId("notifyMeConfirmation");
            domStyle.set(notifyMeConfirmation, 'display', 'block');

            const notifyMeConfirmationTitle = dojo.byId("notifyMeConfirmationTitle");
            const confirmationAlertText = dojo.byId("confirmationAlertText");

            const closeButtonContainer = dom.byId('closeButtonContainer');

            cancelButton.set("label", "<span class=\"bIcon\"></span><span class=\"bText\">Close</span>");
            cancelButton.onClick = function () {
                ns_Z7_11A619S01HDMB0QFK1PVFM0014_closeCartAlert('notifyMeConfirmation');
                yesTheraputicsButton.destroy();
                noTheraputicsButton.destroy();
                cancelButton.destroy();
            }
            domConstruct.place(cancelButton.domNode, closeButtonContainer);

            notifyMeConfirmationTitle.innerHTML = 'Notify Me - Item# ' + itemNbr;
			
            if (!errorOccurred && !alreadyExists) {
                if (includeTheraputics) {
                    confirmationAlertText.innerHTML = 'Your notification request for item ' +
                        itemNbr + ', or therapeutic equivalent, has been received. The notification will be delivered to ' +
                        '' + ' when the item is back in stock. Please note that this request doesn&#39;t guarantee your ability to purchase the product when it becomes available.';
                } else {
                    confirmationAlertText.innerHTML = 'Your notification request for item ' +
                        itemNbr + ' has been received. The notification will be delivered to ' +
                        '' + ' when the item is back in stock. Please note that this request doesn&#39;t guarantee your ability to purchase the product when it becomes available.';
                }
			} else if (errorOccurred) {
                confirmationAlertText.innerHTML =  'There was a problem processing your request, please try again later.';
            } else {
                confirmationAlertText.innerHTML =  'A back in stock request was already made for this item. Please check in again later.';
            }
			
            yesTheraputicsButton.destroy();
            noTheraputicsButton.destroy();
		}
		
        var sendConfirmation = function(item, includeTheraputics) {
            const itemNbr = item.itemNumber;
            const ndc = item.ndc;
            
            xhr.post({
				url: ns_Z7_11A619S01HDMB0QFK1PVFM0014_backInStockAJAX,
				handleAs: 'json',
				content: {
					"currentUser": "anonymous",
					"accountNumber": "",
					"shipTo":'',
					"itemNbr": itemNbr,
					"ndc": ndc,
					"requestType": includeTheraputics ? 'E' : 'S',
					"sessionID":'null',
				},
				load: function (obj) {
                    if (obj.success) {
                        showConfirmation(itemNbr, includeTheraputics, false, false);    
					} else if (obj.notificationAlreadyRequested) {
						showConfirmation(itemNbr, includeTheraputics, false, true);
					} else {
                        showConfirmation(itemNbr, includeTheraputics, true, false);
					}
				},
				error: function (err, ioArgs) {
                    showConfirmation(itemNbr, includeTheraputics, true, false);
				}
			});
		}

        xhr.post({
                     url: ns_Z7_11A619S01HDMB0QFK1PVFM0014_isAlreadyOnBackInStockNotificationListAJAX,
                     handleAs: 'json',
                     content: {
                         "currentUser": "anonymous",
                         "accountNumber": "",
                         "shipTo": '',
                         "itemNbr": obj.item.itemNumber,
                         "ndc": obj.item.ndc,
                         "sessionID": 'null',
                     },
                     load: function (data) {
                         let containsThisItem = false;
                         let otherItems = [];

                         if (data.success && data.alreadyOnBISN) {
                             array.forEach(data.alreadyOnBISN, function (x) {
                                 if (x === obj.item.itemNumber) {
                                     containsThisItem = true;
                                 } else {
                                     console.log("pushing x", x);
                                     otherItems.push(x);
                                 }
                             });
                         }
                         console.log("calling layout w/ otherItems", otherItems);
                         layoutConfirmModal(obj.item, containsThisItem, otherItems);
                     },
                     error: function (err, ioArgs) {
                         if (ioArgs.xhr.status === 200) {
                             if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                 console.log('User has probably lost their portal session.');
                             } else {
                                 console.error('Unhandled error has occurred: ' + err);
                             }
                         } else {
                             console.error("Error while trying AJAX from [Show_NotifyMe_PopUp]: " + err); // display the error
                         }
                         alert("There was an error communicating with the server.");
                     },
                 });
	});
	
	
    // Redmine 10427: Add GA enhanced e-commerce tracking
    var ns_Z7_11A619S01HDMB0QFK1PVFM0014_triggerGAAddToCartEvent= function(dataJSON) {
      if (typeof dataLayer == "undefined") {
        var dataLayer = [];
      }
      dataLayer.push({
        'event': 'addToCart',
        'ecommerce': {
          'currencyCode': 'en',
          'add': {
            'products': []
           }
         }
      });
      var itemArray = new Array();
      var itemsAdded = dataJSON.itemsAdded;
      for (var i = 0; i < itemsAdded.length; i++) {
        itemArray.push({
          'name': itemsAdded[i].description,
          'id': itemsAdded[i].item,
          'price': itemsAdded[i].price,
          'quantity': parseInt(itemsAdded[i].qty)
        });
      }
      for (var i = 0; i < dataLayer.length; i++) {
        if (dataLayer[i].event != null && dataLayer[i].event == "addToCart") {
          dataLayer[i].ecommerce.add.products = itemArray;
        }
      }
     }
    
	
	var displaySuccess = function(obj,cntHolder){
	//	console.log("displaySuccess obj",obj);
		if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
			popup.open({
	            popup: itemPreview,
	            around: dom.byId("qtyCartItems")
	        });
        }
        domConstruct.empty(cntHolder);
		var container = domConstruct.create("div",{class:"itemSuccessContainer"},cntHolder);
		if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
			var addedMessage = domConstruct.create("div",{class:"addedMessage",innerHTML:"Item Added to Your Cart"},container);
		} else {
			var addingMessage = domConstruct.create("div",{class:"addedMessage",innerHTML:"Adding to Your Cart"},container);
		}
		var imageContainer = domConstruct.create("div",{class:"image"},container);
		var image = domConstruct.create("img",{src:obj.image},imageContainer);

		on.once(image,"error",function(){
			image.src = "/images/items/noImage-thumb.png";
		});

        var infoCol = domConstruct.create("div",{class:"infoCol"},container);
        var description = domConstruct.create("div",{class:"description",innerHTML:obj.description},infoCol);
        
        var itemNum = obj.itemNumber;
        var ndc = obj.ndc;
        
        var itemNumber = domConstruct.create("div",{class:"itemNumber",innerHTML:"Item #: "+itemNum},infoCol);
        
        domConstruct.create("div",{class:"itemNumber",innerHTML:"NDC: "+ndc},infoCol);
        
        var priceBox = domConstruct.create("div",{class:"priceBox"},infoCol);
        var price = domConstruct.create("span",{class:"price",innerHTML:currency.format(obj.price, {currency: "USD", places: 2})},priceBox);
		var uom = domConstruct.create("span",{class:"uom",innerHTML:obj.uom},priceBox);
		if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
			var popupTimer = setTimeout(function(){
				popup.close(itemPreview);
			},popUpDurationJS);
		}
	};
	
	
	var displaySuccessList = function(obj,cntHolder){
	//	console.log("displaySuccessList obj",obj);
	//	console.log(cntHolder);
		if(cntHolder=="validating"){
			domConstruct.empty("ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingDescription");
			var container = domConstruct.create("div",{class:"itemSuccessContainer"},"ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingDescription");
			var addedMessage = domConstruct.create("div",{class:"addedMessage loading",innerHTML:"Validating Items"},container);

		} else {
			if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
				popup.open({
		            popup: itemPreview,
		            around: dom.byId("qtyCartItems")
		        });
	        }
	        domConstruct.empty(cntHolder);
			var container = domConstruct.create("div",{class:"itemSuccessContainer"},cntHolder);
			if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
				var addedMessage = domConstruct.create("div",{class:"addedMessage",innerHTML:"The Following Items Were Added to Your Cart"},container);
			} else {
				var addingMessage = domConstruct.create("div",{class:"addedMessage",innerHTML:"The Following Items Are Being Added to Your Cart"},container);
			}
			var ol = domConstruct.create("ol",null,container);
			array.forEach(obj,function(entry,i){
				var li = domConstruct.create("li",{innerHTML:entry.description},ol);
	
			});
			
			if(cntHolder=="ns_Z7_11A619S01HDMB0QFK1PVFM0014_shoppingCartTip"){
				var popupTimer = setTimeout(function(){
					popup.close(itemPreview);
				},popUpDurationJS);
			}
		}
	};
	
	var Overlay = declare(null, {
		overlayNode:null,
		constructor:function(){
			// save a reference to the overlay
			this.overlayNode = dom.byId("ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingToCartOverlay");
		},
		startLoading:function(){
		//	console.log("this.overlayNode",this.overlayNode);
			domStyle.set(this.overlayNode,{
				display:"block",
				opacity:"1"
			});
		},
		// called to hide the loading overlay
		endLoading:function(){
			// fade the overlay gracefully
			fx.fadeOut({
				node: this.overlayNode,
				onEnd: function(node){
					domStyle.set(node, 'display', 'none');
				}
			}).play();
		}
	});
	var clearNode = function(node){
		array.forEach(registry.findWidgets(node), function(w) {
			w.destroyRecursive();
		});
		domConstruct.empty(node);
	};
	var addingToCart = new Overlay();
	ready(function(){
		addingToCart.constructor();
	});

	var displayQty = function(dataJSON){
		if(dataJSON.cartQty>=0){
			dom.byId("ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart").innerHTML=dataJSON.cartQty;
			domClass.add("ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart","display");
			
			var shoppingCartBar = query(".shoppingCartBar");
			domClass.add(shoppingCartBar[0],"itemsInCart");			
		}
		if(dataJSON.cartQty>99){
			domClass.add("ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart","three_digit");
		}
		if(dataJSON.cartQty>999){
			domClass.add("ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart","four_digit");
		}
	};

	ns_Z7_11A619S01HDMB0QFK1PVFM0014_displayQtyGlobal = displayQty;

    require(["dojo/_base/connect"],
            function (connect) {
                connect.subscribe("UPDATE_GLOBAL_QTY", function (data) {
                    displayQty(data);
                });
            });
});

var ns_Z7_11A619S01HDMB0QFK1PVFM0014_viewCart = function(){
	window.location="/wps/portal/c/view-cart";
};
var ns_Z7_11A619S01HDMB0QFK1PVFM0014_home = function(){
	window.location="/";
};
</script>

<script>
//Redmine Task #12207 - Account List to be built with Json and filtered via JS
require({
	cacheBust:"20230913",
	packages: [
		{ name: 'S2KOrdering', location: '/PA_S2K-T-Oders-JSR286/vaiApps/widget'},
		{ name: 's2kWidget', location: '/s2k-widgets/vaiApps/widget'}
	]},["dojo/ready","dojo/dom-construct","dojo/dom","dojo/query","dojo/on","dojo/_base/array","dojo/_base/xhr","dojo/dom-class","dijit/form/Button","dojo/topic","S2KOrdering/AccountList","S2KOrdering/OrdersPendingApprovalIcon","s2kWidget/PopupForm","s2kWidget/AlertStatus", "S2KOrdering/OrderDeskInquiryIcon", "S2KOrdering/AutoSubmitCartIcon", "S2KOrdering/AutoSubmitAboveNavbar", "S2KOrdering/RMAUpdateNotice", "S2KOrdering/BarcodeScannerIcon"],
	function(ready,domConst,dom,query,on,array,xhr,domClass,Button,topic,AccountList,OrdersPendingApprovalIcon,PopupForm,AlertStatus,OrderDeskInquiryIcon,AutoSubmitCartIcon,AutoSubmitAboveNavbar,RMAUpdateNotice,BarcodeScannerIcon){
		
		this.ns_Z7_11A619S01HDMB0QFK1PVFM0014_buildAccountList = function(){
			// Build object to use in constructor
			// Pass language bundle text here so the external file knows what it is
			var selectAccountList = new AccountList({
				nameSpace:"ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
				xhrURL: 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJfetchAccounts=/',
				flyBox: dom.byId("myAccounts"),
				selBtnTxt: 'Select',
				selectAccount: function(index){
					ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccount(index);
				},
				searchBtnTxt: 'Search',
				colHeadings: [
					'&nbsp;',
					'Account Number',
					'Account Name',
					'Address',
					'City',
					'State',
					'Zip'
				]
			});
			domConst.place(selectAccountList.domNode, "myAccounts");
		};
		
		var buildCartDetails = function(data, cartID, showApprRejButtons){

			if(data.cartDetail.length > 0){
			
				var popupContent = domConst.create("div",{className:"newPopupContent left"});
				
				var gridContainer = domConst.create("div",{className:"gridContainer"},popupContent);
				var rowGroup = domConst.create("table",{className:"rowGroup"},gridContainer);
				var thead = domConst.create("thead",null,rowGroup);
				var tr = domConst.create("tr",{className:"headerRow"},thead);
				var h_qty = domConst.create("td",{className:"headerCell right",innerHTML:"Qty"},tr);
				var h_item = domConst.create("td",{className:"headerCell",innerHTML:"Item #"},tr);
				var h_description = domConst.create("td",{className:"headerCell",innerHTML:"Description"},tr);
				var h_price = domConst.create("td",{className:"headerCell right",innerHTML:"Price"},tr);
				var h_lineTotal = domConst.create("td",{className:"headerCell right",innerHTML:"Line Total"},tr);
				
				var tbody = domConst.create("tbody",null,rowGroup);
				array.forEach(data.cartDetail,function(entry){
				
					var tr = domConst.create("tr",{className:"detailRow"},tbody);
					var h_qty = domConst.create("td",{className:"cellData right",innerHTML:entry.orderQty},tr);
					var h_item = domConst.create("td",{className:"cellData",innerHTML:entry.itemNumber},tr);
					var h_description = domConst.create("td",{className:"cellData",innerHTML:entry.itemDescriptionOne+" "+entry.itemDescriptionTwo},tr);
					var h_price = domConst.create("td",{className:"cellData right",innerHTML:entry.itemPrice},tr);
					var h_lineTotal = domConst.create("td",{className:"cellData right",innerHTML:entry.lineTotal},tr);
					
				});
				
				var totalBar = domConst.create("div",{className:"gridTotals",innerHTML:"Material Total:"},gridContainer);
				var cartTotal = domConst.create("div",{className:"cartTotal",innerHTML:data.cartDetail[0].materialTotal},totalBar);
				
				var taxBar = domConst.create("div",{className:"gridTotals",innerHTML:"Tax:"},gridContainer);
				var cartTax = domConst.create("div",{className:"cartTotal",innerHTML:data.cartDetail[0].totalTax},taxBar);
				
				var buttonBar = domConst.create("div",{className:"buttonBar"});

				if(showApprRejButtons) {
					var approveBtn = new Button({
						innerHTML: "Approve",
						value: "Approve",
						type: "button"
					});
					domConst.place(approveBtn.domNode, buttonBar);
					domClass.add(approveBtn, "saveBtn");

					var rejectBtn = new Button({
						innerHTML: "Reject",
						value: "Reject",
						type: "button"
					});
					domConst.place(rejectBtn.domNode, buttonBar);
					domClass.add(rejectBtn, "cancelBtn");

					var cancelBtn = new Button({
						innerHTML: "Cancel",
						value: "Cancel",
						type: "button"
					});
					domConst.place(cancelBtn.domNode, buttonBar);
					domClass.add(cancelBtn, "cancelBtn");

				}
				else {
					var closeBtn = new Button({
						innerHTML: "Close",
						value: "Close",
						type: "button"
					});
					domConst.place(closeBtn.domNode, buttonBar);
					domClass.add(closeBtn, "cancelBtn");
				}

				var cartDetails = new PopupForm({
					title: "Cart Details - " + cartID,
					content: popupContent,
					buttons: buttonBar,
					width: "640",
					height: "200"
				});
				cartDetails.show();

				if(showApprRejButtons) {
					cartDetails.own(
							on(cancelBtn, "click", function () {
								cartDetails.hide();
							}),
							on(approveBtn, "click", function () {
								topic.publish("CommerceCart/Action/ApproveCart", cartID);
								cartDetails.hide();
							}),
							on(rejectBtn, "click", function () {
								topic.publish("CommerceCart/Action/RejectCart", cartID);
								cartDetails.hide();
							})
					);
				}
				else {
					cartDetails.own(
							on(closeBtn, "click", function() {
								cartDetails.hide();
							})
					);
				}
				
			} else {
				var noDetails = new AlertStatus({
					message:["There are no line items for this cart - "+cartID,"cartDetail length = "+data.cartDetail.length],
					closeable:true
				})
			}
		};
		
		var displayCartDetails = function(cartID){
			xhr.get({
				url:"p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJfetchCartDetails=/",
				handleAs:"json",
				content:{ cart_key: cartID },
	            load: function(data) {
	            	console.log("data",data);
					buildCartDetails(data,cartID,true);
		        },
	            error: function(error) {
	                console.log("error",error);
	            }
	        });
		};

		const displayUnsignedCartDetails = function(cartID) {
			let body = { cartKey: cartID };
			xhr.post({
				url: "/api/legisym/local/get-unsigned-order-detail",
				handleAs: "json",
				headers: { "Content-Type": "application/json", "Accept": "application/json" },
				postData: JSON.stringify(body),
				load: function(data) {
					console.log("data: ", data);
					let cartData = { cartDetail: data.unsignedOrderDetail };
					buildCartDetails(cartData, cartID, false);
				},
				error: function(err) {
					console.log("error: ", err);
				}
			});
		};

		topic.subscribe("CommerceCart/Fetch/Details",function(cartID){
			displayCartDetails(cartID);
		});

		topic.subscribe("CommerceCart/Fetch/LegisymUnsignedDetails", function(cartID) {
			displayUnsignedCartDetails(cartID);
		});


		var buildOPAI = function(){
			var opai = new OrdersPendingApprovalIcon({
				nameSpace:"ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
				xhrURL:"p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJfetchUnsignedOrders=/",
				approvalPage:"/myportal/my-account/unsigned-orders",
				containers:"numberOfOrdersPendingApproval"
			});
		};

        var buildODII = function () {
            new OrderDeskInquiryIcon({
                                         nameSpace: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
                                         xhrURL: "/api/order-desk/num-orders",
                                         odiPage: "/my-account/submitted-orders",
                                         containers: "odibadgeContainer"
                                     });
        };

		var buildRMABadge = function () {
            new RMAUpdateNotice({
                                 nameSpace: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
                                 xhrURL: "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJrmaNoticeXHR=/",
                                 message: "<b>Attention:</b> There has been a status update on your pending RA(s). Click <a href=\"/my-account/track-my-orders?recordType=Returns\" style=\"text-decoration: underline; color: revert;\">here</a> to view."
                             });
        };

		var buildBarcodeScannerIcon = function () {
            new BarcodeScannerIcon({
                                       nameSpace: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
                                       tooltip: "Barcode Scanner Entry",
	                                   targetURL: "/my-account/scan-barcodes"
                                   });
        };

		var init = function(){
		
			buildOPAI();
		
			buildODII();

			buildRMABadge();

			buildBarcodeScannerIcon();

		};
		ready(init);
	});
</script>

<script language="javascript" type="text/javascript">
	if(typeof dojo=='undefined') {
		document.writeln("<scr"+"ipt src='/PA_S2K-T-Oders-JSR286/jscripts/dojo/dojo.js' ></scr"+"ipt>");
	}
	dojo.require("dojo.parser");
	dojo.require("dojo.number");
	dojo.require("dijit.Tooltip");
	dojo.require("dijit.TitlePane");
	dojo.require("dijit.form.Form");
	dojo.require("dijit.form.Button");
	dojo.require("dijit.form.Select");
	dojo.require("dijit.form.Textarea");
	dojo.require("dijit.form.CheckBox");
	dojo.require("dijit.form.DateTextBox");
	dojo.require("dijit.form.NumberTextBox");
	dojo.require("dijit.form.FilteringSelect");
	dojo.require("dijit.form.ValidationTextBox");



	dojo.addOnLoad(function() {
		dojo.parser.parse("ns_Z7_11A619S01HDMB0QFK1PVFM0014_parseContainer");


	});

    
    require(["dojo/_base/connect"],
            function (connect) {
                connect.subscribe("UPDATE_AUTOSUBMIT_CART", function (obj) {
                    dojo.xhrPost({
                                     url: "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJupdateAutoSubmitCartXHR=/",
                                     handleAs: "json",
                                     content: {
                                         cartID: '' + obj.cartID,
                                         autoSubmitEnabled: obj.autoSubmitEnabled
                                     },
                                     load: function (data) {
                                         connect.publish("UPDATE_AUTOSUBMIT_INFO", {}); // refresh the navbar icon

                                         if (obj.hasOwnProperty('callbackFn')) {
                                             obj.callbackFn(data);
                                         }
                                     },
                                     error: function (err, ioArgs) {
                                         if (ioArgs.xhr.status == 200) {
                                             //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                             if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                                 //This likely means the portal is giving us a "Portal Session Expired" message.
                                                 console.log('User has probably lost their portal session.');
                                             } else {
                                                 console.error('Unhandled error has occurred: ' + err);
                                             }
                                         } else {
                                             console.error("Error while trying AJAX from [UPDATE_AUTOSUBMIT_CART]: " + err); // display the error
                                         }

                                         if (obj.hasOwnProperty('errCallbackFn')) {
                                             obj.errCallbackFn(data);
                                         }
                                     }
                                 });
                });
            });

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_clearNode(node) {
		require(["dojo/dom-construct", "dijit/registry", "dojo/_base/array"],
				function (domConstruct, registry, array) {
					array.forEach(registry.findWidgets(dojo.byId(node)), function (w) {
						w.destroyRecursive();
					});
					domConstruct.empty(node);
				});
	}

	
	var ns_Z7_11A619S01HDMB0QFK1PVFM0014_deleteItemAJAX = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJdeleteItemFromCart=/'
	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_deleteItem(item, line) {
		ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert('updateCartContentsFB');

		dojo.xhrPost({
						 url: ns_Z7_11A619S01HDMB0QFK1PVFM0014_deleteItemAJAX,
						 handleAs: 'json',
						 content: {
							 "item": item,
							 "line": line,
							 "sequenceNumber":'1',
							 "currentUser":'anonymous',
							 "sessionID":'null',
							 "accountNumber":'',
							 "shipTo":'',
							 "location":'',
							 "minimumMultiple":'N',
							 "imgPath":'/images/items/'
						 },
						 load: function (data) {
							 if (!data.success) {
								 alert(data.message);
								 ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
								 return;
							 }
							 ns_Z7_11A619S01HDMB0QFK1PVFM0014_displayQtyGlobal(data);
							 ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems();
						 },
						 error: function (err, ioArgs) {
							 if (ioArgs.xhr.status == 200) {
								 //The format of the error + response is HTML, so we are not receiving JSON data at this point.
								 if (ioArgs.xhr.responseText.charAt(0) === '<') {
									 //This likely means the portal is giving us a "Portal Session Expired" message.
									 console.log('User has probably lost their portal session.');
								 } else {
									 console.error('Unhandled error has occurred: ' + err);
								 }
							 } else {
								 console.error("Error while trying AJAX from [deleteItemAJAX()]: " + err); // display the error
								 alert("Error while attempting to delete item from cart: " + err);
							 }
							 ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
						 }
					 });
	}

    
    require(["dojo/_base/connect"],
            function (connect) {
                connect.subscribe("DELETE_ITEMS_FROM_CART", function (obj) {
                    ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert('updateCartContentsFB');

                    const linesToDelete = obj.lines.join();
                    dojo.xhrPost({
                                     url: "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJdeleteItemsFromCart=/",
                                     handleAs: "json",
                                     content: {
                                         lines: linesToDelete
                                     },
                                     load: function (data) {
                                         if (!data.success) {
                                             alert(data.message);
                                             ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                                             return;
                                         }
                                         ns_Z7_11A619S01HDMB0QFK1PVFM0014_displayQtyGlobal(data);
                                         ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems();

                                         if (obj.hasOwnProperty('callbackFn')) {
                                             obj.callbackFn(data);
                                         }
                                     },
                                     error: function (err, ioArgs) {
                                         if (ioArgs.xhr.status == 200) {
                                             //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                             if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                                 //This likely means the portal is giving us a "Portal Session Expired" message.
                                                 console.log('User has probably lost their portal session.');
                                             } else {
                                                 console.error('Unhandled error has occurred: ' + err);
                                             }
                                         } else {
                                             console.error("Error while trying AJAX from [DELETE_ITEMS_FROM_CART]: " + err); // display the error
                                             alert("Error while attempting to delete item from cart: " + err);
                                         }

	                                     if (obj.hasOwnProperty('errCallbackFn')) {
                                             obj.errCallbackFn(data);
	                                     }
                                         ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                                     }
                                 });
                });
            });


    function ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCutoffTime() {
        dojo.xhrGet({
                        url: '/api/order-desk/cutoff',
                        handleAs: 'json',
                        // content: {},
                        load: function (data) {
                            require(["dojo/dom-construct", "dijit/Tooltip"],
                                    function (domConstruct, Tooltip) {
                                        if (data.success) {
                                            ns_Z7_11A619S01HDMB0QFK1PVFM0014_clearNode('sidecart-cutoff');
                                            let holder = dojo.byId('sidecart-cutoff');
	                                        let div = domConstruct.create("div", {}, holder);

                                            let date = new Date(data.date + " " + data.time);
                                            domConstruct.create('span', { "class": "sidecart-item-description", innerHTML: "Cutoff Time:&nbsp;" }, div);
                                            domConstruct.create('span', { innerHTML: data.date + " at " + date.getHours() + ":" + date.getMinutes() + " Central "}, div);
                                            domConstruct.create('span', { id: 'cutofftime-tooltip', innerHTML: '<i class="far fa-question-circle"></i>' }, div);
                                            let tooltip = new Tooltip({
                                                                          connectId: ["cutofftime-tooltip"],
                                                                          label: "Your cart must be submitted before your cutoff time."
                                                                      });
                                        }
                                    });
                        },
                        error: function (err, ioArgs) {
                            if (ioArgs.xhr.status == 200) {
                                //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                    //This likely means the portal is giving us a "Portal Session Expired" message.
                                    console.log('User has probably lost their portal session.');
                                } else {
                                    console.error('Unhandled error has occurred: ' + err);
                                }
                            } else {
                                console.error("Error while trying AJAX from [getCutoffTime()]: " + err); // display the error
                            }
                        }
                    });
    }

	
	var ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItemsAJAX = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJgetCartItemsAJAX=/';
	require(["dojo/_base/connect"],
            function (connect) {
                connect.subscribe("GET_CART_ITEMS", function (obj) {

                    const content = {};
                    if (obj.hasOwnProperty('sortBy')) {
                        content['sortBy'] = obj.sortBy;
                    }
                    dojo.xhrPost({
                                     url: ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItemsAJAX,
                                     handleAs: 'json',
                                     content: content,
                                     load: function (data) {
                                         connect.publish(obj.channel, { data: data, success: true });
                                         connect.publish("UPDATE_AUTOSUBMIT_INFO", {});
                                     },
                                     error: function (err, ioArgs) {
                                         if (ioArgs.xhr.status == 200) {
                                             //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                             if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                                 //This likely means the portal is giving us a "Portal Session Expired" message.
                                                 console.log('User has probably lost their portal session.');
                                             } else {
                                                 console.error('Unhandled error has occurred: ' + err);
                                             }
                                         } else {
                                             console.error("Error while trying AJAX from [GET_CART_ITEMS]: " + err); // display the error
                                         }

                                         connect.publish(obj.channel, { success: false });
                                         connect.publish("UPDATE_AUTOSUBMIT_INFO", {});
                                     },
                                 });
                });
            });

    require({
                cacheBust: "20230913",
                packages: [
                    { name: 's2kWidget', location: '/s2k-widgets/vaiApps/widget' }
                ]
            }, ["dojo/dom-construct", "dojo/_base/connect", "dojo/on", "dijit/form/Button", "dijit/form/NumberTextBox", "s2kWidget/ItemQuantityBox", "dijit/Tooltip"],
            function (domConstruct, connect, on, Button, NumberTextBox, ItemQuantityBox, Tooltip) {
                connect.subscribe("SIDECART_UPDATE_CART_ITEMS", function (obj) {

                    if (!dojo.byId('sidecart')) {
                        ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                        return;
                    }

                    const data = obj.data;

                    

                    var genericTotal = 0.0;
                    var brandTotal = 0.0;
                    var otcTotal = 0.0;
                    var otherTotal = 0.0;
                    var cartTotal = 0.0;

                    const locale = { style: "currency", currency: "USD" };
                    let containsInvalidItems = false;

                    ns_Z7_11A619S01HDMB0QFK1PVFM0014_clearNode('sidecart-items-list');
                    const itemList = dojo.byId('sidecart-items-list');
                    const itemTable = domConstruct.create('table', { 'class': 'sidecart-items-table' }, itemList);

                    // items list
                    if (data.hasOwnProperty('cartItems') && data.cartItems.length > 0) {
                        data.cartItems.forEach(function (elem, i) {

                            const table = domConstruct.create('table', { 'class': 'sidecart-items-table-item' }, itemTable);
                            let tr, td;
                            tr = domConstruct.create('tr', { 'class': 'sidecart-item-row-1' }, table);
                            // delete button
                            td = domConstruct.create('td', { "class": "sidecart-item-action" }, tr);
                            if (data.isODIOpen) {
                                domConstruct.create('span', { "class": "crosssign", onclick: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_deleteItem('" + elem.item + "'," + elem.line + ");" }, td);
                            }

                            let descClass = "sidecart-item-description";
                            if (!elem.isDropShipItem && elem.available < elem.qty) {
                                descClass += " sidecart-item-description-invalid";
                                containsInvalidItems = true;
                            }

                            domConstruct.create('td', { "class": descClass, innerHTML: elem.desc, colspan: 3 }, tr);

                            tr = domConstruct.create('tr', { 'class': 'sidecart-item-row-2' }, table);
                            domConstruct.create('td', {}, tr);
                            domConstruct.create('td', { "class": "sidecart-item-item-number", innerHTML: "<b>Item #:</b> " + elem.item + " <br/> <b>NDC:</b> " + elem.ndc }, tr);
                            td = domConstruct.create("td", { 'class': 'sidecart-item-qty' }, tr);

                            let oldItemQty = dijit.byId("sidecart-item-qty" + i + "_itemQuantityBox");
                            if (oldItemQty) {
                                oldItemQty.destroy();
                            }

                            let oldItemQuantityBox = dijit.byId("sidecart-item-qty" + i + "_itemQuantityBoxContainer");
                            if (oldItemQuantityBox) {
                                oldItemQuantityBox.destroy();
                            }

                            let itemQty = domConstruct.create("div", { "class": "sidecart-itemQuantityBoxContainer", "id": "sidecart-item-qty" + i + "_itemQuantityBoxContainer", "style": "display: flex; justify-content: flex-end; align-items: center;" }, td);

                            let itemQuantityBox = new ItemQuantityBox({
                                                                          nameSpace: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_",
                                                                          id: "sidecart-item-qty" + i + "_itemQuantityBox",
                                                                          childName: "sidecart-item-qty" + i,
                                                                          childId: "sidecart-item-qty" + i,
                                                                          containerId: "sidecart-item-qty" + i + "_itemQuantityBoxContainer",
                                                                          promptMessage: "Enter quantity",
                                                                          invalidMessage: "Invalid quantity",
                                                                          constraints: { min: 1, max: 999999, places: 0, pattern: '#' },
                                                                          dojoType: "dijit.form.NumberTextBox",
                                                                          regExp: "",
                                                                          value: Number(elem.qty),
                                                                          // disabled: data.isODIOpen ? "" : "disabled",
                                                                      });

                            let numberText = dojo.byId("sidecart-item-qty" + i);
                            // console.log("numberText: ", numberText);

                            let decBtn = dojo.byId("sidecart-item-qty" + i + "-priceBox_DecQty");
                            // console.log("decBtn: ", numberText);

                            let incBtn = dojo.byId("sidecart-item-qty" + i + "-priceBox_IncQty");
                            // console.log("incBtn: ", numberText);

                            td = domConstruct.create('td', { "class": "sidecart-item-price-container" }, tr);
                            // price info div
                            let priceDiv = domConstruct.create("div", { "class": "sidecart-item-price", id: "sidecart-price-div" + i }, td);
                            let totalPrice = elem.qty * elem.price;
                            domConstruct.create("div", { "class": "sidecart-item-total-price", id: "sidecart-item-total-price" + i, innerHTML: totalPrice.toLocaleString("en-US", locale) }, priceDiv);
                            let priceString = (elem.price * 1.0).toLocaleString("en-US", locale);
                            domConstruct.create("div", { "class": "sidecart-item-uom-price", id: "sidecart-item-uom-price" + i, innerHTML: "(" + priceString + " " + elem.uom + ")" }, priceDiv);
                            if ("unitprice" in elem && elem.unitprice.length > 0) {
                                let unitpriceString = (elem.unitprice * 1.0).toLocaleString("en-us", { style: "currency", currency: "USD", minimumFractionDigits: 4 });
                                domConstruct.create("div", { "class": "sidecart-item-uom-price", innerHTML: "(" + unitpriceString + " Unit)" }, priceDiv);
                            }
                            // update qty button
                            let qtyDiv = domConstruct.create("div", { "class": "sidecart-item-update", id: "sidecart-item-update" + i }, td);
                            let updatePlaceholder = domConstruct.create("input", {}, qtyDiv);
                            let updateButton = new Button({
                                                              label: "Update",
                                                              onClick: function () {
                                                                  ns_Z7_11A619S01HDMB0QFK1PVFM0014_updateItemQty(i);
                                                              },
	                                                          // disabled: data.isODIOpen ? "" : "true",
                                                              innerHTML: "<span class='bIcon'/><span class='bText'>Update</span>"
                                                          }, updatePlaceholder);
                            domConstruct.create("input", { type: "hidden", id: "sidecart-item-itemNumber" + i, value: elem.item }, td);
                            domConstruct.create("input", { type: "hidden", id: "sidecart-item-lineNumber" + i, value: elem.line }, td);
                            domConstruct.create("input", { type: "hidden", id: "sidecart-item-uom" + i, value: elem.uom }, td);

                            // if (data.isODIOpen) {
                                on(numberText, "focus", function (e) {
                                    dojo.byId("sidecart-price-div" + i).style.display = 'none';
                                    dojo.byId("sidecart-item-update" + i).style.display = 'block';
                                });
                                on(numberText, "blur", function (e) {
                                    if (dojo.byId("sidecart-item-qty" + i).value == elem.qty) {
                                        dojo.byId("sidecart-item-update" + i).style.display = 'none';
                                        dojo.byId("sidecart-price-div" + i).style.display = 'block';
                                    }
                                });
                                on(incBtn, "click", function (e) {
                                    if (dojo.byId("sidecart-item-qty" + i).value == elem.qty) {
                                        dojo.byId("sidecart-item-update" + i).style.display = 'none';
                                        dojo.byId("sidecart-price-div" + i).style.display = 'block';
                                    } else {
                                        dojo.byId("sidecart-price-div" + i).style.display = 'none';
                                        dojo.byId("sidecart-item-update" + i).style.display = 'block';
                                    }
                                });
                                on(decBtn, "click", function (e) {
                                    if (dojo.byId("sidecart-item-qty" + i).value == elem.qty) {
                                        dojo.byId("sidecart-item-update" + i).style.display = 'none';
                                        dojo.byId("sidecart-price-div" + i).style.display = 'block';
                                    } else {
                                        dojo.byId("sidecart-price-div" + i).style.display = 'none';
                                        dojo.byId("sidecart-item-update" + i).style.display = 'block';
                                    }
                                });
                            // }

                            if (elem.inventoryDivision === 1000) {
                                brandTotal += elem.qty * elem.price;
                            } else if (elem.inventoryDivision === 2000) {
                                genericTotal += elem.qty * elem.price;
                            } else if (elem.inventoryDivision === 3000) {
                                otcTotal += elem.qty * elem.price;
                            } else {
                                otherTotal += elem.qty * elem.price;
                            }
                            cartTotal += elem.qty * elem.price;
                        });
                    } else {
                        let tr = domConstruct.create("tr", {}, itemTable);
                        let td = domConstruct.create("td", { "class": "sidecart-no-items", innerHTML: "Your shopping cart contains no items." }, tr);
                    }

                    // trackers
                    ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateTrackers(data.trackers, locale);

                    // breakdown table
                    const breakdownData = {
                        genericTotal: genericTotal,
                        brandTotal: brandTotal,
                        otcTotal: otcTotal,
                        otherTotal: otherTotal,
                        cartTotal: cartTotal
                    };
                    ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateBreakdownTable(breakdownData, locale);

                    ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');

                    if (containsInvalidItems) {
                        dojo.byId('sidecartFooterButtonBar').style.display = 'none';
                        dojo.byId('sidecartFooterInvalidItems').style.display = 'block';
                    } else {
                        dojo.byId('sidecartFooterButtonBar').style.display = 'block';
                        dojo.byId('sidecartFooterInvalidItems').style.display = 'none';
                    }

                    
                    // if (proceedButton) {
                    //     proceedButton.setDisabled(!data.isODIOpen);
                    // }
                });
            });


	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems() {
        require(["dojo/_base/connect"], function (connect) {
            connect.publish("GET_CART_ITEMS", { channel: "SIDECART_UPDATE_CART_ITEMS" });
        });
    }

    
    var ns_Z7_11A619S01HDMB0QFK1PVFM0014_updateCartItemsAJAX = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJupdateCartItemsAJAX=/';
    require(["dojo/_base/connect"],
            function (connect) {
                connect.subscribe("DISPLAY_UPDATE_MODAL", function (obj) {
                    if (obj && obj.show) {
                        ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert('updateCartContentsFB');
                    } else {
                        ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                    }
                });

                connect.subscribe("UPDATE_CART_ITEM", function (obj) {
                    const line = obj.item.line;
                    const qty = obj.item.qty;

                    dojo.xhrPost({
                                     url: ns_Z7_11A619S01HDMB0QFK1PVFM0014_updateCartItemsAJAX,
                                     handleAs: 'json',
                                     content: {
                                         "line": line,
                                         "qty": qty,
                                         "sequenceNumber": '1',
                                         "currentUser": 'anonymous',
                                         "sessionID": 'null',
                                         "accountNumber": '',
                                         "shipTo": '',
                                         "location": '',
                                         "minimumMultiple": 'N',
                                         "imgPath": '/images/items/'
                                     },
                                     load: function (data) {
                                         if (!data.success) {
                                             alert(data.message);
                                         }

                                         if (obj.hasOwnProperty('callbackFn')) {
                                             obj.callbackFn(data);
                                         }

                                         // connect.publish("DISPLAY_UPDATE_MODAL", { show: false });
                                     },
                                     error: function (err, ioArgs) {
                                         if (ioArgs.xhr.status == 200) {
                                             //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                             if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                                 //This likely means the portal is giving us a "Portal Session Expired" message.
                                                 console.log('User has probably lost their portal session.');
                                             } else {
                                                 console.error('Unhandled error has occurred: ' + err);
                                             }
                                         } else {
                                             console.error("Error while trying AJAX from [UPDATE_CART_ITEM]: " + err); // display the error
                                         }

                                         if (obj.hasOwnProperty('errCallbackFn')) {
                                             obj.errCallbackFn(data);
                                         }

                                         connect.publish("DISPLAY_UPDATE_MODAL", { show: false });
                                     }
                                 });
                });
            });

    
    dojo.addOnLoad(function() {
        ns_Z7_11A619S01HDMB0QFK1PVFM0014_getCartItems();
    });

    function ns_Z7_11A619S01HDMB0QFK1PVFM0014_updateItemQty(index) {
        require(["dojo/_base/connect"],
                function (connect) {

                    if (!dijit.byId("sidecart-item-qty"+index).validate()) {
                        alert("Invalid quantity for item. Please correct.");
                        return;
                    }

                    connect.publish("DISPLAY_UPDATE_MODAL", { show: true });

                    const newQty = dojo.byId("sidecart-item-qty"+index).value;
                    const lineNumber = dojo.byId("sidecart-item-lineNumber"+index).value;

                    connect.publish("UPDATE_CART_ITEM", { item: { line: lineNumber, qty: newQty }, callbackFn: function (data) {
                            if (!data.success) {
                                connect.publish("DISPLAY_UPDATE_MODAL", { show: false });
                                return;
                            }

                            const locale = { style: "currency", currency: "USD" };
                            ns_Z7_11A619S01HDMB0QFK1PVFM0014_displayQtyGlobal(data);
                            ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateTrackers(data.trackers, locale);
                            ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateBreakdownTable(data.breakdownTable, locale);
                            dojo.byId("sidecart-item-total-price" + index).innerHTML = (data.item.price * data.item.qty).toLocaleString('en-US', locale);
                            dojo.byId("sidecart-item-update" + index).style.display = 'none';
                            dojo.byId("sidecart-price-div" + index).style.display = 'block';
                            connect.publish("DISPLAY_UPDATE_MODAL", { show: false });
                        }
                    });
                });
    }

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_formatCurrency(amount, locale) {
		const absAmount = Math.abs(amount);
		const displayAmount = Number(absAmount).toLocaleString("en-US", locale);
		return amount < 0 ? "("+displayAmount+")" : displayAmount;
	}

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateTrackers(data, locale) {
		require(["dojo/dom-construct"],
				function (domConstruct) {
					ns_Z7_11A619S01HDMB0QFK1PVFM0014_clearNode('sidecart-header');
					const sidecartHeader = dojo.byId("sidecart-header");
					if (data.brandBankTracker.enrolledInProgram) {
						const brandSpan = domConstruct.create('span', {"class": "boxTracker", style: "width: 100%; margin: 8px; cursor: unset;"}, sidecartHeader);
						const brandTable = domConstruct.create("table", {"class": "boxTrackerTable boxTrackerOuterBorder", style: "width: 75%;"}, brandSpan);
						let tr = domConstruct.create("tr", {}, brandTable);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder", innerHTML: "Enrolled"}, tr);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder", innerHTML: "Brand Opportunity Bank"}, tr);
						tr = domConstruct.create("tr", {}, brandTable);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder boxTrackerBold", innerHTML: "WAC-5"}, tr);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder boxTrackerBold", innerHTML: ns_Z7_11A619S01HDMB0QFK1PVFM0014_formatCurrency(data.brandBankTracker.amount, locale)}, tr);
						tr = domConstruct.create("tr", {}, brandTable);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder", innerHTML: "Brand Rx Program"}, tr);
						domConstruct.create("td", {"class": "boxTrackerInnerBorder", innerHTML: "at invoice price"}, tr);
					}

					const trackerBar = domConstruct.create("div", {"class": "trackerBar", id: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_trackerBar"}, sidecartHeader);
                    if (data.freeShippingTracker.otcCurrentSaleAmount > 0.0 && data.freeShippingTracker.nonRefrigCurrentSaleAmount <= 0.0 && !data.containsNonRefrigBrandOrGeneric) {
                        const tracker = domConstruct.create("table", {"class": "trackers sidecart-tracker"}, trackerBar);
                        let tr = domConstruct.create("tr", {}, tracker);
                        let td = domConstruct.create("td", {"class": "trackerCell"}, tr);
                        let div = domConstruct.create("div", {"class": "trackerSpan"}, td);
                        const fillWidth = Math.max(data.freeShippingTracker.otcPercent, 10.0);
                        domConstruct.create("div", {"class": "trackerFill " + (fillWidth < 100.0 ? "trackerIncomplete" : "trackerComplete"), style: "width: "+fillWidth+"%;"}, div);
                        tr = domConstruct.create("tr", {}, tracker);
                        td = domConstruct.create("td", {"class": "trackerCell"}, tr);
                        let trackerText = "";
                        if (data.freeShippingTracker.otcPercent < 100.0) {
                            trackerText = (data.freeShippingTracker.otcMinSaleAmount - data.freeShippingTracker.otcCurrentSaleAmount).toLocaleString('en-US', locale) + " to free API OTC {0} shipping";
                        } else {
                            trackerText = "You have qualified for free API OTC {0} shipping!";
                        }
                        trackerText = trackerText.replace("{0}", data.freeShippingTracker.otcExpressOrGround);
                        domConstruct.create("p", {"class": "trackerTextCell sidecart-trackerTextCell", innerHTML: trackerText}, td);
                    }
					else if (data.freeShippingTracker.nonRefrigMinSaleAmount > 0.0 && !data.isCartEmpty && !data.containsOnlyRefrigeratedItems && !data.containsOnlyDropShipItems) {
	                    
						const tracker = domConstruct.create("table", {"class": "trackers sidecart-tracker"}, trackerBar);
						let tr = domConstruct.create("tr", {}, tracker);
						let td = domConstruct.create("td", {"class": "trackerCell"}, tr);
						let div = domConstruct.create("div", {"class": "trackerSpan"}, td);
						const fillWidth = data.freeShippingTracker.nonRefrigPercent > 0.0 ? Math.max(data.freeShippingTracker.nonRefrigPercent, 10.0) : 0.0;
						domConstruct.create("div", {"class": "trackerFill " + (fillWidth < 100.0 ? "trackerIncomplete" : "trackerComplete"), style: "width: "+fillWidth+"%;"}, div);
						tr = domConstruct.create("tr", {}, tracker);
						td = domConstruct.create("td", {"class": "trackerCell"}, tr);
						let trackerText = "";
						if (data.freeShippingTracker.nonRefrigPercent < 100.0) {
							trackerText = (data.freeShippingTracker.nonRefrigMinSaleAmount - data.freeShippingTracker.nonRefrigCurrentSaleAmount).toLocaleString('en-US', locale) + " to free API {0} shipping";
						} else {
							trackerText = "You have qualified for free API {0} shipping!";
						}
						trackerText = trackerText.replace("{0}", data.freeShippingTracker.nonRefrigExpressOrGround);
						domConstruct.create("p", {"class": "trackerTextCell sidecart-trackerTextCell", innerHTML: trackerText}, td);
					}
					if (data.freeShippingTracker.refrigCurrentSaleAmount > 0.0 || data.containsRefrigeratedItems) {
						const tracker = domConstruct.create("table", {"class": "trackers sidecart-tracker"}, trackerBar);
						let tr = domConstruct.create("tr", {}, tracker);
						let td = domConstruct.create("td", {"class": "trackerCell"}, tr);
						let div = domConstruct.create("div", {"class": "trackerSpan"}, td);
						const fillWidth = data.freeShippingTracker.refrigCurrentSaleAmount > 0.0 ? Math.max(data.freeShippingTracker.refrigPercent, 10.0) : 0.0;
						domConstruct.create("div", {"class": "trackerFill " + (fillWidth < 100.0 ? "trackerIncomplete" : "trackerComplete"), style: "width: "+fillWidth+"%;"}, div);
						tr = domConstruct.create("tr", {}, tracker);
						td = domConstruct.create("td", {"class": "trackerCell"}, tr);
						let trackerText = "";
						if (data.freeShippingTracker.refrigPercent < 100.0) {
							trackerText = (data.freeShippingTracker.refrigMinSaleAmount - data.freeShippingTracker.refrigCurrentSaleAmount).toLocaleString('en-US', locale) + " to free API refrigerated {0} shipping";
						} else {
							trackerText = "You have qualified for free API refrigerated {0} shipping!";
						}
						trackerText = trackerText.replace("{0}", data.freeShippingTracker.refrigExpressOrGround);
						domConstruct.create("p", {"class": "trackerTextCell sidecart-trackerTextCell", innerHTML: trackerText}, td);
					}
				});
	}

	async function ns_Z7_11A619S01HDMB0QFK1PVFM0014_generateBreakdownTable(data, locale) {
		dojo.byId('totalsBreakdownGeneric').innerHTML = data.genericTotal.toLocaleString('en-US', locale);
		dojo.byId('totalsBreakdownBrand').innerHTML = data.brandTotal.toLocaleString('en-US', locale);
		dojo.byId('totalsBreakdownOTC').innerHTML = data.otcTotal.toLocaleString('en-US', locale);
		dojo.byId('totalsBreakdownOther').innerHTML = data.otherTotal.toLocaleString('en-US', locale);
		dojo.byId('totalsBreakdownTotal').innerHTML = data.cartTotal.toLocaleString('en-US', locale);

        dojo.xhrGet({
                         url: "/api/order-desk/totals",
                         handleAs: 'json',
                         load: function (totalsData) {
                             if (!totalsData.success) {
                                 alert(totalsData.message);
                                 ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                                 return;
                             }

                             dojo.byId('totalsBreakdownSubmittedTotal').innerHTML = totalsData.breakdown.total.toLocaleString('en-US', locale);
                             dojo.byId('totalsBreakdownDailyTotal').innerHTML = (data.cartTotal + totalsData.breakdown.total).toLocaleString('en-US', locale);
                         },
                         error: function (err, ioArgs) {
                             if (ioArgs.xhr.status == 200) {
                                 //The format of the error + response is HTML, so we are not receiving JSON data at this point.
                                 if (ioArgs.xhr.responseText.charAt(0) === '<') {
                                     //This likely means the portal is giving us a "Portal Session Expired" message.
                                     console.log('User has probably lost their portal session.');
                                 } else {
                                     console.error('Unhandled error has occurred: ' + err);
                                 }
                             } else {
                                 console.error("Error while trying AJAX from [generateBreakdownTable()]: " + err); // display the error
                             }
                             ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert('updateCartContentsFB');
                         }
                     });
	}

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_createSideCart() {
		const layoutBody = dojo.query("#layoutContainers .wpthemeInner .s2kLayouts");
		if (layoutBody && layoutBody.length > 0) {
			const layout = layoutBody[0];
			const sideCartDiv = dojo.create("div", {"class": "sidecart", "id": "sidecart"}, layout);

			const expandButton = dojo.create("div", {"class": "sidecart-expand-button", "id": "sidecart-expand-button", "onclick": "ns_Z7_11A619S01HDMB0QFK1PVFM0014_expandSideCart();"}, sideCartDiv);
			dojo.create("i", {"class": "fa fa-arrow-left", "id": "fa-expand-button", "aria-hidden": "true"}, expandButton);

			const contents = dojo.create("div", {"class": "sidecart-contents-hidden", id: "sidecart-contents"}, sideCartDiv);

			dojo.create('div', {"class": "sidecart-header", id: 'sidecart-header'}, contents);

			const items = dojo.create('div', {'class': 'sidecart-items', id: 'sidecart-items'}, contents);
			dojo.create('div', {'class': 'sidecart-items-list', id: 'sidecart-items-list'}, items);

			const sidecartFooter = dojo.create('div', {'class': 'sidecart-footer', id: 'sidecart-footer'}, contents);
			const totalsContainer = dojo.create('div', {'class': 'totalsContainer', id: 'totalsContainer'}, sidecartFooter);
			const totalsTable = dojo.create('table', {'class': 'totalsBreakdownTable', id: 'totalsBreakdownTable'}, totalsContainer);
			let tr, td;

			tr = dojo.create('tr', {}, totalsTable);
			dojo.create('td', {'class': "totalsBreakdownRowLeft", innerHTML: "Generic:&nbsp;"}, tr);
			td = dojo.create('td', {'class': 'totalsBreakdownRowRight'}, tr);
			dojo.create('span', {'currency': '2', id: 'totalsBreakdownGeneric'}, td);

			tr = dojo.create('tr', {}, totalsTable);
			dojo.create('td', {'class': 'totalsBreakdownRowLeft', innerHTML: 'Brand Name:&nbsp;'}, tr);
			td = dojo.create('td', {'class': 'totalsBreakdownRowRight'}, tr);
			dojo.create('span', {'currency': '2', id: 'totalsBreakdownBrand'}, td);

			tr = dojo.create('tr', {}, totalsTable);
			dojo.create('td', {'class': 'totalsBreakdownRowLeft', innerHTML: 'OTC:&nbsp;'}, tr);
			td = dojo.create('td', {'class': 'totalsBreakdownRowRight'}, tr);
			dojo.create('span', {'currency': '2', id: 'totalsBreakdownOTC'}, td);

			tr = dojo.create('tr', {}, totalsTable);
			dojo.create('td', {'class': 'totalsBreakdownRowLeft', innerHTML: 'Other:&nbsp;'}, tr);
			td = dojo.create('td', {'class': 'totalsBreakdownRowRight'}, tr);
			dojo.create('span', {'currency': '2', id: 'totalsBreakdownOther'}, td);

			tr = dojo.create('tr', {}, totalsTable);
			td = dojo.create('td', {'class': 'totalsBreakdownRowLeft' }, tr);
            dojo.create('span', { innerHTML: 'Cart Total:&nbsp;' }, td);
			td = dojo.create('td', {'class': 'totalsBreakdownRowRight'}, tr);
			dojo.create('span', {'currency': '2', id: 'totalsBreakdownTotal'}, td);

            // Add submitted order total
			tr = dojo.create('tr', {}, totalsTable);
            dojo.create('td', {'class': 'totalsBreakdownRowLeft', innerHTML: 'Submitted Order Total:&nbsp;' }, tr);
            td = dojo.create('td', { 'class': 'totalsBreakdownRowRight' }, tr);
            dojo.create('span', { 'currency': '2', id: 'totalsBreakdownSubmittedTotal' }, td);

			// add daily total
			tr = dojo.create('tr', {}, totalsTable);
            dojo.create('td', {'class': 'totalsBreakdownRowLeft', innerHTML: 'Daily Total:&nbsp;' }, tr);
            td = dojo.create('td', { 'class': 'totalsBreakdownRowRight' }, tr);
            dojo.create('span', { 'currency': '2', id: 'totalsBreakdownDailyTotal' }, td);

			const buttonBar = dojo.create('div', {'class': 'buttonBar', id: 'sidecartFooterButtonBar', style: 'width:100%; flex: 1 0 auto;'}, sidecartFooter);
			const bbRight = dojo.create('span', {'class': 'right'}, buttonBar);
			const bbLeft = dojo.create('span', {'class': 'left'}, buttonBar);
			require(["dojo/dom-construct", "dijit/form/Button"],
					function(domConstruct, Button) {
						const proceedBtnP = domConstruct.create("div", {}, bbRight);
                        const proceedToCheckoutBtn = new Button({
                                                                    id: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_sidecartProceedButton",
                                                                    name: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_sidecartProceedButton",
                                                                    label: "Proceed To Checkout",
                                                                    onClick: ns_Z7_11A619S01HDMB0QFK1PVFM0014_checkout,
                                                                    innerHTML: "<span class='bIcon'/><span class='bText'>Proceed To Checkout</span>"
                                                                }, proceedBtnP);

						const viewCartP = domConstruct.create("div", {}, bbLeft);
						const viewCartBtn = new Button({
														   label: "View Cart",
                                                           id: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_sidecartViewCartButton",
                                                           name: "ns_Z7_11A619S01HDMB0QFK1PVFM0014_sidecartViewCartButton",
														   onClick: ns_Z7_11A619S01HDMB0QFK1PVFM0014_viewCart,
														   innerHTML: "<span class='bIcon'/><span class='bText'>View Cart</span>"
													   }, viewCartP);
					});
			const invalidItems = dojo.create('div', {'class': 'sidecart-footer-invalid-items', id: 'sidecartFooterInvalidItems', style: 'width:100%; flex: 1 0 auto; display: hidden;', innerHTML: "Your cart contains items which cannot currently be fulfilled. Please remove these items."}, sidecartFooter);
		}
	}

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014_expandSideCart() {
		const btn = dojo.byId("fa-expand-button");
		const cart = dojo.byId("sidecart");
		const cartContents = dojo.byId('sidecart-contents');

		if (btn.hasAttribute("expanded")) {
			btn.removeAttribute("expanded");
			btn.className = "fa fa-arrow-left";
			while (cart.classList.contains('sidecart-expanded'))
				cart.classList.remove('sidecart-expanded');
			while (cartContents.classList.contains('sidecart-contents'))
				cartContents.classList.remove('sidecart-contents');
			cartContents.classList.add('sidecart-contents-hidden');
		} else {
			btn.setAttribute("expanded", "true");
			btn.className = "fa fa-arrow-right";
			cart.classList.add('sidecart-expanded');
			cartContents.classList.add('sidecart-contents');
			while (cartContents.classList.contains('sidecart-contents-hidden'))
				cartContents.classList.remove('sidecart-contents-hidden');

		}
	}





function ns_Z7_11A619S01HDMB0QFK1PVFM0014_viewCart() {

	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!ViewCart==/";

	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_checkout() {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!Checkout==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_search() {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!Search==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert(theAlert) {
	var theDiv;
	theDiv=document.getElementById(theAlert);
	theDiv.style.display="inline";
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert(theAlert) {
	var theDiv;
	theDiv=document.getElementById(theAlert);
	theDiv.style.display="none";
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccount(theIndex) {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.theIndex.value=theIndex;
	var cartSize = 0;
	if (cartSize > 0) {
		ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert("alert_MSG2");
	} else {
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!AccountSelected==/";
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
	}
}

function ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccountYes() {
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert("alert_MSG2");
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!AccountSelected==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}

function ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccountNo() {
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert("alert_MSG2");
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!Cancel==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccountSelect() {
	var elem = document.getElementById('accountSelectIE6');
	var value = elem.options[elem.selectedIndex].value;
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccount(value);
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccount(theIndex) {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.theIndex.value = theIndex;
	var cartSize = 0;
	if (cartSize > 0) {
		ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert("myAccounts");
		ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert("alert_MSG");
	} else {
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!AccountSelected==/";
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
	}
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccount_old() {
	var cartSize = 0;
	var elem = document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.theIndex;
	if (elem.options[elem.selectedIndex].value >= 0)
	{
		if (cartSize > 0) {
			ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAlert("alert_MSG");
		} else {
			document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!AccountSelected==/";
			document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
		}
	}
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccountYes() {
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert("alert_MSG");
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!AccountSelected==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccountNo() {
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_hideAlert("alert_MSG");
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!edsCancel==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}

function ns_Z7_11A619S01HDMB0QFK1PVFM0014_openAccountList() {
	var flyBox = document.getElementById("myAccounts");
	flyBox.style.display = "inline";
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_closeAccountList() {
	var flyBox = document.getElementById("myAccounts");
	flyBox.style.display = "none";
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_closeAccountSearch() {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!Cancel==/";
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
}
function ns_Z7_11A619S01HDMB0QFK1PVFM0014_showAllAccounts() {
	document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.searchText.value="";
	ns_Z7_11A619S01HDMB0QFK1PVFM0014_search();
}
function submitSearchEnter(myfield,e) {
	var keycode;
	if (window.event) keycode = window.event.keyCode;
		else if (e) keycode = e.which;
		else return true;

	if (keycode == 13) {
		ns_Z7_11A619S01HDMB0QFK1PVFM0014_search();
		return false;
	} else return true;
}	
	var  addToCartNow = function(itemNumber, qty, uom){
		var items = [{'itemNumber': itemNumber,'quantity': qty,'UOM': uom}];
		addItemsToCartNow(items);
	}
			
	
	var addToCartAJAXURL = 'p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=NJaddToCartAJAX=/';
	var addItemsToCartNow = function(items){



		var sItems = JSON.stringify(items);
		dojo.xhrPost({
			url:addToCartAJAXURL,
			handleAs:'json',
			content:{"items":sItems,
					 "sequenceNumber":'1',
					 "currentUser":'anonymous',
					 "sessionID":'null',
					 "accountNumber":'',
					 "shipTo":'',
					 "location":'',
					 "minimumMultiple":'N',
					 "imgPath":'/images/items/' 
					},
			load:function(result) {
			     var cartQtyDiv = document.getElementById("ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart");
			     cartQtyDiv.innerHTML = result.cartCount; 	     
			     if (result.message != '') 
				    alert(result.message);
				   
					
			},
			error: function(err, ioArgs){
				if (ioArgs.xhr.status == 200) {
					//The format of the error + response is HTML, so we are not receiving JSON data at this point.
					if (ioArgs.xhr.responseText.charAt(0) === '<') {
						//This likely means the portal is giving us a "Portal Session Expired" message.
						console.log('User has probably lost their portal session.');
					} else {
						console.error('Unhandled error has occurred: ' + err);
					}
				} else {
					console.error("Error while trying AJAX from [addToCart()]: " + err); // display the error
				}
			}
		});
	};

	function ns_Z7_11A619S01HDMB0QFK1PVFM0014__submitForm(action, param)
	{
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.action = "p0/IZ7_11A619S01HDMB0QFK1PVFM0014=CZ6_11A619S01HDMB0QFK1PVFM00U6=LA0=ES2KCommerceCartPortletCartSubmit!Main==/";
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.actionName.value = action;
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.param.value = param;
		document.ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart.submit();
	}
    function ns_Z7_11A619S01HDMB0QFK1PVFM0014_closeCartAlert(em) {
        var theDiv;
        theDiv = document.getElementById(em);
        theDiv.style.display = "none";
    }
	
if(typeof s2kGeneralScripts=='undefined') {
	document.writeln("<scr"+"ipt language=\"javascript\" type=\"text/javascript\" src=\"/PA_S2K-T-Oders-JSR286/jscripts/generalScripts.js\" ></scr"+"ipt>");
}
</script>


<style type="text/css">
	.commerceCart .gridContainer .cellData:nth-of-type(1):before { content: ""; }
	.commerceCart .gridContainer .cellData:nth-of-type(2):before { content: "Account Number"; }
	.commerceCart .gridContainer .cellData:nth-of-type(3):before { content: "Account Name"; }
	.commerceCart .gridContainer .cellData:nth-of-type(4):before { content: "Address"; }
	.commerceCart .gridContainer .cellData:nth-of-type(5):before { content: "City"; }
	.commerceCart .gridContainer .cellData:nth-of-type(6):before { content: "State"; }
	.commerceCart .gridContainer .cellData:nth-of-type(7):before { content: "Zip"; }
	
	.addingToCartOverlay { 
	    position:fixed; 
	    top:0px; 
	    left:0px; 
	    width:100%; 
	    height:100%; 
	    background:rgba(0,0,0, 0.5); 
	    display:none; 
	    z-index:900; 
	} 
	.addingToCartOverlay .overlayText { 
	    background: #FFF; 
	    position: absolute; 
	    top: 50%; 
	    left: 50%; 
	    width: 250px; 
	    margin-left: -135px; 
	    margin-top:-100px; 
	    padding: 20px; 
	    border: 1px solid #2B2B2B; 
	    -webkit-box-shadow: 0 0 20px 0 rgba(0,0,0,.5); 
	    box-shadow: 0 0 20px 0 rgba(0,0,0,.5);
	}
	/* Unavailable Items */
	#unavil_itemImg {
	   	max-width: 20px;
	}
	#unavil_itemImg img {
	    width: 100%;
	    height: auto;
	    vertical-align: middle;
	}
	#unavil_itemNum {
	    width: 100%;
	    font-style: italic;
	    font-size: 0.75em;
	    display: inline-block;
	    vertical-align: middle;
	}
	#unavil_itemDesc {
	    display: inline-block;
	    font-weight: bold;
	    vertical-align: middle;
	}
	#alert_unavailItems tr:nth-child(even) {
	    background: #ededed;
	}
	#alert_unavailItems .alertItemList {
		width: 100%;
	}

	.sidecart {
		position: fixed;
		top: 0;
		right: 0;
		border-left: 1px solid black;
		height: 100%;
		z-index: 100000;
		background: white;
		width: 25px;
		color: black;
		display: flex;
		flex-direction: column;
	}

	.sidecart-expanded {
		width: 375px;
	}

	.sidecart-expand-button {
		position: relative;
		top: 42.5%;
		left: -18px;
		font-size: x-large;
		background: whitesmoke;
		border-radius: 36px;
		border: 1px solid black;
		/*width: 28px;*/
		width: 2rem;
		text-align: center;
		color: black;
		padding: 2px;
		cursor: pointer;
		z-index: 1;
		aspect-ratio: 1;
	}

	.sidecart-contents {
		/*margin: 8px 8px 8px 24px;*/
		margin: 0;
		max-height: 100vh;
		min-height: 100vh;
		overflow-y: auto;
		overflow-x: hidden;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		position: absolute;
	}

	.sidecart-contents-hidden {
		display: none;
	}

	.sidecart-header {
		font-size: 1.5em;
		color: black;
		padding-bottom: 4px;
		flex: 1 0 auto;
		display: flex;
		flex-direction: column;
	}

    .sidecart-cutoff {
        font-size: 1.2em;
        color: black;
	    padding-top: 4px;
        padding-bottom: 4px;
        flex: 1 0 auto;
        display: flex;
        flex-direction: column;
	    align-items: center;
    }

	.sidecart-tracker {
		width: 50% !important;
	}
	.sidecart-trackerTextCell {
		font-size: 0.6em;
	}

	.sidecart-items {
		margin-top: 8px;
		margin-bottom: 8px;
		flex: 100 1 auto;
		overflow-y: auto;
		border-top: 1px solid black;
		border-bottom: 1px solid black;
	}

	.sidecart-item-header {
		font-weight: 700;
		background: whitesmoke;
	}

	.sidecart-items-list {
		height: 100%;
	}
	.sidecart-items-table {
		border-collapse: collapse;
		width: 100%;
		height: 100%;
	}
	.sidecart-no-items {
		text-align: center;
		font-style: italic;
		font-size: larger;
	}
	.sidecart-items-table-item {
		border-top: 1px solid black;
		border-bottom: 1px solid black;
		width: 100%;
	}
	.sidecart-item-row-1 {
	}

	.sidecart-item-row-2 {
		height: 36px;
	}

	.sidecart-item-action {
		padding: 0 4px 0 16px;
		width: 1rem;
	}
	.crosssign {
		/*display: inline-grid;*/
		place-content: center;
		/*aspect-ratio: 1;*/
		min-inline-size: 1rem;
		border-radius: 50%;
		background-color: red;
		cursor: pointer;
		display: none;
		width: 1rem;
	}
	.sidecart-items-table-item:hover .sidecart-item-action .crosssign {
		display: inline-grid;
	}
	.crosssign::before {
		content: "\D7";
		color: #fff;
		font-weight: bold;
	}
	.sidecart-item-description {
		font-weight: 700;
	}
	.sidecart-item-description-invalid {
		text-decoration: line-through;
		text-decoration-color: red;
		text-decoration-thickness: 2px;
	}
	.sidecart-item-item-number {
		font-size: 0.8em;
	}
	.sidecart-item-qty {
		width: 7em !important;
	}
	.sidecart-item-price-container {
		width: 6em;
	}
	.sidecart-item-price {
		text-align: right;
		margin-right: 4px;
	}
	.sidecart-item-total-price {
		font-size: 1.1em;
	}
	.sidecart-item-uom-price {
		font-size: 0.8em;
		color: grey;
	}
	.sidecart-item-update {
		text-align: right;
		margin-right: 4px;
		display: none;
	}
	.sidecart-footer {
		flex: 1 0 auto;
        margin: 8px 8px 67px 8px;
	}
	.sidecart-footer-invalid-items {
		text-align: center;
		font-weight: 700;
		font-style: italic;
		padding-top: 8px;
	}
	.totalsContainer {
		border: 1px solid black;
		border-radius: 4px;
		background: whitesmoke;
	}
	.totalsBreakdownTable {
		width: 100%;
		font-size: 1.1em;
		font-weight: 700;
	}
	.totalsBreakdownRowLeft {
		width: 100%;
		text-align: right;
	}
	.totalsBreakdownRowRight {
		text-align: right;
	}
	.trackerBar {
		display: flex;
		flex-direction: row;
	}
	.dijitTooltip {
		z-index: 9999999;
	}

</style>

<div class="addingToCartOverlay" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingToCartOverlay">
	<div class="overlayText" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_addingDescription"></div>
</div>
<div class="commerceCart" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_parseContainer">
<div dojoType="dijit.form.Form" name="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart" jsId="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart" action="" method="POST">
	<input type="hidden" name="theIndex" value=""/>
	<input type="hidden" name="actionName" value=""/>
	<input type="hidden" name="param" value=""/>
	<input type="hidden" id="doMerge" name="doMerge" value="N"/>

	
	<div class="flyBox" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cartOverlay" style="display:none;"></div>
	<div class="flyBoxAlert" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart-flybox-autoSubmit" style="display: none; z-index: 9999999;">
		<div class="fbContent" style="height: fit-content;">
			<div class="titleBar" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart-flybox-autoSubmit-title">Auto-Submit Disabled</div>
			<div class="alertText" id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart-flybox-autoSubmit-text">Auto-submit has been disabled for this cart. Auto-submit will be re-enabled for the next business day.</div>
			<div class="mainCol">
				<div class="gridContainer">
					<div class="buttonBar">
						<span class="left"></span>
						<span class="right">
							<button dojoType="dijit.form.Button" type="button" class="approvalBtn"
									id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_cart-flybox-autoSubmit-continue"
									value="Continue"
									onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_handleAutoSubmitContinue()"
							>
									<span class="bIcon"></span>
									<span class="bText">Continue</span>
							</button>
						</span>
					</div>
				</div>
			</div>
		</div>
	</div>




<div class="shoppingCartBar ">
	<div class="shoppingCartInfo">


		<div class="shoppingCart">
			
				<a href="javascript:ns_Z7_11A619S01HDMB0QFK1PVFM0014_viewCart()" id="qtyCartItems">
					<span class="cartIcon"></span>
					<span class="cartItems">
						<span id="ns_Z7_11A619S01HDMB0QFK1PVFM0014_itemsInCart">0</span>&nbsp;Items
					</span>
				</a>
			
		</div>
	

		<span style="line-height: 30px;" id="numberOfOrdersPendingApproval"></span>

		<span style="line-height: 40px;" id="odibadgeContainer"></span>

	</div>
</div>

<div dojoType="dijit.Tooltip" connectId="userAccountNameHolder" id="userAccountToolTip" position="below" style="display:none">

</div>





<div class="flyBoxAlert" id="alert_MSG" style="display:none">
	<div class="fbContent">
		<div class="titleBar">Switching Accounts</div>
		<div class="alertText">Are you sure you want to switch accounts?</div>
		<div class="button">
			<button dojoType="dijit.form.Button" type="button" value="Yes"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccountYes()">
				<span class="bIcon"></span>
				<span class="bText">Yes</span>
			</button>
			<button dojoType="dijit.form.Button" type="button" value="No"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_switchAccountNo()">
				<span class="bIcon"></span>
				<span class="bText">No</span>
			</button>
		</div>
	</div>
</div>

<div class="flyBoxAlert" id="alert_MSG2" style="display:none">
	<div class="fbContent">
		<div class="titleBar">Switching Accounts</div>
		<div class="alertText">Switching accounts in the middle of an order will clear your current cart. Are you sure you want to switch accounts?</div>
		<div class="button">
			<button dojoType="dijit.form.Button" type="button" value="Switch"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccountYes()">
				<span class="bIcon"></span>
				<span class="bText">Switch</span>
			</button>
			<button dojoType="dijit.form.Button" type="button" value="Cancel"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_selectAccountNo()">
				<span class="bIcon"></span>
				<span class="bText">Cancel</span>
			</button>
		</div>
	</div>
</div>

<div class="flyBoxAlert" id="sessionTimeoutBox" style="display:none">
	<div class="fbContent">
		<div class="titleBar">Timeout Warning</div>
		<div class="alertText">
			Your session is about to time out due to inactivity.<br/>
			Click the button below to stay signed in, otherwise you will be automatically logged out in 5 minutes.
		</div>
		<div class="button">
			<button dojoType="dijit.form.Button" type="button" value="Log Out"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_doTimeout();">
				<span class="bIcon"></span>
				<span class="bText">Log Out<span>
			</button>
			<button dojoType="dijit.form.Button" type="button" value="Stay Signed In"
					onclick="ns_Z7_11A619S01HDMB0QFK1PVFM0014_doKeepAlive();">
				<span class="bIcon"></span>
				<span class="bText">Stay Signed In<span>
			</button>
		</div>
	</div>
</div>



<!--  ASK THE USER IF THEY WANT TO RECOVER A LOST CART HERE IF ONE EXISTS FOR THIS COMPANY,CATALOG_ID,USER,CUSTOMER and SHIPTO -->

</div>
</div>

<script type="text/javascript">
// Set to false if opt-in required
var trackByDefault = true;

function acEnableTracking() {
	var expiration = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 30);
	document.cookie = "ac_enable_tracking=1; expires= " + expiration + "; path=/";
	var trackcmp_activeCampaignAcctID = "";
	/*Only track if there is Active Campaign Account ID defined  */
	if(trackcmp_activeCampaignAcctID)
		acTrackVisit(trackcmp_activeCampaignAcctID);
}
function acTrackVisit(acAcctID) {
	var trackcmp_email = "";
	var trackcmp = document.createElement("script");
	trackcmp.async = true;
	trackcmp.type = 'text/javascript';
	trackcmp.src = '//trackcmp.net/visit?actid='+acAcctID+'&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href);
	var trackcmp_s = document.getElementsByTagName("script");
	if (trackcmp_s.length) {
		trackcmp_s[0].parentNode.appendChild(trackcmp);
	} else {
		var trackcmp_h = document.getElementsByTagName("head");
		trackcmp_h.length && trackcmp_h[0].appendChild(trackcmp);
	}
}

/*activeCampaignPageTracking is global variable which is set on the theme. It is used to check if the page is being tracked by actice campaign  */
if(typeof(activeCampaignPageTracking) != "undefined" && activeCampaignPageTracking){
	if (trackByDefault || /(^|; )ac_enable_tracking=([^;]+)/.test(document.cookie)) {
		acEnableTracking();
	}
}
</script>
<div class="wpthemeClear"></div>
	</div>
</section></div><div class='component-control id-Z7_11A619S01HDMB0QFK1PVFM0017' ><section class="ibmPortalControl wpthemeControl wpthemeHidden a11yRegionTarget" role="region">

	
	
	<div class="asa.portlet asa-hidden" id="asa.portlet.Z7_11A619S01HDMB0QFK1PVFM0017">
		<span class="asa.portlet.id">Z7_11A619S01HDMB0QFK1PVFM0017</span>

		

	</div>
	
<!-- start header markup -->
	<header class="wpthemeControlHeader" role="banner" aria-label="Skin header">
		<div class="wpthemeInner">
			<h2>
				<img class="dndHandle" draggable="true" ondragstart="wpModules.dnd.util.portletDragStart(event, this, this.parentNode, 30, 0);"
				ondragend="wpModules.dnd.util.portletDragEnd(event);" 
				src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt=""/>
				<!-- lm-dynamic-title node marks location for dynamic title support -->
 				<span class="lm-dynamic-title asa.portlet.title a11yRegionLabel"><span lang="en" dir="ltr">Web Content Viewer</span></span>
			</h2>
			<a aria-haspopup="true" aria-label="Display content menu" role="button" href="javascript:;" class="wpthemeIcon wpthemeMenuFocus contextMenuInSkinIcon" style="display:none" tabindex="0">
				<span title="Display content menu"><img aria-label="Display content menu" alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"></span>
				<span class="wpthemeAltText">Component Action Menu</span>
				<!-- start CAM template -->
				<span class="wpthemeMenu" data-positioning-handler="horizontallyCenteredBelow">
					<div class="wpthemeMenuBorder">
						<!-- define the menu item template inside the "ul" element.  only "css-class", "description", and "title" are handled by the theme's sample javascript. -->
						<ul class="wpthemeMenuDropDown wpthemeTemplateMenu" role="menu">
							<li class="${css-class}" role="menuitem" tabindex="-1"><span
								class="wpthemeMenuText">${title}</span></li>
						</ul>
						<div class="verticalMenuPointer pointer"></div>
					</div> <!-- Template for loading -->
					<div class="wpthemeMenuLoading wpthemeTemplateLoading">${loading}</div>
					<!-- Template for submenu -->
					<div class="wpthemeAnchorSubmenu wpthemeTemplateSubmenu">
						<div class="wpthemeMenuBorder wpthemeMenuSubmenu">
							<ul id="${submenu-id}" class="wpthemeMenuDropDown"
								role="menu">
								<li role="menuitem" tabindex="-1"></li>
							</ul>
						</div>
					</div>
				</span>
				<!-- end CAM template -->
			</a>
			<a aria-haspopup="true" aria-label="Display portlet menu" role="button" href="javascript:;" class="wpthemeIcon wpthemeMenuFocus" tabindex="0"
                onclick="if (typeof wptheme != 'undefined') wptheme.contextMenu.init({ 'node': this, menuId: 'skinAction', jsonQuery: {'navID':ibmCfg.portalConfig.currentPageOID,'windowID':wptheme.getWindowIDFromSkin(this)}, params: {'alignment':'right'}});"
				onkeydown="javascript:if (typeof i$ != 'undefined' &amp;&amp; typeof wptheme != 'undefined') {if (event.keyCode ==13 || event.keyCode ==32 || event.keyCode==38 || event.keyCode ==40) {wptheme.contextMenu.init(this, 'skinAction', {'navID':ibmCfg.portalConfig.currentPageOID,'windowID':wptheme.getWindowIDFromSkin(this)}); return false;}}">
				<span title="Display portlet menu"><img aria-label="Display portlet menu" alt="" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"></span>
				<span class="wpthemeAltText">Actions</span>
			</a>
		</div>
	</header>
	
	<div class="wpthemeControlBody wpthemeOverflowAuto wpthemeClear"> <!-- lm:control dynamic spot injects markup of layout control -->
	<!-- asa.overlay marks the node that the AsaOverlayWidget will be placed in -->
		<div style="position:relative; z-index: 1;">
			<div class="analytics.overlay" ></div>
		</div>
		







































    
    

    
    

    
    
    





    
    
        
            
            <div class="appContainer">
  <div class="innerAppContainer">
    <div style="position:relative;"></div>
  </div>
</div>

<div class="fullPageContent">
	<div class="innerStaticContent center">
		<h1 style="margin:auto; text-align:center; font-size:32px"><b>API Warehouse, a subsidiary of American Associated Pharmacies, a Member-owned cooperative</b></h1>
		<h2 style="color:#1b75bb">BRINGING HIGH-VOLUME DISCOUNTS TO YOUR PHARMACY</h2>
		<p style="font-size:16px;">Our flexible buying programs make saving easy and are designed to lower inventory costs, regardless of your monthly volume.</p>
		<p style="font-size:16px;">Are you tired of the hassle of chasing sale prices from multiple vendors? Make API your "primary secondary" supplier.</p>
		<span class="dijit dijitReset dijitInline dijitButton">
			<a href="https://www.rxaap.com/become-an-api-customer/#get-your-api-account" title="Register" target="_blank"  style="font-weight: bold; font-size: larger;">       
				<span class="dijitReset dijitInline dijitButtonNode" style="border-radius: 10px;">
					<span class="dijitReset dijitStretch dijitButtonContents">
						<span class="dijitReset dijitInline dijitButtonNode" style="box-shadow: none;">
							<span class="bText">Become an API customer</span>
						</span>
					</span>
				</span>
			</a>
		</span>
		<p>
		<span class="dijit dijitReset dijitInline dijitButton">
			<a href="/c/login" title="Login" style="font-weight: bold; font-size: larger;">
				<span class="dijitReset dijitInline dijitButtonNode" style="border-radius: 10px;">
					<span class="dijitReset dijitInline dijitButtonNode" style="box-shadow: none;">
						<span class="dijitReset dijitStretch dijitButtonContents">
							<span class="bText">Already a customer? Log in to start shopping.</span>
						</span>
					</span>
				</span>
			</a>
		</span>
		</p>
	</div>
</div>
        
        
    

    
        





        







    
<div class="wpthemeClear"></div>
	</div>
</section></div></div></div>
<div class="wpthemeClear"></div>
						</div>
					</div>
				</div><!--end main content-->
				<div class="wpthemeClear"></div>
			</div>
			<footer class="wpthemeFooter">
	<div class="cnt">
		<div class="wpthemeInner">
			<div class="footerBox">
				<div class="footerBoxInner">
					<h3>
					
						ACCOUNT FORMS
					
					</h3>
					<ul><li>
	<a href="https://rxaap.formstack.com/forms/edi" target="_blank" >EDI/FTP Agreement</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/pharmacy_information_change_form" target="_blank" >Account Change Form</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/groundtransit" target="_blank" >Ground Transit Request</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/airtransit" target="_blank" >Air Transit Request</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/refrigerated" target="_blank" >Refrigerated Products Agreement</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/purchasehistory" target="_blank" >Audit/Purchase History Request</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/payment_terms_change" >Payment Terms Change Request</a>

</li><li>
	<a href="/myportal/rebate-distribution" >Rebate Distribution</a>

</li><li>
	<a href="https://rxaap.formstack.com/forms/saturdaydelivery" >Saturday Delivery Enrollment or Termination</a>

</li></ul>
				</div>
            </div>
            <div class="footerBox">
				<div class="footerBoxInner">
					<h3>
					
						MY ACCOUNT
					
					</h3>
					
				</div>
			</div>
			<div class="footerBox">
				<div class="footerBoxInner">
					<h3>
					
						SHOP
					
					</h3>
					<ul><li>
	<a href="/cat/2/BRAND/" >Brand Name</a>

</li><li>
	<a href="/cat/13/OTC/" >OTC</a>

</li><li>
	<a href="/cat/6/GENERIC/" >Generic</a>

</li></ul>
				</div>
			</div>
			<div class="footerBox">
				<div class="footerBoxInner signUpForm">
                                <h3>
					
						
					
					</h3>
                    
                    <div class="socialLinks">
                        

	
	
		<a href="https://twitter.com/rxaap" target="_blank"><i class="fab fa-twitter-square"></i></a>
	
	


	
	
		<a href="https://www.facebook.com/RxAAP" target="_blank"><i class="fab fa-facebook-square"></i></a>
	
	


	
	
		<a href="https://www.linkedin.com/company/rxaap" target="_blank"><i class="fab fa-linkedin" aria-hidden="true"></i></a>
	
	

                    </div>
				</div>
			</div>
			<div class="clear"></div>
		</div>
	</div>
	<div class="copyright">
		<div class="wpthemeInner">
            <div class="addlLinks">
                
                    
                
            </div>
            
               &copy; <script>document.write(new Date().getFullYear())</script> Associated Pharmacies, Inc. All rights reserved.
            
		</div>
	</div>
</footer><div class="wpthemeClear"></div>
		</div>
		<div class="wpthemeClear"></div>
	</div><!-- end frame -->
	<div id="subMenuContainer"></div>
    <!-- This is responsible for bootstrapping the configuration for the javascript framework. 
        This is located here instead of the head section to improve client performance. -->
	<div class="wpthemeComplementaryContent" id="wpthemeComplementaryContent" role="region" tabindex="-1" aria-labelledby="wpthemeComplementaryContentText">
		<span class="wpthemeAltText" id="wpthemeComplementaryContentText" >Complementary Content</span>
		<script type="text/javascript" src="/contenthandler/!ut/p/digest!jwRCZEFhkesMK_URD_xTfA/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fjavascript&amp;lm=1777171985795&amp;entry=wp_portal__0.0%3Aconfig_config_static&amp;entry=wcm_config__0.0%3Aconfig_config_static&amp;entry=wcm_inplaceEdit__0.0%3Aconfig_config_static"></script><script type="text/javascript">i$.merge({"ibmCfg":{"themeConfig":{"themeUniqueName":"vai.portal.s2kEcommerce2018-90.theme85","themeRootURI":"/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/war/s2kEcommerce2018-90Static/themes/s2kEcommerce90","themeWebAppBaseURI":"/s2kEcommerce2018-90Dynamic/themes/html/dynamicSpots","themeWebDAVBaseURI":"war:s2kEcommerce2018-90Static/themes/s2kEcommerce90/","modulesWebAppBaseURI":"/themeModules","commonResourcesRootURI":"/contenthandler/!ut/p/digest!jwRCZEFhkesMK_URD_xTfA/dav/fs-type1/common-resources","isRTL":false,"isPageRenderModeCSA":false,"portletOverridePageTitle":"Apirx","currentContentNodeOID":"Z6_11A619S01HDMB0QFK1PVFM00U6","loadingImage":"css/images/loading.gif","dndSourceDefinitions":[],"categorySources":[],"styleSources":[],"layoutSources":[]},"portalConfig":{"locale":"en","portalURI":"","contentHandlerURI":"/contenthandler/!ut/p/digest!qYBdWw5CDNvkjdco_SL2Kw/","pocURI":"/!ut/p/z0/0wcA1NLTeQ!!/","isVirtualPortal":true,"canImpersonate":false,"themeRootURI":"/s2kEcommerce2018-90Dynamic/themes/html/dynamicSpots","parentPageID":"Z6_GHK6HJC0OG6S20Q8HU3K6R0GK1","currentPageOID":"Z6_11A619S01HDMB0QFK1PVFM00U6","canAnonymousUserViewCurrentPage":true,"bootstrapState":"&lt;?xml version=&#034;1.0&#034; encoding=&#034;UTF-8&#034;?&gt;&lt;root xmlns=&#034;http://www.ibm.com/xmlns/prod/websphere/portal/v6.1/portal-state&#034;&gt;&lt;state type=&#034;navigational&#034;&gt;&lt;selection selection-node=&#034;Z6_11A619S01HDMB0QFK1PVFM00U6&#034;&gt;&lt;mapping src=&#034;Z6_11A619S01HDMB0QFK1PVFM00U6&#034; dst=&#034;Z6_000000000000000000000000A0&#034;/&gt;&lt;/selection&gt;&lt;shared-parameters id=&#034;Z6_000000000000000000000000A0&#034;&gt;&lt;shared-parameter nsuri=&#034;http://www.ibm.com/xmlns/prod/websphere/portal/publicparams&#034; localpart=&#034;path-info&#034;&gt;&lt;value&gt;llms.txt&lt;/value&gt;&lt;/shared-parameter&gt;&lt;/shared-parameters&gt;&lt;expansions&gt;&lt;node id=&#034;Z6_GHK6HJC0OG6S20Q8HU3K6R0GK1&#034;/&gt;&lt;node id=&#034;Z6_000000000000000000000000A0&#034;/&gt;&lt;/expansions&gt;&lt;/state&gt;&lt;/root&gt;","isUserLoggedIn":false,"currentUser":"anonymous portal user","currentUserOID":"","aggregatedStyle":"css/s2k-ecommerce/master.css.uncompressed.css","isCurrentPageEditable":true,"wcmPageMetadata":{"contentRoot":null,"sharingScope":null},"projectUUID":null},"userName":""},"com_ibm_theme_capabilities":{"dojo_app":"1.9","wp_dialog_draggable":"0.0","dijit_menu":"1.9","dojo_fx":"1.9","getting_started_module":"0.0","wp_hiddenpages":"0.0","wp_simple_contextmenu_ext":"0.0","wp_simple_contextmenu_js":"0.0","wp_toolbar_sitepreview_menuactions":"0.0","wp_portlet_css":"0.0","wp_theme_utils":"0.0","dijit_layout_ext_19":"0.0","dijit_19":"0.0","wp_toolbar_menuactions":"0.0","dojo_data_19":"0.0","wp_toolbar_host_view":"0.0","dojo_fx_19":"0.0","wp_hiddencontent":"0.0","dijit_editor_plugins":"1.9","wp_theme_skin_region":"0.0","dijit_editor_plugins_19":"0.0","wp_portal":"0.0","photon.dom":"1.0","wp_photon_dom":"0.0","wp_toolbar_sitepreview":"0.0","highContrast":"1.0","wp_status_bar":"0.0","wp_client_tracing":"0.0","dijit_editor":"1.9","dijit_menu_19":"0.0","dojo_fmt":"1.9","modules":"0.1","dojo_dnd_basic_19":"0.0","hasBaseURL":"true","dojo_selector_lite":"1.9","wp_draft_page_ribbon":"0.0","wp_state_page_modes":"0.0","dijit_form_19":"0.0","wp_toolbar_common_actionbar":"0.0","dijit_app_19":"0.0","wp_client_main":"0.0","dojox_html_basic":"1.9","dojo":"1.9","wp_toolbar_viewframe_validator":"0.0","wp_high_contrast":"0.0","dijit":"1.9","wp_toolbar_actionbar":"0.0","simple-contextmenu":"1.1","wp_dialog_css":"0.0","wp_theme_menus":"0.0","dojo_dnd_ext":"1.9","s2kEcommerce2018_dynamicContentSpots_90":"0.0","wp_client_logging":"0.0","wp_state_page":"0.0","wp_toolbar_common":"0.0","vai90_2018_login_mod":"0.0","wp_theme_portal_edit_85":"0.0","wp_toolbar_projectmenu":"0.0","wp_dialog_main":"0.0","dojo_19":"0.0","wp_simple_contextmenu_main":"0.0","dijit_layout_basic":"1.9","dojo_dnd_basic":"1.9","wp_layout_windowstates":"0.0","dojo_dom_19":"0.0","dojo_dom":"1.9","wp_toolbar_moremenu":"0.0","wp_custom_page_style":"0.0","wp_toolbar_contextmenu":"0.0","wp_searchbar":"0.0","wp_toolbar_informationmode":"0.0","wp_client_ext":"0.0","wp_simple_contextmenu_css":"0.0","wp_toolbar85":"0.0","wp_modules":"0.0","dojo_app_19":"0.0","toolbar":"8.5","dijit_layout_ext":"1.9","wp_dialog_util":"0.0","dojo_fmt_19":"0.0","wp_toolbar_utils":"0.0","a11y":"1.0","wp_a11y":"0.0","dijit_app":"1.9","dojo_dnd_ext_19":"0.0","dijit_editor_19":"0.0","dojo_selector_lite_19":"0.0","dijit_form":"1.9","wp_theme_portal_85":"0.0","dojo_data":"1.9","wp_simple_contextmenu_templates":"0.0","dijit_layout_basic_19":"0.0","dojox_html_basic_19":"0.0","wp_toolbar_logo":"0.0"},"com_ibm_device_class":[]});ibmCfg.portalConfig.bootstrapState=(ibmCfg.portalConfig.bootstrapState||"").replace(/&lt;/gm, '<').replace(/&gt;/gm, '>').replace(/&amp;/gm, '&').replace(/&#039;/gm, "'").replace(/&#034;/gm, '"');i$.merge({"ibmCfg":{"portalConfig":{"asaConfig":{"canViewAsaReports":"false","canViewAsaSitePromotions":"false","canCreateAsaSitePromotions":"false","canDeleteAsaSitePromotions":"false","reportConfig":{"scopes":[]}}}}});i$.merge({"ibmCfg":{"portalConfig":{"isShowHiddenPages":false}}});</script><script type="text/javascript" src="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fjavascript&amp;lm=1774759096000&amp;entry=wp_dialog_main__0.0%3Aconfig_js&amp;entry=wp_high_contrast__0.0%3Aconfig_js&amp;entry=wp_toolbar_utils__0.0%3Aconfig_js&amp;entry=wp_state_page_modes__0.0%3Aconfig_js&amp;entry=wp_simple_contextmenu_ext__0.0%3Aconfig_js&amp;entry=wp_simple_contextmenu_js__0.0%3Aconfig_js&amp;entry=wp_toolbar_actionbar__0.0%3Aconfig_js&amp;entry=wp_toolbar_menuactions__0.0%3Aconfig_js&amp;entry=wp_toolbar_sitepreview_menuactions__0.0%3Aconfig_js&amp;entry=wp_theme_skin_region__0.0%3Aconfig_js&amp;entry=wp_status_bar__0.0%3Aconfig_js&amp;entry=wp_toolbar_projectmenu__0.0%3Aconfig_js&amp;entry=wp_toolbar_contextmenu__0.0%3Aconfig_js&amp;entry=vai90_2018_login_mod__0.0%3Aconfig_js&amp;entry=wp_toolbar_sitepreview__0.0%3Aconfig_js"></script><a rel="alternate" id="config_js_deferred" href="/contenthandler/!ut/p/digest!z96y3ET0YA9fYwFZuTZC4g/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fjavascript&amp;lm=1777171985000&amp;entry=wp_liveobject_framework_core__0.0%3Aconfig_js&amp;entry=wp_portal_ui_utils__0.0%3Aconfig_js&amp;entry=wp_contextmenu_js__0.0%3Aconfig_js&amp;entry=wp_skin_cam__0.0%3Aconfig_js&amp;entry=wp_contextmenu_config_lof__0.0%3Aconfig_js&amp;entry=wp_federated_documents_picker__0.0%3Aconfig_js&amp;entry=wp_dnd_main__0.0%3Aconfig_js&amp;entry=wp_movecontrols__0.0%3Aconfig_js&amp;entry=wp_toolbar_controlactions__0.0%3Aconfig_js&amp;entry=wp_content_targeting_cam__0.0%3Aconfig_js&amp;entry=wp_analytics_tags__0.0%3Aconfig_js&amp;deferred=true" style="display:none"> Deferred Modules </a><span id="simpleMenuTemplate" class="wpthemeMenuLeft">
    <div class="wpthemeMenuBorder">
        <div class="wpthemeMenuNotchBorder"></div>
        <!-- define the menu item template inside the "ul" element.  only "css-class", "description", and "title" are handled by the theme's sample javascript. -->
        <ul class="wpthemeMenuDropDown wpthemeTemplateMenu" role="menu">
            <li class="${css-class}" role="menuitem" tabindex="-1"><span class="wpthemeMenuText">${title}</span>${badge}</li>
        </ul>
    </div>
    <!-- Template for loading -->
    <div class="wpthemeMenuLoading wpthemeMenuLoadingText wpthemeTemplateLoading">${loading}</div>
    <!-- Template for submenu -->
    <div class="wpthemeAnchorSubmenu wpthemeTemplateSubmenu">
        <div class="wpthemeMenuBorder wpthemeMenuSubmenu">
            <ul id="${submenu-id}" class="wpthemeMenuDropDown" role="menu"><li role="menuitem" tabindex="-1"></li></ul>
        </div>
    </div>
</span><a rel="alternate" id="config_markup_deferred" href="/contenthandler/!ut/p/digest!nHafzw-zYGbT-e7gGRE2sg/mashup/ra:collection?themeID=ZJ_6906H941O0UJ20QIU8N2IA00C7&amp;locale=en&amp;mime-type=text%2Fplain&amp;entry=wp_contextmenu_templates__0.0%3Aconfig_markup&amp;entry=wp_skin_cam__0.0%3Aconfig_markup&amp;entry=wp_dnd_main__0.0%3Aconfig_markup&amp;deferred=true" style="display:none"> Deferred Modules </a></div>
	<!--Start of HappyFox Live Chat Script-->
<script>
  window.HFCHAT_CONFIG = {
    EMBED_TOKEN: 'cd9b7440-b15f-11ed-9ecd-8b68e94669c1',
    ASSETS_URL: 'https://widget.happyfoxchat.com/v2/visitor'
  };
  (function () {
    var scriptTag = document.createElement('script')
    scriptTag.type = 'text/javascript'
    scriptTag.async = true
    scriptTag.src = window.HFCHAT_CONFIG.ASSETS_URL + '/js/widget-loader.js'

    var s = document.getElementsByTagName('script')[0]
    s.parentNode.insertBefore(scriptTag, s)
  })()
</script>
<!--End of HappyFox Live Chat Script-->
</body>
</html>
~~~

## llms-full

Not found.