+ var getOffset = function(where) {
+ var toret, node;
+ if(where === 'anchor') {
+ node = selection.anchorNode;
+ toret = selection.anchorOffset;
+ } else {
+ node = selection.focusNode;
+ toret = selection.focusOffset;
+ }
+
+ if(toret === 1 && node.data.charAt(0) === utils.unicode.ZWS)
+ toret = 0;
+ else if((toret === node.data.length - 1) && (node.data.charAt(node.data.length - 1) === utils.unicode.ZWS))
+ toret++;
+ return toret;
+ }
+
+ if((!anchorElement) || (anchorElement instanceof documentElement.DocumentNodeElement) || (!focusElement) || focusElement instanceof documentElement.DocumentNodeElement)