// 
    var evVarDebuggingOutput = false
    // 

    function logToConsole () {
      if(typeof evVarDebuggingOutput !== 'undefined' && evVarDebuggingOutput === true) {
        var grayb = 'color:white;background:darkgray;padding:4px;border-radius:4px;'
        console.log('%cReely', grayb, ...arguments)
      }
    }
    function warnToConsole () {
      if(typeof evVarDebuggingOutput !== 'undefined' && evVarDebuggingOutput === true) {
        var orangeb = 'color:white;background:darkorange;padding:4px;border-radius:4px;'
        console.warn('%cReely', orangeb, ...arguments)
      }
    }
    function loggfdnpbjs () {
      if(typeof evVarDebuggingOutput !== 'undefined' && evVarDebuggingOutput === true) {
        var greenb = 'color:white;background:forestgreen;padding:4px;border-radius:4px;'
        console.log('%cfdnpbjs', greenb, ...arguments)
      }
    }

      
        (function() {
          // renonr - setting up player
          // console.log('renonr - setting up player', document.currentScript)

          window.RealOneEmbed = window.RealOneEmbed || {
            items: [],

            add: function (realOneElement) {
              var playerIdAttribute = realOneElement.getAttribute('real-1-id')
              if(playerIdAttribute === null) {
                var newPlayer = new RealOneEmbed.Player(realOneElement, this.items.length)
                RealOneEmbed.items.push(newPlayer)
              }
              else {
                logToConsole('RealOne Player', '[real-1-id=' + playerIdAttribute + '] already set up.')
              }
            },

            Player: function (element, id) {
              this.id = id.toString()
              this.iframeElement = null
              this.scriptElement = null

              var playerInstance = this // access for locally scoped variables and functions

              var inViewFocusTypes = ['scroll','blur','focus','resize']
              var interactionTypes = ['click','tap','scroll','resize']

              var reportInViewAndFocusData = function () {
                var documentHasFocus = document.hasFocus()
                var boundingRect = playerInstance.iframeElement.getBoundingClientRect()
                playerInstance.iframeElement.contentWindow.postMessage({
                  FDNIframeInParentBoundingRectHeight: boundingRect.height,
                  FDNIframeInParentBoundingRectTop: boundingRect.top,
                  FDNParentInnerHeight: window.innerHeight,
                  FDNParentHasFocus: documentHasFocus,
                },'*')
              }

              var reportReferringDomain = function () {
                playerInstance.iframeElement.contentWindow.postMessage({
                  FDNReferringDomain: window.location.origin,
                },'*')
              }

              var reportEmbedId = function () {
                logToConsole('RealOne Player', 'reportEmbedId: ' + playerInstance.id)
                playerInstance.iframeElement.contentWindow.postMessage({
                  FDNEmbedId: playerInstance.id,
                },'*')
              }

              var inViewAndFocusHandler = function (e) {
                logToConsole('RealOne Player', inViewFocusTypes, e)
                if(inViewFocusTypes.includes(e.type)) {
                  logToConsole('RealOne Player', e.type + ' inViewAndFocusHandler fired')
                  reportInViewAndFocusData()
                }
              }

              var reportInteractionData = function () {
                playerInstance.iframeElement.contentWindow.postMessage('interactions were had','*')
              }

              var interactionHandler = function (e) {
                if(interactionTypes.includes(e.type)) {
                  logToConsole('RealOne Player', e.type + ' interactionHandler fired')
                  reportInteractionData()
                }
              }

              // Player setup
              playerInstance.iframeElement = document.createElement('iframe')
              playerInstance.iframeElement.id = playerInstance.id + '-iframe'
              playerInstance.iframeElement.src = 'https://www.hub.fdncms.com/gyrobase/Responsive/Components/Content/TopStoriesVideo?key=f749339fbeb7a4a1b54659ac47f81acb&label=Recent%20Articles&pcolor=e2141c&req=iframe&vri=2'
              playerInstance.iframeElement.allow = 'autoplay'
              playerInstance.iframeElement.style.setProperty("width", "100%")
              playerInstance.iframeElement.style.setProperty("height", "100%")
              playerInstance.iframeElement.style.setProperty("border", "0")
              playerInstance.iframeElement.onload = function () {
                reportInViewAndFocusData()
                reportReferringDomain()
                reportEmbedId()
              }

              playerInstance.scriptElement = document.querySelector('[real-one-embed], #fdncms-carousel-top-stories-video')
              playerInstance.scriptElement.id = playerInstance.scriptElement.id + '-' + playerInstance.id + '-script'
              playerInstance.scriptElement.parentNode.insertBefore(playerInstance.iframeElement, playerInstance.scriptElement)

              for (const focusType of inViewFocusTypes) {
                logToConsole('RealOne Player', 'adding listener for: ' + focusType)
                window.addEventListener(focusType, function (e) {
                  inViewAndFocusHandler(e)
                })
              }

              for(const interactionType of interactionTypes) {
                logToConsole('RealOne Player', 'adding listener for: ' + interactionType)
                window.addEventListener(interactionType, function (e) {
                  interactionHandler(e)
                })
              }

              /*  */
              window.addEventListener('message', function(e) {
                if(e.origin.match(/^https\:\/\/.*fdncms.com$/)) {

                  // Validate data
                  if(typeof e.data.FDNCarouselHeight === 'number') {
                    playerInstance.iframeElement.style.setProperty("height", e.data.FDNCarouselHeight + "px")
                  }
                }
              })
            }
          }

          // Set up embed objects
          for (var embedItem of document.querySelectorAll('[real-one-embed], #fdncms-carousel-top-stories-video')) {
            RealOneEmbed.add(embedItem)
          }
        })()
