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
Age Verification

Pressure Relief Valves

653 items found
Sort by
Waterline 1440144 Boiler Drain, 1/2 x 3/4 in Connection, PEX x Male Threaded, Brass Body
Waterline 1375880 Hose Boiler Drain, 1/2 x 3/4 in Connection, Push-to-Connect x Male Threaded, Brass Body
SharkBite COLORmaxx Series 23062LF Straight Stop Valve, 1/2 x 3/8 in Connection, Barb, 80 psi Pressure, Brass Body
SharkBite COLORmaxx 23063LF Straight Stop Valve, 1/2 in Connection, Barb, 80 psi Pressure, Brass Body
Simmons 900 Series 902 Frost-Proof Yard Hydrant, 53-1/4 in OAL, 3/4 in Inlet, FNPT Inlet, 3/4 in Outlet, MHT Outlet
Simmons 900 Series 903 Frost-Proof Yard Hydrant, 3/4 in Inlet, FNPT Inlet, 3/4 in Outlet, Male Hose Threaded Outlet
Simmons 900 Series 905 Yard Hydrant, 7 ft OAL, 3/4 in Inlet, FNPT Inlet, 3/4 in Outlet, Male Thread Outlet
BrassCraft CR1901LRX C1 Stop Valve, 1/2 x 3/8 x 3/8 in Connection, Compression, 125 psi, Brass, 2.82 in L x 1.06 in W
Keeney 2068PCPOLF Supply Line Valve, 5/8 x 3/8 in Connection, Compression, Quarter-Turn Actuator, Brass, Water Media
SharkBite 23057LF Stop Valve, 1/2 x 3/8 in Connection, Compression, 80 to 160 psi Pressure, Brass Body
SharkBite 23058LF Angle Stop Valve, 1/2 x 3/8 in Connection, Compression, 80 to 160 psi Pressure, Brass Body
BrassCraft OR17X C1 Stop Valve, 1/2 x 3/8 in Connection, Compression x FIP, 125 psi Pressure, Brass Body
Total 653 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); }; })();