Adorable ‘Cheer Dad’ Viral Routine Helps Grieving Community After Accident Kills Three

A video of a Virginia dad performing his high school daughter’s cheer routine from the stands has gone viral, bringing a little bit of joy to a community that’s currently mourning the loss of three of its own.

Rolland “Hekili” Holland recently asked his 15-year-old cheerleader daughter, Mackenzi, to teach him her cheers for football games.

Not only does the father of three enjoy being able to support his daughter, who’s a sophomore at York High School, but he also likes the the energy at high school football games.

“I’ve always liked high school football games and I always wanted to go to them even before I had kids,” Holland told NBC’s “Today.”

“But you can’t go to a high school football game as 23-24 year old guy and not be the creeper, so now that we have Mackenzi there, we have a reason to go support her and have fun.”

TRENDING: Soros’ $800k Attempt To Buy Election Backfires When GOP Candidate Nets Even Larger Win Than Expected

Once he finally learned the cheers well enough, he began doing the same cheers as his daughter and her squad from the stands.

This caught the attention of fellow fans in the bleachers.

Even Mackenzi’s cheerleading coach noticed Holland’s routines.

“As a coach, I truly admire our parents and their support for my athletes,” Taylor Fox, the school’s head sideline cheerleading coach, said. “Parental support, I believe, is very important to my kids — it shows the athletes they have someone in their corner supporting them in something they enjoy doing.”

During the district championship game on Nov. 1, fellow parent Scott Willard noticed Holland’s enthusiastic moves and knew others needed to witness them, too.

“I watched him for most of the game. I was thinking, this guy is rocking it,” Willard said. “It was the fourth quarter and York scored and he did it again.

“I leaned over to my wife and jokingly said, ‘If York scores again, I’m making this guy go viral.’ I honestly didn’t think it would.”

Willard posted the video later that evening along with the caption, “This guy right here needs to go viral. By far CHEER DAD OF THE YEAR!!!!!!”

It quickly went viral:

RELATED: After Woman Loses Memory During Birth, Husband Writes Book To Help Her Remember Their Love Story

Holland’s daughter first alerted him to his newfound viral fame.

“Mackenzi came in the room and said, ‘Dad, you’re on Facebook! You’ve gotten 4,000 views in the last hour!’ And it has just grown from there,” Holland recalled.

“I’m a fun-loving guy — if you talk to my wife or any friend of mine, they’ll tell you — I’m a little extra at times.”

Mackenzi didn’t deny that her dad can be “extra,” but said it doesn’t embarrass her.

“A lot of people think I would have been embarrassed but I’m really not,” she said.

“I’m just proud that my dad’s here and that he’s doing everything with me.”

Although the video itself is a sweet display of a father unapologetically supporting his daughter, Holland said the uplifting, viral moment couldn’t have come at a better time for his local community.

On Oct. 26, three students from a neighboring high school were killed in a tragic car accident on their way back from the homecoming dance, according to WTVR.

“It looked like the car had gone through a wood chipper,” one of the victim’s close friends told WAVY.

The following night, over 1,000 people gathered to pay tribute and remember the young lives that were taken too soon.

“It was a very somber week leading up to [the game],” Holland told “Today.”

“People have reached out saying this was what the community needed and that it provided a bit of hope and help with overcoming that sadness.”

The viral video and the story behind it is a great example of not only how a community grieves together, but also how it rebuilds together.

We are committed to truth and accuracy in all of our journalism. Read our editorial standards.

