// 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 has released a new Call of Duty Endowment customization item on PlayStation 4, Xbox One, and PC. This new item, called the Valor Calling Card Set, includes three new animated calling cards for $3.99.

image

All of the profits from this will be donated to Activision’s Call of Duty Endowment foundation, a foundation created by Activision Blizzard CEO Bobby Kotick to help veterans find jobs.

The complete The Call of Duty™ Endowment (C.O.D.E.) Valor Calling Card Set includes three exclusive, animated calling cards each depicting epic scenes from military action across the sea, air and land to help honor those who have served in the armed forces.

100% of Gross proceeds received by Activision will be donated to the Call of Duty Endowment and will help Veterans find high quality jobs.

Visit the PlayStation 4 Store here, Xbox One store here, or Steam here to checkout this new item. The Calling Card is available in North America.

“To date, the Call of Duty community has contributed over $1 million to our efforts to help veterans through the in-game program,” said the Endowment’s Executive Director Dan Goldenberg. “With this funding, our grantees will place over 1,800 veterans into high quality jobs. Through this campaign alone, the Call of Duty community has essentially put an entire brigade back to work, which is tremendous.”

Goldenberg added, “Sony and Microsoft have been indispensable partners in this effort, as the in-game program would not be possible without their generosity. We are grateful for their continued support.”

“Treyarch strongly supports the Call of Duty Endowment’s mission,” said Treyarch Studio Head, Mark Lamia. “The Calling Card program allows the Call of Duty: Black Ops III community the opportunity to easily contribute and make a meaningful impact to this worthy cause.”

Thanks @ImDABOMB1582 for the tip!

comments below