1/* 2 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 3 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 4 * 5 * == BEGIN LICENSE == 6 * 7 * Licensed under the terms of any of the following licenses at your 8 * choice: 9 * 10 * - GNU General Public License Version 2 or later (the "GPL") 11 * http://www.gnu.org/licenses/gpl.html 12 * 13 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 14 * http://www.gnu.org/licenses/lgpl.html 15 * 16 * - Mozilla Public License Version 1.1 or later (the "MPL") 17 * http://www.mozilla.org/MPL/MPL-1.1.html 18 * 19 * == END LICENSE == 20 * 21 * Manages the DOM anscensors element list of a specific DOM node 22 * (limited to body, inclusive). 23 */ 24 25// TODO: Implement IE cleanup. 26 27var FCKElementPath = function( lastNode ) 28{ 29 var eBlock = null ; 30 var eBlockLimit = null ; 31 32 var aElements = new Array() ; 33 34 var e = lastNode ; 35 while ( e ) 36 { 37 if ( e.nodeType == 1 ) 38 { 39 if ( !this.LastElement ) 40 this.LastElement = e ; 41 42 var sElementName = e.nodeName.toLowerCase() ; 43 44 if ( !eBlockLimit ) 45 { 46 if ( !eBlock && FCKListsLib.PathBlockElements[ sElementName ] != null ) 47 eBlock = e ; 48 49 if ( FCKListsLib.PathBlockLimitElements[ sElementName ] != null ) 50 eBlockLimit = e ; 51 } 52 53 aElements.push( e ) ; 54 55 if ( sElementName == 'body' ) 56 break ; 57 } 58 e = e.parentNode ; 59 } 60 61 this.Block = eBlock ; 62 this.BlockLimit = eBlockLimit ; 63 this.Elements = aElements ; 64} 65 66 67