In comparing the existing bookmarklet code to what is on the page I found a few things:
Mainly, the "obj" variable (argument) being passed to the jwplayer function is not a function... rather it a reference to the video embed (html). So, none of the functions on the jwplayer are available in this context.
Also from what I can see, it appears the JWPlayer code is missing a few methods on the JS object. For example jwGetPlaylistIndex() is now just getPlaylistIndex(). This might be a bug on our side, but also sendEvent, getConfig, and getPluginConfig are no longer there. Instead the newer JWPlayer is using a .config namespace on the object and not a get function.
If you are curious to write a domain exception (which imho, might be easiest) I would start with creating a instance of the player object on the page to do all your work. So a:
var playerInstance = new jwplayer();
then you can do:
playlistIndex = playerInstance.getPlaylistIndex()
config = playerInstance.config
etc...
I hope this helps.