","rendering_script":"(function() {rnvar referer="";try{if(referer=document.referrer,"undefined"==typeof referer||""==referer)throw"undefined"}catch(exception){referer=document.location.href,(""==referer||"undefined"==typeof referer)&&(referer=document.URL)}referer=referer.substr(0,700);rnvar rcds = document.getElementById("rcjsload_229d40");rnvar rcel = document.createElement("script");rnrcel.id = 'rc_' + Math.floor(Math.random() * 1000);rnrcel.type = 'text/javascript';rnrcel.src = "https://trends.revcontent.com/serve.js.php?w=81120&t="+rcel.id+"&c="+(new Date()).getTime()+"&width="+(window.outerWidth || document.documentElement.clientWidth)+"&referer="+referer;rnrcel.async = true;rnrcds.appendChild(rcel);rn})();"}]},"SB3":{"ad_type":"dfp_prebid","size_mappings":[{"screen_width":"944","creative_sizes":[{"size":"300x250"},{"size":"300x600"}]}],"bidders":[{"name":"appnexus","device_category":"desktop","adyoulike_placement":null,"appnexus_placementid":"12212212","audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"pubmatic","device_category":"desktop","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":"158410","pubmatic_adslot":"sb3_lt","rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"adyoulike","device_category":"all","adyoulike_placement":"161949a474b094a7ea8d8254ad82e1fa","appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"rubicon","device_category":"desktop","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":"10278","rubicon_siteid":"210096","rubicon_zoneid":"1287878","sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null}]},"BA1":{"ad_type":"custom","custom_ads":[{"code":"

rn

","rendering_script":"let fbs = document.createElement( 'script' );rnfbs.src = 'https://connect.facebook.net/en_US/fbadnw60-tag.js';rnfbs.async = 'async';rndocument.head.appendChild( fbs );rnwindow.ADNW = window.ADNW || {};rnwindow.ADNW.v60 = window.ADNW.v60 || {};rnwindow.ADNW.v60.slots = window.ADNW.v60.slots || [];rnwindow.ADNW.v60.slots.push({rntrootElement: document.getElementById( 'fb_ba1' ),rntplacementid: window.innerWidth > 943 ? '1521975967886043_2109685419115092' : '1521975967886043_2109684779115156',rntformat: 'recirculation',rnttestmode: false,rntonAdLoaded: function(rootElement) {rnttconsole.log('Audience Network [ba1] ad loaded');rnttrootElement.style.display = 'block';rnt},rntonAdError: function(errorCode, errorMessage) {rnttconsole.log('Audience Network [ba1] error (' + errorCode + ') ' + errorMessage);rnt}rn});rnrn(function() {rnvar referer="";try{if(referer=document.referrer,"undefined"==typeof referer||""==referer)throw"undefined"}catch(exception){referer=document.location.href,(""==referer||"undefined"==typeof referer)&&(referer=document.URL)}referer=referer.substr(0,700);rnvar rcds = document.getElementById("rcjsload_98a549");rnvar rcel = document.createElement("script");rnrcel.id = 'rc_' + Math.floor(Math.random() * 1000);rnrcel.type = 'text/javascript';rnrcel.src = "https://trends.revcontent.com/serve.js.php?w=110584&t="+rcel.id+"&c="+(new Date()).getTime()+"&width="+(window.outerWidth || document.documentElement.clientWidth)+"&referer="+encodeURIComponent(referer);rnrcel.async = true;rnrcds.appendChild(rcel);rn})();"}]},"BB1":{"ad_type":"dfp_prebid"},"IC4":{"ad_type":"dfp_prebid","lazy_load":"yes","size_mappings":[{"screen_width":"944"},{"screen_width":"1","creative_sizes":[{"size":"300x250"},{"size":"336x280"},{"size":"320x50"},{"size":"320x100"}]}],"bidders":[{"name":"appnexus","device_category":"desktop","adyoulike_placement":null,"appnexus_placementid":"13833593","audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"ix","device_category":"all","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193616","ix_size":[{"size":"300"},{"size":"250"}],"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"ix","device_category":"all","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193616","ix_size":[{"size":"336"},{"size":"280"}],"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"ix","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193616","ix_size":[{"size":"320"},{"size":"100"}],"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"ix","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193616","ix_size":[{"size":"320"},{"size":"50"}],"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"appnexus","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":"16115425","audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"pubmatic","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":"158410","pubmatic_adslot":"ic4_lt","rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"adyoulike","device_category":"all","adyoulike_placement":"bf3c5da79213913059f1620d35be7df5","appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"rubicon","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":"10278","rubicon_siteid":"210096","rubicon_zoneid":"1287878","sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null}],"repeating":true},"SB5":{"ad_type":"dfp_prebid","lazy_load":"yes"},"WP1":{"ad_type":"dfp_prebid"},"SA1":{"ad_type":"dfp_prebid","size_mappings":[{"screen_width":"944"},{"screen_width":"1","creative_sizes":[{"size":"1x1"},{"size":"320x100"},{"size":"320x50"}]}],"bidders":[{"name":"appnexus","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":"12207463","audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"pubmatic","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":"158410","pubmatic_adslot":"sa1_lt","rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"adyoulike","device_category":"all","adyoulike_placement":"61af893ef55c20abf2d49dae7cf3081b","appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"rubicon","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":null,"justpremium_zone":null,"onedisplay_placement":null,"onedisplay_network":null,"onedisplay_bidfloor":null,"pubmatic_publisherid":null,"pubmatic_adslot":null,"rubicon_accountid":"10278","rubicon_siteid":"210096","rubicon_zoneid":"1287878","sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null}]}},"ad_type":"dfp_prebid","custom_unit_code":"LT","use_fixed_containers":"yes","lazy_load":"yes","scaling_sheet_id":"535537944","replace_ict":"document.querySelector( '.article-extras.trending' ).outerHTML = '

