// 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); }; });

Stage 2 of the Call of Duty World League, presented by PlayStation 4 Global Pro LAN League begins June 30! Over the next four weekends, teams will compete LIVE in Columbus, Ohio in their individual groups for a chance to advance to the Stage 2 Finals.

The top two teams from each group will advance to the Call of Duty World League Global Pro League Stage 2 Finals. All 16 teams in the CWL Pro League Stage 2 have already secured a spot at the 2017 CWL Champs.

  • Group Red (June 30-July 2):
    • Luminosity
    • Evil Geniuses
    • Mindfreak
    • Fnatic
  • Group Blue (July 7-9):
    • FaZe Clan
    • Enigma6
    • Elevate
    • Bittersweet
  • Group Yellow (July 14-16):
    • Splyce
    • eUnited
    • Rise Nation
    • Red Reserve
  • Group Green (July 21-23):
    • OpTic Gaming
    • Team EnVyUs
    • Epsilon
    • Cloud9

All of the Call of Duty World League Global Pro League Stage 2 action will be live streamed on MLG.tv/CallofDuty and in-game in Infinite Warfare on PS4 via the live event viewer.

There’s a total of $700,000 on the line in Stage 2. Activision says that each player will collect over $3,000 as part of the regular season prize pool of $200,000. The Stage 2 Finals will see the top 8 teams go head to head for their chance to win their share of the $500,000 prize pool.

For those interested in attending the weekly matches, there are a limited number of tickets available here.

The CWL Global Pro League Stage 2 Finals will take place July 28-30 in the MLG Arena in Columbus, Ohio.

Be sure to follow us on Twitter for the latest CWL news!

SOURCE: MLG (1, 2)

comments below