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

var footer = "<!-- Begin comScore Tag --><script>var _comscore = _comscore || [];_comscore.push({ c1: \"2\", c2: \"6036161\" });(function() {var s = document.createElement(\"script\"), el = document.getElementsByTagName(\"script\")[0]; s.async = true;s.src = (document.location.protocol == \"https:\" ? \"https:\/\/sb\" : \"http:\/\/b\") + \".scorecardresearch.com\/beacon.js\";el.parentNode.insertBefore(s, el);})();<\/script><noscript><img src=\"http:\/\/b.scorecardresearch.com\/p?c1=2&c2=6036161&cv=2.0&cj=1\" \/><\/noscript><!-- End comScore Tag -->"; 
 
/*
  ====================================================================================
  Init: before DOM is loaded
  ====================================================================================
*/
(function(callable) {
 
    // 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: ros - leaderboard - n4403*/
                                        adSlot = googletag.defineSlot('/4403/cr/gateworld/ros', [[728, 90]], 'ros_4387').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/gateworld").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-4387');
                        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_4387'] = adSlot;

                    googletag.pubads().enableSingleRequest();
                    googletag.pubads().disableInitialLoad();
                    googletag.pubads().collapseEmptyDivs(true);
                    googletag.enableServices();
            });
        })();
                                                    (function(){
            googletag.cmd.push(function() {
                /*Initialization for slot: ros - medium rectangle - n4403*/
                                        adSlot = googletag.defineSlot('/4403/cr/gateworld/ros', [[300, 250]], 'ros_4391').addService(googletag.pubads()).setTargeting("pos", "a").setTargeting("site", "cr/gateworld").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-4391');
                        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_4391'] = 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/gateworld/ros', 'ros_adoop').addService(googletag.pubads()).setTargeting("site", "cr/gateworld").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-4383');
                        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){
        if (document.readyState=='complete')
            callable.call();
        else
            setTimeout(function(){checkDOMStatus(callable)}, 100);
    })(callable);
 
 
    /*
      ====================================================================================
      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);
            }
        }
    });