'; (function (d,s,n,id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.className = n; js.src = "https://stream.playbuzz.com/embed/sdk.js?embedId=2efe60c1-beeb-43ac-b2ba-d19760efa428"; fjs.parentNode.insertBefore(js, fjs); }(document,'script','playbuzz-stream','stream-sdk-jssdk_westernjournal.com/lt_RSS'));","cat":"lifestyle"};

FFADS.debug = function( msg ) { if( document.location.href.search( 'ffads_debug=true' ) !== -1 ) { if( typeof msg !== 'undefined' ) console.log( JSON.parse( JSON.stringify( msg ) ) ); else console.log( 'undefined' ); } }

FFADS.content_order = ["SA1","WP1","BB1","Top","IC1","IC2","IC3","IC4","BA1"]; FFADS.sidebar_order = ["SB1","SB2","SB3","SB4","SB5"];

for( let ad_unit in FFADS.units ) if( ( FFADS.units[ad_unit].ad_type == 'dfp_prebid' || FFADS.units[ad_unit].ad_type == 'hybrid' ) && FFADS.units[ad_unit].size_mappings ) for( let i = 0; i < FFADS.units[ad_unit].size_mappings.length; i++ ) if( window.innerWidth >= FFADS.units[ad_unit].size_mappings[i].screen_width ) { if( FFADS.units[ad_unit].size_mappings[i].creative_sizes && FF_EXCLUDE_ADS.indexOf( ad_unit ) == -1 ) FFADS.units[ad_unit].sizes = FFADS.units[ad_unit].size_mappings[i].creative_sizes.map( function( sizeObj ) { return sizeObj.size.split( 'x' ).map( function( numString ) { return parseInt( numString ); } ); } ); break; }

