Branch: 86 South Main Street, Pine Island
0 $0.00
items in your cartto quote To cart
Ooops no items were found.
Try something else.
Ok
Loading…
Search & Filter
32 items found
Sort by
JM EAGLE 27425 Cellular Core Pipe Plain, 2 in, 20 ft L, Black
JM Eagle SDR Series 77743 Pipe, 4 in, 10 ft L, Solvent Weld, PVC, Green
JM EAGLE 27433 Cellular Core Pipe Plain, 3 in, 20 ft L, Black
JM Eagle 27375 Pipe, 2 in, 10 ft L, DWV, Solvent Weld, SCH 40 Schedule, ABS/Foam, Black
JM Eagle 27391 Pipe, 4 in, 10 ft L, DWV, Solvent Weld, SCH 40 Schedule, ABS/Foam, Black
JM Eagle 67546 Conduit, 3 in, 10 ft L, SCH 80, PVC
JM Eagle 67512 Conduit, 3-1/2 in OD, 3 in, 10 ft L, SCH 40
JM Eagle Schedule Series 1586 Pipe, 1-1/4 in, 10 ft L, Solvent Weld, SCH 40 Schedule, PVC, White
JM Eagle 67504 Conduit, 2.46 in, 10 ft L, SCH 40, PVC
JM Eagle 67553 Conduit, 2.32 in, 10 ft L, SCH 80, PVC
JM EAGLE 27441 Cellular Core Pipe Plain, 4 in, 20 ft L, Black
JM Eagle 67611 Conduit, 35/64 in, 10 ft L, SCH 80, PVC
Total 32 products
show per page
SEARCH ×

/** * ⚡ EvoX Variant Script Combo * Handles: preload spinner + instant cache-based switching + EvoX AJAX polling fallback */ (function () { // === 1. Loading effect on variant change (instant feedback) === document.addEventListener('change', function (e) { if (e.target.matches('.product-option select, .variant-selector select')) { console.log("Variant change triggered – showing loading UI"); const productContainer = document.querySelector('.productView, .product'); if (productContainer) { productContainer.style.opacity = '0.5'; productContainer.style.transition = 'opacity 0.2s ease-in-out'; } } }); // === 2. Static Variant Cache (instant DOM update with no AJAX) === const variantCache = { "305446082": { image: "https://cdn11.bigcommerce.com/s-xxxxx/images/stencil/1280x1280/products/1175/10474/calm-water.jpg", price: "$45.99", description: "Trex Enhance® Naturals in Calm Water finish with natural wood grain texture. Low-maintenance composite decking." }, "305446083": { image: "https://cdn11.bigcommerce.com/s-xxxxx/images/stencil/1280x1280/products/1175/10476/toasted-sand.jpg", price: "$48.49", description: "Trex Enhance® Naturals in Toasted Sand finish. Durable, splinter-free and fade-resistant decking." }, "305446084": { image: "https://cdn11.bigcommerce.com/s-xxxxx/images/stencil/1280x1280/products/1175/10478/rocky-harbor.jpg", price: "$48.49", description: "Rocky Harbor color in the Trex Enhance® Naturals collection. Rich tone, weather-resistant surface." }, "305446087": { image: "https://cdn11.bigcommerce.com/s-xxxxx/images/stencil/1280x1280/products/1175/10480/clam-shell.jpg", price: "$42.49", description: "Trex Enhance® Basics in Clam Shell finish. Budget-friendly, easy to clean, and stain-resistant." } }; document.addEventListener('change', function (e) { if (e.target.name === 'VariantID') { const variantId = e.target.value; const variant = variantCache[variantId]; if (variant) { console.log("⚡ Switching to variant:", variantId); const imageEl = document.querySelector('.productView-image img, .product-image img'); if (imageEl) imageEl.src = variant.image; const priceEl = document.querySelector('.product-price .price, .productView-price .price'); if (priceEl) priceEl.textContent = variant.price; const descEl = document.querySelector('.product-description, .productView-description'); if (descEl) descEl.textContent = variant.description; } } }); // === 3. EvoX AJAX fallback (just in case) === window.evoXProductChangeCallback = function () { console.log("EvoX AJAX response received – polling for updated DOM"); const start = Date.now(); const timeoutLimit = 3000; const interval = setInterval(() => { const imageEl = document.querySelector('.product-image img, .product-main-image img'); const priceEl = document.querySelector('.product-price .price, .pricing .price, .productView-price .price'); const descEl = document.querySelector('.product-description, .productView-description, .description'); if (imageEl && priceEl && descEl) { console.log("DOM updated via AJAX"); const imageSrc = imageEl.src; const price = priceEl.textContent.trim(); const description = descEl.textContent.trim(); console.log("Image:", imageSrc); console.log("Price:", price); console.log("Description:", description); const productContainer = document.querySelector('.productView, .product'); if (productContainer) productContainer.style.opacity = '1'; clearInterval(interval); } if (Date.now() - start > timeoutLimit) { console.warn("Timeout: EvoX DOM didn't load in time"); clearInterval(interval); } }, 50); }; })();