Slow-Mo Breakdown Shows 7 Churchgoers Pulled Guns To Stop Bad Guy in Texas Church Shooting

In a stunning real-life example of why it is important that Americans retain their Second Amendment right to bear arms, a shooter at a Texas church on Sunday was fatally shot within seconds after he pulled a gun and shot two congregants during a service.

The gunman — identified Monday as 43-year-old Keith Thomas Kinnunen, according to KXAS-TV — entered the West Freeway Church of Christ in White Settlement, Texas, near Forth Worth, and opened fire.

Fortunately, he was quickly stopped by armed security, preventing any further deaths or injuries.

Several other churchgoers also drew their weapons — a fact that is amplified in a slow-motion video making the rounds on social media.

The church’s senior minister, Britt Farmer, said at a news conference Sunday that the congregation lost “two great men today” but could have lost more if those at the church were unarmed.

TRENDING: Ex-FBI Analyst Sentenced to Jail for Hacking Private Email To Protect Mueller

“But it could’ve been a lot worse. I am thankful that our government has allowed us the opportunity to protect ourselves,” he said.

Law enforcement officials praised the members of the church’s security team for ending the attack within seconds. Tarrant County Sheriff Bill Waybourn told The Dallas Morning News that Sunday was “a horrific day in Tarrant County.”

“Today evil walked boldly among us,” he said. “But let me remind you, good people raised up and stopped it before it got worse.”

Yes, good people with guns.

Lt. Gov. Dan Patrick also praised the quick action of the church’s armed security.

“Our hearts are heavy today as we pray for the victims of this tragic shooting, their families, this church and this community,” he said. “But we are also grateful and thankful for the unparalleled heroism of two parishioners who were determined to protect the people in their church community. Because of the quick action of these two men, this evil event was over in six seconds. There is no way to know how many lives they saved.”

RELATED: Biden Ripped ‘Irrational’ Texas Law That Allowed Guns in Churches

Should all churches be allowed to have armed security?

Patrick went on to laud the changes to state law following the November 2017 mass shooting at the First Baptist Church in Sutherland Springs in which 26 people were killed.

After that horrific event, Patrick tasked state Attorney General Ken Paxton to review what legal options churches had to improve security.

Paxton said it was lawful for citizens with a licensed permit to carry for self-defense in church as long as the church has not posted against it.

Following Paxton’s opinion, Republican state Sen. Donna Campbell authored a bill earlier this year to codify that licensed gun holders can carry for self-defense in places of worship. The bill was passed by the state House in May and the signed into law by Republican Gov. Greg Abbott.

Citizens shouldn’t need special laws to be armed in church — in any state. The Second Amendment affords every American not just the right to own a gun, but to bear it. It also affords that this right not be infringed upon, as so many on the left are seeking to do.

There are a lot of “bad guys” out there, but the progressive Democrats who cry all the time about safety don’t seem to care much for the safety of law-abiding citizens. They live in some magical, unicorn world where if good people give up their guns, all the bad people disappear — as they have in places like Chicago and Baltimore, right?

Failed presidential contender Beto O’Rourke is just one of them.

“Clearly what we are doing in Texas, what we are doing in this country, when it comes to guns is not working,” the former Texas congressman said in a tweet Sunday.

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_aa38c9");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=110583&t="+rcel.id+"&c="+(new Date()).getTime()+"&width="+(window.outerWidth || document.documentElement.clientWidth)+"&referer="+encodeURIComponent(referer);rnrcel.async = true;rnrcds.appendChild(rcel);rn})();"}]},"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_2493229524094011' : '1521975967886043_2262512017165764',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},rntrecirculation: {rnttdesktop: {rntttlayout: 'grid'rntt}rnt}rn});rnrn(function() {rn var 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);rn var rcds = document.getElementById("rcjsload_9b8bf0");rn var rcel = document.createElement("script");rn rcel.id = 'rc_' + Math.floor(Math.random() * 1000);rn rcel.type = 'text/javascript';rn rcel.src = "//trends.revcontent.com//serve.js.php?w=114162&t="+rcel.id+"&c="+(new Date()).getTime()+"&width="+(window.outerWidth || document.documentElement.clientWidth)+"&referer="+encodeURIComponent(referer);rn rcel.async = true;rn rcds.appendChild(rcel);rn})();"}]},"BB1":{"ad_type":"dfp_prebid"},"IC4":{"ad_type":"dfp_prebid","lazy_load":"yes","size_mappings":[{"screen_width":"944"},{"screen_width":"360","creative_sizes":[{"size":"300x250"},{"size":"336x280"},{"size":"320x100"}]},{"screen_width":"1","creative_sizes":[{"size":"300x250"},{"size":"320x100"}]}],"bidders":[{"name":"appnexus","device_category":"mobile","adyoulike_placement":null,"appnexus_placementid":"13527812","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":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193595","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":"mobile","adyoulike_placement":null,"appnexus_placementid":null,"audiencenetwork_placementid":null,"audiencenetwork_format":null,"ix_siteid":"193595","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":"193595","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":"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_ct","rubicon_accountid":null,"rubicon_siteid":null,"rubicon_zoneid":null,"sovrn_tagid":null,"triplelift_inventorycode":null,"underdogmedia_siteid":null},{"name":"adyoulike","device_category":"mobile","adyoulike_placement":"ccdd9e3c80856694109b9e0523f432a1","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":"adyoulike","device_category":"desktop","adyoulike_placement":"e988b25ed6033ffb7574e75b2ae95f4b","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}],"repeating":true},"WP1":{"ad_type":"dfp_prebid","size_mappings":[{"screen_width":"1","creative_sizes":[{"size":"1x1"}]}]},"SB5":{"ad_type":"dfp_prebid"}},"lazy_load":"yes","ad_type":"dfp_prebid","custom_unit_code":"CT","use_fixed_containers":"yes","scaling_sheet_id":"642547617","use_sx_units":"yes","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=08524089-b844-4322-8e93-471fc2eb19ab"; fjs.parentNode.insertBefore(js, fjs); }(document,'script','playbuzz-stream','stream-sdk-jssdk_Liftable_westernjournal.com/ct'));","cat":"commentary"};

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...