/************ TAGX dynamic tags ************************/
(function() {
var tagger = new TAGX.Tagger();
TAGX.config = {};
TAGX.config.analyticsReady = function() { return (window.NYTD && window.NYTD.EventTracker && window.dcsMultiTrack) ? true : false }
tagger.define("page.dom.custom", function (callback) {
    TAGX.$.domReady(function () {
        callback(function (params, callback) {
            var tagCtx = this;
            if (params.length > 0) {
                TAGX.$(TAGX).one(params[0], function (eventData) {
                    if (typeof tagCtx.eventsData === 'undefined') {
                        tagCtx.eventsData = {};
                    }
                    tagCtx.eventsData[params[0]] = eventData || {};
                    callback(true);
                });
            }
        });
    });
}
);
tagger.tag().condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }).run(function() {var
  imageViewerTrack;
imageViewerTrack = function (eventData) {
  var
    data = TAGX.Utils.jsonObjToDCSparams(eventData);
  data.push('WT.z_dcsm', '1');
  data.push('WT.z_gpt', 'Multimedia');
  data.push('WT.z_gpst', eventData.module);
  data.push('WT.ti', 'Video Click to Play');
  data.push('DCS.dcssip', location.hostname);
  data.push('DCS.dcsuri', '/Video-Click-to-Play');
  dcsMultiTrack.apply(this, data);
};
TAGX.$(TAGX).on('media-viewer-play-video', imageViewerTrack);;});
tagger.tag().repeat('many').condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["comscore-pageview-candidate"], callback); }).run(function() {
/*** comscore tag for page view candidate ***/
/* relay */
TAGX.$(TAGX).trigger("loaded:comscoreVendorCode.js");
TAGX.$(TAGX).trigger("loaded:comscore.js");
;});
tagger.tag().repeat('many').condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["module-impression"], callback); }).run(function() {var evtData = this.eventsData['module-impression'];
var moduleName = evtData.module.toLowerCase();
	
if (moduleName !== "ad") {
	var priorityObj = {
		gateway: 1,
		growl : 1,
        notification : 1
	};
	if(priorityObj.hasOwnProperty(moduleName)) {
		evtData.priority = true;
	}
	NYTD.pageEventTracker.addModuleImpression(evtData);	
};});
tagger.tag().repeat('many').condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["module-interaction"], callback); }).run(function() {/* ET module interactions tag */
var evtData = this.eventsData["module-interaction"];
NYTD.EventTracker().track(evtData);
;});
tagger.tag().run(function() {NYTD = window.NYTD || {};
NYTD.EventTrackerPageConfig = {
    event: {
        pageMetaData: {
            value: function () {
                var name, content, i;
                var tags = document.getElementsByTagName('meta');
                var whiteListObj = {PT:"", CG:"", SCG:"", byl:"", tom:"", hdl:"", ptime:"", cre:"", articleid:"", channels:"", CN:"", CT:"", des:""};
                for (i = 0; i < tags.length; i += 1) {
                    name = tags[i].getAttribute('name');
                    content = tags[i].getAttribute('content');
                    if (typeof name === 'string' && typeof content === 'string') {
                        if (whiteListObj.hasOwnProperty(name)) {
                            whiteListObj[name] = content;
                        }
                        
                    }
                }
                
                // augment channels with scg stuff
                if (whiteListObj.CG.toLowerCase() === 'opinion') {
                    whiteListObj.channels += whiteListObj.channels === '' ? '' : ';';
                    whiteListObj.channels += whiteListObj.CG.toLowerCase();
                }
                
                return TAGX.Utils.stringifyJson(whiteListObj);
            }
        }
    }
}
;});
tagger.tag().run(function() {/* jshint -W097 */
/* global TAGX */
'use strict';
var i, pe;
var priorityEvents = [{
    eventName: 'page-break-equiv-nyt4',
    eventFields: ['nyt4pg']
}];
var setPriority = function (evtData, fields) {
    var i, fieldcount1, fieldcount2;
    var _fields = fields || [];
    fieldcount1 = 0;
    fieldcount2 = _fields.length;
    for (i = _fields.length - 1;i >= 0;i--) {
        if (typeof evtData[_fields[i]] !== 'undefined') {
            fieldcount1++;
        }
    }
    if (fieldcount1 === fieldcount2 && evtData.priority !== true) {
            evtData.priority = true;
    }
};
for (i = priorityEvents.length - 1;i >= 0;i--) {
    pe = priorityEvents[i];
    TAGX.$(TAGX).on(pe.eventName, setPriority, pe.eventFields);
}
;});
tagger.tag().repeat('many').condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["track-page-view"], callback); }).run(function() {/* tracking page view via the proxy */
var datum = this.eventsData["track-page-view"];
if(datum) {
    // move // moduleData out of the way
    if(JSON) {
        var mData = JSON.parse(datum.moduleData), attr;
        for(attr in mData) {
            if(mData.hasOwnProperty(attr) && !datum.hasOwnProperty(attr)) {
                datum[attr] = mData[attr];
            }
        }
    } else {
        // rename it to event data for now
        datum.eventData = datum.moduleData;
    }
    delete datum.moduleData;
    var extras = {
        sendMeta: true,
        useFieldOverwrites: true,
        buffer: false,
        collectClientData: true
    }
    datum.totalTime = 0;
    NYTD.EventTracker().track(datum, extras);
};});
tagger.tag().run(function() {(
        function(f,b,e,v,n,t,s){
                n=window.fbq=function(){
                       var foo = n.callMethod? n.callMethod.apply(n,arguments): n.queue.push(arguments)
                    };
                n.version='1.0';
                n.pixelId=e;
                n.queue=[];
                t=f.createElement(b);
                t.async=true;
                t.src=v;
                s=f.getElementsByTagName(b)[0];
                s.parentNode.insertBefore(t,s)
            })(document,'script','592202027582499','//connect.facebook.net/en_US/fbevents.js');
// Custom audience - simple standard event
fbq('reportPageView');;});
tagger.tag().run(function() {var url;
var utils = TAGX.Utils;
var getMetaTag = utils.getMetaTag;
var isEmptyValue = function (value) {
    return (typeof value === 'undefined' || value === null || value === '');
};
var ptimeFormat = function (dtStr) {
    var tmp = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/.exec(dtStr);
    if (tmp && tmp.length === 7) {
        return [tmp.splice(1, 3).join('-'), tmp.splice(1, 2).join(':')].join(' ');
    }
    return '';
};
var padding = function (num) {
    return num < 10 ? '0' + num : num;
};
var ptimeMsFormat = function (ms) {
    var tmp;
    if (typeof ms === 'number' && ms !== 0) {
        tmp = new Date(ms);
        return [[tmp.getFullYear(), padding(tmp.getMonth() + 1), padding(tmp.getDate())].join('-'), [padding(tmp.getHours()), padding(tmp.getMinutes())].join(':')].join(' ');
    }
    return '';
};
var getValue = function (val, defVal, retNullStr) {
    var argLen = arguments.length;
    var value = val;
    var defaultValue = '';
    var returnNullString = false;
    if (argLen === 2) {
        returnNullString = defVal;
    }
    else if (argLen === 3) {
        defaultValue = defVal;
        returnNullString = retNullStr;
    }
    if (isEmptyValue(value)) {
        if (isEmptyValue(defaultValue)) {
            return (returnNullString === true ? 'null' : '');
        }
        else {
            return defaultValue;
        }
    }
    if (typeof value === 'object') {
        if (value instanceof Array) {
            return value.join('|');
        }
        else {
            return utils.stringifyJson(value);
        }
    }
    return value;
};
var mergeObjects = function (target, source, skip) {
    var k;
    for (k in source) if (source.hasOwnProperty(k)) {
        if (!isEmptyValue(source[k]) &&
            (isEmptyValue(target[k]) || skip !== true)) {
            target[k] = source[k];
        }
    }
};
try {
    var qsMap = utils.QsTomap();
    var urlparts = (function (url) {
        return [url[0], (url[1] ? url[1].split('#')[0] : '')];
    })(window.location.href.split('?'));
    var nytm_v = utils.getMeterValue('v').v || '';
    var dim21_asset_type = (function (asset_type/*, asset_url*/) {
        /*if (asset_type === 'SectionFront' &&
            /(www|mobile)\.(stg\.)?nytimes\.com\/(index\.html)?$/.test(asset_url)) {
            return 'Home Page';
        }*/
        return asset_type;
    })("Article", "http://www.nytimes.com/2015/04/04/business/economy/jobs-report-unemployment-march.html");
    TAGX.config = TAGX.config || {};
    TAGX.config.GoogleAnalytics = {
        id: 'UA-58630905-1',
            tracker: 'c3p0',
        createOptions: {
            cookieName: 'walley',
            cookieDomain: '.nytimes.com',
            name: 'r2d2'
        },
        fieldObject: {
            location: "http://www.nytimes.com/2015/04/04/business/economy/jobs-report-unemployment-march.html" || urlparts[0],
            dimension1: urlparts[0],
            dimension4: getValue(getMetaTag('CG'), true),
            dimension14: getValue("business_desk", true),
            dimension17: getValue(100000003607874, getMetaTag('articleid'), true),
            dimension18: getValue(["PATRICIA COHEN"], getMetaTag('byl').replace(/^[Bb]y /, ''), true),
            dimension19: getValue("U.S. Economy Gained 126,000 Jobs in March, an Abrupt Slowdown in Hiring", getMetaTag('hdl'), true),
            dimension21: getValue(dim21_asset_type, getMetaTag('PT'), true),
            dimension23: getValue("Business Day", getMetaTag('CG'), true),
            dimension25: getValue("Economy", getMetaTag('SCG'), true),
            dimension42: getValue(getMetaTag('sourceApp'), true),
            dimension60: getValue(0, true),
            dimension62: getValue("", true),
            dimension63: getValue("05f7d4bcbea6ed5449a7a7193bc7f360", true),
            dimension64: getValue(false, true),
            dimension65: getValue("anon", true),
            // Push Order "B"
            dimension2: urlparts[0] + (urlparts[1] ? '?' + urlparts[1] : ''),
            dimension6: getValue("", qsMap.module, true), //Referring_Module
            dimension7: getValue("", qsMap.pgtype, true), //Referring_Page_Type
            dimension8: getValue("", qsMap.region, true), //Referring_Region
            dimension9: getValue(document.referrer.split('?')[0], true), //Referring_Page
            // dimension10: getValue("", qsMap.src, true), //SRC
            dimension12: getValue(getMetaTag('SCG'), true),
            dimension43: getValue(["Labor and Jobs","Unemployment","United States Economy"], getMetaTag('des'), true),
            dimension44: getValue(["Labor Department (US)"], getMetaTag('org'), true),
            dimension45: getValue("", getMetaTag('per'), true),
            dimension46: getValue("", getMetaTag('geo'), true),
            // dimension47: 'collection group',     //Collection_Group
            // dimension50: getValue(getMetaTag('PST'), true), //Page SubType
            dimension59: getValue(0, true),
            dimension61: getValue(nytm_v, true),
            dimension66: getValue("", true),
            dimension67: getValue("", true), //Is_News_Subscriber
            dimension68: getValue(getMetaTag('channels'), true), //Channels
            contentGroup1: getValue(getMetaTag('CG'), true),
            contentGroup2: getValue(getMetaTag('SCG'), true),
            // push order C
            dimension3: getValue(urlparts[1], true),
            dimension5: /^paidpost/.test(window.location.hostname) ? 1 : 0,
            dimension11: getValue("", qsMap.contentCollection, true),
            dimension20: getValue("", true),
            dimension22: getValue(ptimeMsFormat(1428120000000), ptimeFormat(getMetaTag('ptime')), true),
            dimension24: getValue("", true),
            dimension38: getValue("Business", true),
            dimension39: getValue("News", getMetaTag('tom'), true),
            dimension40: getValue("The New York Times", getMetaTag('cre'), true),
            dimension129: getValue(new Date().getHours(), true)
        }
    };
    mergeObjects(TAGX.config.GoogleAnalytics.fieldObject, {});
    if (typeof 0 === 'number' && 0 !== 0) {
        TAGX.config.GoogleAnalytics.createOptions.userId = 0;
    }
} catch (e) {
    url = '//' + "et.nytimes.com" + '/pixel?' + utils.mapToQs({
        subject: 'ga-debug',
        url: window.location.href,
        payload: utils.stringifyJson({
            error: {
                message: e.message || 'unknown error',
                stack: e.stack || 'no stack trace available'
            }
        }),
        doParse: utils.stringifyJson(['payload'])
    });
    TAGX.$('').css({'border-style':'none'}).attr({height:1,width:1,src:url}).appendTo('body');
};});
tagger.tag().run(function() {var timeoutHandle;
var ga_steps = [];
var doneness = {};
var lastTimestamp = 0;
var timeout = 3000;
function listTrackers () {
    var trackers, i, j, version, name, func_name;
    var ga_implementations = {};
    var ga_versions = [
        {name: '_gat', func_name: '_getTrackers', payload_func: function (tracker) {
            return {
                name: (typeof tracker._getName === 'function' ? (tracker._getName() || 'default_tracker') : '_getName function not available'),
                id: (typeof tracker._getAccount === 'function' ? (tracker._getAccount() || 'can\'t get account'): '_getAccount function not available')
            };
        }},
        {name: 'ga', func_name: 'getAll', payload_func: function (tracker) {
            var isGetAFunction = (typeof tracker.get === 'function');
            return {
                name: (isGetAFunction ? (tracker.get('name') || 'default_tracker') : 'get function not available'),
                id: (isGetAFunction ? (tracker.get('trackingId') || 'can\'t get tracking id') : 'get function not available'),
                cookieName: (isGetAFunction ? (tracker.get('cookieName') || 'can\'t get cookie name') : 'get function not available')
            };
        }}
    ];
    for (i = 0;i < ga_versions.length;i++) {
        name = ga_versions[i].name;
        version = window[name];
        if (version) {
            func_name = ga_versions[i].func_name;
            if (typeof version[func_name] === 'function') {
                trackers = version[func_name]();
                ga_implementations[name] = [];
                for (j = 0;j < trackers.length;j++) {
                    ga_implementations[name].push(ga_versions[i].payload_func(trackers[j]));
                }
            }
        }
    }
    return ga_implementations;
}
function checkDoneness (timedout) {
    if (doneness.ga_done && doneness.et_done || timedout) {
        if (timedout) {
            createStep('timedout', true);
        }
        else {
            clearTimeout(timeoutHandle);
        }
        ga_steps = {
            milestones: ga_steps,
            trackers: listTrackers()
        };
        new NYTD.EventTracker().track({
            subject: 'ga-debug',
            url: window.location.href,
            payload: TAGX.Utils.stringifyJson(ga_steps),
            doParse: TAGX.Utils.stringifyJson(['payload'])
        });
    }
}
function createStep (name, timedout) {
    var now = new Date().getTime();
    ga_steps.push({
        name: name,
        timestamp: now,
        sinceLast: (lastTimestamp === 0 ? 0 : (now - lastTimestamp))
    });
    doneness[name] = 1;
    lastTimestamp = now;
    if (timedout !== true) {
        checkDoneness();
    }
}
TAGX.$(TAGX).on('loaded:EventTracker.js', function () {
    createStep('et_done');
}).on('ga-steps', function (ev) {
    createStep(ev.name);
});
timeoutHandle = setTimeout(function () {
    checkDoneness(true);
}, timeout);
TAGX.config = TAGX.config || {};
TAGX.config.GoogleAnalyticsDebug = true;});
tagger.tag().run(function() {/* if this page is not the top document it should not be counted as a site wide page */
if (window.top != window.self) {
    var exceptions = {"/regilite": 1};
    
    var setSubject = function() {
        var defValue = "iframedNYTpage";
        
        
        if (exceptions.hasOwnProperty("/2015/04/04/business/economy/jobs-report-unemployment-march.html")) {
            defValue = "page";
        }
        
        
        return defValue;
    };
    
    NYTD = window.NYTD || {};
    NYTD.EventTrackerPageConfig = {
        event: {
            siteWide: {
                value: 0
            },
            subject: {
                value: setSubject()
            },
                instant: { value: true}   
        }
    }
};});
tagger.tag().run(function() {(function () {
    // cache tools
    var meta = TAGX.Utils.getMetaTag;
    // record social sign on click
    TAGX.$(document).on('mousedown', '.oauth-ew5_btn, .oauth-button', function (e) {
        var el = TAGX.$(this);
        var elHtml = el.html();
        // find out which provider was used
        var provider = 'Unknown';
        if (elHtml.indexOf('Google') !== -1) {
            provider = 'Google';
        }
        if (elHtml.indexOf('Facebook') !== -1) {
            provider = 'Facebook';
        }
        var data = {
            'module': 'social-signon',
            'version': provider,
            'action': 'signon',
            'pgType': meta('PT')
        };
        TAGX.EventProxy.trigger('SocialSignOn', data, 'interaction');
    });
    // switch from login to regi or vice versa
    TAGX.$(document).on('mousedown', 'a.log-in, .login-modal .registration-modal-trigger, .registration-modal .login-modal-trigger', function (e) {
        var el = TAGX.$(this);
        // find out which action
        var action;
        elHtml = el.html();
        if (elHtml.indexOf('Create') !== -1 || elHtml.indexOf('Sign Up') !== -1 || elHtml.indexOf('Register') !== -1) {
            action = 'switchtoregi';
        } else {
            action = 'switchtologin';
        }
        var data = {
            'module': 'social-signon',
            'version': 'NYTimes',
            'action': action,
            'pgType': meta('PT')
        };
        TAGX.EventProxy.trigger('NYTimesSignOn', data, 'interaction');
    });
    // traditional login and regi
    TAGX.$(document).on('mousedown', '#main .loginButton, #main .login-button, .login-modal .login-button, .registration-modal .register-button', function (e) {
        var el = TAGX.$(this);
        // find out which action
        var action;
        elHtml = el.html();
        if (elHtml.indexOf('CREATE') !== -1 || elHtml.indexOf('Create') !== -1) {
            action = 'register';
        } else {
            action = 'login';
        }
        var data = {
            'module': 'social-signon',
            'version': 'NYTimes',
            'action': action,
            'pgType': meta('PT')
        };
        // capture newsletters if regi
        if (action === 'register') {
            var newsletters = [];
            TAGX.$('.registrationForm input[type="checkbox"]:checked').each(function (element, index) {
                var el = TAGX.$(element);
                newsletters.push(el.val());
            });
            data.mData = newsletters.toString();
        }
        TAGX.EventProxy.trigger('NYTimesSignOn', data, 'interaction');
    });
})();;});
tagger.tag().repeat('many').condition(function (callback) { (TAGX.Ops.and.call(this, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:comscoreVendorCode.js"], callback); }, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:comscore.js"], callback); }))(callback); }).run(function() {var canonical, cg, extractContent, getUrl, href, queryString, scg, tagComscore, url;
extractContent = function(el) {
  var content;
  content = null;
  if (el !== null && el !== void 0 && el.length > 0 && el[0].content !== null && el[0].content !== void 0) {
    content = el[0].content;
  }
  return content;
};
getUrl = function(url, canonical, query) {
  var href;
  href = canonical !== null && canonical !== void 0 ? canonical : url;
  href += '?' + query;
  return href;
};
tagComscore = function(udm, keyMapping, url, cg, scg) {
  var comscoreConfig, comscoreKeyword, comscoreMappingKey, udmURL;
  comscoreMappingKey = [];
  comscoreConfig = ['c1=2', 'c2=3005403'];
  if (cg !== null && cg !== void 0) {
    comscoreMappingKey.push(cg);
  }
  if (scg !== null && scg !== void 0 && scg !== '') {
    comscoreMappingKey.push(scg);
  }
  comscoreKeyword = keyMapping[comscoreMappingKey.join(' - ')];
  if (url.indexOf('markets.on.nytimes.com') !== -1) {
    if (url.indexOf('portfolio') !== -1) {
      comscoreKeyword = 'portfolio';
    }
    if (url.indexOf('screener') !== -1) {
      comscoreKeyword = 'screener';
    }
    if (url.indexOf('analysis_tools') !== -1) {
      comscoreKeyword = 'analysis_tools';
    }
  }
  if (comscoreKeyword !== void 0) {
    comscoreConfig.push('comscorekw=' + comscoreKeyword);
  }
  udmURL = 'http';
  udmURL += url.charAt(4) === 's' ? 's://sb' : '://b';
  udmURL += '.scorecardresearch.com/b?';
  udmURL += comscoreConfig.join('&');
  return udm(udmURL);
};
href = window.location.href;
queryString = document.location.search;
canonical = extractContent(document.getElementsByName('canonicalURL'));
cg = extractContent(document.getElementsByName('CG'));
scg = extractContent(document.getElementsByName('SCG'));
url = getUrl(href, canonical, queryString);
tagComscore(udm_, {"business":"business","business - global":"global","Business Day - Dealbook":"dealbook","business - economy":"economy","business - energy-environment":"energy_environment","business - media":"media","business - smallbusiness":"smallbusiness","your-money":"your_money","Business Day - Economy":"economix","Business - Media and Advertising":"mediadecoder","Business Day - Small Business":"boss","Business Day - Your Money":"bucks","Business - Markets":"markets","Autos - wheels":"wheels","Science - Environment":"green","technology":"technology","technology - personaltech":"personaltech","Technology - bits":"bits","Technology - Personal Tech":"gadgetwise","Technology - pogue":"pogue","General - open":"open","style":"style","fashion":"fashion","dining":"dining","garden":"garden","fashion - weddings":"weddings","t-magazine":"t_magazine","T:Style - tmagazine":"t_style","Style - Dining":"dinersjournal","Style - Fashion":"runway","Style - parenting":"parenting","arts":"arts","arts - design":"design","books":"books","arts - dance":"dance","movies":"movies","arts - music":"music","arts - television":"television","theater":"theater","arts - video-games":"video_games","Arts - Event Search":"event_search","Arts - artsbeat":"artsbeat","Movies - carpetbagger":"carpetbagger","health":"health","health - research":"research","health - nutrition":"nutrition","health - policy":"policy","health - views":"views","Health - Health Guide":"health_guide","Health - well":"well","Health - newoldage":"newoldage","Health - consults":"consults","science":"science","science - earth":"earth","science - space":"space","Science - scientistatwork":"scientistatwork","Opinion - dotearth":"dotearth"}, url, cg, scg);;});
tagger.tag().run(function() {var script = document.createElement("script");
var html = "window.Krux||((Krux=function(){Krux.q.push(arguments)}).q=[]);" +
    "(function(){ var k=document.createElement('script');k.type='text/javascript';k.async=true;var m,src=(m=location.href.match(/\bkxsrc=([^&]+)\b/))&&decodeURIComponent(m[1]); k.src=(location.protocol==='https:'?'https:':'http:')+'//cdn.krxd.net/controltag?confid=HrUwtkcl'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(k,s); })();";
TAGX.$(script).attr({
    "class": "kxct",
    "data-id": "HrUwtkcl",
    "data-version": "async:1.7",
    "type": "text/javascript"
});
script.text = html;
TAGX.$("head").append(script);});
tagger.tag().condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }).run(function() {(function (z_aca) {
    var name;
    var commentEventHandler = function (eventData, eventName) {
        var data = TAGX.Utils.jsonObjToDCSparams(eventData).concat(["WT.z_dcsm", "1", "WT.gcom", "Com"]);
        var zaca = z_aca[eventName];
        if (zaca && typeof zaca === "object") {
            zaca = zaca[eventData.eventName];
        }
        dcsMultiTrack.apply(this, data.concat(["WT.z_aca", zaca]));
    };
    for (name in z_aca) {
        if (z_aca.hasOwnProperty(name)) {
            TAGX.$(TAGX).on(name, commentEventHandler, name);
        }
    }
})({
    "comments-open-panel": "More-coms",
    "comments-read-more": "More-coms-in-panel",
    "post-comment": "Post",
    "recommend-comment": { "Rec": "Rec", "Un-Rec": "Un-rec" },
    "load-replies": "All-replies",
    "load-more-comments": "More-coms-in-panel",
    "auto-open-comments-panel": "More-coms"
});});
tagger.tag().condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }).run(function() {TAGX.$(TAGX).on("masthead-search-click", function (evtData) {
    var mydata = TAGX.Utils.jsonObjToDCSparams(evtData);
    dcsMultiTrack.apply(this, mydata.concat(["WT.z_dcsm", "1"]));
});});
tagger.tag().condition(function (callback) { (TAGX.Ops.and.call(this, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:WTHelperFunctions.js"], callback); }))(callback); }).run(function() {
var intervalId, howManyTimes = 0, maxChecks = 5, done = 0, WTData = [];
var meterIsReady = function(mtr) {
    // check if the NYTD.Meter.loaded
    if (mtr && typeof mtr === 'object' && mtr.final === true && done === 0) {
        // remove the interval
        clearInterval(intervalId);
        done = 1;
        var meterValue = TAGX.Utils.getMeterValue(["imv", "ica"]);
        if (meterValue && meterValue.imv !== null) {
            WTData.push("WT.z_imv");
            WTData.push("" + meterValue.imv);
        }
        if (meterValue && meterValue.ica !== null) {
            WTData.push("WT.z_ica");
            WTData.push("" + meterValue.ica);
        }
        // make tha call
        dcsMultiTrack.apply(window, WTData.concat(["WT.z_dcsm", "1"]))
    } else {
        // howManyTimes
        if(howManyTimes > maxChecks) {
            clearInterval(intervalId); // don't do it no more    
        }
    }
};
var getMeterObj = function(root, meterReadyCallBack) {
        'use strict';
        // exports for NYT5
        if (typeof define === "function" && define.amd) {
            require(['auth/mtr'], function (mtr) {
                meterReadyCallBack(mtr);
            });
        } else if (typeof window.NYTD === 'object') {
            meterReadyCallBack(NYTD.Meter);
        }
};
intervalId = setInterval(function() {
        // check if the meter is ready again.
        howManyTimes++;
        getMeterObj(window, meterIsReady);
    }, 250)
;});
tagger.tag().condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }).run(function() {var mapping = {
    "Share-facebook": {
        ti: "Article-Tool-Share-facebook",
        dcsuri: "/Article-Tool-Share-facebook.html"
    },
    "Share-twitter": {
        ti: "Article-Tool-Share-Twitter",
        dcsuri: "/Article-Tool-Share-Twitter.html"
    },
    "Share-linkedin": {
        ti: "Article-Tool-Share-LinkedIn",
        dcsuri: "/Article-Tool-Share-LinkedIn.html"
    },
    "Share-email": {
        ti: "Article-Tool-Share-Email",
        dcsuri: "/Article-Tool-Share-Email.html"
    },
    "Share-Digg": {
        ti: "Article-Tool-Share-Digg",
        dcsuri: "/Article-Tool-Share-Digg.html"
    },
    "Share-reddit": {
        ti: "Article-Tool-Share-Reddit",
        dcsuri: "/Article-Tool-Share-Reddit.html"
    },
    "Share-Tumblr": {
        ti: "Article-Tool-Share-Tumblr",
        dcsuri: "/Article-Tool-Share-Tumblr.html"
    },
    "Share-Permalink": {
        ti: "Article-Tool-Share-Permalink",
        dcsuri: "/Article-Tool-Share-Permalink.html"
    },
    "Share-google": {
        ti: "Article-Tool-Share-GooglePlus",
        dcsuri: "/Article-Tool-Share-GooglePlus.html"
    },
    "Share-ShowAll": {
        ti: "Article-Tool-Share-ShowAll",
        dcsuri: "/Article-Tool-Share-ShowAll.html"
    },
    "ArticleTool-print": {
        ti: "Article-Tool-Print",
        dcsuri: "/Article-Tool-Print.html"
    },
    "ArticleTool-reprints": {
        ti: "Article-Tool-Reprints",
        dcsuri: "/Article-Tool-Reprints.html"
    },
    "ArticleTool-save": {
        ti: "Article-Tool-Save",
        dcsuri: "/Article-Tool-Save.html"
    },
    "Share-Facebook": {
        ti: "Article-Tool-Share-facebook",
        dcsuri: "/Article-Tool-Share-facebook.html",
        gcom: "Com"
    },
    "Share-Twitter": {
        ti: "Article-Tool-Share-Twitter",
        dcsuri: "/Article-Tool-Share-Twitter.html",
        gcom: "Com"
    }
};
var eventHandler = function (eventData) {
    var evtData, dcssip, dcsuri, addition, gcom;
    var dcs = window.webtrendsAsyncInit;
    var map = mapping[eventData.eventName];
    if (!dcs) {
        return;
    }
    evtData = TAGX.Utils.jsonObjToDCSparams(eventData);
    addition = ["WT.z_dcsm", "1", "WT.z_loc", eventData.region];
    if (map) {
        dcssip = dcs.DCS.dcssip;
        dcsuri = dcs.DCS.dcsuri;
        dcs.DCS.dcssip = "www.nytimes.com";
        dcs.DCS.dcsuri = map.dcsuri;
        addition = addition.concat(["WT.ti", map.ti]);
        if (map.gcom || eventData.version === "CommentsPanel") {
            addition = addition.concat(["WT.gcom", (map.gcom || "Com")]);
        }
    }
    dcsMultiTrack.apply(this, evtData.concat(addition));
    if (map) {
        dcs.DCS.dcssip = dcssip;
        dcs.DCS.dcsuri = dcsuri;
    }
};
TAGX.$(TAGX).on("share-tools-click", eventHandler);
TAGX.$(TAGX).on("comments-share", eventHandler);});
tagger.tag().condition(function (callback) { (TAGX.Ops.and.call(this, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:WTHelperFunctions.js"], callback); }))(callback); }).run(function() {var dcs=window.dcs || "";
var source_app_map = {
    "blogs": "nyt-v5"
};
/* Init WebTrends */
window.webtrendsAsyncInit=(function(){
    var colMeta = null;
    var getMetaTag = TAGX.Utils.getMetaTag;
    var pagetype = getMetaTag("PT");
    dcs = new Webtrends.dcs();
    dcs.init({
        dcsid: "dcsc32upj10000c58n7kgpaeo_8i3g" || "dcsym57yw10000s1s8g0boozt_9t1x",
        domain: "wt.o.nytimes.com",
        timezone: -5,
        i18n: false,
        anchor: false,
        fpcdom: (function(d){
            return d.length >= 2 ? d.slice(-2).join('.') : '';
        })(window.location.hostname.split('.')),
        plugins:{
        }
    });
    dcs.WT.cg_n = "Business";
    dcs.WT.cg_s = "economy";
    dcs.WT.z_rmid = TAGX.Utils.getCookie("RMID");
    dcs.WT.z_nyts = TAGX.Utils.getCookie("NYT-S");
    dcs.WT.z_nytd = TAGX.Utils.getCookie("nyt-d");
    dcs.WT.z_stcap = [];
    dcs.WT.z_stat = "anon";
    dcs.WT.z_gpt = pagetype;
    dcs.WT.z_gpst = getMetaTag("PST");      // page subtype
    dcs.WT.cre = getMetaTag("cre"); 
    dcs.WT.z_gpsst = getMetaTag("PSST");     // page sub 2 type
    dcs.WT.z_gpssst = getMetaTag("PSSST");    // page sub 3 type
    dcs.WT.z_pc = getMetaTag("PC");       // partner content
    dcs.WT.z_ps = getMetaTag("PS");       // partner supplied 
    dcs.WT.z_puv = getMetaTag("PUV");      // publish view
    dcs.WT.z_gosst = getMetaTag("GOOST");    // global onsite search
    dcs.WT.z_gosst = getMetaTag("GOSST");    // global onsite search
    dcs.WT.z_gsac = getMetaTag("GSAC");     // global search auto complete
    dcs.WT.z_gtn = getMetaTag("GTN");      // global topic name
    dcs.WT.gcom = getMetaTag("GCOM");     // global - community page
    dcs.WT.z_tvt = getMetaTag("TVT");      // travel meta tag
    dcs.WT.z_tvn = getMetaTag("TVN");      // travel meta tag
    dcs.WT.z_tvid = getMetaTag("TVID");     // travel meta tag
    dcs.WT.z_tDest = getMetaTag("TDES");     // travel meta tag
    dcs.WT.z_tRegion = getMetaTag("TDREG");    // travel meta tag
    dcs.WT.z_gblc = getMetaTag("GBLC");      // global - blogs 
    dcs.WT.z_bn = getMetaTag("BN");
    dcs.WT.z_hpt = getMetaTag("HPT");      // home page type - Extra
    // Collection pages.
    colMeta = getMetaTag("CN");
    if (typeof colMeta == "string" && colMeta.length > 0) {
        dcs.WT.z_collection = colMeta;
    }
    colMeta = getMetaTag("CT");
    if (typeof colMeta == "string" && colMeta.length > 0) {
        dcs.WT.z_collectiontype = colMeta;
    }
    colMeta = null;
    // Set global cookie tracking info
    if (/NYT-Global/.test(document.cookie)) {
        dcs.WT.gv = "2";
    } else if (/edition\|GLOBAL/.test(document.cookie)) {
        dcs.WT.gv = "1";
    }
    dcs.WT.sourceapp = source_app_map["nyt-v5"] || "nyt-v5"; // source app
    // Set article information
    var metaArticleId = "";
    if(!metaArticleId || metaArticleId === "") {
        metaArticleId = getMetaTag("articleid");
    }
    
    var wtHelperFn; 
    try {
        wtHelperFn = new wtHelper(TAGX.Utils);
    } catch(e) {
        //console.log(e);    
        // now what???
    }
    
    if (metaArticleId !== "" && getMetaTag("PST") !== "Comments Overflow" && wtHelperFn) {
        wtHelperFn.setArticleInfo(metaArticleId, dcs.WT);
    } else {
        //setCommentOverflowInfo(metaArticleId);
    }
    if(dcs.WT.z_pud && dcs.WT.z_pud !== "" ) {
        dcs.WT.z_pudr = wtHelperFn.getPubDateRange(dcs.WT.z_pud);
        dcs.WT.z_pyr = dcs.WT.z_pud.substring(0, 4);
    }
    if(wtHelperFn) {
        // set registration values
        wtHelperFn.setRegistrationSection("Business", "economy");
        wtHelperFn.setContentInfo("Business", dcs.WT);
        
        // Set interactive information
        var tomMetaTag = "News" !== "" ? "News" : getMetaTag("tom");
        if (tomMetaTag == "interactive_graphic" || tomMetaTag == "interactive_feature" || tomMetaTag == "Interactive Feature") {
            dcs.WT.z_gpt = "Multimedia";
            dcs.WT.z_gpst = "Flash";
        }
        // Set imagepages 
        if (/^\/imagepages/.test("/2015/04/04/business/economy/jobs-report-unemployment-march.html")) {
            TAGX.Utils.addMetaTag("PT", "Multimedia");
            TAGX.Utils.addMetaTag("PST", "Image");
        }
        // Set slideshow information
        if ((tomMetaTag == "Slideshow") || (/^\/slideshow\/[0-9][0-9][0-9][0-9]\/[0-1][0-9]\/[0-3][0-9]\//.test("/2015/04/04/business/economy/jobs-report-unemployment-march.html"))) {
            
            dcs.WT.z_gpt = "Multimedia";
            dcs.WT.z_gpst = "Slideshow";
            TAGX.Utils.addMetaTag("WT.z_pud", getMetaTag("pdate"));
            TAGX.Utils.addMetaTag("WT.z_sssn", getMetaTag("SSSN"));
            TAGX.Utils.addMetaTag("WT.z_ssts", getMetaTag("SSTS"));
            TAGX.Utils.addMetaTag("WT.z_sse", getMetaTag("SSE"));    
        }
        // set Sunday Review info
        if ((/[0-9][0-9][0-9][0-9]\/[0-1][0-9]\/[0-3][0-9]\/sunday-review\//.test("/2015/04/04/business/economy/jobs-report-unemployment-march.html")) || 
             (/[0-9][0-9][0-9][0-9]\/[0-1][0-9]\/[0-3][0-9]\/opinion\/sunday\//.test("/2015/04/04/business/economy/jobs-report-unemployment-march.html"))) {
            dcs.WT.cg_n = "Opinion";
            dcs.WT.cg_s = "Sunday Review";
        }
        
    }
    // same as set section front function
    if ( dcs.WT.z_gpt == "Section Front" && dcs.WT.cg_s) {
        TAGX.Utils.addMetaTag("WT.z_gpst", "Subsection Front");
    }
    if (0) {
        dcs.WT.dcsvid = 0;
    }
    dcs.WT.rv = (false === true ? "1" : "0");
    if (TAGX.Utils.getMetaTag("errorpage") === "true") {
        dcs.WT.cg_n = "Member Center";
        dcs.WT.z_gpt = "Member Center";
        dcs.WT.z_gpst = "Error Page";
        TAGX.Utils.addMetaTag("WT.ti", "The New York Times > Page Not Found");
    }
                                      
    // if channels information is available
    if (TAGX.Utils.getMetaTag("channels") !== "") {
        dcs.DCS.channels = TAGX.Utils.getMetaTag("channels");
    }                                  
    if (pagetype === "article") {
        dcs.DCS.nyt4pg = "1";
    }
	// Don't send WT.z_aid if WT.z_recipeid exists. Workaround for recipe pages.
	if (TAGX.Utils.getMetaTag('WT.z_recipeid')) {
		delete dcs.WT.z_aid;
	}
    dcs.track({finish: function(dcs, options) {
        // After page load data sent, clear dcsqry (parameter-value pairs in Address Bar)
        dcs.DCS.dcsqry = "";
        dcs.DCS.nyt4pg = "";
//        dcs.DCS.nyt4totpg = "";
    }});
    return dcs;
}());;});
tagger.tag().condition(function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }).run(function() {var pattern = /^MiddleRight([\d]+)$/;
TAGX.$(TAGX).one("scroll-update-char-count", function (eventData) {
    var lastpage = 1;
    var pageNum = ((eventData && typeof eventData.numPages === "number") ? eventData.numPages : 1);
    if (pageNum === 1) {
        return;
    }
    TAGX.$(TAGX).on("ad-render", function (eventData) {
        var match, page;
        if (eventData && "AdImpression" === eventData.eventName) {
            if (eventData.version === "Box1") {
                page = pageNum;
            }
            else if ((match = pattern.exec(eventData.version))) {
                page = parseInt(match[1], 10) + 1;
            }
            if (lastpage < page && page <= pageNum) {
                lastpage = page;
                dcsMultiTrack.apply(this, ["WT.z_dcsm", "1", "DCSext.nyt4pg", page, "DCSext.nyt4totpg", pageNum.toString()]);
                try {
                    NYTD.pageEventTracker.updateData({"nyt4pg" : page, "nyt4totpg": pageNum.toString()}); 
                    NYTD.pageEventTracker.shortCircuit();   
                } catch(e) {
                }
            }
        }
    });
});});
tagger.tag().condition(function (callback) { (TAGX.Ops.and.call(this, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:webtrends.js"], callback); }, function (callback) { TAGX.Ops.on.call(this, "page.dom.custom", ["loaded:WTHelperFunctions.js"], callback); }))(callback); }).run(function() {var eventHandler = function (evtData) {
    var data = TAGX.Utils.jsonObjToDCSparams(evtData);
    dcsMultiTrack.apply(this, data.concat(["WT.z_dcsm", "1"]));
};
TAGX.$(TAGX).on("ribbon-page-right", eventHandler);
TAGX.$(TAGX).on("ribbon-page-left", eventHandler);});
tagger.tag().run(function() {/****** start of DY tag *****/
TAGX.$("