+ },\r
+\r
+ getCommonAncestor : function()\r
+ {\r
+ var ranges = this.getRanges(),\r
+ startNode = ranges[ 0 ].startContainer,\r
+ endNode = ranges[ ranges.length - 1 ].endContainer;\r
+ return startNode.getCommonAncestor( endNode );\r
+ },\r
+\r
+ // Moving scroll bar to the current selection's start position.\r
+ scrollIntoView : function()\r
+ {\r
+ // If we have split the block, adds a temporary span at the\r
+ // range position and scroll relatively to it.\r
+ var start = this.getStartElement();\r
+ start.scrollIntoView();\r