Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 1687 → Rev 1688

/branches/livraison_aha/api/fckeditor/editor/_source/fckeditorapi.js
New file
0,0 → 1,104
/*
* FCKeditor - The text editor for internet
* Copyright (C) 2003-2006 Frederico Caldeira Knabben
*
* Licensed under the terms of the GNU Lesser General Public License:
* http://www.opensource.org/licenses/lgpl-license.php
*
* For further information visit:
* http://www.fckeditor.net/
*
* "Support Open Source software. What about a donation today?"
*
* File Name: fckeditorapi.js
* Create the FCKeditorAPI object that is available as a global object in
* the page where the editor is placed in.
*
* File Authors:
* Frederico Caldeira Knabben (fredck@fckeditor.net)
*/
 
var FCKeditorAPI ;
 
function InitializeAPI()
{
if ( !( FCKeditorAPI = window.parent.FCKeditorAPI ) )
{
// Make the FCKeditorAPI object available in the parent window. Use
// eval so it is independent from this window and so it will still be
// available if the editor instance is removed ("Can't execute code
// from a freed script" error).
var sScript = '\
var FCKeditorAPI = {\
Version : \'2.3.2\',\
VersionBuild : \'1082\',\
__Instances : new Object(),\
GetInstance : function( instanceName )\
{\
return this.__Instances[ instanceName ] ;\
},\
_FunctionQueue : {\
Functions : new Array(),\
IsRunning : false,\
Add : function( functionToAdd )\
{\
this.Functions.push( functionToAdd ) ;\
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( func )\
{\
var aQueue = this.Functions ;\
var i = 0, fFunc ;\
while( fFunc = aQueue[ i ] )\
{\
if ( fFunc == func )\
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 ( window.parent.execScript )
window.parent.execScript( sScript, 'JavaScript' ) ;
else
{
if ( FCKBrowserInfo.IsGecko10 )
{
// FF 1.0.4 gives an error with the above request. The
// following seams to work well. It could become to official
// implementation for all browsers, but we need to check it.
eval.call( window.parent, sScript ) ;
}
else
window.parent.eval( sScript ) ;
}
FCKeditorAPI = window.parent.FCKeditorAPI ;
}
 
// Add the current instance to the FCKeditorAPI's instances collection.
FCKeditorAPI.__Instances[ FCK.Name ] = FCK ;
}
 
function FCKeditorAPI_Cleanup()
{
FCKeditorAPI.__Instances[ FCK.Name ] = null ;
}
FCKTools.AddEventListener( window, 'unload', FCKeditorAPI_Cleanup ) ;