let new_unit_obj = {}; for( let i in FFADS.content_order ) { FFADS.debug( 'Checking if ' + FFADS.content_order[i] + ' is valid on this page' ); let ad_unit = FFADS.content_order[i].split( '_' )[0]; if( FFADS.units[ad_unit] && ( FFADS.units[ad_unit].ad_type == 'custom' || FFADS.units[ad_unit].sizes ) ) new_unit_obj[ad_unit] = FFADS.units[ad_unit]; else { FFADS.debug( FFADS.content_order[i] + ' is not valid on this page. Removing it from content_order.' ); FFADS.content_order[i] = false; } } FFADS.content_order = FFADS.content_order.filter( function( ad_unit ) { return ad_unit && FFADS.units[ad_unit.split( '_' )[0]].lazy_load; } ); if( window.innerWidth >= 944 ) for( let i in FFADS.sidebar_order ) { FFADS.debug( 'Checking if ' + FFADS.sidebar_order[i] + ' is valid on this page' ); if( FFADS.units[FFADS.sidebar_order[i]].ad_type == 'custom' || FFADS.units[FFADS.sidebar_order[i]].sizes ) new_unit_obj[FFADS.sidebar_order[i]] = FFADS.units[FFADS.sidebar_order[i]]; else { FFADS.debug( FFADS.sidebar_order[i] + ' is not valid on this page. Removing it from sidebar_order.' ); FFADS.sidebar_order[i] = false; } } FFADS.sidebar_order = FFADS.sidebar_order.filter( function( ad_unit ) { return ad_unit && FFADS.units[ad_unit].lazy_load; } ); FFADS.units = new_unit_obj;

FFADS.all_bidders = {"adyoulike":{"nicename":"Adyoulike","params":["placement"]},"appnexus":{"nicename":"AppNexus","params":["placementId"]},"audienceNetwork":{"nicename":"Audience Network","params":["placementId","format"]},"ix":{"nicename":"Index Exchange","params":["siteId"],"array_params":["size"]},"justpremium":{"nicename":"JustPremium","params":["zone"],"array_params":["allow","exclude"]},"onedisplay":{"nicename":"Oath","params":["placement","network","bidFloor"]},"pubmatic":{"nicename":"PubMatic","params":["publisherId","adSlot"]},"rubicon":{"nicename":"Rubicon","params":["accountId","siteId","zoneId"]},"sovrn":{"nicename":"Sovrn","params":["tagid"]},"triplelift":{"nicename":"TripleLift","params":["inventoryCode"]},"underdogmedia":{"nicename":"Underdog Media","params":["siteId"]}};

FFADS.pb_units = []; for( let bidder in FFADS.all_bidders ) { FFADS.all_bidders[bidder].param_map = {}; for( let param in FFADS.all_bidders[bidder].params ) FFADS.all_bidders[bidder].param_map[FFADS.all_bidders[bidder].params[param].toLowerCase()] = FFADS.all_bidders[bidder].params[param]; for( let param in FFADS.all_bidders[bidder].array_params ) FFADS.all_bidders[bidder].param_map[FFADS.all_bidders[bidder].array_params[param].toLowerCase()] = FFADS.all_bidders[bidder].array_params[param]; } for( let ad_unit in FFADS.units ) { FFADS.debug( ad_unit + ' type: ' + FFADS.units[ad_unit].ad_type ); FFADS.debug( ad_unit + ' size mappings:' ); FFADS.debug( FFADS.units[ad_unit].size_mappings ); if( ( FFADS.units[ad_unit].ad_type == 'dfp_prebid' || FFADS.units[ad_unit].ad_type == 'hybrid' ) && FFADS.units[ad_unit].size_mappings ) { FFADS.debug( 'creating PB unit(s) for ' + ad_unit ); let bids = []; for( let i in FFADS.units[ad_unit].bidders ) if( FFADS.units[ad_unit].bidders[i].device_category == 'all' || FFADS.units[ad_unit].bidders[i].device_category == 'desktop' && window.innerWidth >= 944 || FFADS.units[ad_unit].bidders[i].device_category == 'mobile' && window.innerWidth < 944 ) { let params = {}; for( let param in FFADS.units[ad_unit].bidders[i] ) if( param.search( FFADS.units[ad_unit].bidders[i].name.toLowerCase() + '_' ) === 0 ) { let param_name_lower = param.split( '_' ).splice( 1 ).join( '_' ); let param_name = FFADS.all_bidders[FFADS.units[ad_unit].bidders[i].name].param_map[param_name_lower]; if( typeof FFADS.units[ad_unit].bidders[i][param] == 'object' ) { params[param_name] = []; for( let j in FFADS.units[ad_unit].bidders[i][param] ) params[param_name].push( parseInt( FFADS.units[ad_unit].bidders[i][param][j][param_name_lower] ) || FFADS.units[ad_unit].bidders[i][param][j][param_name_lower] ); } else params[param_name] = FFADS.units[ad_unit].bidders[i][param]; } bids.push( { bidder: FFADS.units[ad_unit].bidders[i].name, params: params } ); } if( FFADS.units[ad_unit].repeating ) for( let i = 0; i < FF_REP_COUNT; i++ ) FFADS.pb_units.push( { sizes: FFADS.units[ad_unit].sizes, bids: bids, code: 'REP_' + i } ); else if( FFADS.units[ad_unit].rep_count ) for( let i = 0; i < FFADS.units[ad_unit].rep_count; i++ ) FFADS.pb_units.push( { sizes: FFADS.units[ad_unit].sizes, bids: bids, code: ad_unit + '_' + i } ); else FFADS.pb_units.push( { sizes: FFADS.units[ad_unit].sizes, bids: bids, code: ad_unit } ); } FFADS.units[ad_unit].instances = {}; if( FFADS.units[ad_unit].repeating ) for( let i = 0; i < FF_REP_COUNT; i++ ) FFADS.units[ad_unit].instances['REP_' + i] = {}; else if( FFADS.units[ad_unit].rep_count ) for( let i = 0; i < FFADS.units[ad_unit].rep_count; i++ ) FFADS.units[ad_unit].instances[ad_unit + '_' + i] = {}; else FFADS.units[ad_unit].instances[ad_unit] = {}; } FFADS.prebid_timeout = window.innerWidth > 943 ? FFADS.desktop_bidding_timeout : FFADS.mobile_bidding_timeout;

