HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/somerenslust.komma.pro/resources/assets/js/site/youtubeHandler.js
/* ==========================================================================
    Youtube handler
 ========================================================================== */

var YoutubeHandler = {

    elementId : '',
    youtubeId : '',

    /**
     * 
     */
    init : function()
    {
        YoutubeHandler.elementId = 'ytplayer';
        // YoutubeHandler.youtubeId = 'L1SzPfYkeF4'; //Komma sfeerimpressie video
        YoutubeHandler.youtubeId = 'X-dMOvEOQiM'; //Blue motion video

        YoutubeHandler.playVideo()
    },
    
    /**
     * Check if external script is loaded
     * 
     */
    playVideo: function() {
        // See if YT variable exists
        if (typeof(YT) == 'undefined' || typeof(YT.Player) == 'undefined') {
            // Setup API ready function
            window.onYouTubePlayerAPIReady = function() {
                YoutubeHandler.loadPlayer();
            };
            // Load external script
            $.getScript('https://www.youtube.com/iframe_api');
        // If YT already exists load player
        } else {
            YoutubeHandler.loadPlayer();
        }
    },

    /**
     * Load Youtube player with parameters
     *
     */
    loadPlayer: function() {
        // Load player
        window.player = new YT.Player(YoutubeHandler.elementId,{
            height: 200,
            width: 200,
            videoId: YoutubeHandler.youtubeId,
            playerVars: {
                modestbranding: 0,
                showinfo: 0,
                rel: 0,
                controls: 0,
                disablekb: 1
            },
            events: {
                'onReady': YoutubeHandler.onReady,
                'onStateChange': YoutubeHandler.onStateChange
            }
        });
    },

    /**
     * When player is ready to play
     */
    onReady : function() {

        // Show video
        setTimeout(function(){ $('#' + YoutubeHandler.elementId).stop().animate({ opacity: 1 },1000) },800);

        // If not on tablet or mobile, play on high quality
        window.player.mute();
        window.player.playVideo();
        window.player.setPlaybackQuality('hd1080');
    },

    /**
     * Listener for Youtube state change
     *
     * @param state
     */
    onStateChange : function(state) {
        // Loop video
        if (state.data === YT.PlayerState.ENDED ) {
            window.player.playVideo();
        }
    }
};