(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
Cold Case Files on A&E this week looks at the murder of Sheriff’s Lieutenant Ray ‘Joe’ Clark — a case which went unsolved for 33 years.
The show looks at how Clark’s death in 1981 was thought to be the start of a drug war due to his hardline stance on drug crime.
He was shot in the head through a window of his home after going into his kitchen to get a snack while watching a basketball game at his home in Marietta, Ohio.
Detectives were unable to initially solve the case, despite pursuing several leads over the years.
👉 For more insights, check out this resource.
But Cold Case Files, which features interviews with those involved in the case, looks at how a shell used in the crime showed the barrel that shot it was from a gun used by law enforcement officers.
In September 2014 former sheriff’s deputy Mitchell Ruble was arrested following an anonymous tip-off, and accused of killing his former boss.
👉 Discover more in this in-depth guide.
He had been fired by Clark for inappropriate conduct in 1978, three years before Clark was killed.
He was found guilty of murder and sentenced to life in prison in April 2016, with a minimum of 15 years before he would be eligible for parole.
His incarceration brought to an end what was the longest running cold case involving a law enforcement officer in the United States.
Ruble died of natural causes in prison the following year.
Watch a clip from the Cold Case Files below, which shows detectives pursuing leads in a bid to find the killer.
Cold Case Files airs Thursdays at 10/9c on A&E.