/* Minification failed. Returning unminified contents.
(96,17-18): run-time warning JS1004: Expected ';': p
 */
$('document').ready(function () {
    var urlSearchParams = new URLSearchParams(window.location.search);
    var params = Object.fromEntries(urlSearchParams.entries());
    var vodId = window.TRMS.vodId;
    var player = videojs('player', {
        html5: {
            hls: {
                overrideNative: true
            }
        }
    });
    window.TRMS.player = player;
    player.ready(function () {
        var message = {
            message: 'ready'
        };
        reflectSetupMetrics(player);
        parent.postMessage(message, '*');
        if (params.mute === 'true') {
            window.TRMS.player.muted(true);
        }
        if (params.seek) {
            var seconds = parseInt(params.seek, 10);
            window.TRMS.player.currentTime(seconds);
            window.TRMS.player.play();
        }
    });


    var vttOptions = {
        id: 'vtt',
        kind: 'chapters',
        language: 'en',
        label: 'English',
        src: '/cablecastapi/v1/vods/' + vodId + '/chapters?videojs=true'
    };

    player.on('timeupdate', function (x) {
        var message = {
            message: "timeupdate",
            speed: this.playbackRate(),
            value: this.currentTime()
        };
        parent.postMessage(message, '*');
    });

    player.on('play', function (x) {
        var message = {
            message: "playing",
            value: true
        };
        parent.postMessage(message, '*');
    });

    player.on('pause', function (x) {
        var message = {
            message: "playing",
            value: false
        };
        parent.postMessage(message, '*');
    });

    $(document).keypress(function (event) {
        if (String.fromCharCode(event.charCode) === '/' || String.fromCharCode(event.charCode) === '?') {
            event.preventDefault();
        }
        var message = {
            message: "keypress",
            value: event.keyCode || event.charCode
        };

        parent.postMessage(message, '*');
    });



    player.addRemoteTextTrack(vttOptions);
    var handleMessage = function (event) {
        var message = event.data;

        if (message.type === 'player-speed') {
            if (message.value === 0 && player.paused() === false) {
                player.pause()
            }

            if (message.value !== 0) {
                if (player.paused()) {
                    player.play();
                }
                player.playbackRate(message.value);
            }
        }
        if (message.type === 'player-cue') {

            player.currentTime(message.value);
            let p = player.play();
            if (p === undefined) {
                return;
            }
            p.then(function () {
                // play succeeded
            }, function () {
                player.muted(true);
                player.play();
            });
        }
    };

    // Remove 608 tracks since vtt / m3u8 will have it
    player.textTracks().on('addtrack', function (event) {
        if (event.track.label.match(/^CC\d$/)) {
            player.textTracks().removeTrack(event.track);
        }
    });
    window.addEventListener('message', handleMessage, false);
});;