Now X debuts, successor to Now Up-to-Date and Contact
Close Ad
document.write('
consent.ads.queue.push(function(){
try {
IDG.GPT.addDisplayedAd("gpt-superstitial", "true");
$('#gpt-superstitial').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: gpt-superstitial [971 1115]");
}
catch (exception) {
console.log("Error with IDG.GPT: " + exception);
}
});
Home
$(document).ready(function(){
$('.searchbox-input-class').each(function(){
$(this).change(function(){
var qStr=$(this).val();
if($(this).val().indexOf('@')!=-1){
qStr=qStr.replace(/@/g,' ');
$(this).val(qStr);
}
});
});
});
consent.ads.queue.push(function(){
$.getScript( "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" )
.done(function( script, textStatus ) {
//need to add && publisherConsents.gdprApplies back to the end of this conditional after testing
if (!consent.personalization && consent.isEU) {
(adsbygoogle=window.adsbygoogle||).requestNonPersonalizedAds=1
console.log('*****GDPR: loaded adsense in non-personalized mode')
}
else {
(adsbygoogle = window.adsbygoogle || ).push({});
console.log('*****GDPR: loaded adsense in normal mode');
}
})
.fail(function( jqxhr, settings, exception ) {
console.log( "Triggered ajaxError handler." );
});
});
News
Now X debuts, successor to Now Up-to-Date and Contact
consent.ads.queue.push(function(){
try {
IDG.GPT.addDisplayedAd("gpt-leaderboard", "true");
$('#gpt-leaderboard').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: gpt-leaderboard [971 1115]");
}
catch (exception) {
console.log("Error with IDG.GPT: " + exception);
}
});
consent.ads.queue.push(function(){
try {
IDG.GPT.addDisplayedAd("gpt-leaderboardmobile", "true");
$('#gpt-leaderboardmobile').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: gpt-leaderboardmobile [971 1115]");
}
catch (exception) {
console.log("Error with IDG.GPT: " + exception);
}
});
consent.ads.queue.push(function(){
if($(window).width() >= 930) {
IDG.GPT.addDisplayedAd("gpt-showcase", "true");
$('#gpt-showcase').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: gpt-showcase - [971 1115]");
}
});
#drr-container figure.large.video {
border-bottom: 0 none;
}
figure#page-lede.thm-gallery.rr-gallery-vid #bcplayer-gallery #bcplayer-gallery_ad > div {
width: 300px !important;
height: 169px !important;
transition: all 0.5s ease;
}
figure#page-lede.thm-gallery #bcplayer-gallery #bcplayer-gallery_ad > div {
width: 100%;
height: 100%;
transition: all 0.5s ease;
}
.jwplayer.jw-state-paused .jw-display {
display: table !important;
padding: 0;
}
.jwplayer .jw-display-icon-container {
float: none;
padding: 0;
margin: 0;
}
.jw-flag-small-player .jw-display {
padding-top: 0px;
}
.jwplayer .jw-display-icon-container .jw-icon-rewind {
visibility: hidden;
}
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-play path,
.jw-state-idle .jw-svg-icon-play path,
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-replay path,
.jw-state-complete .jw-svg-icon-replay path {
display: none;
}
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-play,
.jw-state-idle .jw-svg-icon-play,
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-replay,
.jw-state-complete .jw-svg-icon-replay {
background-size: contain;
background-repeat: no-repeat;
background-color: transparent;
background-image: url(//idge.staticworld.net/idgtv/btn-play-default.svg);
background-position: center center;
bottom: 0;
border-radius: 0;
box-shadow: none;
left: 0;
margin: auto;
right: 0;
top: 0;
}
.jwplayer .jw-display-icon-container .jw-icon,
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-play,
.jw-state-idle .jw-svg-icon-play,
.jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-replay,
.jw-state-complete .jw-svg-icon-replay {
height: 81px;
width: 78px;
}
.thm-gallery.rr-gallery-vid .jwplayer .jw-display-icon-container .jw-icon,
.thm-gallery.rr-gallery-vid .jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-play,
.thm-gallery.rr-gallery-vid .jw-state-idle .jw-svg-icon-play,
.thm-gallery.rr-gallery-vid .jwplayer .jw-display-icon-container .jw-icon-display .jw-svg-icon-replay,
.thm-gallery.rr-gallery-vid .jw-state-complete .jw-svg-icon-replay {
height: 65px;
width: 62px;
}
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("inread", "true");
IDG.GPT.displayGoogleTagSlot('inread');
});
var dataLayer = window.dataLayer = window.dataLayer || ;
dataLayer.push({
'event': 'loadTopCollectionModule'
});
$(document).ready(function() {
$('.articleBloxAd').filter( ":visible" ).each(function(index, item) {
var id = $(item).attr('id');
var divClass = $(item).attr('class');
var adString = IDG.GPT.getLazyAdCode();
$(item).replaceWith("
" + adString + "
");});
try {
$("div.lazyload_blox_ad").lazyLoadAd({
threshold : 0, // You can set threshold on how close to the edge ad should come before it is loaded. Default is 0 (when it is visible).
forceLoad : false, // Ad is loaded even if not visible. Default is false.
onLoad : false, // Callback function on call ad loading
onComplete : false, // Callback function when load is loaded
timeout : 1500, // Timeout ad load
debug : false, // For debug use : draw colors border depends on load status
xray : false // For debug use : display a complete page view with ad placements
}) ;
}
catch (exception){
console.log("error loading lazyload_ad " + exception);
}
});
$(function() {
var MOBILE_BREAK = 929;
if ($(window).width() -1) {
articleDRRModuleList.splice(dealpostsIdx, 1);
adPositions = [0, 1, 2, 4];
}
}
for (var i=0; i p:eq(7)").index();
$("#drr-container").children().slice(0, firstModIndex).each(function() {
placementTarget += $(this).height();
});
// Define first mobile ad here so imu counter shows imu1 first imu2 second, etc.
var firstMobileAdHtml = getLazyLoadAdHtml();
// Place Right-rail div containers
$("#drr-container").children().each(function(index,value) {
//ignore any hidden elements in the body, like the mobile-only "read this next" module
if ($(this).is(':visible')) {
if (DEBUG) {
console.log($(this));
}
if (cumulativeHeight >= placementTarget) {
if (DEBUG) {
console.log("cumulativeHeight >= placementTarget and cumulativeHeight is " + cumulativeHeight + " and placementTarget is " + placementTarget);
}
var placementDiff = 0;
if ($.inArray(loopCounter, adPositions) != -1 || loopCounter >= 5) {
try {
IDG.GPT.addExtIMU();
var adDivString;
if (true) {
adDivString = getLazyLoadAdHtml();
} else {
IDG.GPT.IMUCounter = IDG.GPT.IMUCounter + 1;
var slotName = IDG.GPT.getIMUSlotName(),
adString = "
$('#" + slotName + "').responsiveAd({screenSize:'971 1115', scriptTags: });if (Object.keys(IDG.GPT.companions).length > 0) {IDG.GPT.refreshAd('" + slotName + "');}";
adDivString = "
adDivString = "
" + adString + "";
consent.ads.queue.push(function(){IDG.GPT.defineGoogleTagSlot(slotName ,[[320,50],[300,250],[300,50]],false,true);});
}
placementDiff = applyInsert($(this), adDivString);
if (DEBUG) {
console.log("Just placed an ad and the placementDiff is: " + placementDiff);
}
placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + AD_HEIGHT_BUFFER;
}
catch (e){
console.log("Error: "+e);
}
}
else if (moduleCounter < articleDRRModuleList.length){
var elementId = "drr-mod-"+moduleCounter;
var moduleDivString = "";
modules.push(elementId);
placementDiff = applyInsert($(this), moduleDivString);
if (DEBUG) {
console.log("Just placed a module and the placementDiff is: " + placementDiff);
}
placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + MODULE_HEIGHT_BUFFER;
moduleCounter++;
}
loopCounter++;
}
// Avoid placing elements too soon due to non-large figures inflating the cumulative height
if ($(this).is("figure") && !$(this).is("figure.large")) {
cumulativeHeight += GRAF_HEIGHT;
}
else {
cumulativeHeight += $(this).height() + GRAF_HEIGHT;
}
}
}); // end $("#drr-container").children().each()
// clone Related Stories module to come in after eighth para in article body for mobile breakpoint display
var $relatedStories = $('.related-promo-wrapper');
if ($relatedStories.length) {
var $relatedStoriesClone = $relatedStories.clone();
$relatedStoriesClone.insertAfter( "#drr-container > p:eq(7)");
}
if (false) {
var $dealPost = $('.dealpost-mod');
var $amazonWidget = $('#amazon-widget');
if ($dealPost.length && $amazonWidget.length) {
var $dealPostClone = $dealPost.remove();
var $amazonWidgetClone = $amazonWidget.remove();
$dealPostClone.insertAfter( "#drr-container > p:eq(7)");
$amazonWidgetClone.insertAfter($dealPostClone);
}
}
// For mobile only, place ad after second paragraph.
if (firstMobileAdHtml) {
$(firstMobileAdHtml).insertAfter("#drr-container > p:eq(1)");
}
var $insiderPromo = $('.insider-promo-wrapper');
if ($insiderPromo.length) {
var $insiderPromoClone = $insiderPromo.clone();
$insiderPromoClone.insertAfter( "#drr-container > p:eq(1)");
}
// Add Right rail module content
var placeModule = function( data ) {
var placementId = $(data).filter('div').attr('data-placement-id');
$( "#"+placementId ).html( data );
};
for (i=0; i<modules.length; i++) {
if (moduleUrls[i] !== undefined) {
$.get(moduleUrls[i]+"&divId="+modules[i], placeModule);
}
}
$("div.lazyload_ad_article").lazyLoadAd({
threshold : 0,
forceLoad : false, // Ad is loaded even if not visible. Default is false.
onLoad : false, // Callback function on call ad loading
onComplete : false, // Callback function when load is loaded
timeout : 1500, // Timeout ad load
debug : false, // For debug use : draw colors border depends on load status
xray : false // For debug use : display a complete page view with ad placements
});
/*
* Increments imu counter and generates a 'name' based on count like imu2, imu3, etc.
* Returns the html and code script needed for the lazy load ad js.
*/
function getLazyLoadAdHtml() {
try {
var adString = IDG.GPT.getLazyAdCode(true);
return "
consent.ads.queue.push(function(){IDG.GPT.defineGoogleTagSlot(slotName ,[[320,50],[300,250],[300,50]],false,true);});
}
placementDiff = applyInsert($(this), adDivString);
if (DEBUG) {
console.log("Just placed an ad and the placementDiff is: " + placementDiff);
}
placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + AD_HEIGHT_BUFFER;
}
catch (e){
console.log("Error: "+e);
}
}
else if (moduleCounter < articleDRRModuleList.length){
var elementId = "drr-mod-"+moduleCounter;
var moduleDivString = "";
modules.push(elementId);
placementDiff = applyInsert($(this), moduleDivString);
if (DEBUG) {
console.log("Just placed a module and the placementDiff is: " + placementDiff);
}
placementTarget = cumulativeHeight + placementDiff + INTERMODULE_HEIGHT + MODULE_HEIGHT_BUFFER;
moduleCounter++;
}
loopCounter++;
}
// Avoid placing elements too soon due to non-large figures inflating the cumulative height
if ($(this).is("figure") && !$(this).is("figure.large")) {
cumulativeHeight += GRAF_HEIGHT;
}
else {
cumulativeHeight += $(this).height() + GRAF_HEIGHT;
}
}
}); // end $("#drr-container").children().each()
// clone Related Stories module to come in after eighth para in article body for mobile breakpoint display
var $relatedStories = $('.related-promo-wrapper');
if ($relatedStories.length) {
var $relatedStoriesClone = $relatedStories.clone();
$relatedStoriesClone.insertAfter( "#drr-container > p:eq(7)");
}
if (false) {
var $dealPost = $('.dealpost-mod');
var $amazonWidget = $('#amazon-widget');
if ($dealPost.length && $amazonWidget.length) {
var $dealPostClone = $dealPost.remove();
var $amazonWidgetClone = $amazonWidget.remove();
$dealPostClone.insertAfter( "#drr-container > p:eq(7)");
$amazonWidgetClone.insertAfter($dealPostClone);
}
}
// For mobile only, place ad after second paragraph.
if (firstMobileAdHtml) {
$(firstMobileAdHtml).insertAfter("#drr-container > p:eq(1)");
}
var $insiderPromo = $('.insider-promo-wrapper');
if ($insiderPromo.length) {
var $insiderPromoClone = $insiderPromo.clone();
$insiderPromoClone.insertAfter( "#drr-container > p:eq(1)");
}
// Add Right rail module content
var placeModule = function( data ) {
var placementId = $(data).filter('div').attr('data-placement-id');
$( "#"+placementId ).html( data );
};
for (i=0; i<modules.length; i++) {
if (moduleUrls[i] !== undefined) {
$.get(moduleUrls[i]+"&divId="+modules[i], placeModule);
}
}
$("div.lazyload_ad_article").lazyLoadAd({
threshold : 0,
forceLoad : false, // Ad is loaded even if not visible. Default is false.
onLoad : false, // Callback function on call ad loading
onComplete : false, // Callback function when load is loaded
timeout : 1500, // Timeout ad load
debug : false, // For debug use : draw colors border depends on load status
xray : false // For debug use : display a complete page view with ad placements
});
/*
* Increments imu counter and generates a 'name' based on count like imu2, imu3, etc.
* Returns the html and code script needed for the lazy load ad js.
*/
function getLazyLoadAdHtml() {
try {
var adString = IDG.GPT.getLazyAdCode(true);
return "