Skip to the content
About Us
Oil and Gas Consulting
(function () {
// === FWMBCC Redirect Kill Switch (Allowlist-based) ===
var ALLOWLIST = [
location.hostname,
'www.fwmbcc.org'
// Add trusted services ONLY if needed:
// 'paypal.com', 'www.paypal.com',
// 'donorbox.org', 'donorbox.com',
// 'eventbrite.com', 'www.eventbrite.com',
// 'youtube.com', 'www.youtube.com',
// 'facebook.com', 'www.facebook.com'
];
var BLOCKLIST = [
'canoerepenttorment.com'
];
function getHostname(url) {
try { return new URL(url, location.href).hostname; }
catch (e) { return ''; }
}
function isMailOrTel(url) {
return /^mailto:|^tel:/i.test(String(url || ''));
}
function isAllowed(url) {
if (!url || isMailOrTel(url)) return true;
var host = getHostname(url);
if (!host) return true;
for (var i = 0; i < BLOCKLIST.length; i++) {
if (host === BLOCKLIST[i] || host.endsWith('.' + BLOCKLIST[i])) return false;
}
for (var j = 0; j < ALLOWLIST.length; j++) {
var allowed = ALLOWLIST[j];
if (host === allowed || host.endsWith('.' + allowed)) return true;
}
return false;
}
function block(url, method) {
try { console.warn('[FWMBCC] Blocked external navigation via ' + method + ':', url); } catch (e) {}
}
// Block programmatic navigations
try {
var origAssign = window.location.assign.bind(window.location);
var origReplace = window.location.replace.bind(window.location);
window.location.assign = function (url) {
if (!isAllowed(url)) return block(url, 'location.assign');
return origAssign(url);
};
window.location.replace = function (url) {
if (!isAllowed(url)) return block(url, 'location.replace');
return origReplace(url);
};
} catch (e) {}
// Block window.open
var origOpen = window.open;
window.open = function (url) {
if (!isAllowed(url)) return block(url, 'window.open');
return origOpen.apply(window, arguments);
};
// Block click hijacks
document.addEventListener('click', function (e) {
var el = e.target;
while (el && el !== document) {
if (el.tagName && el.tagName.toLowerCase() === 'a' && el.href) {
if (!isAllowed(el.href)) {
e.preventDefault();
e.stopPropagation();
block(el.href, 'click');
return false;
}
return;
}
el = el.parentNode;
}
}, true);
// Block form-based redirects
document.addEventListener('submit', function (e) {
var form = e.target;
if (form && form.action && !isAllowed(form.action)) {
e.preventDefault();
e.stopPropagation();
block(form.action, 'form.submit');
return false;
}
}, true);
// Remove suspicious injected iframes/scripts
try {
var mo = new MutationObserver(function (mutations) {
mutations.forEach(function (m) {
(m.addedNodes || []).forEach(function (node) {
if (!node || !node.tagName) return;
var tag = node.tagName.toLowerCase();
if (tag === 'iframe' || tag === 'script') {
var src = node.src || node.getAttribute('src') || '';
if (src && !isAllowed(src)) {
block(src, tag + '.injection');
try { node.remove(); } catch (e) {}
}
}
});
});
});
mo.observe(document.documentElement, { childList: true, subtree: true });
} catch (e) {}
})();
/* === Facebook SDK loader (JS-only) === */
(function(d, s, id) {
if (d.getElementById(id)) return;
var js = d.createElement(s);
js.id = id;
js.async = true;
js.defer = true;
js.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2";
var fjs = d.getElementsByTagName(s)[0];
fjs.parentNode.insertBefore(js, fjs);
})(document, 'script', 'facebook-jssdk');
/* === Google Analytics (gtag) loader (JS-only) === */
(function() {
var gaId = "UA-112767591-1";
var s = document.createElement('script');
s.async = true;
s.src = "https://www.googletagmanager.com/gtag/js?id=" + encodeURIComponent(gaId);
document.head.appendChild(s);
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
window.gtag = gtag;
gtag('js', new Date());
gtag('config', gaId);
})();
/* === Mailchimp popup loader (JS-only) === */
(function() {
var mc = document.createElement('script');
mc.type = 'text/javascript';
mc.src = "https://downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js";
mc.setAttribute('data-dojo-config', "usePlainJson: true, isDebug: false");
mc.onload = function () {
if (!window.dojoRequire) return;
window.dojoRequire(["mojo/signup-forms/Loader"], function(L) {
L.start({
"baseUrl":"mc.us13.list-manage.com",
"uuid":"59e1d8e16570fde7e20d6611d",
"lid":"e29f541671",
"uniqueMethods":true
});
});
};
document.head.appendChild(mc);
})();