var googletag     = googletag || {};
    googletag.cmd = googletag.cmd || [];

var PB        = PB || {};
    PB.gptAds = PB.gptAds || {};
    PB.PBJS   = PB.PBJS || {};

var footer = null;

/*
  ====================================================================================
  Init: before DOM is loaded
  ====================================================================================
*/
(function(callable, hasPrebid) {

    // Load GPT library
    (function(){
        var gads = document.createElement('script');
        gads.async = true;
        gads.type = 'text/javascript';
        var useSSL = 'https:' == document.location.protocol;
        gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js';
        var node = document.getElementsByTagName('script')[0];
        node.parentNode.insertBefore(gads, node);
    })();

    // Disable initial load
    
    // Define Ad slots
                                                (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - ATF - 728x90/970x90/970x250/970x300*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[970, 300],[970, 250],[970, 90],[728, 90]], 'home_23979').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-23979');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_23979'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - BTF - 728x90*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[728, 90]], 'home_24001').addService(googletag.pubads()).setTargeting("pos", "b").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24001');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_24001'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - mobile 320x50/320x100/320x150*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[320, 50]], 'home_23981').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-23981');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_23981'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - ATF - 300x250/300x600*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[300, 600],[300, 250]], 'home_23977').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-23977');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_23977'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - BTF1 - 300x250*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[300, 250]], 'home_23993').addService(googletag.pubads()).setTargeting("pos", "c").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-23993');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_23993'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: home - BTF - 300x250*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/home', [[300, 250]], 'home_24051').addService(googletag.pubads()).setTargeting("pos", "b").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24051');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_24051'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
                googletag.cmd.push(function() {
                    /*Initialization for home out of page slot*/
                                        adSlot = googletag.defineOutOfPageSlot('/4403/cr/screenanarchy/home', 'home_adoop').addService(googletag.pubads()).setTargeting("site", "cr/screenanarchy").setTargeting("sect", "home");
                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24055');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['home_adoop'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
                });
        })();
                                                                        (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - ATF - 728x90/970x90/970x250/970x300*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[970, 300],[970, 250],[970, 90],[728, 90]], 'ros_24021').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24021');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24021'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - BTF - 728x90*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[728, 90]], 'ros_24039').addService(googletag.pubads()).setTargeting("pos", "b").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24039');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24039'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - mobile 320x50/320x100/320x150*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[320, 50]], 'ros_24041').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24041');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24041'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - ATF - 300x250/300x600*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[300, 600],[300, 250]], 'ros_24045').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24045');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24045'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - BTF1 - 300x250*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[300, 250]], 'ros_24009').addService(googletag.pubads()).setTargeting("pos", "c").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24009');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24009'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - BTF - 300x250*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[300, 250]], 'ros_24013').addService(googletag.pubads()).setTargeting("pos", "b").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24013');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24013'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ROS - BTF2 - 300x250*/
                                        adSlot = googletag.defineSlot('/4403/cr/screenanarchy/ros', [[300, 250]], 'ros_24043').addService(googletag.pubads()).setTargeting("pos", "d").setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");

                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24043');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_24043'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
                googletag.cmd.push(function() {
                    /*Initialization for ros out of page slot*/
                                        adSlot = googletag.defineOutOfPageSlot('/4403/cr/screenanarchy/ros', 'ros_adoop').addService(googletag.pubads()).setTargeting("site", "cr/screenanarchy").setTargeting("sect", "ros");
                    scriptObj = document.getElementById('evolveUniversal');
                    if (scriptObj) {
                        var customTargets = Array.prototype.filter.call(scriptObj.attributes, function(at) { return /^data-targeting-/.test(at.name); });
                        for (i = 0; i < customTargets.length; i++) {
                            adSlot.setTargeting(customTargets[i].name.substr("data-targeting-".length), customTargets[i].value);
                        }

                        var sizemap = scriptObj.attributes.getNamedItem('data-sizemap-24053');
                        if (sizemap) {
                            var mapping = googletag.sizeMapping();
                            var sizemaps = sizemap.value.split('|')
                            for (i = 0; i < sizemaps.length; i++) {
                                eval("mapping.addSize(" + sizemaps[i] + ");");
                            }
                            mapping = mapping.build();
                            adSlot.defineSizeMapping(mapping);
                        }
                    }

                    PB.gptAds['ros_adoop'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
                });
        })();
                                        
    // DOM preload function
    (function checkDOMStatus(callable, hasPrebid){
        if (hasPrebid()) {
            if (PB.PBJS.Done && document.readyState == 'complete') {
                callable.call();
            } else {
                setTimeout(function() {
                    checkDOMStatus(callable, hasPrebid);
                }, 100);
            }
        } else {
            if (document.readyState == 'complete') {
                callable.call();
            } else {
                setTimeout(function() {
                    checkDOMStatus(callable, hasPrebid);
                }, 100);
            }
        }
    })(callable, hasPrebid);


    /*
      ====================================================================================
      Trigger: after DOM is loaded
      ====================================================================================
    */
    })(function() {
        // Load Ad slots
        var adsPresent = [];
        for (key in PB.gptAds) {
            if (document.getElementById(key)) {
                // this line is needed for the refresh method to work correctly
                googletag.cmd.push(function() { googletag.display(key); });
                adsPresent.push(PB.gptAds[key]);
            }
        };

        // loading the ads in one single request
        googletag.pubads().refresh(adsPresent);
        evolveFooter = document.getElementById('evolve_footer');
        if (evolveFooter) {
            evolveFooter.innerHTML = footer;
            evolveFooterScripts = evolveFooter.getElementsByTagName('script');
            for (i = 0; i < evolveFooterScripts.length; i++) {
                eval(evolveFooterScripts[i].innerHTML);
            }
        }

        // all set
        PB.PBJS.AdsRequested = true;
    }, function() {
        if (typeof PB.PBJS === 'object' && typeof PB.PBJS.Done === 'boolean') {
            return true;
        }

        return false;
    });