FFADS.get_unit_path = function( ad_unit ) { return '/' + ( this.dfp_account_id || 101957818 ) + '/' + ad_unit + '_' + ( this.custom_unit_code || 'WJ' ) + ( typeof this.use_sx_units != 'undefined' && this.use_sx_units == 'yes' ? ( window.innerWidth > 943 ? '_LGSX' : '_SMSX' ) : '' ); } FFADS.pbjs_bids_back = function() { FFADS.debug( 'PB bids back for initial units' ); FFADS.pbjs_ready = true; if( FFADS.a9_ready ) return sendInitialAdserverRequest(); } FFADS.render_ad = function( ad_unit, div_id = false ) { div_id = div_id || ad_unit; this.debug( 'refreshing ' + ad_unit + ' into #' + div_id ); this.units[ad_unit].instances[div_id].displayed = true; if( this.units[ad_unit].ad_type == 'custom' ) eval( this.units[ad_unit].custom_ads[0].rendering_script ); else googletag.cmd.push( this.request_bids.bind( this, ad_unit, div_id ) ); } FFADS.request_bids = function( ad_unit, div_id = false ) { div_id = div_id || ad_unit;

this.debug( 'requesting bids for ' + ad_unit + ' in #' + div_id );

FFADS.units[ad_unit].instances[div_id].gt_slot = googletag.defineSlot( this.get_unit_path( ad_unit ), this.units[ad_unit].sizes, div_id ).addService( googletag.pubads() ); window['firefly_pbjs_ready' + div_id] = false, window['firefly_a9_ready' + div_id] = false;

pbjs.requestBids( { bidsBackHandler: firefly_pbjs_bids_back_single.bind( null, ad_unit, div_id ), adUnitCodes: [div_id] } );

setTimeout( sendSingleAdserverRequest.bind( FFADS, ad_unit, div_id ), FFADS.prebid_timeout );

apstag.fetchBids( { slots: [ { slotID: div_id, slotName: this.get_unit_path( ad_unit ), sizes: this.units[ad_unit].sizes } ] }, firefly_a9_bids_back_single.bind( null, ad_unit, div_id ) ); };

