// initialize jwplayer var playerInstance = jwplayer('player'); // player dom elements var playerContainerEl = document.querySelector('.player-container'); // returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); } // returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); } // configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' }); // when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED }); // get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl); // set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px'; // below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop; if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); } // namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false; // window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); }; });

Activision Blizzard today announced that they are teaming up with GameStop and Costco to sell specific Black Ops 3 merchandise items, with full profits of these items going straight to the Call of Duty Endowment, which is Activision’s non-profit organization that helps Veterans find jobs.

Costco will exclusively sell Limited Edition Call of Duty: Black Ops 3 Dog Tags, and GameStop will exclusively be selling Black Ops 3 Challenge Coins.

Costco will sell exclusive, limited edition dog tags packaged with the highly-anticipated Call of Duty®: Black Ops III in its U.S. stores, and GameStop will offer an exclusive limited edition Call of Duty®: Black Ops III challenge coin—sold separately from the game—in its stores. These unique items will be available on November 6, 2015, in conjunction with the Call of Duty®: Black Ops III launch. All profits from sales of the dog tags and challenge coins will go towards the Call of Duty Endowment’s support for organizations that prepare veterans to reenter the job market.

“More than 500,000 veterans are unemployed in the United States today, and young veterans are out of work at a rate three times greater than the national average,” said Brian Hodous, Chief Customer Officer of Activision Blizzard. “As we approach Veterans Day and the holiday season, we believe we can best honor those who have served by helping them find highquality careers. GameStop and Costco are incredible partners and I thank them for joining us again to fight veteran unemployment. Together, we’ve already funded the placement of over 17,000 veterans and are committed to doing more.”

“GameStop is proud to support the men and women who serve in our military by participating in the Call of Duty Endowment program,” said Bob Puzon, Senior Vice President of Merchandising for GameStop. “With so many of our customers and GameStop associates serving our country, partnering with Activision Blizzard in this great program is our way of saying ‘thank you’ to the brave men and women who protect and defend our great country every day and the freedoms we hold dear.”

In a statement, Costco Wholesale Corporation said, “Costco is pleased to participate in this program, which helps open doors for our veterans.”

These items will be available starting November 6 in Costco and GameStop.

comments below