if (typeof (performance) !== 'undefined' && performance.mark) { performance.mark(markName); } } markPerformance('docStart'); var recordLifecycleEvents = true; function trackEvent(key, params) { if (!recordLifecycleEvents) { return; } var eventRequest = new XMLHttpRequest(); eventRequest.open('POST', 'https://events.api.copperstatesupplyinc.shop/api/client-event', true); eventRequest.withCredentials = true; eventRequest.setRequestHeader('accept', 'application/json, text/plain, */*'); eventRequest.setRequestHeader('content-type', 'application/json;charset=UTF-8'); eventRequest.send( JSON.stringify({ event_key: key, parameter_tokens: params, }) ); } trackEvent("retailers-html_init-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); if (document.readyState === "loading") { document.addEventListener('DOMContentLoaded', function (event) { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); }); window.addEventListener('load', function() { trackEvent("retailers-load_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); }); } else if (document.readyState === "interactive") { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); window.addEventListener('load', function() { trackEvent("retailers-load_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); }); } else { trackEvent("retailers-resource_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); trackEvent("retailers-load_complete-view", ["web-visitor-server", "/discover/:searchTerm([^/]*)", "SEO"]); } window.loadTimeInteractions = []; const captureLoadTimeInteraction = function(event) { window.loadTimeInteractions.push({ type: event.type, time: performance.now(), selector: event.target && event.target.tagName ? event.target.tagName.toLowerCase() + (event.target.getAttribute('data-test-id') ? '.' + event.target.getAttribute('data-test-id') : '') : 'unknown' }); }; window.startLoadTimeInteractionTracking = function() { var hasExistingListener = function(eventType) { var listeners = window.getEventListeners ? window.getEventListeners(window)[eventType] || [] : []; return listeners.some(function(l) { return l.listener === captureLoadTimeInteraction; }); }; pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) { if (!hasExistingListener(eventType)) { window.addEventListener(eventType, captureLoadTimeInteraction); } }); }; window.stopLoadTimeInteractionTracking = function() { window.loadTimeInteractions = []; pointerEvents.concat(keyboardEvents, inputEvents).forEach(function(eventType) { window.removeEventListener(eventType, captureLoadTimeInteraction); }); }; var pointerEvents = ["click", "pointerdown"]; var keyboardEvents = ["keydown", "keyup"]; var inputEvents = ["input", "change"]; window.startLoadTimeInteractionTracking(); window.addEventListener('scroll', function() { window.mostRecentScrollTime = performance.now(); }); window.addEventListener('error', function (event) { var globalErrorEventMessage = "Empty error event"; if (event) { globalErrorEventMessage = event.message + " at " + event.filename + ":" + event.lineno + ":" + event.colno; } trackEvent("retailers-webretailerglobalerror-error", [globalErrorEventMessage]); }); document.onvisibilitychange = () => { if (document.visibilityState === "hidden") { const url = '/api/client-event'; const data = new Blob( [JSON.stringify({ event_key: 'sessions-session_abandoned-action_unknown', client_created_at: Date.now() })], { type: "application/json" } ); window.navigator.sendBeacon(url, data); } }; document.addEventListener('load', (event) => { if (event.target && event.target.tagName === "IMG") { event.target.faireLoadTimeStamp = event.timeStamp; } }, { capture: true } );
Skip to main content

Wholesale Spa retail for your store

Wholesale Spa retail for your store

Wholesale Spa retail for your store

Wholesale Spa retail for your store

From frames to decorative objects and everything in between, whatever you're looking for, find it on Faire.

From frames to decorative objects and everything in between, whatever you're looking for, find it on Faire.

From frames to decorative objects and everything in between, whatever you're looking for, find it on Faire.

Lock
Unlock wholesale pricing
Filters