function updateHTML(elmId, value) {
          document.getElementById(elmId).innerHTML = value;
        }

        function setytplayerState(newState) {
          updateHTML("playerstate", newState);
        }

        function onYouTubePlayerReady(playerId) {
          ytplayer = document.getElementById("myytplayer");
          setInterval(updateytplayerInfo, 250);
          updateytplayerInfo();
          ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
          ytplayer.addEventListener("onError", "onPlayerError");
		
		updateHTML("videoduration", "0:00");
		updateHTML("videotime", "0:00");
        }

        function onytplayerStateChange(newState) {
          setytplayerState(newState);
        }

        function onPlayerError(errorCode) {
          alert("An error occured: " + errorCode);
        }

        function updateytplayerInfo() {
		secVar0 = getDuration();          // The initial data, in seconds
		minVar = Math.floor(secVar0/60);  // The minutes
		secVar = pad2(Math.round(secVar0 % 60));            // The balance of seconds
		if(minVar < 0) { minVar = 0; }
		updateHTML("videoduration", minVar+":"+secVar);

		secVar2 = getCurrentTime();          // The initial data, in seconds
		minVar2 = Math.floor(secVar2/60);  // The minutes
		secVar3 = pad2(Math.round(secVar2 % 60));            // The balance of seconds
		if(minVar2 < 0) { minVar2 = 0; }
		updateHTML("videotime", minVar2+":"+secVar3);

		updateTimebar();
        }

function getPercent1(all, part) {
	return (all > 0) ? (100 / all) * part : 0;
}

function getPercent2(all, partBytes) {
	return (all > 0) ? (100 / all) * partBytes : 0;
}


        // functions for the api calls
        function loadNewVideo(id, startSeconds) {
                    ytplayer = document.getElementById("myytplayer");
	    if (ytplayer != null) {
            ytplayer.loadVideoById(id, parseInt(startSeconds));
          }
        }

        function cueNewVideo(id, startSeconds) {
          ytplayer = document.getElementById("myytplayer");
	    if (ytplayer) {
            ytplayer.cueVideoById(id, startSeconds);
          }
        }

        function play() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.playVideo();
          }
        }

        function pause() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.pauseVideo();
          }
        }

        function stop() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.stopVideo();
          }
        }

        function getPlayerState() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getPlayerState();
          }
        }

        function seekTo(seconds) {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.seekTo(seconds, true);
          }
        }

        function getBytesLoaded() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getVideoBytesLoaded();
          }
        }

        function getBytesTotal() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getVideoBytesTotal();
          }
        }

        function getCurrentTime() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getCurrentTime();
          }
        }

        function getDuration() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getDuration();
          }
        }

        function getStartBytes() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getVideoStartBytes();
          }
        }

        function mute() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.mute();
          }
        }

        function unMute() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.unMute();
          }
        }
        
        function getEmbedCode() {
          alert(ytplayer.getVideoEmbedCode());
        }

        function getVideoUrl() {
          alert(ytplayer.getVideoUrl());
        }
        
        function setVolume(newVolume) {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.setVolume(newVolume);
          }
        }

        function getVolume() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            return ytplayer.getVolume();
          }
        }

        function clearVideo() {
          ytplayer = document.getElementById("myytplayer");          if (ytplayer) {
            ytplayer.clearVideo();
          }
        }

		function updateTimebar() {
			var all = ytplayer.getDuration();
			var part = ytplayer.getCurrentTime();
			var percent = getPercent1(all, part);
			var timebarWidth = 100;
			document.getElementById('timebarIndicator').style.left = percent * (timebarWidth / 100) + "%";
		}

function pad2(number) {
     return (number < 10 ? '0' : '') + number   
}

