   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");

      // Added on my own to make the movie cue after body onload
         cueNewVideo(document.getElementById('cuevideoid').value, 0);
   }

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

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

   function updateytplayerInfo() {
      updateHTML("bytesloaded", getBytesLoaded());
      updateHTML("bytestotal", getBytesTotal());
      updateHTML("videoduration", getDuration());
      updateHTML("videotime", getCurrentTime());
      updateHTML("startbytes", getStartBytes());
      updateHTML("volume", getVolume());
   }
   function loadNewVideo(id, startSeconds){
      if(ytplayer){
         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();

         // The stopvideo function has to be loaded two times before it really stops else it does the same as pauseVideo function
            // ytplayer.stopVideo();

         // Cue the video after it stopped
            cueNewVideo(document.getElementById('cuevideoid').value, 0);
      }
   }

   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();
      }
   }
