(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();
}
})();
Usher’s new song, ‘Hot Toddy’, hit the internet today. The song is off Usher’s upcoming album Versus, his new EP which is set to drop on August 24, 2010. Versus is a follow up to Raymond vs. Raymond which was Usher’s sixth studio album.
A couple songs from Versus have already been released. ‘DJ Got Us Fallin In Love (ft. Pitbull)’ and ‘Somebody To Love (Remix) (Justin Bieber ft. Usher)’ have both made their debut and have been met with very positive reactions.
Lately, it’s hard to go anywhere without hearing Usher. Between ‘OMG (ft. will.i.am)’ and ‘DJ Got Us Fallin In Love (ft. Pitbull)’, Usher seems to be on every radio station.
👉 For more insights, check out this resource.
As for the new song, ‘Hot Toddy (ft. Jay-Z and Ciara)’, it’s sounding pretty good and I’m sure it will be a hit. This version is not the finished version but it’s pretty close. Take a listen below and remember to check out Versus when it hits stores on August 24, 2010.
[audio:
Usher – Hot Toddy feat Jay-Z – HotNewHipHop.com.mp3|titles=Hot Toddy (ft. Jay-Z and Ciara)]
👉 Discover more in this in-depth guide.