FFADS.lazy_load_check = function() { FFADS.debug( 'checking lazy load' );

let wnhc_j = jQuery( '#wj-network-header-container' + ( window.innerWidth < 944 ? ', .jw-above-container.stuck:not( .never-stick ) .jw-sticky-container' : '' ) ).last(); let wnhc = wnhc_j.length ? wnhc_j.offset().top + wnhc_j.outerHeight() : 0; FFADS.debug( 'WNHC bottom is ' + wnhc ); let slide_units = document.querySelectorAll( '.sponsor > div.fixed-size.sliding > div' ); for( let i = 0; i < slide_units.length; i++ ) { FFADS.debug( 'checking margin for' ); FFADS.debug( slide_units[i] ); if( ! slide_units[i].firstElementChild ) break; this_unit_j = jQuery( slide_units[i] ); let max_margin = slide_units[i].parentElement.offsetHeight - slide_units[i].firstElementChild.offsetHeight; FFADS.debug( 'max margin is ' + max_margin ); let distance = wnhc - this_unit_j.parent().offset().top; if( distance > max_margin ) { slide_units[i].style.position = 'static'; slide_units[i].style.paddingTop = max_margin + 'px'; } else if( distance < 0 ) { slide_units[i].style.position = 'static'; slide_units[i].style.paddingTop = '0px'; } else if( slide_units[i].style.position != 'fixed' ) { slide_units[i].style.left = jQuery( slide_units[i].firstChild ).offset().left + 'px'; slide_units[i].style.position = 'fixed'; slide_units[i].style.paddingTop = '0px'; slide_units[i].style.top = jQuery( '#wpadminbar' ).outerHeight() + jQuery( '#wj-network-header-container' ).outerHeight() + ( window.innerWidth < 944 ? jQuery( '.jw-above-container.stuck:not( .never-stick ) .jw-sticky-container' ).outerHeight() : 0 ) + 'px'; } } for( let i = 0; i < FFADS.content_order.length; i++ ) { let ad_unit_id = FFADS.content_order[i]; let ad_unit = ad_unit_id.split( '_' )[0]; if( ! FFADS.units[ad_unit].repeating ) { if( checkAlmostVisible( document.getElementById( ad_unit_id ), FFADS.lazy_load_threshold ) ) { FFADS.debug( ad_unit_id + ' is almost visible' ); FFADS.content_order.splice( i, 1 ); // splice first in case render_ad fails FFADS.render_ad( ad_unit, ad_unit_id ); } else break; } else for( var j = 0; j < FF_REP_COUNT; j++ ) { let div_id = 'REP_' + j; if( ! FFADS.units[ad_unit].instances[div_id].displayed ) { if( checkAlmostVisible( document.getElementById( div_id ), FFADS.lazy_load_threshold ) ) { FFADS.debug( div_id + ' is almost visible' ); if( j == FF_REP_COUNT - 1 ) FFADS.content_order.splice( i, 1 ); // splice first in case render_ad fails FFADS.render_ad( ad_unit, div_id ); } else break; } } } if( typeof ffsid != 'undefined' && ! FFADS.spot_im_displayed && checkAlmostVisible( document.getElementById( 'respond' ), FFADS.lazy_load_threshold ) ) { var ffrespond = document.getElementById( 'respond' ); var simscript1 = document.createElement( 'script' ); var simscript2 = document.createElement( 'script' ); simscript1.async = simscript2.async = 'async'; simscript1.type = simscript2.type = 'text/javascript'; simscript1.src = 'https://recirculation.spot.im/spot/' + ffsid; simscript2.src = 'https://launcher.spot.im/spot/' + ffsid; simscript2.dataset.spotimModule = 'spotim-launcher'; simscript2.dataset.postUrl = simscript2.dataset.facebookUrl = ffsurl; simscript2.dataset.postId = ffspid; ffrespond.appendChild( simscript1 ); ffrespond.appendChild( simscript2 ); FFADS.spot_im_displayed = true; } if( window.innerWidth > 943 ) for( let i = 0; i < FFADS.sidebar_order.length; i++ ) { let ad_unit_code = FFADS.sidebar_order[i]; if( checkAlmostVisible( document.getElementById( ad_unit_code ), FFADS.lazy_load_threshold ) ) { FFADS.debug( ad_unit_code + ' is almost visible' ); FFADS.sidebar_order.splice( i, 1 ); FFADS.render_ad( ad_unit_code ); } else break; } } var pbjs = pbjs || {}; pbjs.que = pbjs.que || [ function() { FFADS.debug( 'pbjs.que starting' ); } ]; pbjs.bidderSettings = { standard: { bidCpmAdjustment: function( bidCpm, bid ) { let screen_size = window.innerWidth < 944 ? 'SMSX' : 'LGSX'; let factor = 1.0; if( typeof FFADS.units[bid.adUnitCode].scales[screen_size][bid.bidderCode] != 'undefined' ){ factor -= FFADS.units[bid.adUnitCode].scales[screen_size][bid.bidderCode]; FFADS.debug( 'factor for ' + bid.bidderCode + ' in ' + bid.adUnitCode + ' set to ' + factor + '; bid changed from ' + bidCpm + ' to ' + ( bidCpm *= factor ) ); } return bidCpm; } } }; pbjs.que.push(function() { pbjs.enableAnalytics( { provider: 'roxot', options: { publisherIds: ["556182c7-ac68-4d56-8c66-4b4336e28e5e"] } } ); pbjs.setConfig( { priceGranularity: "high", userSync: { iframeEnabled: true, filterSettings: { iframe: { bidders: ['openx', 'pubmatic'], filter: 'include' } } } } ); FFADS.debug( 'adding units to PB' ); FFADS.debug( FFADS.pb_units ); pbjs.addAdUnits( FFADS.pb_units ); let adUnitCodes = []; for( let ad_unit in FFADS.units ) if( ! FFADS.units[ad_unit].lazy_load ) adUnitCodes.push( ad_unit ); FFADS.debug( 'requesting PB bids for initial units' ); pbjs.requestBids({ bidsBackHandler: FFADS.pbjs_bids_back, adUnitCodes: adUnitCodes }); }); function sendInitialAdserverRequest() { if( FFADS.initialAdserverRequestSent ) return; FFADS.initialAdserverRequestSent = true; FFADS.debug( 'queuing DFP request for initial units' ); googletag.cmd.push(function() { pbjs.que.push(function() { FFADS.debug( 'sending DFP request for initial units' ); let adUnitCodes = []; let dfpAdUnits = []; for( let ad_unit in FFADS.units ) if( ! FFADS.units[ad_unit].lazy_load ) { if( FFADS.units[ad_unit].ad_type == 'hybrid' ) { let pb_bid = pbjs.getHighestCpmBids( ad_unit ); pb_bid = pb_bid.length ? pb_bid[0].cpm : 0; FFADS.debug( 'Prebid bid ' + pb_bid + ' for ' + ad_unit ); if( pb_bid < FFADS.units[ad_unit].custom_ads[0].cpm ) { FFADS.debug( 'Custom code won for ' + ad_unit ); let el = false; if( el = document.getElementById( ad_unit ) ) { el.innerHTML = FFADS.units[ad_unit].custom_ads[0].code; eval( FFADS.units[ad_unit].custom_ads[0].rendering_script ); } else FFADS.debug( 'failed to render custom code in ' + ad_unit + ' since the unit is not on this page' ); continue; } } adUnitCodes.push( ad_unit ); dfpAdUnits.push( FFADS.units[ad_unit].instances[ad_unit].gt_slot ); } pbjs.setTargetingForGPTAsync( adUnitCodes ); apstag.setDisplayBids(); googletag.pubads().refresh( dfpAdUnits ); }); }); } FFADS.debug( 'scheduling DFP request for initial units' ); setTimeout( function() { sendInitialAdserverRequest(); }, FFADS.prebid_timeout ); (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); })(); var googletag = googletag || {}; googletag.cmd = googletag.cmd || [ function() { FFADS.debug( 'googletag.cmd starting' ); } ]; googletag.cmd.push( function() { googletag.pubads().disableInitialLoad(); for( let ad_unit in FFADS.units ) if( ! FFADS.units[ad_unit].lazy_load && ( FFADS.units[ad_unit].ad_type == 'dfp_prebid' || FFADS.units[ad_unit].ad_type == 'hybrid' ) ) { FFADS.debug( 'defining slot for ' + ad_unit + ' #' + ad_unit ); FFADS.units[ad_unit].instances[ad_unit].gt_slot = googletag.defineSlot( FFADS.get_unit_path( ad_unit ), FFADS.units[ad_unit].sizes, ad_unit ).addService( googletag.pubads() ); } googletag.pubads().enableSingleRequest(); firefly_setTargeting(); googletag.pubads().setCentering(true); googletag.enableServices(); } ); function sendSingleAdserverRequest( ad_unit, div_id = false ) { div_id = div_id || ad_unit; if( FFADS.units[ad_unit].instances[div_id].adserverRequestSent ) return; FFADS.units[ad_unit].instances[div_id].adserverRequestSent = true; if( FFADS.units[ad_unit].ad_type == 'hybrid' ) { let pb_bid = pbjs.getHighestCpmBids( div_id ); pb_bid = pb_bid.length ? pb_bid[0].cpm : 0; FFADS.debug( 'Prebid bid ' + pb_bid + ' for #' + div_id ); if( pb_bid < FFADS.units[ad_unit].custom_ads[0].cpm ) { FFADS.debug( 'Custom code won for #' + div_id ); document.getElementById( div_id ).innerHTML = FFADS.units[ad_unit].custom_ads[0].code; eval( FFADS.units[ad_unit].custom_ads[0].rendering_script ); return; } } apstag.setDisplayBids(); pbjs.setTargetingForGPTAsync( [div_id] ); FFADS.debug( 'sending DFP request for ' + ad_unit + ' #' + div_id ); googletag.pubads().refresh( [FFADS.units[ad_unit].instances[div_id].gt_slot] ); } function firefly_pbjs_bids_back_single( ad_unit, div_id = false ) { div_id = div_id || ad_unit; FFADS.debug( 'PB bids back for ' + ad_unit + ' #' + div_id ); window['firefly_pbjs_ready' + ad_unit] = true; if( window['firefly_a9_ready' + ad_unit] ) return sendSingleAdserverRequest( ad_unit, div_id ); } function firefly_a9_bids_back_single( ad_unit, div_id = false ) { div_id = div_id || ad_unit; FFADS.debug( 'A9 bids back for ' + ad_unit + ' #' + div_id ); window['firefly_a9_ready' + ad_unit] = true; if( window['firefly_pbjs_ready' + ad_unit] ) return sendSingleAdserverRequest( ad_unit, div_id ); } !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js"); apstag.init({ pubID: 'da224ee9-07c8-4a80-87e4-528df4ac939e', adServer: 'googletag', bidTimeout: FFADS.prebid_timeout }); var a9_slot_arr = []; for( var ad_unit in FFADS.units ) { if( ! FFADS.units[ad_unit].lazy_load ) var a9_slot_arr = a9_slot_arr.concat( [ { slotID: ad_unit, slotName: FFADS.get_unit_path( ad_unit ), sizes: FFADS.units[ad_unit].sizes } ] ); }; FFADS.debug( 'requesting A9 bids for initial units' ); apstag.fetchBids( { slots: a9_slot_arr }, function( bids ) { FFADS.debug( 'A9 bids back for initial units' ); FFADS.a9_ready = true; if( FFADS.pbjs_ready ) return sendInitialAdserverRequest(); } );

Loading...
Share this Article with your Friends and Family