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 * This is a generic Document Fragment object. It is not intended to provide 22 * the W3C implementation, but is a way to fix the missing of a real Document 23 * Fragment in IE (where document.createDocumentFragment() returns a normal 24 * document instead), giving a standard interface for it. 25 * (IE Implementation) 26 */ 27 28var FCKDocumentFragment = function( parentDocument ) 29{ 30 this._Document = parentDocument ; 31 this.RootNode = parentDocument.createElement( 'div' ) ; 32} 33 34// Append the contents of this Document Fragment to another node. 35FCKDocumentFragment.prototype = 36{ 37 38 AppendTo : function( targetNode ) 39 { 40 FCKDomTools.MoveChildren( this.RootNode, targetNode ) ; 41 }, 42 43 AppendHtml : function( html ) 44 { 45 var eTmpDiv = this._Document.createElement( 'div' ) ; 46 eTmpDiv.innerHTML = html ; 47 FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ; 48 }, 49 50 InsertAfterNode : function( existingNode ) 51 { 52 var eRoot = this.RootNode ; 53 var eLast ; 54 55 while( ( eLast = eRoot.lastChild ) ) 56 FCKDomTools.InsertAfterNode( existingNode, eRoot.removeChild( eLast ) ) ; 57 } 58} ;