summaryrefslogtreecommitdiff
path: root/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js')
-rw-r--r--rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js179
1 files changed, 179 insertions, 0 deletions
diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js
new file mode 100644
index 000000000..2d8f0bd98
--- /dev/null
+++ b/rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js
@@ -0,0 +1,179 @@
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2009 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ * - GNU General Public License Version 2 or later (the "GPL")
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * - Mozilla Public License Version 1.1 or later (the "MPL")
+ * http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Create the FCKeditorAPI object that is available as a global object in
+ * the page where the editor is placed in.
+ */
+
+var FCKeditorAPI ;
+
+function InitializeAPI()
+{
+ var oParentWindow = window.parent ;
+
+ if ( !( FCKeditorAPI = oParentWindow.FCKeditorAPI ) )
+ {
+ // Make the FCKeditorAPI object available in the parent window. Use
+ // eval so this core runs in the parent's scope and so it will still be
+ // available if the editor instance is removed ("Can't execute code
+ // from a freed script" error).
+
+ // Note: we check the existence of oEditor.GetParentForm because some external
+ // code (like JSON) can extend the Object prototype and we get then extra oEditor
+ // objects that aren't really FCKeditor instances.
+ var sScript =
+ 'window.FCKeditorAPI = {' +
+ 'Version : "2.6.4",' +
+ 'VersionBuild : "21629",' +
+ 'Instances : window.FCKeditorAPI && window.FCKeditorAPI.Instances || {},' +
+
+ 'GetInstance : function( name )' +
+ '{' +
+ 'return this.Instances[ name ];' +
+ '},' +
+
+ '_FormSubmit : function()' +
+ '{' +
+ 'for ( var name in FCKeditorAPI.Instances )' +
+ '{' +
+ 'var oEditor = FCKeditorAPI.Instances[ name ] ;' +
+ 'if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )' +
+ 'oEditor.UpdateLinkedField() ;' +
+ '}' +
+ 'this._FCKOriginalSubmit() ;' +
+ '},' +
+
+ '_FunctionQueue : window.FCKeditorAPI && window.FCKeditorAPI._FunctionQueue || {' +
+ 'Functions : new Array(),' +
+ 'IsRunning : false,' +
+
+ 'Add : function( f )' +
+ '{' +
+ 'this.Functions.push( f );' +
+ 'if ( !this.IsRunning )' +
+ 'this.StartNext();' +
+ '},' +
+
+ 'StartNext : function()' +
+ '{' +
+ 'var aQueue = this.Functions ;' +
+ 'if ( aQueue.length > 0 )' +
+ '{' +
+ 'this.IsRunning = true;' +
+ 'aQueue[0].call();' +
+ '}' +
+ 'else ' +
+ 'this.IsRunning = false;' +
+ '},' +
+
+ 'Remove : function( f )' +
+ '{' +
+ 'var aQueue = this.Functions;' +
+ 'var i = 0, fFunc;' +
+ 'while( (fFunc = aQueue[ i ]) )' +
+ '{' +
+ 'if ( fFunc == f )' +
+ 'aQueue.splice( i,1 );' +
+ 'i++ ;' +
+ '}' +
+ 'this.StartNext();' +
+ '}' +
+ '}' +
+ '}' ;
+
+ // In IE, the "eval" function is not always available (it works with
+ // the JavaScript samples, but not with the ASP ones, for example).
+ // So, let's use the execScript instead.
+ if ( oParentWindow.execScript )
+ oParentWindow.execScript( sScript, 'JavaScript' ) ;
+ else
+ {
+ if ( FCKBrowserInfo.IsGecko10 )
+ {
+ // FF 1.0.4 gives an error with the request bellow. The
+ // following seams to work well.
+ eval.call( oParentWindow, sScript ) ;
+ }
+ else if( FCKBrowserInfo.IsAIR )
+ {
+ FCKAdobeAIR.FCKeditorAPI_Evaluate( oParentWindow, sScript ) ;
+ }
+ else if ( FCKBrowserInfo.IsSafari )
+ {
+ // oParentWindow.eval in Safari executes in the calling window
+ // environment, instead of the parent one. The following should
+ // make it work.
+ var oParentDocument = oParentWindow.document ;
+ var eScript = oParentDocument.createElement('script') ;
+ eScript.appendChild( oParentDocument.createTextNode( sScript ) ) ;
+ oParentDocument.documentElement.appendChild( eScript ) ;
+ }
+ else
+ oParentWindow.eval( sScript ) ;
+ }
+
+ FCKeditorAPI = oParentWindow.FCKeditorAPI ;
+
+ // The __Instances properly has been changed to the public Instances,
+ // but we should still have the "deprecated" version of it.
+ FCKeditorAPI.__Instances = FCKeditorAPI.Instances ;
+ }
+
+ // Add the current instance to the FCKeditorAPI's instances collection.
+ FCKeditorAPI.Instances[ FCK.Name ] = FCK ;
+}
+
+// Attach to the form onsubmit event and to the form.submit().
+function _AttachFormSubmitToAPI()
+{
+ // Get the linked field form.
+ var oForm = FCK.GetParentForm() ;
+
+ if ( oForm )
+ {
+ // Attach to the onsubmit event.
+ FCKTools.AddEventListener( oForm, 'submit', FCK.UpdateLinkedField ) ;
+
+ // IE sees oForm.submit function as an 'object'.
+ if ( !oForm._FCKOriginalSubmit && ( typeof( oForm.submit ) == 'function' || ( !oForm.submit.tagName && !oForm.submit.length ) ) )
+ {
+ // Save the original submit.
+ oForm._FCKOriginalSubmit = oForm.submit ;
+
+ // Create our replacement for the submit.
+ oForm.submit = FCKeditorAPI._FormSubmit ;
+ }
+ }
+}
+
+function FCKeditorAPI_Cleanup()
+{
+ if ( window.FCKConfig && FCKConfig.MsWebBrowserControlCompat
+ && !window.FCKUnloadFlag )
+ return ;
+ delete FCKeditorAPI.Instances[ FCK.Name ] ;
+}
+function FCKeditorAPI_ConfirmCleanup()
+{
+ if ( window.FCKConfig && FCKConfig.MsWebBrowserControlCompat )
+ window.FCKUnloadFlag = true ;
+}
+FCKTools.AddEventListener( window, 'unload', FCKeditorAPI_Cleanup ) ;
+FCKTools.AddEventListener( window, 'beforeunload', FCKeditorAPI_ConfirmCleanup) ;