Preparing your Facility for Polished Concrete
(function() {
var is_request_idle_callback_supported = (typeof window.requestIdleCallback === 'function');
var has_had_first_idle = false;
var has_loaded = false;
var on_idle_queue = [];
window.doOnLoadIdle = function(fn) {
if (typeof fn !== 'function') {
return;
}
if (has_had_first_idle) {
fn();
return;
}
on_idle_queue.push(fn);
};
var on_load_queue = [];
window.doOnLoad = function(fn) {
if (has_loaded) {
fn();
return;
}
on_load_queue.push(fn);
};
function handleFirstIdle() {
has_had_first_idle = true;
for (var i = 0; i < on_idle_queue.length; i++) {
on_idle_queue[i]();
}
on_idle_queue = [];
}
function handleLoad() {
window.removeEventListener('load', handleLoad);
has_loaded = true;
for (var i = 0; i < on_load_queue.length; i++) {
on_load_queue[i]();
}
on_load_queue = [];
if (is_request_idle_callback_supported) {
window.requestIdleCallback(handleFirstIdle);
return;
}
handleFirstIdle();
}
window.addEventListener('load', handleLoad);
})();
window.dataLayer = window.dataLayer || [];
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-WKPM2LG');
(function() {
function main() {
var elements = document.querySelectorAll('.js-track-click[data-ga-action]');
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
element.addEventListener('click', handleClick.bind(null, element));
}
}
function createFunctionWithTimeout(callback, opt_timeout) {
var called = false;
function fn() {
if (!called) {
called = true;
callback();
}
}
setTimeout(fn, opt_timeout);
return fn;
}
function handleClick(element, event) {
var action = element.dataset.gaAction;
if (!action) {
return;
}
var href = element.href;
var is_link = element.tagName === 'A' && href;
var is_new_tab_target = element.target === '_blank';
var link_protocol_http_https = href.substr(0, 4) === 'http';
var is_link_to_timeout = is_link && !is_new_tab_target && link_protocol_http_https;
// We need time to track the click or submit
if (is_link_to_timeout) {
event.preventDefault();
}
window.dataLayer.push({
event: 'custom_click',
custom_click_action: action,
custom_click_label: element.dataset.gaLabel || '',
});
if (is_link_to_timeout) {
createFunctionWithTimeout(function() {
window.location.href = href;
}, 250);
}
}
window.doOnLoad(main);
})();
Essential Preparations for Transforming Your Facility with Polished Concrete
[{"@context":"https:\/\/schema.org\/","@graph":[{"@context":"https:\/\/schema.org\/","@type":"SiteNavigationElement","@id":"https:\/\/www.paintersusa.com#Sitelink Schema","name":"Request an Estimate","url":"https:\/\/www.paintersusa.com\/request-an-estimate"},{"@context":"https:\/\/schema.org\/","@type":"SiteNavigationElement","@id":"https:\/\/www.paintersusa.com#Sitelink Schema","name":"Commercial Painting","url":"https:\/\/www.paintersusa.com\/services\/commercial-painting-contractor"},{"@context":"https:\/\/schema.org\/","@type":"SiteNavigationElement","@id":"https:\/\/www.paintersusa.com#Sitelink Schema","name":"Industrial Painting","url":"https:\/\/www.paintersusa.com\/services\/industrial-painting"},{"@context":"https:\/\/schema.org\/","@type":"SiteNavigationElement","@id":"https:\/\/www.paintersusa.com#Sitelink Schema","name":"Industrial Flooring","url":"https:\/\/www.paintersusa.com\/services\/industrial-flooring-coating-contractor"}]},
{"@context":"https:\/\/schema.org\/","@type":"BreadcrumbList","@id":"https:\/\/www.paintersusa.com\/blog\/essential-preparations-for-transforming-your-facility-with-polished-concrete#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.paintersusa.com","name":"Painters USA"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.paintersusa.com\/blog\/category\/uncategorized","name":"Uncategorized"}},{"@type":"ListItem","position":3,"item":{"@id":"https:\/\/www.paintersusa.com\/blog\/essential-preparations-for-transforming-your-facility-with-polished-concrete","name":"Essential Preparations for Transforming Your Facility with Polished Concrete"}}]}]