﻿var currentVideo = '';
var videoLength = 0;
var currentSeconds = 0;
var oBar;
var onCurrentPositionChange;
var onPlayerStateChange;

function dispatchEvent(elmId, value) {
    switch (elmId) {
        case 'videotime':
            {                
                if (getDuration() > 0) {                    
                    if (onCurrentPositionChange != null)
                        onCurrentPositionChange(getCurrentTime(),getDuration());                    
                }
                break;
            }
        case 'playerstatechange':
            {        
                if (onPlayerStateChange != null)
                    onPlayerStateChange(value);            
                break;
            }
    }    
}




function onYouTubePlayerReady(playerId) {
    ytplayer = document.getElementById("myytplayer");
    setInterval(updateytplayerInfo, 250);
    updateytplayerInfo();
    ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
    ytplayer.addEventListener("onError", "onPlayerError");
    currentVideo = 'DGm9B-tcg30';
    cueNewVideo(currentVideo, 0);
}

function updateytplayerInfo() {
    dispatchEvent('videotime');
}

function isLoaded() {
    if (!ytplayer)
        return false;
    return (getBytesLoaded() > 0 && getPlayerState() != -1);
}
function isPlaying() {
    if (!ytplayer)
        return false;
    return (getBytesLoaded() > 0 && getPlayerState() == 1);
}

function onytplayerStateChange(newState) {
    dispatchEvent('playerstatechange', newState);
}

function onPlayerError(errorCode) {
    alert("An error occured: " + errorCode);
}

// functions for the api calls
function loadNewVideo(id, startSeconds) {
    if (ytplayer) {
        currentVideo = id;
        ytplayer.loadVideoById(id, parseInt(startSeconds));
    }
}

function cueNewVideo(id, startSeconds) {
    if (ytplayer) {
        ytplayer.cueVideoById(id, startSeconds);
    }
}

function play() {
    if (ytplayer) {
        ytplayer.playVideo();
    }
}

function pause() {
    if (ytplayer) {
        ytplayer.pauseVideo();
    }
}

function stop() {
    if (ytplayer) {
        ytplayer.stopVideo();
    }
}

function getPlayerState() {
    if (ytplayer) {
        return ytplayer.getPlayerState();
    }
}

function seekTo(seconds) {
    if (ytplayer) {
        ytplayer.seekTo(seconds, true);
    }
}

function getBytesLoaded() {
    if (ytplayer) {
        return ytplayer.getVideoBytesLoaded();
    }
}

function getBytesTotal() {
    if (ytplayer) {
        return ytplayer.getVideoBytesTotal();
    }
}

function getCurrentTime() {
    if (ytplayer) {
        return ytplayer.getCurrentTime();
    }
}

function getDuration() {
    if (ytplayer) {
        return ytplayer.getDuration();
    }
}

function getStartBytes() {
    if (ytplayer) {
        return ytplayer.getVideoStartBytes();
    }
}

function mute() {
    if (ytplayer) {
        ytplayer.mute();
    }
}

function unMute() {
    if (ytplayer) {
        ytplayer.unMute();
    }
}

function getEmbedCode() {
    alert(ytplayer.getVideoEmbedCode());
}

function getVideoUrl() {
    alert(ytplayer.getVideoUrl());
}

function setVolume(newVolume) {
    if (ytplayer) {
        ytplayer.setVolume(newVolume);
    }
}

function getVolume() {
    if (ytplayer) {
        return ytplayer.getVolume();
    }
}

function clearVideo() {
    if (ytplayer) {
        ytplayer.clearVideo();
    }
}
        