(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();
}
})();
Debbie Matenopoulos says she is so burned by her split with Los Angeles music executive Jay Faires that she has no plans to walk down the aisle again. "Never," she told reporters Thursday at the Byron & Tracey Salon party in Beverly Hills. "Divorce is awful," she said. "I know you guys are all waiting to ask me, so I'm just going to f—–g tell you: Divorce is awful." How awful? Pointing to a bandage on her finger, she joked, "I was trying to kill myself, and I cut the wrong place."
See Hollywood's ugliest splits of all time.
Faires filed for divorce on Nov. 12 after five years of marriage, claiming that they have "continuously lived beyond our means during our marriage." Their split heated up this past week when he spoke out in the press, alleging that Matenopoulos pays for nothing — including the cable bill — in regards to their multimillion-dollar L.A. home. Faires — who is seeking spousal support — also revealed how she earns at least $225,000 a year as an E! anchor, while he brings home $37,500 per month before taxes.
See other stars who called it quits in 2008
👉 For more insights, check out this resource.
Matenopoulos said she is still outraged that he went to the press. "I was like, 'Dude, you're not even in the public eye! Why are you doing that?'" she said. "He wants to hurt me, or it's his way to be like, 'Screw you.' "Clearly, my husband's talk is cheap, and after everything you've read, you can discern that he is cheap as well," she said.
👉 Discover more in this in-depth guide.
See today's top celeb news photos
After all the drama, she said her "new thing for 2009 is, 'We are females, hear us roar.' If it weren't for us, you boys wouldn't be here because you grew inside of us, so back off." It hasn't been easy for the bubbly Matenopoulos to keep a sense of humor through it all, she said. "I've cried for a year," she said. "He left Easter Day … and never came back. He's said all this stuff about not paying my way. Anybody who knows me knows I pay my way and beyond my way. "There's absolutely no validity to it," she said of his claims. "He's lying in the press. P.S. — we have all the documents and the judge knows the truth, so it doesn't matter." The two have a hearing Feb. 23.