So I got it down to this.
var docElm = document.documentElement;
The fullscreen is being called on the documentElement rather than the HypeDocument.
I think there was some code that dealt with elements on the documentElement but I will have to look at that later.
var elem = document.getElementById(hypeDocument.documentId());
var elem = document.documentElement;
will work for now though