AddNamespace("NPR.metrics");

NPR.metrics.constants = {};
NPR.metrics.constants.SEARCH_CONDUCTED = 'event1';
NPR.metrics.constants.PAGEVIEW = 'event2';
NPR.metrics.constants.REGISTRATION = 'event3';
NPR.metrics.constants.PROMOTION = 'event4';
NPR.metrics.constants.LOGIN = 'event5';
NPR.metrics.constants.EMAIL_STORY = 'event9';
NPR.metrics.constants.NEWSLETTER_SUBSCRIBE = 'event10';
NPR.metrics.constants.NEWSLETTER_UNSUBSCRIBE = 'event11';
NPR.metrics.constants.COMMENT_ADDED = 'event13';
NPR.metrics.constants.CONTACT_US = 'event14';
NPR.metrics.constants.STATION_DRAWER_OPEN = 'event15';
NPR.metrics.constants.LISTEN_DRAWER_OPEN = 'event16';
NPR.metrics.constants.CLICK_RSS_LINK = 'event8';
NPR.metrics.constants.CLICK_PODCAST_LINK = 'event18';
NPR.metrics.constants.AUTO_REFRESH = 'event19';
NPR.metrics.constants.IMAGE_ENLARGEMENT = 'event22';
NPR.metrics.constants.ADD_TO_PLAYLIST = 'event23';
NPR.metrics.constants.SPONSOR_DRAWER_OPEN = 'event24';
NPR.metrics.constants.STATION_SEARCH = 'event27';
NPR.metrics.constants.STATION_SEARCH_DONATE = 'event28';
NPR.metrics.constants.STATION_LINK_CLICKED = 'event29';
NPR.metrics.constants.STATION_HEADLINE_CLICKED = 'event45';
NPR.metrics.constants.EXCERPT_VIEWED = 'event47';
NPR.metrics.constants.PURCHASE_INFO_VIEWED = 'event48';

NPR.metrics.constants.ERROR_PAGE_TYPE = 'errorPage';

NPR.metrics.constants.EVENT_TYPE_DEFAULT = 'defaultEvent';
NPR.metrics.constants.EVENT_TYPE_SOCIAL = 'socialEvent';
NPR.metrics.constants.NAVIGATION = 'navigation';

if (typeof get_cookie === 'undefined') {
    get_cookie = function( name ) {    
        var start = document.cookie.indexOf( name + "=" );
        var len = start + name.length + 1;
        if ( ( !start ) &&
             ( name !== document.cookie.substring( 0, name.length ) ) ) {
            return null;
        }
        if ( start === -1 ) return null;
        var end = document.cookie.indexOf( ";", len );
        if ( end === -1 ) end = document.cookie.length;
        return unescape( document.cookie.substring( len, end ) );
    }
}

NPR.metrics.variables = {};

if(NPR.metrics.vscount != null) {
    NPR.metrics.vscount = NPR.metrics.vscount + 1;
    NPR.metrics.variables["logCount"] = NPR.metrics.vscount;
}
else { 
    NPR.metrics.vscount = 1;
}

NPR.metrics.host = "http://www.npr.org";
if (document.location.href.indexOf("shop.npr.org") > -1) {
    NPR.metrics.host = "//v2.npr.org";
}
else if (document.location.href.indexOf("https:") > -1) {
    NPR.metrics.host = "https://v.npr.org";
}

NPR.metrics.variables["sw"] = screen.width;
NPR.metrics.variables["sh"] = screen.height;
NPR.metrics.variables["cd"] = screen.colorDepth;
NPR.metrics.variables["dr"] = document.referrer;
NPR.metrics.variables["cb"] = new Date().getTime();

NPR.metrics.clearVars = function() {
    if(typeof s !== 'undefined') { // not sure why it would be...
        for(var key in s) { if(key.indexOf('eVar')===0 || key.indexOf('prop')===0) {delete s[key];}}
    }
}

NPR.metrics.fixEncoding = function(oldString) {
    var newString = oldString.replace(/\+/g,' ');
    return decodeURIComponent(newString);
};

NPR.metrics.pageImpression = function() {
    
    if( typeof NPR.ga === 'object' ){
      NPR.ga.pageImpression();
    }
    
    if( typeof NPR.chartbeat === 'object' ){
      NPR.chartbeat.go();
    }
};




/*
Firing events: use NPR.metrics.event

attributes in paramsObj:
-> type (defaults to generic, see type constants at top)

-> Normal event
- category (required string)
- action (required string)
- label (optional string)
- value (optional int)

-> Social event
- network (required string)
- action (required string)
- target (optional string)
- pagePath (optional string)

*/
NPR.metrics.event = function( paramsObj ){

      NPR.ga.event( paramsObj );

}

