import rt 3.8.7
[freeside.git] / rt / share / html / NoAuth / RichText / FCKeditor / editor / _source / internals / fcktablehandler_gecko.js
1 /*\r
2  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
3  * Copyright (C) 2003-2009 Frederico Caldeira Knabben\r
4  *\r
5  * == BEGIN LICENSE ==\r
6  *\r
7  * Licensed under the terms of any of the following licenses at your\r
8  * choice:\r
9  *\r
10  *  - GNU General Public License Version 2 or later (the "GPL")\r
11  *    http://www.gnu.org/licenses/gpl.html\r
12  *\r
13  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
14  *    http://www.gnu.org/licenses/lgpl.html\r
15  *\r
16  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
17  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
18  *\r
19  * == END LICENSE ==\r
20  *\r
21  * Manage table operations (non-IE).\r
22  */\r
23 \r
24 FCKTableHandler.GetSelectedCells = function()\r
25 {\r
26         var aCells = new Array() ;\r
27 \r
28         var oSelection = FCKSelection.GetSelection() ;\r
29 \r
30         // If the selection is a text.\r
31         if ( oSelection.rangeCount == 1 && oSelection.anchorNode.nodeType == 3 )\r
32         {\r
33                 var oParent = FCKTools.GetElementAscensor( oSelection.anchorNode, 'TD,TH' ) ;\r
34 \r
35                 if ( oParent )\r
36                         aCells[0] = oParent ;\r
37 \r
38                 return aCells ;\r
39         }\r
40 \r
41         for ( var i = 0 ; i < oSelection.rangeCount ; i++ )\r
42         {\r
43                 var oRange = oSelection.getRangeAt(i) ;\r
44                 var oCell ;\r
45 \r
46                 if ( oRange.startContainer.tagName.Equals( 'TD', 'TH' ) )\r
47                         oCell = oRange.startContainer ;\r
48                 else\r
49                         oCell = oRange.startContainer.childNodes[ oRange.startOffset ] ;\r
50 \r
51                 if ( oCell.nodeName.Equals( 'TD', 'TH' ) )\r
52                         aCells[aCells.length] = oCell ;\r
53         }\r
54 \r
55         return aCells ;\r
56 }\r