Product Description
Big Bass. THX Power.
More sound, more dimension. THX-certified sound features 400 Watts Peak/200 Watts RMS power, adding richness to music, movies, and gaming—all from your desktop. Connect up to three compatible devices via the 0.14 in (3.5 mm) and RCA inputs. All the controls are right on the satellite speaker, so beautiful, immersive sound is well within reach.
Richer Sound. THX Certified.
Designed to deliver the most accurate experience straight out-of-the-box. These THX Certified speakers are tuned to exact specifications to truthfully deliver the artist’s vision right into your living room.
Hear Across the Spectrum
This 2.1 system delivers crisp sound and thundering bass for music, movies, and gaming. Hear the high notes clearly through the compact satellites and the deep beats via the side-ported subwoofer. It’s powerful sound you can feel.
Connect Your Way
Three hookups for three times the fun. Two 0.14 in (3.5 mm) jacks, and RCA inputs let you connect your favorite devices, like your TV, computer, smartphone, and even your gaming console. If you want, you can keep ‘em all connected and switch between them to your heart’s content. With the headphone jack conveniently located on the right-hand speaker, you can plug into your own personal soundscape any second.
</p>
<h3>Control Your Sound</h3>
<p>
Power, volume, bass, and headphone jack—it’s all right there on the satellite speaker, so your perfect sound is right within reach. The dedicated bass knob lets you crank it up (or down) however you like it best.
</p>
<h3>Great Sound is Timeless</h3>
<p>
Z623 is a trusted and proven part of the Logitech speaker catalogue, with an expertly tuned sound profile and product structure that have withstood the test of time. One of Logitech’s top-selling desktop speakers, it proves that quality speaks for itself.
</p>
<h3>Technical Specifications</h3>
<ul>
<li><strong>Total watts (Peak):</strong> 400 W</li>
<li><strong>Total watts (RMS):</strong> 200 W</li>
<li><strong>Subwoofer:</strong> 130 W</li>
<li><strong>Satellites:</strong> 2 x 35 W</li>
<li><strong>0.14 in (3.5 mm) auxiliary input:</strong> 2 (up to 1080p)</li>
<li><strong>RCA input:</strong> 1</li>
<li><strong>Headphone jack:</strong> 1</li>
<li><strong>Controls:</strong> Power, volume and bass controls on right speaker.</li>
</ul>
<h3>System Requirements</h3>
<p>
Works with any device with either a headphone jack 0.14 in (3.5mm) or RCA inputs
</p>
<h3>Warranty Information </h3>
<p>
2-Year Limited Hardware Warranty
</p>
</p>
</div>
</div>
</div>
<!-- <div> -->
<div class="col-xs-12 col-md-5 col-lg-4" style="padding-top: 2rem;">
<div class="added-content--box blog-feed--box">
<h3 class="mb-1">The Latest on Computers & Tablets</h3>
<div class="blog-feed--container">
<div id="feed" feed="https://www.electronicexpress.com/datafeeds/blog.computers-tablets.xml"></div>
<!-- <div id="feed" feed="https://blog.electronicexpress.com/category/computers-tablets/feed/"></div> -->
<!-- Blog Link -->
<div>
<a href="https://blog.electronicexpress.com/category/computers-tablets" class="blog-more--link" target="_blank">More from the Electronic Express Blog »</a>
</div>
</div>
</div>
<!-- START OF PRODUCT TAB SIDEBAR -->
<!-- END OF PRODUCT TAB SIDEBAR -->
</div>
<div class="col-xs-12">
<div>
<div class="similar-items" data-rfkid="rfkid_x3">
<div class="">
<h3 class="h2">Similar Best Sellers</h3>
<div class="full-width--slider">
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
</section>
<figure class="product-img">
<a href="/catalog/16216/logitech-z313-2-1-channel-computer-speaker-system-980000382" title="Logitech 980000382"><img data-lazy="//images.electronicexpress.com/product.r.185/logitech-z313-2-1-channel-computer-speaker-system-full-system-view-980000382.jpg" alt="Logitech 980000382" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
<svg aria-hidden="true" style="width:75px;height:15px;" alt="4.3 Star" data-toggle="tooltip" data-placement="bottom" title="4.3 Stars">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-4-star"></use>
</svg>
<span class="pr-category-snippet__total">
53 Reviews
</span>
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/16216/logitech-z313-2-1-channel-computer-speaker-system-980000382">Logitech 980000382</a></h3>
<p class="product-short-description">Z313 Computer Speaker System - Black</p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$59.99</span></p>
<p class="product-price--new">$69.72</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=16216" class="btn-add-to-cart btn-add-to-cart-16216 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="16216" data-prod-sku="980000382" data-prod-price="69.72">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
</section>
<figure class="product-img">
<a href="/catalog/197061/s150-usb-stereo-speakers" title="Logitech 980000028"><img data-lazy="//images.electronicexpress.com/product.r.185/logitech-s150-usb-stereo-speakers-front-view-980000028.jpg" alt="Logitech 980000028" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
<svg aria-hidden="true" style="width:75px;height:15px;" alt="5.0 Star" data-toggle="tooltip" data-placement="bottom" title="5.0 Stars">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-5-star"></use>
</svg>
<span class="pr-category-snippet__total">
1 Reviews
</span>
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/197061/s150-usb-stereo-speakers">Logitech 980000028</a></h3>
<p class="product-short-description">S150 USB Stereo Speakers </p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$17.99</span></p>
<p class="product-price--new">$26.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=197061" class="btn-add-to-cart btn-add-to-cart-197061 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="197061" data-prod-sku="980000028" data-prod-price="26.99">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
</section>
<figure class="product-img">
<a href="/catalog/197773/logitech-g560-lightsync-pc-gaming-speakers" title="Logitech 980001300"><img data-lazy="//images.electronicexpress.com/product.c.185/197773.jpg" alt="Logitech 980001300" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/197773/logitech-g560-lightsync-pc-gaming-speakers">Logitech 980001300</a></h3>
<p class="product-short-description">G560 Lightsync PC Gaming Speakers </p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$199.99</span></p>
<p class="product-price--new">$249.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=197773" class="btn-add-to-cart btn-add-to-cart-197773 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="197773" data-prod-sku="980001300" data-prod-price="249.99">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
<p class="product-alerts--savings clearance">20% OFF</p>
</section>
<figure class="product-img">
<a href="/catalog/205044/kanto-yu2mb-yu-2-matte-black-powered-desktop-speakers" title="Kanto YU2MB"><img data-lazy="//images.electronicexpress.com/product.c.185/205044-0.jpg" alt="Kanto YU2MB" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
<svg aria-hidden="true" style="width:75px;height:15px;" alt="5.0 Star" data-toggle="tooltip" data-placement="bottom" title="5.0 Stars">
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-5-star"></use>
</svg>
<span class="pr-category-snippet__total">
1 Reviews
</span>
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/205044/kanto-yu2mb-yu-2-matte-black-powered-desktop-speakers">Kanto YU2MB</a></h3>
<p class="product-short-description">YU2 Matte Black Powered Desktop Speakers</p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$249.99</span></p>
<p class="product-price--new">$199.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=205044" class="btn-add-to-cart btn-add-to-cart-205044 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="205044" data-prod-sku="YU2MB" data-prod-price="199.99">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
<p class="product-alerts--savings clearance">20% OFF</p>
</section>
<figure class="product-img">
<a href="/catalog/205045/kanto-yu2mw-yu-2-matte-white-powered-desktop-speakers" title="Kanto YU2MW"><img data-lazy="//images.electronicexpress.com/product.c.185/205045-0.jpg" alt="Kanto YU2MW" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/205045/kanto-yu2mw-yu-2-matte-white-powered-desktop-speakers">Kanto YU2MW</a></h3>
<p class="product-short-description">YU2 Matte White Powered Desktop Speakers</p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$249.99</span></p>
<p class="product-price--new">$199.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=205045" class="btn-add-to-cart btn-add-to-cart-205045 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="205045" data-prod-sku="YU2MW" data-prod-price="199.99">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
</section>
<figure class="product-img">
<a href="/catalog/206960/logitech-980-001294-z207-bluetooth-computer-speakers" title="Logitech 980001294"><img data-lazy="//images.electronicexpress.com/product.c.185/206960-0.jpg" alt="Logitech 980001294" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/206960/logitech-980-001294-z207-bluetooth-computer-speakers">Logitech 980001294</a></h3>
<p class="product-short-description">Z207 Bluetooth Computer Speakers</p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$59.99</span></p>
<p class="product-price--new">$59.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=206960" class="btn-add-to-cart btn-add-to-cart-206960 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="206960" data-prod-sku="980001294" data-prod-price="59.99">Add to cart</a>
</div>
</article>
</div>
</div>
<div class="slick-slide">
<div class="product">
<article class="product-card clearfix">
<div class="product-media">
<section class="product-alerts">
</section>
<figure class="product-img">
<a href="/catalog/207809/razer-rz0504280100-leviathan-v2-x-multi-driver-pc-soundbar" title="Razer RZ0504280100"><img data-lazy="//images.electronicexpress.com/product.c.185/207809-0.jpg" alt="Razer RZ0504280100" class="img-fluid" /></a>
</figure>
</div>
<div class="product-col-2">
<div class="pr_snippet_category product-rating">
</div>
<header class="product-header">
<h3 class="product-name"><a href="/catalog/207809/razer-rz0504280100-leviathan-v2-x-multi-driver-pc-soundbar">Razer RZ0504280100</a></h3>
<p class="product-short-description">Leviathan V2 X Multi-Driver PC Gaming Soundbar</p>
</header>
</div>
<div class="product-col-3">
<section class="product-price">
<p class="product-price--old"><span>$99.99</span></p>
<p class="product-price--new">$99.99</p>
</section>
</div>
<div>
<a href="/cart?action=add&prod_id=207809" class="btn-add-to-cart btn-add-to-cart-207809 btn-add-rec btn-add-to-cart-carousel btn btn-secondary btn-block" data-prod-id="207809" data-prod-sku="RZ0504280100" data-prod-price="99.99">Add to cart</a>
</div>
</article>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
.prop65 {
}
.prop65-title {
display: flex;
}
.prop65-title svg{
fill: #f4b602;
margin-right: .25rem;
}
/* #rfk-also-bought .rfk_header {
text-transform: capitalize;
padding: 1rem;
margin-bottom: 1rem;
background-color: #f2f3f4;
border-bottom: 1px solid #bcbec1;
line-height: 1rem;
} */
</style>
</div>
<div class="tab-pane" id="specs" role="tabpanel">
<style>
.feature_row:nth-child(even){background-color:#eee;}
.feature_row:nth-child(odd){background-color:#fbfbfb;}
.feature_class{border-bottom:2px solid #555;color:#D9001D;font-size:3rem;font-weight:lighter;}
.feature_row{padding:1.25rem;}
.ftr{width:50%;font-size:1rem;}
.ftr.title{float:left;font-weight:bold;text-align:right;padding-right:.5rem;}
.ftr.data{float:right;text-align:left;padding-left:.5rem;}
</style>
<div class="feature_loop">
<p class="h2 section-title">
<span>Product Specifications</span>
</p>
<!--<div class="feature_class">General</div>-->
<div class="feature_row">
<div class="ftr title">Speaker Type:</div>
<div class="ftr data">Subwoofer</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title">Connectivity:</div>
<div class="ftr data">AUX</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title"># Speakers Included:</div>
<div class="ftr data">2</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title">RMS Power Output (Watts):</div>
<div class="ftr data">200 W</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title">Peak Power Output (Watts):</div>
<div class="ftr data">400 W</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title">Weight (lbs.):</div>
<div class="ftr data">3.86 lbs.</div>
<br stlye="clear:both;"/>
</div>
<div class="feature_row">
<div class="ftr title">Headphone Jack:</div>
<div class="ftr data">Yes</div>
<br stlye="clear:both;"/>
</div>
</div>
</div>
<div class="tab-pane" id="reviews" role="tabpanel">
<p class="h2 section-title">
<span>Product Reviews</span>
</p>
<div id="review-tab" data-bv-show="reviews" data-bv-product-id="980000402"></div>
</div>
<div class="tab-pane" id="questions" role="tabpanel">
<p class="h2 section-title">
<span>Questions & Answers</span>
</p>
<div id="questions-tab2" data-bv-show="questions" data-bv-product-id="980000402"></div>
</div>
<div class="tab-pane" id="warranty" role="tabpanel">
<form action="/cart" method="post" name="warranty">
<div>
<p class="h2 prod_descrip section-title">
<span>Recommended Protection Plans for Logitech 980000402 / 980-000402:</span>
</p>
<p>
Protect your new purchase against the risk of untimely and expensive repairs with <b>AWS Protection</b> coverage!
</p>
<div class="warranties-container">
</div>
<div>
<a href="javascript:document.forms.warranty.submit();" class="btn btn-block btn-secondary btn-add-to-cart" style="max-width:15rem;">Add Plan to Cart</a>
<input type="hidden" name="prod_id" value="206958">
<input type="hidden" name="action" value="add">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="recently-viewed">
<div id="rfk-also-bought">
<div data-rfkid="rfkid_31"> </div>
<div data-rfkid="rfkid_32"> </div>
</div>
</div>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
$('#features-tab a').on('shown.bs.tab', function (event) {
$('#features .slick-initialized').slick('refresh');
})
});
</script>
</div> <!-- Ends single product -->
<div id="product-bullets" style="display:none;" aria-hidden="true">
<ul>
<li>Captivating THX Sound</li>
<li>400 Watts Peak/200 Watts RMS Power</li>
<li>Connect up to 3 Compatible Devices</li>
<li>One of Logitech’s Top-Selling Desktop Speakers</li>
</ul>
</div>
</main>
<div class="modal fade" role="dialog" aria-hidden="true" id="check_avail">
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><svg class="svg-icon" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></span></button>
<h4 class="modal-title">Check Availability for Logitech 980000402</a></h4>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
<div class="modal" role="dialog" id="modal-image">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content flex-column">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><svg class="svg-icon" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></span></button>
<h4 class="modal-title">
Logitech 980-000402 Product Images
</h4>
</div>
<div class="modal-body product-media">
<div class="modal-image--container">
<div class="modal-image--nav col-xs-12 col-md-3 col-lg-2">
<div id="modal-image--nav-slider">
<a id="thumb-980000402-1"
data-parent="#modal-image"
data-target="#image-980000402-1"
class="thumbnail">
<img src="//images.electronicexpress.com/product.c.185/206958-0.jpg" alt="Logitech 980000402 view 1" class="img-fluid product-thumbnail">
</a>
<a id="thumb-980000402-2"
data-parent="#modal-image"
data-target="#image-980000402-2"
class="thumbnail">
<img src="//images.electronicexpress.com/product.c.185/206958-1.jpg" alt="Logitech 980000402 view 2" class="img-fluid product-thumbnail">
</a>
<a id="thumb-980000402-3"
data-parent="#modal-image"
data-target="#image-980000402-3"
class="thumbnail">
<img src="//images.electronicexpress.com/product.c.185/206958-2.jpg" alt="Logitech 980000402 view 3" class="img-fluid product-thumbnail">
</a>
</div>
</div>
<div class="modal-image--primary col-xs-12 col-md-9 col-lg-10">
<figure id="image-980000402-1"
class="product-image"
data-full=""
data-small="//images.electronicexpress.com/product.c.xl/206958-0.jpg">
<img src="//images.electronicexpress.com/product.c.xl/206958-0.jpg" alt="Logitech 980000402 view 1" class="img-fluid">
</figure>
<figure id="image-980000402-2"
class="product-image"
style="display:none;"
data-full=""
data-small="//images.electronicexpress.com/product.c.xl/206958-1.jpg">
<img src="//images.electronicexpress.com/product.c.xl/206958-1.jpg" alt="Logitech 980000402 view 2" class="img-fluid">
</figure>
<figure id="image-980000402-3"
class="product-image"
style="display:none;"
data-full=""
data-small="//images.electronicexpress.com/product.c.xl/206958-2.jpg">
<img src="//images.electronicexpress.com/product.c.xl/206958-2.jpg" alt="Logitech 980000402 view 3" class="img-fluid">
</figure>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function(event) {
$("#services-accordion").find(".product-offers-option").each(function() {
if($(this).find("input").is(":checked")) {
$("#accordion-header").append(this);
}
if ($("#services-accordion").find(".product-offers-option").length == 1) {
$("#services-accordion-heading").remove();
}
})
})
</script>
<div class="modal fade" role="dialog" aria-hidden="true" id="checkoutModal">
<div class="atc-modal-dialog modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="modal-header-text">
<h4 class="modal-title">Item Added to your Cart</h4>
<h4 class="modal-cart-total"></h4>
</div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><svg class="svg-icon" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></span></button>
</div>
<div class="modal-body">
<article class="main-atc-modal-box product clearfix">
<div class="atc-modal-product-box">
<img src="//images.electronicexpress.com/product.c.xl/206958-0.jpg" alt="" class="atc-modal-product-image" itemprop="image" />
<div class="atc-modal-description-box">
<p class="atc-modal-product-name" itemprop="name">Logitech 980000402</p>
<p class="atc-modal-product-description" itemprop="description">Z623 Speaker System with Subwoofer</p>
<p class="atc-modal-product-quantity"></p>
<p class="atc-modal-product-add-ons">Included Add-Ons:</p>
</div>
</div>
<div class="pdp-zip-form-box modal-loading">
<label class="pdp-zip-label" for="pdp-zip-code">Delivery Zip Code</label>
<form id="pdp-zip-form">
<input class="pdp-zip-input" type="text" id="pdp-zip-code"/>
<button class="pdp-zip-button" type="submit">Submit</button>
</form>
<p class="pdp-zip-text">Enter your ZIP code so we can give you the most accurate delivery and pickup options.</p>
</div>
<div class="atc-modal-delivery-box modal-loading">
<div class="atc-delivery-title-box">
<p class="atc-modal-delivery-title">Delivery</p>
<p class="delivery-selected-text">Currently Selected</p>
</div>
<p class="atc-modal-delivery-text">By choosing Delivery be sure to also choose your installation and haul away as needed. Shipping is a flat freight rate.</p>
<p class="atc-modal-delivery-text-local">Local Express Delivery is available for select purchases to Tennessee and Northern Alabama residents within 25 miles of any Electronic Express location. Local delivery will be automatically applied for customers ordering freight shipping items in the delivery area. An Electronic Express employee will contact you to schedule delivery after placing your order.</p>
<p class="atc-modal-delivery-text-national">We ship to the contiguous United States (excluding HI and AK) via Fedex, UPS, USPS, or freight depending on order size and destination. Shipping cost is calculated on a "per item" basis.</p>
<p class="atc-modal-delivery-error-pu-option">Delivery is currently unavailable for your Cart. Store pickup is available for ZIP codes in Middle Tennessee and North Alabama. Please enter a different ZIP code or <a href="/cart">View Cart</a> to see more details about your Cart.</p>
<p class="atc-modal-delivery-error-text">Delivery is currently unavailable for your Cart. Choose a store from the list below to pick up your order in one of our stores. If store pickup is not suitable for you, <a href="/cart">edit your Cart</a> to resolve the error by adjusting or removing the item that is causing the issue.
</p>
<div class="atc-modal-delivery-btn-box">
<a class="atc-modal-delivery-btn" href="javascript:void(0)" onclick="atcModalSelectDelivery()">Select</a>
</div>
</div>
<a class="view-store-pick-up-btn display-none">
Store Pick Up <span class="triangle-bottom"></span>
</a>
<div class="atc-modal-location-box modal-loading">
<div class="atc-pick-up-title-box">
<p class="atc-modal-pick-up-title">Store Pick Up</p>
<p class="pick-up-selected-text">Currently Selected</p>
</div>
<p class="atc-modal-pick-up-text">Shop online and collect your order at a nearby store. Choose your preferred store from the list below. Once you've made your purchase, you will receive an email invoice. Subsequently, you'll be notified with a "Pickup Ready" email, confirming that your product is ready for pickup at the selected store location.</p>
<p class="atc-modal-pick-up-error-text">Store pickup is currently unavailable for items in your Cart. Unfortunately, none of our stores currently have stock of one or more of the products in your Cart. Consider opting for home delivery instead. If you prefer not to use our home delivery service, please <a href="/cart">edit your Cart</a> to resolve the error by adjusting or removing the item that is causing the issue. </p>
<div class="atc-modal-card-box">
<div id="store-1" class="atc-location-card available--pickup" store-id="1">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-1-info" aria-expanded="false" aria-controls="collapseExample" store-id="1">
<div class="store-text-box">
<span class="atc-modal-store-name">Nolensville Pike</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(01)" id="select-1" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-2" class="atc-location-card available--pickup" store-id="2">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-2-info" aria-expanded="false" aria-controls="collapseExample" store-id="2">
<div class="store-text-box">
<span class="atc-modal-store-name">Columbia, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(02)" id="select-2" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-3" class="atc-location-card available--pickup" store-id="3">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-3-info" aria-expanded="false" aria-controls="collapseExample" store-id="3">
<div class="store-text-box">
<span class="atc-modal-store-name">Rivergate Marketplace</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(03)" id="select-3" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-4" class="atc-location-card available--pickup" store-id="4">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-4-info" aria-expanded="false" aria-controls="collapseExample" store-id="4">
<div class="store-text-box">
<span class="atc-modal-store-name">Decatur, AL</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(04)" id="select-4" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-5" class="atc-location-card available--pickup" store-id="5">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-5-info" aria-expanded="false" aria-controls="collapseExample" store-id="5">
<div class="store-text-box">
<span class="atc-modal-store-name">Gallatin, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(05)" id="select-5" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-6" class="atc-location-card available--pickup" store-id="6">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-6-info" aria-expanded="false" aria-controls="collapseExample" store-id="6">
<div class="store-text-box">
<span class="atc-modal-store-name">Oak Ridge, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(06)" id="select-6" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-7" class="atc-location-card available--pickup" store-id="7">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-7-info" aria-expanded="false" aria-controls="collapseExample" store-id="7">
<div class="store-text-box">
<span class="atc-modal-store-name">Huntsville, AL</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(07)" id="select-7" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-8" class="atc-location-card available--pickup" store-id="8">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-8-info" aria-expanded="false" aria-controls="collapseExample" store-id="8">
<div class="store-text-box">
<span class="atc-modal-store-name">Florence, AL</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(08)" id="select-8" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-9" class="atc-location-card available--pickup" store-id="9">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-9-info" aria-expanded="false" aria-controls="collapseExample" store-id="9">
<div class="store-text-box">
<span class="atc-modal-store-name">Clarksville, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(09)" id="select-9" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-10" class="atc-location-card available--pickup" store-id="10">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-10-info" aria-expanded="false" aria-controls="collapseExample" store-id="10">
<div class="store-text-box">
<span class="atc-modal-store-name">Cleveland, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(10)" id="select-10" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-11" class="atc-location-card available--pickup" store-id="11">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-11-info" aria-expanded="false" aria-controls="collapseExample" store-id="11">
<div class="store-text-box">
<span class="atc-modal-store-name">100 Oaks Mall</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(11)" id="select-11" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-12" class="atc-location-card available--pickup" store-id="12">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-12-info" aria-expanded="false" aria-controls="collapseExample" store-id="12">
<div class="store-text-box">
<span class="atc-modal-store-name">Cookeville, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(12)" id="select-12" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-14" class="atc-location-card available--pickup" store-id="14">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-14-info" aria-expanded="false" aria-controls="collapseExample" store-id="14">
<div class="store-text-box">
<span class="atc-modal-store-name">Hixson, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(14)" id="select-14" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-15" class="atc-location-card available--pickup" store-id="15">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-15-info" aria-expanded="false" aria-controls="collapseExample" store-id="15">
<div class="store-text-box">
<span class="atc-modal-store-name">Murfreesboro, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(15)" id="select-15" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-16" class="atc-location-card available--pickup" store-id="16">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-16-info" aria-expanded="false" aria-controls="collapseExample" store-id="16">
<div class="store-text-box">
<span class="atc-modal-store-name">Tullahoma, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(16)" id="select-16" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-17" class="atc-location-card available--pickup" store-id="17">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-17-info" aria-expanded="false" aria-controls="collapseExample" store-id="17">
<div class="store-text-box">
<span class="atc-modal-store-name">Hermitage, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(17)" id="select-17" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-18" class="atc-location-card available--pickup" store-id="18">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-18-info" aria-expanded="false" aria-controls="collapseExample" store-id="18">
<div class="store-text-box">
<span class="atc-modal-store-name">Spring Hill, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(18)" id="select-18" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-19" class="atc-location-card available--pickup" store-id="19">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-19-info" aria-expanded="false" aria-controls="collapseExample" store-id="19">
<div class="store-text-box">
<span class="atc-modal-store-name">Cool Springs</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(19)" id="select-19" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-21" class="atc-location-card available--pickup" store-id="21">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-21-info" aria-expanded="false" aria-controls="collapseExample" store-id="21">
<div class="store-text-box">
<span class="atc-modal-store-name">Chattanooga, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(21)" id="select-21" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-22" class="atc-location-card available--store-order" store-id="22">
<div class="title">
<a class="collapsed store-link available--store-order" data-toggle="collapse" href="#store-22-info" aria-expanded="false" aria-controls="collapseExample" store-id="22">
<div class="store-text-box">
<span class="atc-modal-store-name">Nashville Outlet Store</span>
<span class="atc-modal-stock-title">Order In Store</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(22)" id="select-22" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-23" class="atc-location-card available--pickup" store-id="23">
<div class="title">
<a class="collapsed store-link available--pickup" data-toggle="collapse" href="#store-23-info" aria-expanded="false" aria-controls="collapseExample" store-id="23">
<div class="store-text-box">
<span class="atc-modal-store-name">Jackson, TN</span>
<span class="atc-modal-stock-title">Buy Online, Pick Up Here</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(23)" id="select-23" class="atc-modal-card-btn">Select</a>
</div>
<div id="store-20" class="atc-location-card available--in-stock" store-id="20">
<div class="title">
<a class="collapsed store-link available--in-stock" data-toggle="collapse" href="#store-20-info" aria-expanded="false" aria-controls="collapseExample" store-id="20">
<div class="store-text-box">
<span class="atc-modal-store-name">Home Office</span>
<span class="atc-modal-stock-title">In Stock</span>
<span class="atc-modal-stock-error-title">Pick Up not available</span>
</div>
<div class="atc-modal-dis-cont"></div>
</a>
</div>
<a href="javascript:void(0)" onclick="atcModalSelectStore(20)" id="select-20" class="atc-modal-card-btn">Select</a>
</div>
<div id="relative-active"></div>
<div id="next-closest-store"></div>
<div id="hidden-stores"></div>
</div>
</div>
<div class="atc-modal-error-box">
<p class="atc-modal-error-title">Your Cart has an error</p>
<p class="atc-modal-error-text">Your Cart is currently not eligible for store pickup or delivery. You can <a href="/cart">View Cart</a> to review the contents of your Cart and identify any items that may be causing the error.</p>
</div>
<div class="atc-modal-services-box">
<div class="atc-modal-sub-services-box">
<div class="atc-summary-box">
<p class="atc-summary-title">Your Current Cart</p>
<div class="atc-summary-text-box">
<p class="summary-qty"></p>
<p class="summary-sub"></p>
<p class="summary-ship"></p>
<p class="summary-tax"></p>
<p class="summary-total"></p>
</div>
</div>
</div>
<div class="col-xs-12 clearfix atc-modal-recommended-slider-box">
<div class="clearfix">
<div data-rfkid="rfkid_4"></div>
</div>
</div>
</div>
<div class="atc-modal-btn-box">
<button href="" data-dismiss="modal" class="atc-modal-keep-shopping">
Continue Shopping
</button>
<a href="/cart" class="atc-modal-view-cart">
View Cart
</a>
</div>
</article>
</div>
</div>
</div>
</div>
<style>
/* This style aligns modal to the right side of the page */
.modal-loading {
position: relative;
height: 200px;
overflow: hidden;
}
.modal-loading::after {
content: " ";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
/* background-color: #fff; */
background-image: url("//images.electronicexpress.com/misc/loading.gif");
background-repeat: no-repeat;
background-position: center;
z-index: 2;
}
.modal-loading > * {
opacity: 0;
}
#checkoutModal {
padding: 0em !important;
}
.atc-modal-dialog {
max-width: 27%;
height: 100vh;
margin: 0em 0em 0em auto;
display: flex;
flex-direction: column;
}
#checkoutModal .modal-content {
flex-grow: 1;
}
/* Start of other styles */
.modal-header-text {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 90%;
}
.modal-cart-total {
margin: 0em;
}
.modal-header::after {
display: none;
}
/* Local Store Styles */
.main-atc-modal-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.atc-modal-product-box {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
width: 100%;
padding: 0em !important;
}
.atc-modal-product-image {
width: 15%;
}
.atc-modal-description-box {
width: 50%;
}
.atc-modal-product-name {
font-size: 16px;
font-weight: bold;
margin-bottom: 0.25em;
line-height: 1;
}
.atc-modal-product-description {
font-size: 14px;
margin-bottom: 0.25em;
line-height: 1.2;
}
.atc-modal-product-quantity,
.atc-modal-product-add-ons {
font-size: 14px;
margin-bottom: 0.25em;
line-height: 1;
}
#checkoutModal .product-media {
width: 30%;
}
#checkoutModal .product-description {
width: 70%;
}
.pdp-zip-form-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 96%;
border-bottom: 2px solid black;
padding: 0em !important;
}
.pdp-zip-label {
margin: 0em 0em 1em 0em;
font-size: 26px;
font-weight: bold;
}
#pdp-zip-form {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 100%;
margin: 0em 0em 1em 0em;
}
.pdp-zip-input {
border: 1px solid black;
border-radius: 5px;
padding: 0.5em 0.25em;
filter: drop-shadow(2px 2px 0px black);
width: 40%;
font-size: 20px;
}
.pdp-zip-button {
padding: 0.5em 0em;
margin: 0em 0em 0em 0.5em;
border-radius: 5px;
border: 1px solid black;
filter: drop-shadow(2px 2px 0px black);
background-color: #ed241c;
color: white;
font-weight: bold;
width: 20%;
font-size: 20px;
cursor: pointer;
}
.pdp-zip-text {
font-size: 16px;
width: 75%;
text-align: justify;
}
.atc-modal-delivery-box {
display: none;
background-color: #e6e6e6;
width: 90%;
margin: 1em;
border-radius: 0px 20px;
}
.atc-modal-delivery-box.active-box {
border: 2px solid black;
filter: drop-shadow(2px 2px 0px black);
background-color: white;
}
.atc-modal-delivery-box.error-box {
background-color: #FBD3D2;
}
.atc-delivery-title-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
}
.atc-modal-delivery-title {
font-size: 20px;
font-weight: bold;
}
.delivery-selected-text {
font-size: 16px;
font-weight: bold;
color: #28B754;
}
.atc-modal-delivery-text {
display: none;
font-size: 16px;
}
.atc-modal-delivery-text-local {
display: none;
font-size: 16px;
}
.atc-modal-delivery-text-national {
display: none;
font-size: 16px;
}
.atc-modal-delivery-error-text {
display: none;
font-size: 16px;
}
.atc-modal-delivery-error-pu-option {
display: none;
font-size: 16px;
}
.atc-modal-delivery-btn-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.atc-modal-delivery-btn {
background-color: #1b77bb;
color: white;
padding: 0.25em 1em;
border: 1px solid black;
filter: drop-shadow(2px 2px 0px black);
border-radius: 5px;
font-size: 18px;
font-weight: bold;
}
.atc-modal-delivery-btn.error-btn {
background-color: #D9001D;
border: none;
filter: none;
opacity: 0.5;
}
.atc-modal-delivery-btn:hover,
.atc-modal-delivery-btn:active,
.atc-modal-delivery-btn:focus {
text-decoration: none;
color: white;
}
.atc-modal-estimated-ship-cost {
display: none;
font-size: 18px;
font-weight: bold;
}
.atc-modal-location-box {
display: none;
background-color: #e6e6e6;
border-radius: 0px 20px;
width: 90%;
}
.view-store-pick-up-btn {
position: sticky;
cursor: pointer;
z-index: 101;
border-top: 2px solid #000;
border-bottom: 2px solid #000;
background-color: #fff;
color: #000;
text-align: left;
font-weight: bolder;
padding: 0.2em !important;
padding-left: 1.8em !important;
width: 100%;
margin-bottom: 2em;
font-size: 0.9em;
bottom: 9em;
}
.triangle-bottom {
display: inline-flex;
border-left:
8px solid transparent;
border-right:
8px solid transparent;
border-top:
11px solid black;
margin-left: 1em;
}
.display-none {
display: none !important;
}
@media (min-width: 400px) {
.view-store-pick-up-btn {
padding-left: 2em !important;
font-size: 1em;
bottom: 4.5em;
}
}
@media (min-width: 576px) {
.view-store-pick-up-btn {
padding-left: 2.5em !important;
font-size: 1.1em;
bottom: 4.5em;
}
}
@media (min-width: 768px) {
.view-store-pick-up-btn {
bottom: 5em;
}
}
@media (min-width: 992px) {
.view-store-pick-up-btn {
padding-left: 3.2em !important;
}
}
@media (min-width: 1400px) {
.view-store-pick-up-btn {
bottom: 4.5em;
padding-left: 3.3em !important;
font-size: 1.1em;
}
}
.atc-modal-location-box.error-box {
background-color: #FBD3D2;
}
.atc-pick-up-title-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
}
.atc-modal-pick-up-title {
font-size: 20px;
font-weight: bold;
}
.pick-up-selected-text {
font-size: 16px;
font-weight: bold;
color: #28B754;
}
.atc-modal-pick-up-text {
font-size: 16px;
}
.atc-modal-pick-up-error-text {
display: none;
font-size: 16px;
}
.relative-store-content {
width: 28%;
}
.atc-modal-card-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
}
#relative-active,
#next-closest-store {
width: 100%;
}
.atc-location-card {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 0.5em 1em;
margin: 1em 0em;
border: 2px solid black;
border-radius: 0px 20px;
}
.atc-location-card.active {
background-color: white;
filter: drop-shadow(2px 2px 0px black);
}
.atc-location-card.active .atc-modal-card-btn {
background-color: #28B754;
}
.atc-location-card .store-link {
text-decoration: none;
}
.atc-location-card .store-link:hover {
text-decoration: none !important;
color: black;
}
.store-text-box {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
}
.atc-modal-store-name {
font-size: 16px;
font-weight: bold;
margin: 0em 1em 0em 0em;
color: black;
}
.atc-modal-stock-title {
font-size: 14px;
color: black;
}
.atc-modal-stock-error-title {
display: none;
font-size: 14px;
color: black;
}
.atc-modal-dis-cont {
color: black;
}
.atc-modal-selected-store-btn {
background-color: #1b77bb;
color: white;
padding: 0.25em 1em;
border: 1px solid black;
border-radius: 5px;
font-size: 18px;
font-weight: bold;
}
.atc-modal-card-btn {
background-color: #1b77bb;
color: white;
padding: 0.25em 1em;
border: 1px solid black;
filter: drop-shadow(2px 2px 0px black);
border-radius: 5px;
font-size: 18px;
font-weight: bold;
}
.atc-location-card.active .atc-modal-card-btn.error-btn {
background-color: #D9001D;
border: none;
filter: none;
opacity: 0.5;
}
.atc-modal-card-btn.error-btn {
background-color: #D9001D;
border: none;
filter: none;
opacity: 0.5;
}
.atc-modal-selected-store-btn:hover,
.atc-modal-card-btn:hover,
.atc-modal-selected-store-btn:active,
.atc-modal-card-btn:active,
.atc-modal-selected-store-btn:focus,
.atc-modal-card-btn:focus {
text-decoration: none;
color: white;
}
#hidden-stores {
display: none;
}
.atc-modal-error-box {
display: none;
background-color: #FBD3D2;
border-radius: 0px 20px;
width: 90%;
}
.atc-modal-error-title {
font-size: 20px;
font-weight: bold;
}
.atc-modal-error-text {
font-size: 16px;
color: black;
}
.atc-modal-services-box {
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
width: 90%;
}
.atc-modal-sub-services-box {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
border-top: 2px solid black;
}
.atc-summary-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
width: 50%;
padding: 1em 0em;
}
.atc-summary-title {
font-size: 24px;
font-weight: bold;
}
.atc-summary-text-box {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
width: 75%;
}
.summary-qty,
.summary-sub,
.summary-ship,
.summary-tax,
.summary-total {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 0em 0em 0.25em 0em;
}
.summary-qty p,
.summary-sub p,
.summary-ship p,
.summary-tax p,
.summary-total p {
margin: 0em;
}
.summary-qty span,
.summary-sub span,
.summary-ship span,
.summary-tax span,
.summary-total span {
font-weight: bold;
}
.services-divide {
border: 1px solid black;
height: 13em;
margin: 1em 1em 1em 0em;
}
.atc-modal-install-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
width: 50%;
padding: 1em 0em;
}
.atc-modal-install-title {
font-size: 24px;
font-weight: bold;
}
.atc-modal-install-option-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}
.atc-install-text {
margin: 0em 0em 0.25em 0em;
}
.atc-modal-learn-link {
margin: 0em 0em 0em 0.75em;
}
.atc-modal-learn-link img {
width: 70%;
}
#atc-modal-warranty-select {
margin: 1em 0em;
width: 100%;
display: flex;
flex-direction: column;
justify-content: start;
align-items: start;
}
.atc-modal-product-warranty {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
width: 100%;
padding: 1em;
background-color: #f7f7f7;
border-radius: 10px;
}
.atc-modal-warranty-title {
font-size: 20px;
font-weight: bold;
}
.atc-modal-warranty-box {
display: flex;
flex-direction: column;
justify-content: start;
align-items: start;
width: 100%;
border-bottom: 1px solid black;
}
.atc-protect-your-purchase {
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
width: 100%;
}
.atc-protect-your-purchase p {
margin: 0em 0em 0em 0.25em;
font-size: 22px;
font-weight: bold;
}
.atc-modal-warranty-image {
width: 25px;
}
.atc-warranty-info-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: start;
width: 100%;
margin-left: 25px;
}
.atc-modal-warranty-text {
font-size: 14px;
line-height: 1.1;
margin: 0em 0em 0.5em 0.5em;
}
.atc-warranty-info-box ul {
margin: 0em;
font-size: 14px;
line-height: 1;
}
.atc-warranty-info-box li {
margin: 0em 0em 0.3em 0em;
}
.warranty-input-row {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 0em 0em 0.5em 0em;
}
.warranty-input-row label {
font-size: 14px;
line-height: 1.1;
margin: 0em 0em 0em 0.5em;
}
.atc-modal-plan-box {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
text-align: center;
width: 100%;
}
/* Recommended Accessories */
.recommended-accessories--slider--modal {
margin-bottom: 1em;
}
#checkoutModal .rfk_header {
text-align: start;
font-size: 1rem;
}
#checkoutModal .rfk_eeweb_button,
#checkoutModal .btn-secondary {
background-color: #00a4e8;
color: white;
border: 1px solid #00a4e8;
}
#checkoutModal .rfk_eeweb_button:hover,
#checkoutModal .btn-secondary:hover {
background-color: white;
color: #00a4e8;
border: 1px solid white;
}
.atc-modal-btn-box {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-evenly;
align-items: center;
width: 100%;
padding: 1rem 0;
position: sticky;
bottom: 0;
background-color: white;
z-index: 100;
}
.padding-top {
padding-top: 2.2em !important;
}
.atc-modal-selected-warranty-text {
display: none;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 0em 0em 0em 1em;
font-size: 18px;
font-weight: bold;
color: #28B754;
}
.atc-modal-selected-warranty-text svg {
width: 20%;
margin: 0em 0em 0em 0.5em;
}
.atc-modal-keep-shopping {
padding: 0.5em 0em;
margin: 0em 0em 0em 0.5em;
border-radius: 5px;
border: 1px solid black;
filter: drop-shadow(2px 2px 0px black);
background-color: #1b77bb;
color: white;
font-weight: bold;
width: 35%;
font-size: 18px;
text-align: center;
cursor: pointer;
}
.atc-modal-view-cart {
padding: 0.5em 0em;
margin: 0em 0em 0em 0.5em;
border-radius: 5px;
border: 1px solid black;
filter: drop-shadow(2px 2px 0px black);
background-color: #ed241c;
color: white !important;
font-weight: bold;
width: 35%;
font-size: 18px;
text-align: center;
text-decoration: none;
}
.atc-modal-view-cart:hover,
.view-store-pick-up-btn:hover {
text-decoration: none;
color: white;
}
.atc-modal-keep-shopping,
.atc-modal-view-cart {
flex-basis: 100%;
}
.display-block {
display: block !important;
}
@media (max-width: 399px) {
.modal-header {
flex-direction: row;
flex-wrap: nowrap;
width: 100%;
padding: 0.5em 1em;
}
.modal-header-text {
flex-direction: column;
}
.modal-header .modal-title {
font-size: 12px;
flex: auto;
margin: 0em 0em 0.5em 0em;
text-transform: none;
}
.modal-cart-total {
font-size: 12px;
text-align: center;
text-transform: none;
}
.atc-modal-dialog {
max-width: 100%;
margin: 0em auto;
}
#checkoutModal .product-media {
width: 45%;
}
#checkoutModal .product-description {
width: 55%;
}
.atc-modal-product-box {
flex-direction: column;
}
.atc-modal-product-image {
width: 40%;
}
.atc-modal-description-box {
width: 90%;
}
.pdp-zip-label {
font-size: 22px;
margin: 0em 0em 0.5em 0em;
}
.pdp-zip-input {
width: 60%;
}
.pdp-zip-button {
width: 30%;
}
.pdp-zip-text {
width: 90%;
text-align: start;
line-height: 20px;
}
.atc-modal-delivery-btn-box {
flex-direction: column-reverse;
}
.atc-modal-selected-store-btn {
padding: 0.25em;
}
.atc-modal-card-btn {
padding: 0.25em;
}
.atc-modal-services-box {
width: 100%;
}
.atc-modal-sub-services-box {
flex-direction: column;
}
.atc-summary-box {
width: 100%;
}
.services-divide {
display: none;
}
.atc-modal-install-box {
width: 100%;
border-top: 2px solid black;
}
.atc-modal-plan-box {
flex-direction: column;
}
.atc-modal-btn-box {
flex-direction: column;
}
.atc-modal-keep-shopping {
width: 90%;
margin: 0em 0em 0.5em 0em;
}
.atc-modal-view-cart {
width: 90%;
}
}
@media (min-width: 400px) {
.modal-header {
flex-direction: row;
flex-wrap: nowrap;
width: 100%;
padding: 0.5em 1em;
}
.modal-header .modal-title {
font-size: 12px;
flex: auto;
text-transform: none;
}
.modal-cart-total {
font-size: 12px;
text-align: center;
text-transform: none;
}
.atc-modal-dialog {
max-width: 100%;
margin: 0em auto;
}
.atc-modal-product-box {
flex-direction: row;
}
.atc-modal-product-image {
width: 30%;
}
.atc-modal-description-box {
width: 50%;
}
.pdp-zip-label {
font-size: 22px;
margin: 0em 0em 0.5em 0em;
}
.pdp-zip-input {
width: 60%;
}
.pdp-zip-button {
width: 30%;
}
.pdp-zip-text {
width: 90%;
text-align: start;
line-height: 20px;
}
.atc-modal-delivery-btn-box {
flex-direction: row;
}
.atc-modal-selected-store-btn {
padding: 0.25em;
}
.atc-modal-card-btn {
padding: 0.25em;
}
.atc-modal-services-box {
width: 100%;
}
.atc-modal-sub-services-box {
flex-direction: column;
}
.atc-summary-box {
width: 100%;
}
.services-divide {
display: none;
}
.atc-modal-install-box {
width: 100%;
border-top: 2px solid black;
}
.atc-modal-plan-box {
flex-direction: column;
}
.atc-modal-btn-box {
flex-direction: row;
}
.atc-modal-keep-shopping,
.atc-modal-view-cart {
font-size: 18px;
}
.atc-modal-keep-shopping,
.atc-modal-view-cart {
flex-basis: 45%;
}
}
@media (min-width: 576px) {
#checkoutModal .atc-modal-dialog {
margin: 0em 0em 0em auto;
}
.atc-modal-dialog {
max-width: 70%;
}
.modal-header .modal-title {
font-size: 14px;
}
.modal-cart-total {
font-size: 14px;
}
.atc-modal-product-box {
flex-direction: row;
}
.atc-modal-product-image {
width: 20%;
}
.atc-modal-description-box {
width: 60%;
}
.pdp-zip-label {
font-size: 26px;
margin: 0em 0em 1em 0em;
}
.pdp-zip-input {
width: 40%;
}
.pdp-zip-button {
width: 20%;
}
.pdp-zip-text {
width: 75%;
}
.atc-modal-selected-store-btn {
padding: 0.25em 1em;
}
.atc-modal-card-btn {
padding: 0.25em 1em;
}
.atc-modal-sub-services-box {
flex-direction: row;
}
.atc-summary-box {
width: 50%;
}
.services-divide {
display: block;
}
.atc-modal-install-box {
width: 50%;
border-top: none;
}
.atc-modal-plan-box {
flex-direction: row;
}
}
@media (min-width: 768px) {
.atc-modal-dialog {
max-width: 60%;
}
.atc-modal-product-image {
width: 15%;
}
}
@media (min-width: 992px) {
.atc-modal-dialog {
max-width: 46%;
}
}
@media (min-width: 1200px) {
.atc-modal-dialog {
max-width: 42%;
}
}
@media (min-width: 1400px) {
.atc-modal-dialog {
max-width: 36%;
}
}
@media (min-width: 1800px) {
.atc-modal-dialog {
max-width: 34%;
}
}
</style>
<script>
let paddingTopFlag = false;
let mobileProductImageSlideFlag = false;
let storePickUpBox;
let atcModalBtnBox;
let cartData;
let initialQty = "0"
const currentProdID = "206958"
let appendCount = 0;
function getCartData() {
$.ajax({
type: "GET",
url: "/cart?json=1",
dataType: "json",
async: false,
success : function(data) {
cartData = data;
}
});
}
function createCartSummary(cartData, currentProdID) {
$('.modal-cart-total').replaceWith($("<h4 class='modal-cart-total'>Cart Total: " + cartData.total + "</h4>"));
$('.summary-qty').replaceWith($("<div class='summary-qty'><p>Item Total:</p><span>" + cartData.item_qty + "</span></div>"));
$('.summary-sub').replaceWith($("<div class='summary-sub'><p>Cart Sub-Total:</p><span>" + cartData.sub_total + "</span></div>"));
$('.summary-ship').replaceWith($("<div class='summary-ship'><p>Shipping Estimate:</p><span>$" + cartData.ship_cost + "</span></div>"));
$('.summary-tax').replaceWith($("<div class='summary-tax'><p>Tax Estimate:</p><span>$" + cartData.tax_cost +"</span></div>"));
$('.summary-total').replaceWith($("<div class='summary-total'><p>Cart Total:</p><span>" + cartData.total + "</span></div>"));
for(var i=0; i < cartData.cart.length; i++) {
if(cartData.cart[i].prod_id == "206958") {
for(var j=0; j < cartData.cart[i].services.length; j++ ) {
if(cartData.cart[i].services[j].selected == true && cartData.cart[i].services[j].haul_away_selected == true) {
$('.atc-install-text').replaceWith($("<p class='atc-install-text'>" + cartData.cart[i].services[j].service_desc + ": " + "$" + cartData.cart[i].services[j].service_price + "</p>"));
$('.atc-install-haul-text').replaceWith("<p class='atc-install-haul-text'>Haul Away: $25.00</p>");
}
else if(cartData.cart[i].services[j].selected == true && cartData.cart[i].services[j].haul_away_selected == false) {
$('.atc-install-text').replaceWith($("<p class='atc-install-text'>" + cartData.cart[i].services[j].service_desc + ": " + "$" + cartData.cart[i].services[j].service_price + "</p>"));
}
}
for(var k=0; k < cartData.cart[i].warranty.length; k++) {
let warrantyPrice = cartData.cart[i].warranty[k].warranty_price;
let warrantyName = cartData.cart[i].warranty[k].warranty_name;
let warrantyId = cartData.cart[i].warranty[k].prod_id;
let warrantyParent = cartData.cart[i].warranty[k].parent_prod_id;
let warrantySelected = cartData.cart[i].warranty[k].selected;
if($("#warranty-" + k).length == 0 && warrantyName != undefined && appendCount < 2) {
$("#atc-modal-warranty-select").append($("<div class='warranty-input-row'><input type='radio' name='warranty' id='warranty-" + k +"'" + "value='/cart?action=warranty&prod_id=" + warrantyParent + "&warranty=" + warrantyId + "&json=1' class='atc-modal-warranty-option' " + (warrantySelected ? "selected" : "") + "></input><label for='warranty-" + k + "'>" + "$" + warrantyPrice + " - " + warrantyName + "</label></div>"));
appendCount++;
}
}
}
}
for(var i=0; i < cartData.cart.length; i++) {
if(cartData.cart[i].prod_id == currentProdID) {
$(".atc-modal-product-quantity").replaceWith("<p class='atc-modal-product-quantity'> Quantity in Cart: " + cartData.cart[i].prod_qty + "</p>");
}
};
$(".recommended-accessories--slider--modal").resize();
var rfk = window.rfk = window.rfk || [];
rfk.push(["updateContext", {
"widget": {
"rfkids": ["rfkid_4"]
},
"context": {
"page": {
"sku": []
}
}
}]);
};
function atcModalSelectDelivery() {
if($('.atc-modal-delivery-btn').text() == 'Select') {
$('.atc-modal-delivery-btn').text('Confirm');
$('.atc-modal-delivery-btn').css('background-color', '#28B754');
$('.atc-location-card').each(function() {
if($(this).hasClass('active')) {
$(this).children('.atc-modal-card-btn').text('Select');
$(this).children('atc-modal-card-btn').css('background-color', '#1b77bb');
$(this).children('.atc-modal-selected-store-btn').text('Select');
$(this).children('.atc-modal-selected-store-btn').css('background-color', '#1b77bb');
$(this).removeClass('active');
if($(this).children('.atc-modal-selected-store-btn')) {
$(this).children('.atc-modal-selected-store-btn').addClass('atc-modal-card-btn');
$(this).children('.atc-modal-card-btn').removeClass('atc-modal-selected-store-btn');
}
}
});
if($(window).width() < 576) {
$(".atc-modal-sub-services-box").css('justify-content', 'center');
$(".atc-summary-box").css('width', '60%');
$(".services-divide").css('display', 'block');
$(".atc-summary-text-box").css('width', '75%');
}
$(".atc-modal-location-box").css('border', 'none');
$(".atc-modal-delivery-box").addClass('active-box');
}
else {
$.ajax({
url: '/cart?pickup=1&json=1',
success:
function(data) {
cartData = data;
createCartSummary(cartData);
$('.main-atc-modal-box').addClass('loading');
$('.pdp-zip-form-box').css('display', 'none');
$('.atc-modal-delivery-box').css('display', 'none');
$('.atc-modal-location-box').css('display', 'none');
$('.view-store-pick-up-btn').css('display', 'none');
$('.atc-modal-install-box').css('display', 'flex');
$('.atc-modal-services-box').css('display', 'flex');
$('.main-atc-modal-box').removeClass('loading');
$(".recommended-accessories--slider--modal").resize();
$(".recommended-accessories--slider--modal").removeClass('loading');
}
});
}
}
function atcModalSelectStore(param) {
if($(".atc-location-card.active").attr('store-id') == param) {
param = param.toString();
if (param.length == 1) {
param = param.padStart(2, '0');
}
$.ajax({
url: '/cart?pickup=2&store=' + param + '&json=1',
success:
function(data) {
cartData = data;
createCartSummary(cartData);
if($(window).width() > 576) {
$('.atc-modal-sub-services-box').css('justify-content', 'flex-start');
$('.atc-summary-box').css('width', '100%');
$('.services-divide').css('display', 'none');
$('.atc-summary-text-box').css('width', '35%');
}
$('.pdp-zip-form-box').css('display', 'none');
$('.atc-modal-delivery-box').css('display', 'none');
$('.atc-modal-location-box').css('display', 'none');
$('.view-store-pick-up-btn').css('display', 'none');
$('.atc-modal-install-box').css('display', 'none');
$('.atc-modal-services-box').css('display', 'flex');
$(".recommended-accessories--slider--modal").resize();
$(".recommended-accessories--slider--modal").removeClass('loading');
}
});
}
else {
$('.atc-location-card').removeClass('active');
$('.atc-location-card').each(function() {
if($(this).attr('store-id') == param) {
$(this).addClass('active');
$(this).children('.atc-modal-card-btn').addClass('atc-modal-selected-store-btn');
$(this).children('.atc-modal-card-btn').removeClass('atc-modal-card-btn');
}
else if($(this).children('.atc-modal-selected-store-btn')) {
$(this).children('.atc-modal-selected-store-btn').addClass('atc-modal-card-btn');
$(this).children('.atc-modal-selected-store-btn').removeClass('atc-modal-selected-store-btn');
}
})
$('.atc-modal-selected-store-btn').text('Confirm');
$('.atc-modal-selected-store-btn').css('background-color', '#28B754');
$('.atc-modal-delivery-btn').text('Select');
$('.atc-modal-delivery-btn').css('background-color', '#1b77bb')
$('.atc-modal-card-btn').text('Select');
$('.atc-modal-card-btn').css('background-color', '#1b77bb');
$(".atc-modal-location-box").css('border', '2px solid black');
$(".atc-modal-delivery-box").removeClass('active-box');
}
}
function setWarranty(cartData) {
let selectedWarranty = $('.atc-modal-warranty-option:checked').val();
$.ajax({
url: selectedWarranty,
success: function(data) {
cartData = data;
createCartSummary(cartData);
}
})
}
$("#pdp-zip-form").on("submit", function(event) {
event.preventDefault();
let initialQty = "0"
const enteredZip = $('#pdp-zip-code').val();
if(enteredZip != cartData.cart_zip || initialQty == 0) {
let newZipUrl = '/cart?pickup=1&cart_zip=' + enteredZip + '&json=1'
setCookie('zipcode', enteredZip);
$.ajax({
url: newZipUrl,
dataType: "json",
success: function(data) {
cartData = data;
let initialQty = cartData.item_qty;
$('.atc-modal-delivery-title').replaceWith("<p class='atc-modal-delivery-title'>Delivery to " + cartData.cart_zip + "</p>");
getAvailableStores(cartData)
stockOptions(cartData, initialQty);
}
});
}
});
function stockOptions(cartData, initialQty) {
let currentProdID = "206958";
let { cart_zip: currentZip, pickup, cart_zip_local: localZip, pickup_all_instock: selectedStoreInStock, pickup_eligible: pickupEligibleCart, delivery_eligible: deliveryEligibleCart, cart } = cartData;
const show = (selector) => $(selector).css('display', 'block');
const hide = (selector) => $(selector).css('display', 'none');
const flex = (selector) => $(selector).css('display', 'flex');
const addClass = (selector, className) => $(selector).addClass(className);
const removeClass = (selector, className) => $(selector).removeClass(className);
const setText = (selector, text) => $(selector).text(text);
const removeOnClick = (selector) => $(selector).removeAttr('onclick');
if(window.location.href.includes("/catalog/")) {
createCartSummary(cartData, currentProdID);
hide('.atc-modal-delivery-box, .atc-modal-location-box, .pdp-zip-form-box, .atc-modal-sub-services-box');
flex('.atc-modal-services-box');
} else {
if (initialQty === 0) {
hide('.atc-modal-delivery-box, .atc-modal-location-box');
return;
}
if (localZip) {
if (pickup) {
show('.pick-up-selected-text');
hide('.delivery-selected-text');
show('.atc-modal-location-box, .view-store-pick-up-btn, .atc-modal-delivery-box, .atc-modal-delivery-text-local');
hide('.atc-modal-delivery-text-national, .atc-modal-estimated-ship-cost');
removeClass(".atc-modal-delivery-box", 'active-box');
if (pickupEligibleCart && deliveryEligibleCart) {
$(".atc-modal-location-box").css('border', '2px solid black');
} else if (!pickupEligibleCart && deliveryEligibleCart) {
addClass(".atc-modal-location-box", 'error-box');
addClass(".atc-modal-card-btn", 'error-btn');
setText(".atc-modal-card-btn", "Not Available");
removeOnClick(".atc-modal-card-btn");
hide(".atc-modal-pick-up-text, .atc-modal-stock-title");
show(".atc-modal-pick-up-error-text, .atc-modal-stock-error-title");
} else if (pickupEligibleCart && !deliveryEligibleCart) {
addClass(".atc-modal-delivery-box", 'error-box');
addClass(".atc-modal-delivery-btn", 'error-btn');
setText(".atc-modal-delivery-btn", "Not Available");
removeOnClick(".atc-modal-delivery-btn");
hide(".atc-modal-delivery-text");
show(".atc-modal-delivery-error-text");
}
} else {
show('.delivery-selected-text');
hide('.pick-up-selected-text');
show(".atc-modal-location-box, .view-store-pick-up-btn, .atc-modal-delivery-box, .atc-modal-delivery-text-local");
hide(".atc-modal-delivery-text-national, .atc-modal-delivery-error-pu-option");
addClass(".atc-modal-delivery-box", 'active-box');
setText(".atc-modal-delivery-btn", 'Confirm');
$(".atc-modal-delivery-btn").css('background-color', '#28B754');
}
} else {
if (deliveryEligibleCart) {
show('.delivery-selected-text');
hide('.pick-up-selected-text, .atc-modal-location-box');
show(".atc-modal-delivery-box, .atc-modal-delivery-text-national");
addClass(".atc-modal-delivery-box", 'active-box');
setText(".atc-modal-delivery-btn", 'Confirm');
$(".atc-modal-delivery-btn").css('background-color', '#28B754');
} else if (pickupEligibleCart) {
hide(".atc-modal-location-box, .atc-modal-delivery-text-local, .atc-modal-delivery-text-national, .atc-modal-delivery-error-text");
show(".atc-modal-delivery-error-pu-option");
}
}
if (!pickupEligibleCart && !deliveryEligibleCart) {
show(".atc-modal-error-box");
hide(".atc-modal-location-box, .atc-modal-delivery-box");
}
}
cart.forEach(item => {
if (item.prod_id === currentProdID) {
$(".atc-modal-estimated-ship-cost").replaceWith(`<p class='atc-modal-estimated-ship-cost'>Shipping Estimate: ${item.item_ship_cost}</p>`);
show(".atc-modal-estimated-ship-cost");
}
});
checkToDisplayStorePickUpMobileLink();
}
var markers;
var gmarkers = [];
function getAvailableStores(cartData) {
let availableStores = cartData.stores;
$('#launcher').css({ left:'0px' });
if($(window).width() < 768) {
$("#launcher").css('z-index', "99")
}
if(cartData.pickup_eligible == true) {
for(var i=0; i < availableStores.length; i++) {
if(availableStores[i].id != undefined) {
let lat = availableStores[i].latitude;
let lng = availableStores[i].longitude;
let point = {lat:lat, lng:lng};
let id = availableStores[i].id;
let name = availableStores[i].name;
let marker = new google.maps.Marker({
position: point,
id: id,
title: name,
reset: false
})
gmarkers[id] = marker;
}
};
getStoreDistance(cartData);
}
else {
$('.atc-location-card').each(function() {
if($(this).hasClass('active')) {
$(this).appendTo('#relative-active')
}
else {
$(this).appendTo("#hidden-stores")
}
});
$(".atc-modal-location-box").removeClass('modal-loading');
}
};
function getStoreDistance(cartData) {
geocoder = new google.maps.Geocoder();
var numberOfResults = 25;
var numberOfDrivingResults = 1;
var address = cartData.cart_zip;
geocoder.geocode({'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
closest = findClosestN(results[0].geometry.location, numberOfResults);
calculateDistances(results[0].geometry.location, closest, numberOfDrivingResults);
};
});
}
function findClosestN(pt, numberOfResults) {
var closest = [];
for (var id = 1; id < gmarkers.length; id++) {
if ( gmarkers[id] != undefined ) {
gmarkers[id].distance = google.maps.geometry.spherical.computeDistanceBetween(pt, gmarkers[id].getPosition());
closest.push(gmarkers[id]);
}
}
closest.sort(sortByDist);
while (closest.length > numberOfResults) {
closest.pop();
}
return closest;
};
function sortByDist(a, b) {
return (a.distance - b.distance)
};
function calculateDistances(pt, closest, numberOfResults) {
var service = new google.maps.DistanceMatrixService();
var request = {
origins: [pt],
destinations: [],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false
};
for (var i = 0; i < closest.length; i++) {
request.destinations.push(closest[i].getPosition());
};
service.getDistanceMatrix(request, function(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
var results = response.rows[0].elements;
// save title and address in record for sorting
for (var i = 0; i < closest.length; i++) {
results[i].title = closest[i].title;
results[i].stock = closest[i].stock;
results[i].id = closest[i].id;
results[i].idx_closestMark = i;
}
for (var i = 0; i < results.length; i++) {
reorderCards(results, cartData);
};
};
});
};
function reorderCards(results, cartData) {
let allStockStores = cartData.stores;
let matches = [];
matches = [];
let selectedHasAll = true;
for (var i = 0; i < results.length; i++) {
for(var j=0; j < allStockStores.length; j++) {
if(allStockStores[j].selected == true && allStockStores[j].id == results[i].id && cartData.pickup == true) {
selectedHasAll = allStockStores[j].has_all;
if(cartData.pickup_eligible == true) {
$('.atc-location-card[store-id=' + results[i].id + ']').addClass('active');
}
$('.atc-location-card[store-id=' + results[i].id + '] .atc-modal-card-btn').text('Confirm');
$('.atc-location-card[store-id=' + results[i].id + '] .atc-modal-dis-cont').html(results[i].distance.text + ' away');
}
else if(allStockStores[j].id == results[i].id && matches.includes(results[i].id) == false) {
matches.push(results[i].id)
$('.atc-location-card[store-id=' + results[i].id + '] .atc-modal-dis-cont').html(results[i].distance.text + ' away');
$('.atc-location-card[store-id=' + results[i].id + ']').insertBefore('#hidden-stores');
}
}
};
$('.atc-location-card').each(function() {
if($(this).hasClass('active') && ($(this).hasClass('available--out') || selectedHasAll == false)) {
$(this).appendTo('#relative-active');
$(this).css("background-color", "#FBD3D2");
$(this).find(".atc-modal-card-btn").text("Not Available");
$(this).find(".atc-modal-card-btn").addClass("error-btn");
$(this).find(".atc-modal-card-btn").removeAttr("onclick");
$(this).find(".atc-modal-stock-title").text("Out of Stock");
}
else if($(this).hasClass('active') && !$(this).hasClass('available--out')) {
$(this).appendTo('#relative-active');
}
else if($.inArray($(this).attr("store-id"), matches) !== -1 && !$(this).hasClass('active')) {
$(this).appendTo('#next-closest-store')
$('#next-closest-store .atc-location-card').slice(5,25).appendTo("#hidden-stores");
}
else {
$(this).appendTo("#hidden-stores");
}
});
$(".atc-modal-location-box").removeClass('modal-loading');
};
if (window.matchMedia("(max-width: 575px)").matches) {
$(".pdp-zip-button").click(function() {
if (!mobileProductImageSlideFlag) {
$(".atc-modal-product-image").slideUp(500, function () {
mobileProductImageSlideFlag = true;
});
}
});
/* remove 'atc-modal-product-image' image if height of viewport is less than 750px, and less than 576px wide. */
if ($(window).height() < 750) {
$(".atc-modal-product-image").css("display", "none");
}
}
$(document).ready(function () {
/* call checkToDisplayStorePickUpMobileLink() whenever a 'scroll' is detected. */
$("#checkoutModal").on("scroll", checkToDisplayStorePickUpMobileLink);
$(".recommended-accessories--slider--modal").slick({
dots: false,
centerMode: false,
infinite: true,
speed: 300,
slidesToShow: 2,
slidesToScroll: 1,
swipeToSlide: true,
nextArrow: nextArrow,
prevArrow: prevArrow,
responsive: [
{
breakpoint: 635,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 576,
settings: {
slidesToShow: 2,
},
},
{
breakpoint: 425,
settings: {
slidesToShow: 1,
},
},
],
});
});
/* scroll to 'atc-modal-location-box' when 'view-store-pick-up-btn' is clicked. */
$('.view-store-pick-up-btn').on('click', function(e) {
$('#checkoutModal').animate({
scrollTop: $(".atc-modal-location-box").offset().top
}, 1000, 'swing');
});
function checkToDisplayStorePickUpMobileLink() {
/* calculate heights of store pick up box and sticky action btns. */
storePickUpBox = $(".atc-modal-location-box").offset().top;
atcModalBtnBox = $(".atc-modal-btn-box").offset().top;
if (storePickUpBox < (atcModalBtnBox - 50)) {
$(".view-store-pick-up-btn").css("display", "none");
} else {
$(".view-store-pick-up-btn").css("display", "block");
/* display the 'check store availability' link (if the store pick up box exists). */
if (storePickUpBox > 0) {
$(".view-store-pick-up-btn").removeClass("display-none");
}
}
/* the padding top styling for the 'atc-modal-btn-box' div will not be applied when page is loaded initially; once this function is called once, it will run (since paddingTopFlag will be true) - apply padding top to the 'atc-modal-btn-box' when 'check store availability' is displayed. */
if (paddingTopFlag) {
if (storePickUpBox < atcModalBtnBox) {
$(".atc-modal-btn-box").removeClass("padding-top");
} else {
$(".atc-modal-btn-box").addClass("padding-top");
}
}
paddingTopFlag = true;
}
$('body').click(function() {
if($(event.target).is('#checkoutModal') && $('#checkoutModal').is(':visible')) {
$(".modal-backdrop").remove();
}
});
$('#checkoutModal').find('.close').click(function() {
$(".modal-backdrop").remove();
});
$('.atc-modal-keep-shopping').on('click', function() {
$(".modal-backdrop").remove();
})
document.addEventListener("DOMContentLoaded", function() {
const targetNode = document.getElementById("checkoutModal");
const config = { attributes: true, attributeFilter: ["style"] };
// add a mutation observer to check when '#checkoutModal' is displayed (the drawer on our pdp pages); if it is set to 'block', go through the add-on products associated with the product, and display the products that have been clicked by the user.
const callback = function(mutationsList) {
for (const mutation of mutationsList) {
if (mutation.target.style.display === "block") {
document.querySelectorAll(".product-offers--list-prod").forEach(function(product) {
const prodId = product.id.replace("product-", "");
if (!addOnProductsArr.includes(parseInt(prodId))) {
product.style.display = "none";
} else {
document.querySelector(".atc-modal-product-add-ons").style.display = "block";
product.style.display = "block";
}
});
} else {
document.querySelector(".atc-modal-product-add-ons").style.display = "none";
}
}
};
// call the function whenever the '#checkoutModal' has its display changed.
const observer = new MutationObserver(callback);
observer.observe(targetNode, config);
});
</script>
<style>
#store-avail .modal-dialog {
margin: 0em;
width: 55%;
top: 0%;
left: 45%;
}
#store-avail .modal-content {
height: 100vh;
}
#store-avail .location--container {
background-color: #fff;
height: 100%;
}
#store-avail .location--search {
padding: 0.5em;
border: none;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
}
.location-input-box {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 80%;
}
.location-input-box #addressInput {
border-radius: 10px 0px 0px 10px;
border: 1px solid black;
border-right: none;
color: #000;
font-size: 14px;
padding: 0.25rem;
width: 75%;
}
.location-input-box #searchButton {
background-color: #e31a22;
border: 1px solid #e31a22;
border-radius: 0px 10px 10px 0px;
color: #fff;
cursor: pointer;
font-size: 14px;
font-weight: bold;
padding: 0.25rem;
width: 25%;
}
.product-availability-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0.5rem 0;
height: fit-content;
}
.product-availability-option {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 0em;
height: 100%;
}
.product-availability-filter {
background-color: #165b65;
border: 1px solid #165b65;
border-radius: 10px;
color: #fff;
cursor: pointer;
font-size: 1rem;
margin: 0.25rem;
padding: 0.5rem 1rem;
text-align: center;
height: 100%;
width: 100%;
}
.product-availability-filter.active {
background-color: #fff;
color: #165b65;
}
.product-availability-filter.active:focus-visible,
.product-availability-filter.active:focus {
outline: none;
}
.location-card-container {
padding: 0em 0.5em;
}
.product-location-card {
display: flex;
flex-direction: column;
justify-content: center;
align-items: start;
padding: 0.75em;
margin: 0.5em 0em;
background-color: #F7F7F7;
border-radius: 10px;
}
.location-title-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
}
.store-loc-row {
display: flex;
flex-direction: column;
justify-content: start;
align-items: start;
padding: 0em;
}
.loc {
font-size: 1rem;
font-weight: bold;
color: #000;
}
.stoc {
font-size: 14px;
}
.available--in-stock .stoc {
color: #165b65;
}
.available--pickup .stoc {
color: #00a4e8;
}
.available--store-order .stoc {
color: #e31a22;
}
.store-location-address {
font-size: 14px;
line-height: 1.1;
margin-bottom: 0.25em;
}
.store-location-info-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: start;
width: 100%;
}
.store-location-hours {
font-size: 14px;
margin: 0em;
}
.dis-cont {
font-size: 14px;
margin: 0em;
}
.available--in-stock .cart-link {
background-color: #165b65 !important;
border: 1px solid #165b65 !important;
}
.available--pickup .cart-link {
background-color: #00a4e8 !important;
border: 1px solid #00a4e8 !important;
}
.available--store-order .cart-link {
background-color: #e31a22 !important;
border: 1px solid #e31a22 !important;
}
.cart-link {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
border-radius: 10px;
color: #fff;
cursor: pointer;
font-size: 14px;
margin: 0.25rem;
padding: 0.25rem;
text-align: center;
}
.available--in-stock .cart-link:hover {
background-color: #fff !important;
color: #165b65 !important;
}
.available--pickup .cart-link:hover {
background-color: #fff !important;
color: #00a4e8 !important;
}
.available--store-order .cart-link:hover {
background-color: #fff !important;
color: #e31a22 !important;
}
.cart-link:hover {
text-decoration: none;
}
/* Filter Styles */
#store-avail .location--search .product-availability-row {
justify-content: space-between;
}
@media (max-width: 399px) {
#store-avail .modal-dialog {
width: 100%;
left: 0%;
}
#store-avail .modal-content {
width: 100vw;
}
}
@media (min-width: 400px) {
#store-avail .modal-dialog {
width: 100%;
left: 0%;
}
#store-avail .modal-content {
width: 100vw;
}
}
@media (min-width: 576px) {
#store-avail .modal-dialog {
width: 70%;
left: 34%;
}
#store-avail .modal-content {
width: auto;
}
.product-availability-row {
height: 75px;
}
.product-availability-filter {
width: 95%;
}
}
@media (min-width: 768px) {
#store-avail .modal-dialog {
width: 100%;
left: 10%;
}
#store-avail .modal-body {
flex-wrap: nowrap;
}
.product-availability-row {
height: fit-content;
}
}
@media (min-width: 1200px) {
#store-avail .modal-dialog {
width: 70%;
left: 32%;
}
.product-availability-row {
height: 75px;
}
.product-availability-filter {
font-size: 0.75rem;
}
}
@media (min-width: 1440px) {
.product-availability-filter {
font-size: 0.9rem;
}
}
</style>
<div class="modal fade" role="dialog" aria-hidden="true" id="store-avail">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><svg class="svg-icon" aria-hidden="true"><use xlink:href="#icon-close"></use></svg></span></button>
<h4 class="modal-title">Check Availability for Logitech 980000402</a></h4>
</div>
<div class="modal-body flex-row clearfix">
<!-- Store Location List -->
<div class="location--container col-xs-12 col-md-6 col-lg-5 col-no-padding">
<div class="location--search">
<div class="location-input-box">
<input id="addressInput" type="text" value="79000" onfocus="if(this.value=='Zip Code or Address') this.value='';" aria-label="Search Location Entry">
<input id="searchButton" type="button" value="Search">
<script>
var input = document.getElementById("addressInput");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("searchButton").click();
}
});
</script>
</div>
</div>
<div class="location-card-container">
<div id="store-1" class="product-location-card col-xs-12 available--pickup" store-id="1">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Nolensville Pike</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=01" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Nolensville Pike', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=01" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(01)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-1-info" class="">
<p class="store-location-address">
5308 Nolensville Pike<br>
Nashville, TN 37211
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-2" class="product-location-card col-xs-12 available--pickup" store-id="2">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Columbia, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=02" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Columbia, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=02" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(02)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-2-info" class="">
<p class="store-location-address">
819 S. James Campbell Blvd.<br>
Columbia, TN 38401
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-3" class="product-location-card col-xs-12 available--pickup" store-id="3">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Rivergate Marketplace</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=03" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Rivergate Marketplace', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=03" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(03)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-3-info" class="">
<p class="store-location-address">
2101-A N. Gallatin Rd.<br>
Madison, TN 37115
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-4" class="product-location-card col-xs-12 available--pickup" store-id="4">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Decatur, AL</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=04" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Decatur, AL', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=04" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(04)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-4-info" class="">
<p class="store-location-address">
303 Beltline Place SW <br>
Decatur, AL 35603
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 9:00 am - 8:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-5" class="product-location-card col-xs-12 available--pickup" store-id="5">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Gallatin, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=05" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Gallatin, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=05" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(05)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-5-info" class="">
<p class="store-location-address">
825 Nashville Pike<br>
Gallatin, TN 37066
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-6" class="product-location-card col-xs-12 available--pickup" store-id="6">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Oak Ridge, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=06" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Oak Ridge, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=06" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(06)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-6-info" class="">
<p class="store-location-address">
213 East Main Street<br>
Oak Ridge, TN 37830
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-7" class="product-location-card col-xs-12 available--pickup" store-id="7">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Huntsville, AL</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=07" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Huntsville, AL', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=07" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(07)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-7-info" class="">
<p class="store-location-address">
2750 Carl T Jones Dr. SE<br>
Huntsville, AL 35802
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 9:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-8" class="product-location-card col-xs-12 available--pickup" store-id="8">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Florence, AL</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=08" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Florence, AL', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=08" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(08)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-8-info" class="">
<p class="store-location-address">
398 Cox Creek Pkwy<br>
Florence, AL 35630
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 9:00 am - 8:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-9" class="product-location-card col-xs-12 available--pickup" store-id="9">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Clarksville, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=09" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Clarksville, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=09" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(09)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-9-info" class="">
<p class="store-location-address">
2819-D Wilma Rudolph Blvd<br>
Clarksville, TN 37040
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-10" class="product-location-card col-xs-12 available--pickup" store-id="10">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Cleveland, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=10" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Cleveland, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=10" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(10)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-10-info" class="">
<p class="store-location-address">
4520 Frontage Rd. NW<br>
Cleveland, TN 37312
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-11" class="product-location-card col-xs-12 available--pickup" store-id="11">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">100 Oaks Mall</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=11" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('100 Oaks Mall', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=11" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(11)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-11-info" class="">
<p class="store-location-address">
719 Thompson Lane LA-5<br>
Nashville, TN 37204
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-12" class="product-location-card col-xs-12 available--pickup" store-id="12">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Cookeville, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=12" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Cookeville, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=12" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(12)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-12-info" class="">
<p class="store-location-address">
596a South Jefferson Ave.<br>
Cookeville, TN 38501
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-14" class="product-location-card col-xs-12 available--pickup" store-id="14">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Hixson, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=14" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Hixson, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=14" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(14)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-14-info" class="">
<p class="store-location-address">
5425 Tennessee 153<br>
Hixson, TN 37343
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-15" class="product-location-card col-xs-12 available--pickup" store-id="15">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Murfreesboro, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=15" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Murfreesboro, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=15" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(15)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-15-info" class="">
<p class="store-location-address">
1720 Old Fort Pkwy. Suite 2003-B<br>
Murfreesboro, TN 37129
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-16" class="product-location-card col-xs-12 available--pickup" store-id="16">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Tullahoma, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=16" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Tullahoma, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=16" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(16)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-16-info" class="">
<p class="store-location-address">
2020 N. Jackson St.<br>
Tullahoma, TN 37388
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-17" class="product-location-card col-xs-12 available--pickup" store-id="17">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Hermitage, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=17" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Hermitage, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=17" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(17)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-17-info" class="">
<p class="store-location-address">
5108 Old Hickory Blvd.<br>
Hermitage, TN 37076
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-18" class="product-location-card col-xs-12 available--pickup" store-id="18">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Spring Hill, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=18" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Spring Hill, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=18" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(18)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-18-info" class="">
<p class="store-location-address">
1041 Crossings Blvd<br>
Spring Hill, TN 37174
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-19" class="product-location-card col-xs-12 available--pickup" store-id="19">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Cool Springs</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=19" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Cool Springs', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=19" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(19)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-19-info" class="">
<p class="store-location-address">
1735 Galleria Blvd Suite 1000<br>
Franklin, TN 37067
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-21" class="product-location-card col-xs-12 available--pickup" store-id="21">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Chattanooga, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=21" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Chattanooga, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=21" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(21)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-21-info" class="">
<p class="store-location-address">
2200 Hamilton Place Blvd.<br>
Chattanooga, TN 37421
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-22" class="product-location-card col-xs-12 available--store-order" store-id="22">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Nashville Outlet Store</span>
<span class="stoc">
Special Order In-Store
</span>
</div>
<a href="javascript:void(0)" onclick="ajaxCall(22)" class="cart-link col-xs-4">Set To My Store</a>
</div>
</a>
<div id="store-22-info" class="">
<p class="store-location-address">
642 Thompson Ln<br>
Nashville, TN 37211
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 9:00 am - 6:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-23" class="product-location-card col-xs-12 available--pickup" store-id="23">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Jackson, TN</span>
<span class="stoc">
Buy Online, Pick Up Here
</span>
</div>
<a href="/cart?action=add&prod_id=206958&pickup=2&store=23" class="cart-link col-xs-4 atc-pickup-locations" id="add-to-cart-locations" onclick="switchModals('Jackson, TN', 'Buy Online, Pick Up Here')" data-toggle="modal" data-target="#checkoutModal" data-prod-id="206958" data-prod-sku="" data-prod-price="" c_add="/cart?action=add&prod_id=206958&pickup=2&store=23" style="display: none;">Pick Up Here</a>
<a href="javascript:void(0)" onclick="ajaxCall(23)" class="cart-link col-xs-4 set-store-locations" style="display: none;">Set To My Store</a>
</div>
</a>
<div id="store-23-info" class="">
<p class="store-location-address">
1505 Vann Dr<br>
Jackson, TN 38305
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: 10:00 am - 9:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="store-20" class="product-location-card col-xs-12 available--in-stock" store-id="20">
<div class="location-title-box">
<div class="store-loc-row col-xs-7">
<span class="loc">Home Office</span>
<span class="stoc">
Buy In-Store
</span>
</div>
<a href="javascript:void(0)" onclick="ajaxCall(20)" class="cart-link col-xs-4">Set To My Store</a>
</div>
</a>
<div id="store-20-info" class="">
<p class="store-location-address">
418 Harding Industrial Dr.<br>
Nashville, TN 37211
</p>
</div>
<div class="store-location-info-box">
<p class="store-location-hours">
Pickup Hours: Online pickup 8:00 am - 4:00 pm
</p>
<div class="dis-cont"></div>
</div>
</div>
<div id="active"></div>
<div id="available--pickup"></div>
<button id="show-all-stores" class="product-availability-filter" onclick="filterLocations(gmarkers)">See Where to Buy In-Store</button>
<div id="available--in-stock"></div>
<div id="available--store-order"></div>
<div id="available--out"></div>
</div>
</div>
<!-- Store Location Map -->
<div id="map" class="col-xs-12 col-md-7 col-lg-8 col-xl-9"></div>
</div>
</div>
</div>
</div>
<script>
function ajaxCall (param) {
param = param.toString();
if (param.length == 1) {
param = param.padStart(2, '0');
}
$.ajax({
url: '/cart?pickup=2&store=' + param,
success:
function () {
location.reload();
}
});
}
</script>
<script>
// handleMapsAPILoaded callback function for after the
// Google Maps API has loaded.
var gmarkers = [];
window.handleMapsAPILoaded = function() {
var map;
var markers;
let closestStoreMarker;
var closest = [];
var results = [];
var inStock = [];
var pickupStock = [];
var lowStock = [];
var outStock = [];
var center = {lat: 35.88682489453265, lng: -86.33331298828125}
var prodId;
var infowindow = new google.maps.InfoWindow();
handleContentLoaded = function(event) {
$('#store-avail').on('show.bs.modal', function initMap() {
// Set and style the default map
geocoder = new google.maps.Geocoder();
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 35.88682489453265, lng: -86.33331298828125},
zoom: 8,
styles: [
{
featureType: 'poi',
stylers: [
{ visibility: 'off' }
]
}
]
});
// Build arrays of each location by availability from the html
$('.product-location-card.available--in-stock').each(function() {
ids = $(this).attr('store-id');
inStock.push(ids);
});
$('.product-location-card.available--pickup').each(function() {
ids = $(this).attr('store-id');
pickupStock.push(ids);
});
$('.product-location-card.available--store-order').each(function() {
ids = $(this).attr('store-id');
lowStock.push(ids);
});
$('.product-location-card.available--out').each(function() {
ids = $(this).attr('store-id');
outStock.push(ids);
});
// Rearrange the cards on load by stock
$('.product-location-card').each( function() {
if ($(this).hasClass('available--out')) {
$(this).insertBefore('#available--out');
} else if ($(this).hasClass('available--store-order')) {
$(this).insertBefore('#available--store-order');
} else if ($(this).hasClass('available--pickup')) {
$(this).insertBefore('#available--pickup');
} else if ($(this).hasClass('available--in-stock')) {
$(this).insertBefore('#available--in-stock');
};
if ($(this).hasClass('active')) {
$(this).insertBefore('#active');
};
});
if (dev == true) {
console.log(inStock);
console.log(outStock);
};
// Initialize the map and load the marker file
google.maps.event.addListenerOnce(map, 'idle', function(){
var urlRequest = '/google_map.xml';
$.ajax({
type: "GET",
async: true,
url: urlRequest,
dataType: "xml",
success:
function (xml) {
// Parse the xml file and get data
markers = xml.documentElement.getElementsByTagName("marker");
html = []
infowindow = new google.maps.InfoWindow();
for (var i = 0; i < markers.length; i++) {
// obtain the attribues of each marker
var lat = parseFloat(markers[i].getAttribute("lat"));
var lng = parseFloat(markers[i].getAttribute("lng"));
var point = {lat:lat,lng:lng};
var id = markers[i].getAttribute("id");
var label = markers[i].getAttribute("label");
var image;
html[i] = markers[i].getAttribute("html");
// Assign the marker a stock status and custom icon depending on the availability
if( $.inArray(id,inStock) !== -1 ){
image = {
url: '//images.electronicexpress.com/misc.c/google_map_in_stock_marker.png',
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(13, 43)
};
stock = 'available--in-stock';
visbility = true
};
if( $.inArray(id,pickupStock) !== -1 ){
image = {
url: '//images.electronicexpress.com/misc.c/google_map_pickup_marker.png',
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(13, 43)
};
stock = 'available--pickup';
visbility = true
};
if( $.inArray(id,lowStock) !== -1 ){
image = {
url: '//images.electronicexpress.com/misc.c/google_map_store_order_marker.png',
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(13, 43)
};
stock = 'available--store-order';
visbility = true
};
if( $.inArray(id,outStock) !== -1 ){
image = {
url: '//ee-emma.s3.amazonaws.com/misc/outStock.png',
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(13, 43)
};
stock = 'available--out';
visbility = true
};
// create the marker
var marker = new google.maps.Marker({
position: point,
map: map,
id: id,
title: label,
icon: image,
stock : stock,
visible: visbility,
reset: false
});
gmarkers[id] = marker;
// Marker click functionality
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
map.panTo(marker.getPosition());
infowindow.setContent(html[i]);
infowindow.open(map, marker);
map.setZoom(15);
// map.fitBounds()
$('.product-location-card').removeClass('selected');
$('.product-location-card[store-id=' + marker.id + ']').addClass('selected');
if (marker.visible == false) {
marker.reset = true;
marker.setVisible(true);
$('.location.card[store-id=' + marker.id + ']').toggle();
};
};
})(marker, i));
};
if ( dev == true ) {
console.log(marker);
};
// Close an open marker when clicking off of it
google.maps.event.addListener(map, "click", function(event) {
infowindow.close();
$('.product-location-card').removeClass('selected');
for (var i = 0; i < gmarkers.length; i++) {
if (gmarkers[i] != undefined && gmarkers[i].reset == true) {
gmarkers[i].reset = false;
gmarkers[i].setVisible(false);
$('.product-location-card[store-id=' + gmarkers[i].id + ']').toggle();
};
};
});
// Find the matching marker when clicking a store in the list
$('.product-location-card').click(function() {
var idToFind = parseInt($(this).attr('store-id'));
google.maps.event.trigger(gmarkers[ idToFind ], 'click'), {};
$('.product-location-card').removeClass('selected');
$('.product-location-card[store-id=' + idToFind + ']').addClass('selected');
});
// Set default filter state
findStoreOnOpen();
if ($('.location-card-container').children('.available--pickup').length === 0) {
$('.location-card-container').children().css('display', 'flex');
$('.location-card-container').children('.active').css('display', 'flex');
gmarkers.forEach(function(marker) {
if (marker) {
marker.setVisible(true);
}
});
$("#show-all-stores").css('display', 'none');
} else {
$('.location-card-container').children('.available--pickup').css('display', 'flex');
$('.location-card-container').children('.available--in-stock').css('display', 'none');
$('.location-card-container').children('.available--store-order').css('display', 'none');
$('.location-card-container').children('.available--out').css('display', 'none');
$('.location-card-container').children('.active').css('display', 'flex');
$("#show-all-stores").css('display', 'block');
gmarkers.forEach(function(marker, i) {
if (marker && marker.stock === "available--pickup") {
marker.setVisible(true);
} else {
marker.setVisible(false);
}
});
}
if (window.matchMedia('(max-width: 767px)').matches) {
$('#map').css('display', 'none');
}
}
});
});
});
// Load modal on start
if(window.location.href.indexOf('#store-avail') != -1) {
$( "#store-avail" ).modal('show');
$(".atc-pickup-locations").css('display', 'flex');
$(".set-store-locations").css('display', 'none');
};
// Select the corresponding marker when a store from the list is selected
$('.store-link').click(function() {
var idToFind = $(this).attr('store-id');
google.maps.event.trigger(gmarkers[idToFind], 'click'), {};
});
// Search nearest store
$('#searchButton').on('click', function() {
findNearestStore().then(() => {
filterLocations(gmarkers);
google.maps.event.trigger(closestStoreMarker, 'click');
}).catch((error) => {
console.error("Error finding nearest store:", error);
});
});
}; // end handleContentLoaded
if ( window.contentAlreadyLoaded ) {
handleContentLoaded();
} else {
document.addEventListener('DOMContentLoaded', handleContentLoaded);
};
function findStoreOnOpen() {
var numberOfResults = 25;
var numberOfDrivingResults = 1;
var address = '79000';
geocoder.geocode({'address': address }, function(results, status) {
// Sort closest stores
if (status == google.maps.GeocoderStatus.OK) {
closest = findClosestN(results[0].geometry.location, numberOfResults);
calculateDistances(results[0].geometry.location, closest, numberOfDrivingResults);
} else {
google.maps.event.trigger(map, "click", {});
infowindow.setContent('<span style="font-weight:bold;">Sorry we\'re having trouble finding you. Try a new Address or Zip Code.</span><br>Error: ' + status);
infowindow.setPosition(center);
map.panTo(center);
map.setZoom(7);
infowindow.open(map);
}
});
}
function findNearestStore() {
return new Promise((resolve, reject) => {
var numberOfResults = 25;
var numberOfDrivingResults = 1;
var address = document.getElementById('addressInput').value;
geocoder.geocode({'address': address }, function(results, status) {
// Sort closest stores
if (status == google.maps.GeocoderStatus.OK) {
closest = findClosestN(results[0].geometry.location, numberOfResults);
calculateDistances(results[0].geometry.location, closest, numberOfDrivingResults);
// Check for a zip code and push to cart if available
var ac = results[0].address_components;
var zip;
for (var i = 0; i < ac.length; i++) {
if ($.inArray('postal_code', ac[i].types) > -1) {
zip = ac[i].long_name;
$.ajax({
url: '/?cart_zip=' + zip,
success: function () {
setCookie('zipcode', zip, 30);
resolve(); // Resolve the promise here
},
error: function () {
reject('Failed to add zip'); // Reject the promise on error
}
});
}
}
// If no zip code is found, resolve the promise
if (!zip) {
resolve();
}
} else {
google.maps.event.trigger(map, "click", {});
infowindow.setContent('<span style="font-weight:bold;">Sorry we\'re having trouble finding you. Try a new Address or Zip Code.</span><br>Error: ' + status);
infowindow.setPosition(center);
map.panTo(center);
map.setZoom(7);
infowindow.open(map);
reject('Geocode was not successful: ' + status); // Reject the promise on error
}
});
});
}
// Function sorts markers by closest
function findClosestN(pt, numberOfResults) {
var closest = [];
for (var id = 1; id < gmarkers.length; id++) {
if ( gmarkers[id] != undefined ) {
gmarkers[id].distance = google.maps.geometry.spherical.computeDistanceBetween(pt, gmarkers[id].getPosition());
closest.push(gmarkers[id]);
}
}
closest.sort(sortByDist);
while (closest.length > numberOfResults) {
closest.pop();
}
return closest;
};
function sortByDist(a, b) {
return (a.distance - b.distance)
};
// Use distance matrix API to convert to driving distance and milage
function calculateDistances(pt, closest, numberOfResults) {
var service = new google.maps.DistanceMatrixService();
var request = {
origins: [pt],
destinations: [],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false
};
for (var i = 0; i < closest.length; i++) {
request.destinations.push(closest[i].getPosition());
};
service.getDistanceMatrix(request, function(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
alert('Error was: ' + status);
} else {
var origins = response.originAddresses;
var destinations = response.destinationAddresses;
var results = response.rows[0].elements;
// save title and address in record for sorting
for (var i = 0; i < closest.length; i++) {
results[i].title = closest[i].title;
results[i].stock = closest[i].stock;
results[i].id = closest[i].id;
results[i].idx_closestMark = i;
}
results.sort(sortByDistDM);
for (var i = 0; ((i < results.length)); i++) {
if ( dev == true ) {
console.log(results[i].distance.value);
};
if ( results[i].distance.value < 160934) {
if (dev == true) {
console.log(results);
};
reorderCards(results);
closest[i].setMap(map);
closestStoreMarker = closest[ results[i].idx_closestMark ];
break;
} else {
closestStoreMarker = null;
$('.product-location-card .dis-cont').html('');
google.maps.event.trigger(map, "click"), {};
infowindow.setContent('<span style="font-weight:bold;">You\'re not near a store, but you can always <a href="https://www.electronicexpress.com/">shop online</a>!</span>');
infowindow.setPosition(center);
map.panTo(center);
map.setZoom(7);
infowindow.open(map);
};
};
};
});
};
// Sort distances
function sortByDistDM(a, b) {
return (a.distance.value - b.distance.value)
};
// Re-order the vards by distance but leave out of stock at the bottom
function reorderCards(results) {
let selectedStore = '#' + $('.product-location-card.active').attr('id');
let resultStoreIds = results.map(result => result.id);
for (var i = 0; i < results.length; i++) {
if(results[i].stock == 'available--pickup') {
$('.product-location-card[store-id=' + results[i].id + ']').insertBefore('#available--pickup');
$('.product-location-card[store-id=' + results[i].id + '] .dis-cont').html(results[i].distance.text + ' away');
} else if(results[i].stock == 'available--in-stock') {
$('.product-location-card[store-id=' + results[i].id + ']').insertBefore('#available--in-stock');
$('.product-location-card[store-id=' + results[i].id + '] .dis-cont').html(results[i].distance.text + ' away');
} else if(results[i].stock == 'available--store-order') {
$('.product-location-card[store-id=' + results[i].id + ']').insertBefore('#available--store-order');
$('.product-location-card[store-id=' + results[i].id + '] .dis-cont').html(results[i].distance.text + ' away');
} else if(results[i].stock == 'available--out') {
$('.product-location-card[store-id=' + results[i].id + ']').insertBefore('#available--out');
$('.product-location-card[store-id=' + results[i].id + '] .dis-cont').html(results[i].distance.text + ' away');
};
};
// Move cards not in results to insert after #available--out unless the store is available for BOPIS
$('.product-location-card').each(function() {
let storeId = $(this).attr('store-id');
if ($(this).hasClass('available--pickup') && !resultStoreIds.includes(storeId)) {
$(this).insertBefore('#available--pickup');
$(this).find('.dis-cont').html('');
} else if (!resultStoreIds.includes(storeId)) {
$(this).insertAfter('#available--out');
$(this).css('display', 'none');
$(this).find('.dis-cont').html('');
}
});
$('.location-card-container').find(selectedStore).insertBefore('#active');
};
};
function filterLocations(gmarkers) {
updateLocationsDisplay();
updateLocationMarkers(gmarkers);
$("#show-all-stores").css('display', 'none');
}
function updateLocationsDisplay() {
let stock = $('.location-card-container').children('.available--in-stock');
let pickup = $('.location-card-container').children('.available--pickup');
let order = $('.location-card-container').children('.available--store-order');
let out = $('.location-card-container').children('.available--out');
pickup.css('display', 'flex');
order.css('display', 'flex');
stock.css('display', 'flex');
out.css('display', 'flex');
}
function updateLocationMarkers(gmarkers) {
gmarkers.forEach(function(marker) {
marker.setVisible(true);
});
}
function switchModals(storeSelection, storeStockStatus) {
$('#pickup-stock-message').find('p').replaceWith('<p class="product-availability--in-stock">' + storeStockStatus + ' <a href="#store-avail" data-toggle="modal" data-target="#store-avail">' + storeSelection + " - " +'<span id="store-loc-link">Change</span></a></p>');
var deferred = $.Deferred();
$('#store-avail').modal('hide');
$('#store-avail').on('hidden.bs.modal', function () {
deferred.resolve();
});
deferred.done(function() {
$('body').addClass('modal-open');
$('#checkoutModal').modal('show');
});
};
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA-gmZPjq3h4oCWMW9oYoJdx7Ssq2pVdIs&libraries=geometry,places&callback=handleMapsAPILoaded" async defer></script>
<script>
$(document).ready(function () {
$(".loading").each(function () {
setHeight = $(this).attr("data-set-height");
$(this).css("height", setHeight);
});
setTimeout(function() {
$(".loading").removeAttr("style");
$(".loading").removeClass("loading");
}, 3000);
$(".loading1").each(function () {
setHeight = $(this).attr("data-set-height");
$(this).css("height", setHeight);
});
setTimeout(function () {
$(".loading1").removeAttr("style");
$(".loading1").removeClass("loading");
}, 100);
});
document.addEventListener('DOMContentLoaded', function(event) {
// Modify fiannce boxes
$('.finance-option.active').removeClass('last');
$('.finance-option.active').last().addClass('last');
document.addEventListener('finMut', function (event) {
$('.finance-option.active').removeClass('last');
$('.finance-option.active').last().addClass('last');
});
$('#modal-image .product-image img').draggable({ disabled: true });
$('#modal-image .product-image').click( function() {
var full = $(this).data('full');
var small = $(this).data('small');
if ($(this).hasClass('draggable') == false) {
$(this).addClass('draggable');
$(this).children('img').addClass('draggable');
$(this).children('img').draggable('enable');
if (full != '') {
$(this).children('img').attr('src',full);
}
} else if ($(this).hasClass('draggable') == true) {
$(this).removeClass('draggable');
$(this).children('img').removeClass('draggable');
$(this).children('img').attr('style','position:relative;');
$(this).children('img').draggable('disable');
$(this).children('img').attr('src',small);
};
});
$('#modal-image').on('shown.bs.modal', function (e) {
if(window.innerWidth < 768) {
mobileOnlySlider();
};
})
$('.product-image--slider .product-image a').click( function() {
var target = $(this).data('target');
var slide = $(this).data('slide');
$(target + ' .product-image').hide();
$(slide).show();
$('.thumbnail').removeClass('active');
$('.thumbnail[data-target="' + slide + '"]').addClass('active');
});
$(window).resize(function(e){
if(window.innerWidth < 768) {
if(!$('#modal-image--nav-slider').hasClass('slick-initialized')){
mobileOnlySlider();
};
} else {
if($('#modal-image--nav-slider').hasClass('slick-initialized')){
$('#modal-image--nav-slider').slick('unslick');
};
};
});
function mobileOnlySlider() {
$('#modal-image--nav-slider').slick({
autoplay: false,
slidesToShow: 6,
slidesToScroll: 5,
centerMode: false,
infinite: false,
focusOnSelect: true,
nextArrow: nextArrow,
prevArrow: prevArrow,
responsive: [
{
breakpoint: 557,
settings: {
slidesToShow: 5,
slidesToScroll: 4
}
},
{
breakpoint: 439,
settings: {
slidesToShow: 4,
slidesToScroll: 3
}
},
{
breakpoint: 321,
settings: {
slidesToShow: 3,
slidesToScroll: 2
}
}
]
});
};
$('#modal-image--nav-slider .thumbnail').click( function() {
var target = $(this).data('target');
var parent = $(this).data('parent');
$(parent + ' .product-image').hide();
$(target).show();
$(this).siblings('.thumbnail').removeClass('active');
$(this).addClass('active');
});
// Swap option variable
var optCount = $('.custom-select--option').length;
if (dev == true) {console.log('Option Count: ' + optCount);};
if (optCount > 8) {
$('.product-offers--container.dropdown').show();
} else {
$('.product-offers--container.list').show();
}
(function (document) {
var div = document.getElementById('panel-id');
var icon = document.getElementById('icon');
var icon1 = document.getElementById('icon1');
var open = false;
var open1 = false;
div.addEventListener("click", function() {
if (open){
icon.className = 'fa fa-caret-down';
open = !open;
} else {
icon.className = 'fa fa-caret-down open';
open = !open;
}
if (open1) {
icon1.className = 'fa fa-caret-down';
open1 = !open1;
} else {
icon1.className = "fa fa-caret-down open";
open1 = !open1;
}
});
}) (document);
});
function removeFadeOut(el, speed) {
var seconds = speed/1000;
el.style.transition = "opacity "+seconds+"s ease";
el.style.opacity = 0;
setTimeout(function() {
el.parentNode.removeChild(el);
}, speed);
$("#services-accordion").find(".product-offers-option").each(function() {
if(!($(this).find("input").is(":checked"))) {
$("#accordion-header").append(this)
}
})
}
</script>
<footer id="site-footer">
<div id="footer-newsletter-signup">
<div class="container">
<div class="row">
<div class="col-xs-12">
<form method="POST" action="/mailinglist" id="mailinglist" class="clearfix checkout-form">
<div class="h5">Be the first to hear about Special Offers & Sales!</div>
<div class="input-group">
<input type="hidden" name="form_submit" value="1">
<input type="hidden" name="source" value="footer" />
<input type="email" class="form-control" placeholder="Email address" id="email" name="email" aria-label="Newsletter signup" aria-required="true" required>
<input type="checkbox" name="contact_me_by_fax_only" value="1" style="display:none !important" tabindex="-1" autocomplete="off" aria-hidden="true" aria-label="Contact by Fax">
<span class="input-group-btn">
<button type="submit" class="btn btn-primary" aria-label="Submit" onClick="ga('send', 'event', 'Email Sign-up', 'Click', 'Footer');">Submit</button>
</span>
</div>
<a href="/privacy-policy">Privacy policy</a>
</form>
</div>
</div>
</div>
</div>
<div class="container">
<div class="footer-contact flex-row row">
<div class="contact-option col-xs-12 col-sm-6 col-lg-3">
<a href="javascript:zE('messenger','open');">
<p class="title-text">
<svg class="svg-icon"><use xlink:href="#icon-bubble"></use></svg>
Chat With Us
</p>
</a>
</div>
<div class="contact-option col-xs-12 col-sm-6 col-lg-3">
<a href="tel:1-615-346-1419">
<p class="sub-text">
Expert Sales Advice:
</p>
<p class="title-text">
615-346-1419
</p>
</a>
</div>
<div class="contact-option col-xs-12 col-sm-6 col-lg-3">
<a href="tel:1-888-257-7500">
<p class="sub-text">
Customer Service:
</p>
<p class="title-text">
1-888-257-7500
</p>
</a>
</div>
<div class="contact-option col-xs-12 col-sm-6 col-lg-3">
<a href="/contact-us">
<p class="title-text">
<svg class="svg-icon"><use xlink:href="#icon-email"></use></svg>
Contact Us
</p>
</a>
</div>
</div>
<style>
.footer-contact {
margin-top: 1rem;
align-items: stretch;
justify-content: center;
}
@media (min-width: 576px) {
.footer-contact {
padding-bottom: 2rem;
margin-bottom: 1rem;
border-bottom: 1px solid rgba(28, 33, 38, 0.25);
}
}
.contact-option {
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
@media (max-width: 575px) {
.contact-option {
padding-bottom: 1rem;
margin-bottom: 1rem;
border-bottom: 1px solid rgba(28, 33, 38, 0.25);
}
}
@media (min-width: 576px) and (max-width: 991px) {
.contact-option:nth-of-type(-n+2) {
padding-bottom: 1rem;
margin-bottom: 1rem;
border-bottom: 1px solid rgba(28, 33, 38, 0.25);
}
}
.contact-option a {
color: #1C2126;
}
.contact-option a:active,
.contact-option a:focus,
.contact-option a:hover {
color: #D9001D;
text-decoration: none;
}
.contact-option a:active svg,
.contact-option a:focus svg,
.contact-option a:hover svg {
fill: #D9001D;
}
.contact-option .title-text,
.contact-option .sub-text {
margin-bottom: 0;
}
.contact-option .title-text {
font-weight: bold;
font-size: 1.75rem;
display: flex;
align-items: center;
justify-content: center;
}
.contact-option .title-text .svg-icon{
width: 2.5rem;
height: 2.5rem;
padding-right: .5rem;
}
</style>
<div class="row footer-main">
<div class="col-xs-12 col-sm-6 col-md-9">
<nav role="navigation" class="flex-row" aria-label="Footer navigation Customer Service">
<div class="nav">
<div class="h4 hidden-xs-down">About EE</div>
<div class="h4 hidden-sm-up">
<a
href="#nav-aboutee"
class="footer-groups collapsed"
data-toggle="collapse"
>
About EE<svg
class="svg-icon"
aria-hidden="true"
aria-expanded="false"
aria-controls="collapseExample"
>
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-arrow-drop-down"
></use>
</svg>
</a>
</div>
<div id="nav-aboutee" class="hidden-sm-up collapse" aria-expanded="false">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/customer-reviews">Customer Reviews</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about-us">About Us</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="https://blog.electronicexpress.com/"
target="_blank"
>Blog</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/stores">Locations</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/careers/positions">Careers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/affiliate-program">Affiliate Program</a>
</li>
</ul>
</div>
<div class="hidden-xs-down">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/customer-reviews">Customer Reviews</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about-us">About Us</a>
</li>
<li class="nav-item">
<a
class="nav-link"
href="https://blog.electronicexpress.com/"
target="_blank"
>Blog</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/stores">Locations</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/careers/positions">Careers</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/affiliate-program">Affiliate Program</a>
</li>
</ul>
</div>
</div>
<div class="nav">
<div class="h4 hidden-xs-down">Shop EE</div>
<div class="h4 hidden-sm-up">
<a
href="#nav-shopee"
class="footer-groups collapsed"
data-toggle="collapse"
>
Shop EE<svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-arrow-drop-down"
></use>
</svg>
</a>
</div>
<div id="nav-shopee" class="hidden-sm-up collapse" aria-expanded="false">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/deals">Hot Deals</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/brand">Brands</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/rebates">Rebates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/flash-deals">Flash Deals</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/id-me">Offers with ID.me</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/accessibility">Accessibility</a>
</li>
<!-- <li class="nav-item"><a class="nav-link" href="/flash-dealss">TV Ads</a></li> -->
</ul>
</div>
<div class="hidden-xs-down">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/deals">Express Deals</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/brand">Brands</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/rebates">Rebates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/flash-deals">Flash Deals</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/id-me">Offers with ID.me</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/accessibility">Accessibility</a>
</li>
<!-- <li class="nav-item"><a class="nav-link" href="/flash-dealss">TV Ads</a></li> -->
</ul>
</div>
</div>
<div class="nav">
<div class="h4 hidden-xs-down">Customer Service</div>
<div class="h4 hidden-sm-up">
<a
href="#nav-customerservice"
class="footer-groups collapsed"
data-toggle="collapse"
>
Customer Service<svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-arrow-drop-down"
></use>
</svg>
</a>
</div>
<div
id="nav-customerservice"
class="hidden-sm-up collapse"
aria-expanded="false"
>
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/contact-us">Contact Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/tracking">Order Tracking</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/pricematch">Price Match</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/satisfaction-guarantee"
>Satisfaction Guarantee</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/return-policy">Return Policy</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/privacy-policy">Privacy Policy</a>
</li>
</ul>
</div>
<div class="hidden-xs-down">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/contact-us">Contact Us</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/tracking">Order Tracking</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/pricematch">Price Match</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/satisfaction-guarantee"
>Satisfaction Guarantee</a
>
</li>
<li class="nav-item">
<a class="nav-link" href="/return-policy">Return Policy</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/privacy-policy">Privacy Policy</a>
</li>
</ul>
</div>
</div>
<div class="nav">
<div class="h4 hidden-xs-down">Services</div>
<div class="h4 hidden-sm-up">
<a
href="#nav-services"
class="footer-groups collapsed"
data-toggle="collapse"
>
Services<svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-arrow-drop-down"
></use>
</svg>
</a>
</div>
<div id="nav-services" class="hidden-sm-up collapse" aria-expanded="false">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/services">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/financing">Financing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/services/delivery">Delivery</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/services/shipping">Shipping</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/corporate-sales">Corporate Sales</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/sales_builders">Builder Sales</a>
</li>
</ul>
</div>
<div class="hidden-xs-down">
<ul class="nav">
<li class="nav-item">
<a class="nav-link" href="/services">Services</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/financing">Financing</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/services/delivery">Delivery</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/services/shipping">Shipping</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/corporate-sales">Corporate Sales</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/sales_builders">Builder Sales</a>
</li>
</ul>
</div>
</div>
</nav>
<style>
.footer-main nav .flex-row > div {
flex-basis:100%;
}
@media (min-width: 576px) {
.footer-main nav .flex-row > div {
flex-basis:50%;
}
}
@media (min-width: 768px) {
.footer-main nav .flex-row > div {
flex-basis:25%;
}
}
</style>
</div>
<div class="col-xs-12 col-sm-6 col-md-3">
<p class="h4">Follow Us</p>
<nav role="navigation" class="social-links clearfix" aria-label="Footer social network links">
<a href="http://twitter.com/ElectronicXpres" target="_blank" aria-label="Electronic Express Twitter"><svg class="svg-icon twitter"><use xlink:href="#icon-twitter"></use></svg></a>
<a href="https://www.facebook.com/electronicexpresstn/" target="_blank" aria-label="Electronic Express Facebook"><svg class="svg-icon facebook"><use xlink:href="#icon-facebook"></use></svg></a>
<a href="http://www.youtube.com/user/ElectronicExpress/featured" target="_blank" aria-label="Electronic Express Youtube"><svg class="svg-icon youtube"><use xlink:href="#icon-youtube"></use></svg></a>
<a href="http://www.instagram.com/electronicexpress/" target="_blank" aria-label="Electronic Express Instagram"><svg class="svg-icon instagram"><use xlink:href="#icon-instagram"></use></svg></a>
<a href="http://www.pinterest.com/electronicexpre/" target="_blank" aria-label="Electronic Express Pinterest"><svg class="svg-icon pinterest"><use xlink:href="#icon-pinterest"></use></svg></a>
</nav>
<div class="mb-1 flex-row icon-row">
<a href="https://www.nashvillechamber.com/?utm_source=proudmember&utm_medium=digitalgraphic&utm_content=2022" target="_blank">
<img src="//ee-emma.s3.amazonaws.com/index/index-nash-cc-2022.png" alt="Proud Member - Nashville Area Chamber" style="width:75px">
</a>
<a href="//ee-emma.s3.amazonaws.com/index/index.footer.bbb.png" target="_blank">
<img data-src="//images.electronicexpress.com/misc.c/index.footer.bbb.png" alt="BBB Accredited Business">
</a>
<a href="https://blog.electronicexpress.com/electronic-express-awarded-on-newsweeks-americas-best-online-shops-2025-list/" target="_blank">
<img class="w-100" src="//images.electronicexpress.com/misc.c/Newsweek_BOS2025_Logo_Small.png" alt="Newsweek">
</a>
</div>
<style>
.icon-row {
align-items:center;
margin: 0 -.25rem;
}
.icon-row > * {
padding: .25rem;
}
</style>
<nav role="navigation" class="brands-links" aria-label="Footer Brand links">
</nav>
<style>
.brands-links .nav-item{
line-height: 1.1;
font-size: .8rem;
}
.brands-links .nav-item .brand{
font-weight: bold;
}
</style>
</div>
</div>
<div class="row footer-bottom">
<div class="col-xs-12">
<p class="footer-copyright">
© <script>document.write(new Date().getFullYear())</script> Electronic Express
</p>
</div>
</div>
</div>
</footer>
<!-- Setpay Modal -->
<div
class="modal fade"
role="dialog"
id="setPayModal"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<!-- <h4 class="modal-title">18 Months Special Financing</h4> -->
</div>
<div class="modal-body">
<img
src="//images.electronicexpress.com/misc.c/info-financing-setpay-3.jpg"
alt="SetPay"
class="setpay-logo"
/>
<p>
We partner with Synchrony Bank to offer SetPay - a
predictable monthly payment option. Select SetPay at
checkout. Here are some examples of what you could pay when
you choose SetPay:
</p>
<p>
<strong
>Example monthly payments shown are based on $1,000
purchase</strong
>
</p>
<table>
<tbody>
<tr class="sp-t-header">
<td></td>
<td>12 MONTHS</td>
<td>24 MONTHS</td>
<td>36 MONTHS</td>
</tr>
<tr>
<td class="sp-t-title">9.99% APR</td>
<td>$87.92/month</td>
<td>$46.15/month</td>
<td>$32.27/month</td>
</tr>
<tr>
<td class="sp-t-title">19.99% APR</td>
<td>$92.64/month</td>
<td>$50.90/month</td>
<td>$37.16/month</td>
</tr>
<tr>
<td class="sp-t-title">29.99% APR</td>
<td>$97.48/month</td>
<td>$55.91/month</td>
<td>$42.45/month</td>
</tr>
<tr class="sp-t-footer">
<td class="sp-t-title">
Minimum Purchase Requirement
</td>
<td>$300</td>
<td>$600</td>
<td>$900</td>
</tr>
</tbody>
</table>
<p class="fine">
Note: Monthly payments depend on repayment period you select
and APR. APRs range from 9.99% - 29.99%, based on
applicant's credit worthiness.
</p>
<p class="fine">
Actual monthly payment is based on the total value of all
items in your cart, plus tax and shipping costs. SetPay is
an installment loan from Synchrony Bank. Subject to credit
approval.
</p>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-video"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-content--container">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<video controls>
<source src="" type="video/mp4" />
</video>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-youtube"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-content--container">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<iframe
id="ytplayer3"
class="player"
type="text/html"
width="728"
height="410"
src=" "
frameborder="0"
allowfullscreen
></iframe>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-synch-deny"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use xlink:href="#icon-close"></use></svg
></span>
</button>
<h4 class="modal-title">We're Sorry</h4>
</div>
<div class="modal-body">
<p>Sorry, your application was denied.</p>
<p>lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-zipentry"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<h4 class="modal-title">Enter Your Zip Code</h4>
</div>
<div class="modal-body">
<div
class="order-summary--row"
tabindex="0"
style="font-weight: bold"
>
Estimate Shipping & Tax:
</div>
<div
id="modal-zip-entry"
class="order-summary--row"
tabindex="0"
>
<div class="form-group">
<div class="form-control-wrapper input-group">
<form
novalidate="novalidate"
method="post"
action=""
class="form-control-wrapper input-group"
>
<input
class="form-control"
type="text"
id="zipcode"
name="cart_zip"
value=""
placeholder="Zip Code"
aria-required="true"
required=""
aria-label="Zip Code"
/>
<input
type="hidden"
name="cart_zip_submit"
value="1"
/>
<span class="input-group-btn">
<button
class="btn btn-secondary"
type="submit"
>
Apply
</button>
</span>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-installzip"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<h4 class="modal-title">Enter Your Zip Code</h4>
</div>
<div class="modal-body">
<p>
<a href="/stores" target="_blank"
>Electronic Express stores</a
>
are located throughout Tennessee and Northern Alabama. Many of our services and offers are available based
on your location in relations to our stores.
</p>
<ul>
<li>
Installation services are available within 25 miles of
any of our stores.
</li>
<li>
Express Delivery is available in the Nashville area.
</li>
</ul>
<p>
To check availability of services and delivery options
please enter your zip code below.
</p>
<div class="form-group">
<div class="form-control-wrapper input-group">
<form
id="install-zip"
class="form-control-wrapper input-group"
onsubmit="installsubmit()"
title="search Services by Zip Code"
>
<input
class="form-control"
type="text"
id="install-zip-input"
name="cart_zip"
value=""
placeholder="Zip Code"
value="79000"
aria-required="true"
required=""
title="Zip Code"
/>
<span class="input-group-btn">
<button class="btn btn-secondary">Apply</button>
</span>
</form>
</div>
</div>
<div class="alert alert-info hidden" role="alert">
Checking for offers in <span id="install-zip-note"></span>
</div>
<div class="alert alert-danger hidden" role="alert">
Could not process zip code! Please refresh and try again.
</div>
</div>
<script>
function installsubmit() {
console.log("run install submit");
event.preventDefault();
var zip = $("#install-zip input").val();
var isValid = /(^\d{5}$)|(^\d{5}-\d{4}$)/.test(zip);
$("#modal-installzip .alert-danger").addClass("hidden");
if (isValid == true) {
$("#modal-installzip #install-zip-note").html(zip);
$("#modal-installzip .alert-info").removeClass(
"hidden"
);
console.log("zip submit");
httpRequest = new XMLHttpRequest();
httpRequest.open("GET", "/?cart_zip=" + zip);
httpRequest.send();
httpRequest.onreadystatechange = function () {
// Call a function when the state changes.
if (
this.readyState === XMLHttpRequest.DONE &&
this.status === 200
) {
location.reload();
}
};
// user.updateZip(zip, 'user', 'reload')
} else {
if (dev == true) {
console.log("Failed to add zip");
}
$("#modal-installzip .alert-danger").removeClass(
"hidden"
);
}
}
</script>
<style>
#modal-installzip .alert {
transition: 0.25s all ease;
margin-top: 1rem;
}
#modal-installzip .alert span {
font-weight: bold;
}
#modal-installzip .alert::after {
overflow: hidden;
display: inline-block;
vertical-align: bottom;
-webkit-animation: ellipsis steps(4, end) 900ms infinite;
animation: ellipsis steps(4, end) 900ms infinite;
content: "\2026";
/* ascii code for the ellipsis character */
width: 0px;
}
@keyframes ellipsis {
to {
width: 20px;
}
}
@-webkit-keyframes ellipsis {
to {
width: 20px;
}
}
</style>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-protection"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<h4 class="modal-title">AWS Protection Plans</h4>
</div>
<div class="modal-body">
<style>
.nsi-keys.hero-box {
padding: 1rem;
margin-bottom: 2rem;
}
.nsi-keys li {
font-size: 1.25rem;
line-height: 1.3;
}
.nsi-keys .h2,
.nsi-keys h2 {
font-size: 1.15rem;
margin-bottom: 0.5rem;
text-transform: none;
}
.nsi-keys p {
margin: 0;
}
.nsi-keys img {
width: 100%;
max-width: 400px;
display: block;
margin: 0 auto 2rem auto;
}
.nsi-link--container {
padding: 2rem 0 1rem 0;
text-align: center;
}
.nsi-points {
text-align: left;
}
@media (min-width: 522px) {
.nsi-points ul {
column-count: 2;
}
}
@media (min-width: 768px) {
.nsi-points li {
font-size: 1.25rem;
}
}
</style>
<div>
<div class="nsi-keys hero-box clearfix">
<div class="col-xs-12">
<img
src="//images.electronicexpress.com/misc.c/aws-wordmark-black.png"
alt="Alliance Warranty Solutions Wordmark"
/>
</div>
<div class="col-xs-12 col-lg-6">
<div class="h2">
We know your hard earned money is important to
you, so it's our job to make sure you get the
most out of your purchase.
</div>
</div>
<div class="col-xs-12 col-lg-6">
<ul>
<li>Lowest Cost</li>
<li>Longer Terms</li>
<li>Greater Investment</li>
</ul>
</div>
</div>
<div class="nsi-keys nsi-link--container">
<a
href="https://alliancewarrantysolutions.com/"
target="_blank"
class="btn btn-secondary"
>
Learn More about AWS »
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-delivery"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<h4 class="modal-title">Delivery & Installation Options</h4>
</div>
<div class="modal-body">
<div class="clearfix flex-row"></div>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-express-delivery"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use xlink:href="#icon-close"></use></svg
></span>
</button>
<h4 class="modal-title">Express Delivery</h4>
</div>
<div class="modal-body">
<style>
.express-delivery-style {
display: block;
margin: auto auto 1.6em;
max-width: 65%;
}
.nsi-keys.hero-box {
padding: 1rem;
margin-bottom: 2rem;
}
.nsi-keys li {
font-size: 1.25rem;
line-height: 1.3;
}
.nsi-keys .h2,
.nsi-keys h2 {
font-size: 1.15rem;
margin-bottom: 0.5rem;
text-transform: none;
}
.nsi-keys p {
margin: 0;
}
.nsi-keys img {
width: 100%;
max-width: 400px;
display: block;
margin: 0 auto 2rem auto;
}
.nsi-link--container {
padding: 2rem 0 1rem 0;
text-align: center;
}
.nsi-points {
text-align: left;
}
#modal-product-description img {
max-width: 100%;
display: block;
margin: auto;
}
@media (min-width: 522px) {
.nsi-points ul {
column-count: 2;
}
}
@media (min-width: 768px) {
.nsi-points li {
font-size: 1.25rem;
}
}
</style>
<div>
<div class="nsi-keys hero-box clearfix">
<div class="col-xs-12">
<?xml version="1.0" encoding="UTF-8"?>
<svg
class="express-delivery-style"
enable-background="new 0 0 500 60.1"
version="1.1"
viewBox="0 0 500 60.1"
xml:space="preserve"
xmlns="http://www.w3.org/2000/svg"
>
<style type="text/css">
.express-deal-red {
fill: #ed0000;
}
</style>
<path
class="express-deal-red"
d="m279.1 30.8c0 4.1-1.7 8.2-4.5 11-3.5 3.5-9 5.3-15.1 5.3h-4.8l6.3-23.2h-14.7l-9.7 36.2h21.2c12.2 0 21.3-3.4 27.6-9.7 5.6-5.6 8.7-12.9 8.7-20.8 0-2-0.2-3.9-0.6-5.7h-16.8c1.5 1.6 2.4 3.9 2.4 6.9z"
/>
<path
d="m87.8 27.8h10.6c5.3 0 8.7 1.1 11.1 3.4 1.7 1.7 2.5 3.9 2.5 6.6 0 8-6.5 13-16.1 13h-5.3l-2.5 9.3h-9l8.7-32.3zm8 16.1c4.4 0 7-2 7-5 0-0.9-0.3-1.7-0.9-2.3-0.9-0.9-2.2-1.2-3.8-1.2h-3.3l-2.3 8.5h3.3z"
/>
<path
d="m117.4 27.8h12.2c5.4 0 9 1.2 11.1 3.4 1.7 1.7 2.5 4 2.5 6.6 0 5.4-3.1 9.6-9.7 11.4l5 10.9h-9.9l-4.3-9.8h-4l-2.6 9.8h-9l8.7-32.3zm10 15.5c4 0 6.6-1.7 6.6-4.5 0-0.9-0.3-1.6-0.8-2.2-0.7-0.7-2.1-1.1-4-1.1h-4.8l-2.1 7.8h5.1z"
/>
<path
d="m149.3 27.8h25.9l-2.1 7.6h-17l-1.3 4.9h15.4l-1.9 7.1h-15.4l-1.4 5.1h17.3l-2 7.6h-26.1l8.6-32.3z"
/>
<path
d="m169.5 54.8l5.8-6c3.1 2.9 6.4 4.4 10 4.4 2.1 0 3.7-0.9 3.7-2.4 0-1.2-0.9-1.9-5.4-3.7-5.1-1.9-8.4-4.2-8.4-8.9 0-6.4 5.8-11 13.7-11 5.7 0 10.2 1.8 13.3 4.8l-5.5 6.2c-2.4-2.1-5.3-3.6-8.5-3.6-2.2 0-3.5 1-3.5 2.3s1 1.8 5.4 3.5c5 1.9 8.4 4.2 8.4 9 0 6.7-5.7 11.2-13.8 11.2-6.5 0.1-11.7-2-15.2-5.8z"
/>
<path
d="m199.1 54.8l5.8-6c3.1 2.9 6.4 4.4 10 4.4 2.1 0 3.7-0.9 3.7-2.4 0-1.2-0.9-1.9-5.4-3.7-5.1-1.9-8.4-4.2-8.4-8.9 0-6.4 5.8-11 13.7-11 5.7 0 10.2 1.8 13.3 4.8l-5.5 6.2c-2.4-2.1-5.3-3.6-8.5-3.6-2.2 0-3.5 1-3.5 2.3s1 1.8 5.4 3.5c5 1.9 8.4 4.2 8.4 9 0 6.7-5.7 11.2-13.8 11.2-6.5 0.1-11.8-2-15.2-5.8z"
/>
<path d="m42.6 60.1" />
<polygon
points="84.4 27.8 73.6 27.8 64.8 37.8 61 27.8 51.1 27.8 58 43.6 42.6 60.1 53.5 60.1 62.2 50.1 66.1 60.1 76 60.1 69.1 44.3"
/>
<path
class="express-deal-red"
d="m298.2 27.8h25.9l-2.1 7.6h-17l-1.3 4.9h15.4l-1.9 7.1h-15.4l-1.4 5.1h17.3l-2 7.6h-26.1l8.6-32.3z"
/>
<path
class="express-deal-red"
d="m326.5 27.8h9l-6.6 24.5h15.4l-2.1 7.8h-24.4l8.7-32.3z"
/>
<path
class="express-deal-red"
d="m352.6 27.8h9l-8.7 32.3h-9l8.7-32.3z"
/>
<path
class="express-deal-red"
d="m400.2 27.8h25.9l-2.1 7.6h-17l-1.3 4.9h15.4l-1.9 7.1h-15.4l-1.4 5.1h17.3l-2 7.6h-26.1l8.6-32.3z"
/>
<path
class="express-deal-red"
d="m428.5 27.8h12.2c5.4 0 9 1.2 11.1 3.4 1.7 1.7 2.5 4 2.5 6.6 0 5.4-3.1 9.6-9.7 11.4l5 10.9h-9.9l-4.3-9.8h-4l-2.6 9.8h-9l8.7-32.3zm9.9 15.5c4 0 6.6-1.7 6.6-4.5 0-0.9-0.3-1.6-0.8-2.2-0.7-0.7-2.1-1.1-4-1.1h-4.8l-2.1 7.8h5.1z"
/>
<polygon
points="461.8 0 467.8 7.4 14.2 7.4 0 60.1 42.6 60.1 45.9 47.7 17.8 47.7 20 39.3 48.1 39.3 51.1 27.8 23.1 27.8 25.3 19.8 477.9 19.8 485.1 19.8 500 19.8"
/>
<path
class="express-deal-red"
d="m364.2 28.1h9.6l1.8 20 12.5-20h9.9l-21.4 32h-8.2l-4.2-32z"
/>
<polygon
class="express-deal-red"
points="500 27.8 488.6 27.8 477.9 27.8 468.1 39.8 465 27.8 455.3 27.8 461.8 47.6 451.7 60.1 460.5 60.1 479.3 38.5"
/>
</svg>
</div>
<div class="">
<div class="h2">
Here at Electronic Express, we know how valuable
your time is - Express Delivery brings local
customers their packages quickly and securely.
</div>
<ul>
<li>
Available to local Nashville customers Monday through
Friday.
</li>
<li>
Guaranteed Next Business Day Delivery when
placed before 12 PM.
</li>
<li>
Express Delivery is a drop-off service. If
you are looking for installation assistance,
please refer to our
<a href="/services" target="_blank"
>services page</a
>.
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-christmas-shipping"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use xlink:href="#icon-close"></use></svg
></span>
</button>
<h4 class="modal-title">Christmas Shipping Cutoff 2024</h4>
</div>
<div class="modal-body">
<div>
<div class="nsi-keys hero-box clearfix">
<div class="">
<div class="h1">Order by December 19th, Get It Before Christmas </div>
<div class="h2">
Products that are in stock in our warehouse
should make it to your home before Christmas if
you place your order before 2PM Central on
December 19th.
</div>
<ul>
<li>
Orders placed before 2PM Central will be shipped
from our warehouse on the same day.
</li>
<li>
Products shipped via USPS or UPS are expected to arrive
before Christmas, based on standard transit times. However,
delivery dates cannot be guaranteed, as they depend on the
carrier's timely service.
</li>
<li>
Larger items, such as TVs 65 inches and up and major appliances,
are shipped via freight to customers outside of Middle Tennessee
and North Alabama. Freight shipments have longer delivery times
compared to standard carriers.
</li>
<li>
Freight shipments that have left our warehouse by December 13th should
arrive before Christmas.
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="modal fade"
role="dialog"
id="modal-product-description"
style="display: none"
aria-hidden="true"
>
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<button
type="button"
class="close"
data-dismiss="modal"
aria-label="Close"
>
<span aria-hidden="true"
><svg class="svg-icon" aria-hidden="true">
<use
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="#icon-close"
></use></svg
></span>
</button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
<div>
<div class="clearfix">
<img src="" alt="iRobot Compare Products Graph">
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha384-3ceskX3iaEnIogmQchP8opvBy3Mi7Ce34nWjpBIwVTHfGYWQS9jwHDVRnpKKHJg7" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.7/js/tether.min.js" integrity="sha384-XTs3FgkjiBgo8qjEjBk0tGmf3wPrWtA6coPfQDfFEY8AnYJwjalXCiosYRBIBZX8" crossorigin="anonymous"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script src="//scripts.electronicexpress.com/incl/vendor/bootstrap-4.0.0-alpha.5/dist/js/bootstrap.min.js"></script>
<script>
var countDownNow = new Date("May 01, 2025 13:13:17").getTime();
</script>
<script src="//scripts.electronicexpress.com/incl/scripts/theme.41.js"></script>
<script src="//scripts.electronicexpress.com/incl/scripts/lazy.min.js"></script>
<script>
$.extend($.lazyLoadXT, {
loadEvent: 'mainMenu show.bs.dropdown ',
});
</script>
<script src="//scripts.electronicexpress.com/incl/vendor/slick-1.6.0/slick/slick.min.js"></script>
<script src="//scripts.electronicexpress.com/incl/scripts/slick-settings.35.js"></script>
<!-- <script src="//scripts.electronicexpress.com/incl/scripts/modal-loads.3.js"></script> -->
<!-- Youtube Modal url processing -->
<script type="text/javascript">
$(document).ready(function(){
/* Get youtube URL from the link */
$('.play-button').click(function(){
var url = $(this).attr('data-url');
$("#modal-youtube iframe").attr('src', url);
});
/* Set the youtube url empty when modal closes */
$("#modal-youtube").on('hide.bs.modal', function(){
$("#modal-youtube iframe").attr('src', '');
});
});
$('.iplay-button').click(function(){
var url = $(this).attr('data-url');
$("#modal-video source").attr('src', url);
$("#modal-video video")[0].load();
$("#modal-video video")[0].play();
});
/* Set the youtube url empty when modal closes */
$("#modal-video").on('hide.bs.modal', function(){
$("#modal-video video")[0].pause();
$("#modal-video source").attr('src', '');
});
</script>
<script>
$( "#select-expand" ).click(function(){
$('.dt-select-plus').collapse('toggle')
});
$( "#entertainment-expand" ).click(function(){
$('.dt-entertainment-plus').collapse('toggle')
});
$( "#choice-expand" ).click(function(){
$('.dt-choice-plus').collapse('toggle')
});
$( "#xtra-expand" ).click(function(){
$('.dt-xtra-plus').collapse('toggle')
});
$( "#ultimate-expand" ).click(function(){
$('.dt-ultimate-plus').collapse('toggle')
});
$( "#premier-expand" ).click(function(){
$('.dt-premier-plus').collapse('toggle')
});
</script>
<script>
$("a[data-tab-destination]").on('click', function() {
var tab = $(this).attr('data-tab-destination');
$("#"+tab).click();
});
</script>
<script>
$(document).ready(function() {
if(window.location.href.indexOf('#check_avail') != -1) {
$('#check_avail').modal('show');
}
});
</script>
<!-- Start of eexpress Zendesk Widget script -->
<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=65522368-174a-4c60-85bb-9803380f05d0"> </script>
<!-- End of eexpress Zendesk Widget script -->
<script type="text/javascript">
window.zESettings = {
webWidget: {
launcher: {
label: {
'*': 'Let\'s Chat'
},
chatLabel: {
'*': 'Let\'s Chat'
}
}
}
};
</script>
<!-- Listrak Analytics – Javascript Framework -->
<script type="text/javascript">
(function(){if(typeof _ltk == 'object'){ltkCode();}else{(function (d) { if (document.addEventListener) document.addEventListener('ltkAsyncListener', d); else { e = document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange', function (e) { if (e.propertyName == 'ltkAsyncProperty') { d(); } }); } })(function(){ltkCode();});}function ltkCode(){_ltk_util.ready(function(){
_ltk.SCA.Persistent = new function(){
var items = localStorage.getItem("ltkCartItems");
this.items = (items ? JSON.parse(items) : []),
this.makeItem = function(sku, qty, price, title, imageURL, linkURL){
return {sku:(sku ? sku : ''),qty:(qty ? qty : 1),price:(price ? price : ''),title:(title ? title : ''),imageURL:(imageURL ? imageURL : ''),linkURL:(linkURL ? linkURL : '')};
},
this.addItem = function(sku, qty, price, title, imageURL, linkURL){
var item = _ltk.SCA.Persistent.getItem(sku);
if(item){
_ltk.SCA.Persistent.changeItem(sku, item.qty + qty, (price ? price : item.price), (title ? title : item.title), (imageURL ? imageURL : item.imageURL), (linkURL ? linkURL : item.linkURL));
return;
}
else if(qty > 0){
var item = _ltk.SCA.Persistent.makeItem(sku, qty, price, title, imageURL, linkURL);
_ltk.SCA.Persistent.items.push(item);
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return;
}
else{
return
}
},
this.removeItem = function(sku, qty){
var item = _ltk.SCA.Persistent.getItem(sku);
if(sku == '*'){
_ltk.SCA.Persistent.removeAll();
}
else if(item && qty){
if(item.qty <= qty){
for (var i = 0; i < _ltk.SCA.Persistent.items.length; i++) {
if(_ltk.SCA.Persistent.items[i].sku == sku){
_ltk.SCA.Persistent.items.splice(i, 1);
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return;
}
}
}
else{
_ltk.SCA.Persistent.changeItem(sku, item.qty - qty, item.price, item.title, item.imageURL, item.linkURL);
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return;
}
}
else if(item && !qty){
for (var i = 0; i < _ltk.SCA.Persistent.items.length; i++) {
if(_ltk.SCA.Persistent.items[i].sku == sku){
_ltk.SCA.Persistent.items.splice(i, 1);
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return;
}
}
}
else{
return;
}
},
this.removeAll = function(){
_ltk.SCA.Persistent.items = [];
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return
},
this.changeItem = function(sku, qty, price, title, imageURL, linkURL){
if(qty > 0){
for (var i = 0; i < _ltk.SCA.Persistent.items.length; i++) {
if(_ltk.SCA.Persistent.items[i].sku == sku){
_ltk.SCA.Persistent.items[i].qty = (qty ? qty : _ltk.SCA.Persistent.items[i].sku);
_ltk.SCA.Persistent.items[i].price = (price ? price : _ltk.SCA.Persistent.items[i].price);
_ltk.SCA.Persistent.items[i].title = (title ? title : _ltk.SCA.Persistent.items[i].title);
_ltk.SCA.Persistent.items[i].imageURL = (imageURL ? imageURL : _ltk.SCA.Persistent.items[i].imageURL);
_ltk.SCA.Persistent.items[i].linkURL = (linkURL ? linkURL : _ltk.SCA.Persistent.items[i].linkURL);
_ltk.SCA.Persistent.updateStorage();
_ltk.SCA.Persistent.Submit();
return;
}
}
_ltk.SCA.Persistent.addItem(sku, qty, price, title, imageURL, linkURL);
}
else{
_ltk.SCA.Persistent.removeItem(sku);
}
},
this.changeQty = function(sku, qty){
var item = _ltk.SCA.Persistent.getItem(sku);
if(item && qty){
_ltk.SCA.Persistent.changeItem(sku, qty);
}
},
this.changePrice = function(sku, price){
var item = _ltk.SCA.Persistent.getItem(sku);
if(item && price){
_ltk.SCA.Persistent.changeItem(sku, item.qty, price);
}
},
this.getItem = function(sku){
for (var i = 0; i < _ltk.SCA.Persistent.items.length; i++) {
if(_ltk.SCA.Persistent.items[i].sku == sku){
return _ltk.SCA.Persistent.items[i];
}
}
return false;
},
this.updateStorage = function(){
localStorage.setItem("ltkCartItems", JSON.stringify(_ltk.SCA.Persistent.items));
},
this.Submit = function(){
if(_ltk.SCA.Persistent.items.length < 1){
_ltk.SCA.ClearCart();
}
else{
for (var i = 0; i < _ltk.SCA.Persistent.items.length; i++) {
_ltk.SCA.AddItemWithLinks(_ltk.SCA.Persistent.items[i].sku, _ltk.SCA.Persistent.items[i].qty, _ltk.SCA.Persistent.items[i].price, _ltk.SCA.Persistent.items[i].title, _ltk.SCA.Persistent.items[i].imageURL, _ltk.SCA.Persistent.items[i].linkURL);
}
_ltk.SCA.Submit();
}
}
};
/********** Begin Custom Code **********/
_ltk.Activity.AddProductBrowse('980000402');
$('.btn-add-to-cart').click( function() {
// Check local storage for new updates since load
if (JSON.parse(localStorage.getItem("ltkCartItems")) != null) {
_ltk.SCA.Persistent.items = JSON.parse(localStorage.getItem("ltkCartItems"));
}
// Get item data from ATC
s = $(this).data('prod-sku').toString();;
p = $(this).data('prod-price').toString();
// Add item to function
_ltk.SCA.Persistent.addItem(s, 1, p);
});
$('.btn-remove-item').click( function() {
//Remove single item
s = $(this).data('prod-sku').toString();;
_ltk.SCA.Persistent.removeItem(s);
});
$('.btn-empty-cart').click( function() {
// Empty cart
_ltk.SCA.Persistent.removeAll();
});
$('#cart-loop-form').submit( function() {
// Update quantity
d = $('#cart-loop-form').serializeArray()
for (var i = 0; i < d.length; i++) {
if (_ltk.SCA.Persistent.items.find(o => o.sku == d[i].name) != undefined) {
_ltk.SCA.Persistent.changeQty(d[i].name, d[i].value);
_ltk.SCA.Persistent.submit();
};
};
// _ltk.SCA.Persistent.changeQty(s,q);
});
/********** End Custom Code ************/
})}})();
</script>
<script type="text/javascript">
var biJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
(function (d, s, id, tid, vid) {
var js, ljs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js = d.createElement(s); js.id = id;
js.src = biJsHost + "cdn.listrakbi.com/scripts/script.js?m=" + tid + "&v=" + vid;
ljs.parentNode.insertBefore(js, ljs);
})(document, 'script', 'ltkSDK', 'nrhXhcKvIGYk', '1');
</script>
</body>
</html>
<script>
$('#btn-warranty-206958').click(function(){
$(this).addClass("disabled btn-gray");
$(this).removeClass("btn-primary");
$(this).text("Added");
});
</script>
<script>
//Add a class make new mobile search button functional
$( "#header-search" ).focusin(function() {
$( "#header-search .form-control.GlobalSearch, #header-search .btn.btn-link" ).addClass("search-click");
});
$( "#header-search" ).focusout(function() {
setTimeout( function(){
$( "#header-search .form-control.GlobalSearch, #header-search .btn.btn-link" ).removeClass("search-click");
} , 100 );
});
</script>
<script>
if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0)
{
document.getElementsByTagName("BODY")[0].className += " safari";
}
$(window).resize(function() {
if ($(window).width() > 767) {
$('#sidebar').modal('hide')
//$("body").removeClass("modal-open");
//$(".modal-backdrop").hide( 0, function() {});
}
});
</script>
Share:
Share on Twitter Share on Facebook Share on Pinterest Print this page