  function delvePlayerCallback(playerId, eventName, data) {
    switch (eventName) {
	  case 'onPlayerLoad':
	    checkForLinux();
	    doOnPlayerLoad();
	    break;

          case 'onChannelLoad':
            doOnChannelLoad(data);
            break;

          case 'onMediaLoad':
            doOnMediaLoad(data);
            break;

          case 'onPlayStateChanged':
            doOnPlayStateChanged(data);
            break;

         case 'onPlayheadUpdate':
            doOnPlayheadUpdate(data);
            break;
    }
  }

  function doOnPlayerLoad() {
    document.getElementById('state').innerHTML = "false"
  }

  function doOnChannelLoad(e) {
    document.getElementById('channelTitle').innerHTML = e.title;
  }

  function doOnMediaLoad(e) {
    document.getElementById('mediaTitle').innerHTML = e.title;
    document.getElementById('mediaDescription').innerHTML = e.description;
    document.getElementById('totalDuration').innerHTML = e.durationInMilliseconds;
    document.getElementById('URL').innerHTML = e.thumbnailUrl;
  }

  function doOnPlayStateChanged(e) {
    document.getElementById('state').innerHTML = e.isPlaying;
  }

  function doOnPlayheadUpdate(e) {
    document.getElementById('timePosition').innerHTML = e.positionInMilliseconds;
  }

  var player_registered = false;

  function checkForLinux()
  {
    if (navigator.platform.indexOf("Linux")!=-1 || navigator.appVersion.indexOf("X11"))
    {
      registration_interval = setInterval(try_register_player,250);
    }
  }

  function try_register_player()
  {
    if(typeof(DelvePlayer) == "undefined")
    {
      player_registered = false;
    }
    else
    {
      if (DelvePlayer.getPlayers() == null || DelvePlayer.getPlayers().length == 0)
      {
        if (!player_registered && typeof(DelvePlayer) != "undefined")
        {
          DelvePlayer.registerPlayer("delve_player941781e");
          player_registered = (DelvePlayer.getPlayers() != null && DelvePlayer.getPlayers().length > 0);
        }
      }
      else
      {
        player_registered = true;
      }
    }

    if(player_registered)
    {
      clearInterval(registration_interval);
    }
  }



