function contentCategories(_commercialNode) { if(_commercialNode.charAt(_commercialNode.length-1) != '/') { _commercialNode += '/'; } var returnValue = false; var contCatArray = new Array(); contCatArray['Lifestyle'] = new Array( 'photo','photoarticle','print','printarticle','science','shoplocal','shopping','smartliving','sports','style','stylearticle','television','travel','traveldirectory','travel.sidestep','travelarticle','weather','weatherarticle','religion','cars','food','pets','sportsarticle'); contCatArray['ExecNews'] = new Array('postglobal.blog','smallbiz','mypost','mypost.discussions','mywashpost','allbusiness','business','businessarticle','digest','digestarticle','education','educationarticle','washingtonpost.com','liveonline','liveonlinearticle','metro','metroarticle','nation','nationarticle','news','newsarticle','opinion','opinionarticle','politics','politicsarticle','reviewed.com','technology','traffic','world','worldarticle'); for(a in contCatArray) { for(b in contCatArray[a]) { contCatNode = contCatArray[a][b] + '/'; if (_commercialNode.indexOf(contCatNode)==0) { return a; } } } } function localUser() { if(!getCookie || !getCookie('WPATC') || getCookie('WPATC').match('C=1:') ) return true; return false; } function dateToString(date) { var yyyy = date.getYear(); var mm = date.getMonth() + 1; var dd = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); if (mm < 10) mm = "0"+mm; if (dd < 10) dd = "0"+dd; if (hour < 10) hour = "0"+hour; if (min < 10) min = "0"+min; return ''+mm+dd+hour+min; } function getDay(today) {return today.getDay()} var today = new Date(); var now = dateToString(today); var v2 = true; var adTemplate = 255 ; // Define all possible ad positions var BANNER_FLEX_TOP = 1 << 0; var BANNER_FLEX_BOTTOM = 1 << 1; var SKY_LEFT = 1 << 2; var SKY_RIGHT = 1 << 3; var BIGBOX_FLEX = 1 << 4; var BIG_FLEX_RIGHT = 1 << 5; var AD_LINKS_RIGHT = 1 << 6; //Overture Links Right (Not in DART) var AD_LINKS_BOTTOM = 1 << 7; //Overture Links Bottom (Not in DART) var TEXTLINKS = 1 << 8; // WP.com hosted links (Not in DART) var VM = 1 << 9; // Not in DART var SPONSORSHIP = 1 << 10; var TILE_LEFT = 1 << 11; // Not in DART var TILE_RIGHT = 1 << 12; // Not in DART var TILE_RIGHT_TOP = 1 << 13; // 125x125 on Travel var TOP_JOBS = 1 << 14; var TOOLBOX_LEFT = 1 << 15; var TOOLBOX_RIGHT = 1 << 16; var TOOLBOX_BOTTOM = 1 << 17; var TILE_RIGHT_TOP2 = 1 << 18; // 125x125 on Travel on right var BLOG_FEATUREBAR = 1 << 19; // 446x45 blog bar var INLINE_ARTICLE_AD = 1 << 20; var TOOLBOX_LEFT_180X31 = 1 << 21; var PORTAL_FEATUREBAR = 1 << 26; // 336x60 portal featurebar var GOOGLE_LINKS = AD_LINKS_BOTTOM; // turns off bottom ad on articles. //BANNER_FLEX_BOTTOM = false; /* if ( thisNode.indexOf("politics/fedpage") || thisNode.indexOf("artsandliving") != -1 ) { null; } else SKY_LEFT = null; if (now >= "02010000" && thisNode.indexOf("artsandliving") == -1) SKY_LEFT = null; */ // Define all possible ad templates var NO_ADS = 0; var NEWS = 1; var NEWS_VM = 2; var NEWS_TRAVEL = 3; var NEWS_TECHNOLOGY = 4; var PRINTER_FRIENDLY = 5; var ENLARGED_PHOTO = 6; var PRINTER_FRIENDLY_FLEX = 7; var NEWS_OVERTURE_RIGHT = 8; var NEWS_OVERTURE_RIGHT_VM = 9; var NEWS_NO_OVERTURE = 10; var SIMPLE = 11; var BOTTOM_ONLY = 12; var DEFAULT_TEMPLATE = NEWS; var NEWS_LEFT_SKY = 13; var TRAVEL_BY_TOPIC = 14; var NEWS_BUSINESS = 15; var LOCAL_PORTAL = 16; var NEWS_TRAVEL_NO_TRT = 17; var NEWS_TEST = 18; var WEATHER = 19; if (typeof thisNode == 'undefined') thisNode = 'news'; // Define contents of ad templates var templateConfigs = new Array(); templateConfigs[ NEWS ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + AD_LINKS_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS + TILE_LEFT ; templateConfigs[ NEWS_TEST ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + AD_LINKS_RIGHT + TOOLBOX_LEFT_180X31 + TOOLBOX_LEFT + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS + TILE_LEFT ; templateConfigs[ NEWS_BUSINESS ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + AD_LINKS_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ NEWS_LEFT_SKY ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + AD_LINKS_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ NEWS_NO_OVERTURE ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ NEWS_VM ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + VM + AD_LINKS_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ NEWS_TRAVEL ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + VM + TILE_RIGHT_TOP + TILE_LEFT + TOOLBOX_LEFT_180X31 + TILE_RIGHT + TEXTLINKS ; templateConfigs[ NEWS_TRAVEL_NO_TRT ] = templateConfigs[ NEWS_TRAVEL ] - TILE_RIGHT_TOP //templateConfigs[ TRAVEL_BY_TOPIC ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + VM + TILE_RIGHT_TOP + TILE_RIGHT_TOP2 + TILE_LEFT + TILE_RIGHT + TEXTLINKS; templateConfigs[ TRAVEL_BY_TOPIC ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + TILE_LEFT + TOOLBOX_LEFT_180X31 + TILE_RIGHT + TEXTLINKS ; templateConfigs[ NEWS_TECHNOLOGY ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_BOTTOM + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ PRINTER_FRIENDLY ] = SKY_RIGHT + TOOLBOX_RIGHT + AD_LINKS_BOTTOM ; templateConfigs[ PRINTER_FRIENDLY_FLEX ] = BIGBOX_FLEX + TOOLBOX_RIGHT + AD_LINKS_BOTTOM ; templateConfigs[ NEWS_OVERTURE_RIGHT ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT + AD_LINKS_RIGHT + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ NEWS_OVERTURE_RIGHT_VM ] = BANNER_FLEX_TOP + BANNER_FLEX_TOP + + AD_LINKS_RIGHT + VM + TOOLBOX_LEFT + TOOLBOX_LEFT_180X31 + TOOLBOX_RIGHT + TOOLBOX_BOTTOM + TEXTLINKS ; templateConfigs[ ENLARGED_PHOTO ] = SKY_RIGHT; templateConfigs[ SIMPLE ] = BANNER_FLEX_TOP + BIG_FLEX_RIGHT; templateConfigs[ BOTTOM_ONLY ] = BANNER_FLEX_BOTTOM; templateConfigs[ LOCAL_PORTAL ] = BANNER_FLEX_TOP + BANNER_FLEX_BOTTOM ; templateConfigs[ WEATHER ] = BANNER_FLEX_TOP + TILE_RIGHT_TOP + BIG_FLEX_RIGHT; templateConfigs[ NO_ADS ] = 0; // Make node-to-template assignments var nodeConfigs = new AdConfigurations(); nodeConfigs.addConfiguration( 'metro/blackmen') .addTemplateAssignment ( new TemplateAssignment( BOTTOM_ONLY,1 ) ); nodeConfigs.addConfiguration( 'education') .addTemplateAssignment ( new TemplateAssignment( NEWS_VM,1 ) ); nodeConfigs.addConfiguration( 'travel' ) .addTemplateAssignment ( new TemplateAssignment( NEWS_TRAVEL,1) ); nodeConfigs.addConfiguration( 'travel/jerseyshore' ) .addTemplateAssignment ( new TemplateAssignment( NEWS_TRAVEL_NO_TRT,1) ); nodeConfigs.addConfiguration( 'artsandliving/travel/travelbytopic' ) .addTemplateAssignment ( new TemplateAssignment( TRAVEL_BY_TOPIC,1) ); nodeConfigs.addConfiguration( 'health') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'print') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'weather') .addTemplateAssignment ( new TemplateAssignment( WEATHER,1 ) ); nodeConfigs.addConfiguration( 'realestate') .addTemplateAssignment ( new TemplateAssignment( NEWS_VM,1 ) ); nodeConfigs.addConfiguration( 'artsandliving') .addTemplateAssignment ( new TemplateAssignment( NEWS_VM,1 ) ); nodeConfigs.addConfiguration( 'business') .addTemplateAssignment ( new TemplateAssignment( NEWS_BUSINESS,1 ) ); nodeConfigs.addConfiguration( 'technology') .addTemplateAssignment ( new TemplateAssignment( NEWS_TECHNOLOGY,1 ) ); nodeConfigs.addConfiguration( 'metro') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'admin/classifieds/publicnotices') .addTemplateAssignment ( new TemplateAssignment( SIMPLE,1 ) ); nodeConfigs.addConfiguration( 'sports') .addTemplateAssignment ( new TemplateAssignment( NEWS_VM,1 ) ); nodeConfigs.addConfiguration( 'print/style') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'artsandliving') .addTemplateAssignment ( new TemplateAssignment( NEWS_VM,1 ) ); nodeConfigs.addConfiguration( 'politics/special/7') .addTemplateAssignment ( new TemplateAssignment( NEWS_NO_OVERTURE,1 ) ); nodeConfigs.addConfiguration( 'kidspost') .addTemplateAssignment ( new TemplateAssignment( NO_ADS,1 ) ); nodeConfigs.addConfiguration( 'opinion') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'world') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'politics') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'nation') .addTemplateAssignment ( new TemplateAssignment( NEWS,1 ) ); nodeConfigs.addConfiguration( 'localportal') .addTemplateAssignment ( new TemplateAssignment( LOCAL_PORTAL,1 ) ); nodeConfigs.addConfiguration( 'news/test') .addTemplateAssignment ( new TemplateAssignment( NEWS_TEST,1 ) ); // For this node, select a template adTemplate = nodeConfigs.getTemplate( thisNode ); if(thisNode == 'mypost') { adTemplate -= BANNER_FLEX_TOP } adTemplate+=INLINE_ARTICLE_AD; adTemplate+=(getCookie && getCookie('WPATC') && getCookie('WPATC').match('C=1:') && now < '09302359')?BANNER_FLEX_BOTTOM:0; if (document.location.href.indexOf("debugAdCode") != -1) { document.writeln("
")
document.writeln("Ad Template: " + adTemplate + '
');
document.writeln("Local User: " + localUser() + '
');
document.writeln("Content Category: " + contentCategories(commercialNode) + '
');
document.writeln("
") } // Define objects // TemplateAssignment associates a template with a frequency ( 0 <= frq <= 1 ) function TemplateAssignment( tmpl, frq ) { this.template = tmpl; this.frequency = ( ( frq >= 0 ) && ( frq <= 1 ) ) ? frq : 0 ; } // NodeTemplateAssignment collects TemplateAssignment objects for a specific node function NodeTemplateAssignment ( node ) { this.node = node; this.templates = new Array(); this.templateCount = 0; this.addTemplateAssignment = _addAdTemplateAssignment; this.selectTemplate = _adSelectTemplate; } // AdConfigurations collects NodeTemplateAssignments for the site function AdConfigurations () { this.configs = new Array(); this.length = 0; this.addConfiguration = _addAdConfiguration; this.getTemplate = _adGetTemplate; } function _adSelectTemplate() { var base = 0; var rNum = Math.random(); var rTemplate = 0; for (var count = 0; count < this.templates.length; count++) { if ( rNum < this.templates[count].frequency + base ) { rTemplate = this.templates[count].template; break; //return this.templates[count].template; } else { base += this.templates[count].frequency; } } return rTemplate; } function _adGetTemplate ( node ) { adTemplate = DEFAULT_TEMPLATE; var base = 0; var bestMatch = 0; for ( var count = 0; count < this.length; count++ ) { if ( this.configs[count].node == node ) { adTemplate = this.configs[count].selectTemplate(); break; } else if (( node.indexOf(this.configs[count].node) == 0 ) && ( this.configs[count].node.length > bestMatch )) { adTemplate = this.configs[count].selectTemplate(); bestMatch = this.configs[count].node.length; } } return templateConfigs[adTemplate]; } function _addAdTemplateAssignment( templateAssignment ) { this.templates[this.templateCount++] = templateAssignment; return this; } function _addAdConfiguration ( n ) { this.configs[this.length++] = new NodeTemplateAssignment (n); return this.configs[this.length - 1]; }