This commit was manufactured by cvs2svn to create tag 'freeside_1_9_2'.
[freeside.git] / httemplate / elements / fckeditor / editor / fckeditor.original.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <!--\r
3  * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
4  * Copyright (C) 2003-2007 Frederico Caldeira Knabben\r
5  *\r
6  * == BEGIN LICENSE ==\r
7  *\r
8  * Licensed under the terms of any of the following licenses at your\r
9  * choice:\r
10  *\r
11  *  - GNU General Public License Version 2 or later (the "GPL")\r
12  *    http://www.gnu.org/licenses/gpl.html\r
13  *\r
14  *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
15  *    http://www.gnu.org/licenses/lgpl.html\r
16  *\r
17  *  - Mozilla Public License Version 1.1 or later (the "MPL")\r
18  *    http://www.mozilla.org/MPL/MPL-1.1.html\r
19  *\r
20  * == END LICENSE ==\r
21  *\r
22  * Main page that holds the editor.\r
23 -->\r
24 <html xmlns="http://www.w3.org/1999/xhtml">\r
25 <head>\r
26         <title>FCKeditor</title>\r
27         <meta name="robots" content="noindex, nofollow" />\r
28         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
29         <!-- @Packager.RemoveLine\r
30         <meta http-equiv="Cache-Control" content="public" />\r
31         @Packager.RemoveLine -->\r
32         <script type="text/javascript">\r
33 \r
34 // Instead of loading scripts and CSSs using inline tags, all scripts are\r
35 // loaded by code. In this way we can guarantee the correct processing order,\r
36 // otherwise external scripts and inline scripts could be executed in an\r
37 // unwanted order (IE).\r
38 \r
39 function LoadScript( url )\r
40 {\r
41         document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '" onerror="alert(\'Error loading \' + this.src);"><\/scr' + 'ipt>' ) ;\r
42 }\r
43 \r
44 function LoadCss( url )\r
45 {\r
46         document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" onerror="alert(\'Error loading \' + this.src);" />' ) ;\r
47 }\r
48 \r
49 // Main editor scripts.\r
50 var sSuffix = /msie/.test( navigator.userAgent.toLowerCase() ) ? 'ie' : 'gecko' ;\r
51 \r
52 /* @Packager.RemoveLine\r
53 LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;\r
54 @Packager.RemoveLine */\r
55 // @Packager.Remove.Start\r
56 \r
57 LoadScript( '_source/fckconstants.js' ) ;\r
58 LoadScript( '_source/fckjscoreextensions.js' ) ;\r
59 \r
60 if ( sSuffix == 'ie' )\r
61         LoadScript( '_source/classes/fckiecleanup.js' ) ;\r
62 \r
63 LoadScript( '_source/internals/fckbrowserinfo.js' ) ;\r
64 LoadScript( '_source/internals/fckurlparams.js' ) ;\r
65 LoadScript( '_source/classes/fckevents.js' ) ;\r
66 LoadScript( '_source/internals/fck.js' ) ;\r
67 LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ;\r
68 LoadScript( '_source/internals/fckconfig.js' ) ;\r
69 \r
70 LoadScript( '_source/internals/fckdebug.js' ) ;\r
71 LoadScript( '_source/internals/fckdomtools.js' ) ;\r
72 LoadScript( '_source/internals/fcktools.js' ) ;\r
73 LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ;\r
74 LoadScript( '_source/fckeditorapi.js' ) ;\r
75 LoadScript( '_source/classes/fckimagepreloader.js' ) ;\r
76 LoadScript( '_source/internals/fckregexlib.js' ) ;\r
77 LoadScript( '_source/internals/fcklistslib.js' ) ;\r
78 LoadScript( '_source/internals/fcklanguagemanager.js' ) ;\r
79 LoadScript( '_source/internals/fckxhtmlentities.js' ) ;\r
80 LoadScript( '_source/internals/fckxhtml.js' ) ;\r
81 LoadScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ;\r
82 LoadScript( '_source/internals/fckcodeformatter.js' ) ;\r
83 LoadScript( '_source/internals/fckundo_' + sSuffix + '.js' ) ;\r
84 LoadScript( '_source/classes/fckeditingarea.js' ) ;\r
85 LoadScript( '_source/classes/fckkeystrokehandler.js' ) ;\r
86 \r
87 LoadScript( '_source/internals/fcklisthandler.js' ) ;\r
88 LoadScript( '_source/classes/fckelementpath.js' ) ;\r
89 LoadScript( '_source/classes/fckdomrange.js' ) ;\r
90 LoadScript( '_source/classes/fckdocumentfragment_' + sSuffix + '.js' ) ;\r
91 LoadScript( '_source/classes/fckw3crange.js' ) ;\r
92 LoadScript( '_source/classes/fckdomrange_' + sSuffix + '.js' ) ;\r
93 LoadScript( '_source/classes/fckenterkey.js' ) ;\r
94 \r
95 LoadScript( '_source/internals/fckdocumentprocessor.js' ) ;\r
96 LoadScript( '_source/internals/fckselection.js' ) ;\r
97 LoadScript( '_source/internals/fckselection_' + sSuffix + '.js' ) ;\r
98 \r
99 LoadScript( '_source/internals/fcktablehandler.js' ) ;\r
100 LoadScript( '_source/internals/fcktablehandler_' + sSuffix + '.js' ) ;\r
101 LoadScript( '_source/classes/fckxml_' + sSuffix + '.js' ) ;\r
102 LoadScript( '_source/classes/fckstyledef.js' ) ;\r
103 LoadScript( '_source/classes/fckstyledef_' + sSuffix + '.js' ) ;\r
104 LoadScript( '_source/classes/fckstylesloader.js' ) ;\r
105 \r
106 LoadScript( '_source/commandclasses/fcknamedcommand.js' ) ;\r
107 LoadScript( '_source/commandclasses/fck_othercommands.js' ) ;\r
108 LoadScript( '_source/commandclasses/fckspellcheckcommand_' + sSuffix + '.js' ) ;\r
109 LoadScript( '_source/commandclasses/fcktextcolorcommand.js' ) ;\r
110 LoadScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ;\r
111 LoadScript( '_source/commandclasses/fckpastewordcommand.js' ) ;\r
112 LoadScript( '_source/commandclasses/fcktablecommand.js' ) ;\r
113 LoadScript( '_source/commandclasses/fckstylecommand.js' ) ;\r
114 LoadScript( '_source/commandclasses/fckfitwindow.js' ) ;\r
115 LoadScript( '_source/internals/fckcommands.js' ) ;\r
116 \r
117 LoadScript( '_source/classes/fckpanel.js' ) ;\r
118 LoadScript( '_source/classes/fckicon.js' ) ;\r
119 LoadScript( '_source/classes/fcktoolbarbuttonui.js' ) ;\r
120 LoadScript( '_source/classes/fcktoolbarbutton.js' ) ;\r
121 LoadScript( '_source/classes/fckspecialcombo.js' ) ;\r
122 LoadScript( '_source/classes/fcktoolbarspecialcombo.js' ) ;\r
123 LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ;\r
124 LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ;\r
125 LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ;\r
126 LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ;\r
127 LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ;\r
128 LoadScript( '_source/internals/fcktoolbaritems.js' ) ;\r
129 LoadScript( '_source/classes/fcktoolbar.js' ) ;\r
130 LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ;\r
131 LoadScript( '_source/internals/fcktoolbarset.js' ) ;\r
132 LoadScript( '_source/internals/fckdialog.js' ) ;\r
133 LoadScript( '_source/internals/fckdialog_' + sSuffix + '.js' ) ;\r
134 LoadScript( '_source/classes/fckmenuitem.js' ) ;\r
135 LoadScript( '_source/classes/fckmenublock.js' ) ;\r
136 LoadScript( '_source/classes/fckmenublockpanel.js' ) ;\r
137 LoadScript( '_source/classes/fckcontextmenu.js' ) ;\r
138 LoadScript( '_source/internals/fck_contextmenu.js' ) ;\r
139 LoadScript( '_source/classes/fckplugin.js' ) ;\r
140 LoadScript( '_source/internals/fckplugins.js' ) ;\r
141 \r
142 // @Packager.Remove.End\r
143 \r
144 // Base configuration file.\r
145 LoadScript( '../fckconfig.js' ) ;\r
146 \r
147         </script>\r
148         <script type="text/javascript">\r
149 \r
150 if ( FCKBrowserInfo.IsIE )\r
151 {\r
152         // Remove IE mouse flickering.\r
153         try\r
154         {\r
155                 document.execCommand( 'BackgroundImageCache', false, true ) ;\r
156         }\r
157         catch (e)\r
158         {\r
159                 // We have been reported about loading problems caused by the above\r
160                 // line. For safety, let's just ignore errors.\r
161         }\r
162 \r
163         // Create the default cleanup object used by the editor.\r
164         FCK.IECleanup = new FCKIECleanup( window ) ;\r
165         FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ;\r
166         FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;\r
167 }\r
168 \r
169 // The config hidden field is processed immediately, because\r
170 // CustomConfigurationsPath may be set in the page.\r
171 FCKConfig.ProcessHiddenField() ;\r
172 \r
173 // Load the custom configurations file (if defined).\r
174 if ( FCKConfig.CustomConfigurationsPath.length > 0 )\r
175         LoadScript( FCKConfig.CustomConfigurationsPath ) ;\r
176 \r
177         </script>\r
178         <script type="text/javascript">\r
179 \r
180 // Load configurations defined at page level.\r
181 FCKConfig_LoadPageConfig() ;\r
182 \r
183 FCKConfig_PreProcess() ;\r
184 \r
185 // Load the active skin CSS.\r
186 LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;\r
187 \r
188 // Load the language file.\r
189 FCKLanguageManager.Initialize() ;\r
190 LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;\r
191 \r
192         </script>\r
193         <script type="text/javascript">\r
194 \r
195 // Initialize the editing area context menu.\r
196 FCK_ContextMenu_Init() ;\r
197 \r
198 FCKPlugins.Load() ;\r
199 \r
200         </script>\r
201         <script type="text/javascript">\r
202 \r
203 // Set the editor interface direction.\r
204 window.document.dir = FCKLang.Dir ;\r
205 \r
206 // Activate pasting operations.\r
207 if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord )\r
208         FCK.Events.AttachEvent( 'OnPaste', FCK.Paste ) ;\r
209 \r
210         </script>\r
211         <script type="text/javascript">\r
212 \r
213 window.onload = function()\r
214 {\r
215         InitializeAPI() ;\r
216 \r
217         if ( FCKBrowserInfo.IsIE )\r
218                 FCK_PreloadImages() ;\r
219         else\r
220                 LoadToolbarSetup() ;\r
221 }\r
222 \r
223 function LoadToolbarSetup()\r
224 {\r
225         FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ;\r
226 }\r
227 \r
228 function LoadToolbar()\r
229 {\r
230         var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ;\r
231 \r
232         if ( oToolbarSet.IsLoaded )\r
233                 StartEditor() ;\r
234         else\r
235         {\r
236                 oToolbarSet.OnLoad = StartEditor ;\r
237                 oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ;\r
238         }\r
239 }\r
240 \r
241 function StartEditor()\r
242 {\r
243         // Remove the onload listener.\r
244         FCK.ToolbarSet.OnLoad = null ;\r
245 \r
246         FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ;\r
247 \r
248         FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ;\r
249 \r
250         // Start the editor.\r
251         FCK.StartEditor() ;\r
252 }\r
253 \r
254 function WaitForActive( editorInstance, newStatus )\r
255 {\r
256         if ( newStatus == FCK_STATUS_ACTIVE )\r
257         {\r
258                 if ( FCKBrowserInfo.IsGecko )\r
259                         FCKTools.RunFunction( window.onresize ) ;\r
260 \r
261                 _AttachFormSubmitToAPI() ;\r
262 \r
263                 FCK.SetStatus( FCK_STATUS_COMPLETE ) ;\r
264 \r
265                 // Call the special "FCKeditor_OnComplete" function that should be present in\r
266                 // the HTML page where the editor is located.\r
267                 if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )\r
268                         window.parent.FCKeditor_OnComplete( FCK ) ;\r
269         }\r
270 }\r
271 \r
272 // Gecko browsers doens't calculate well that IFRAME size so we must\r
273 // recalculate it every time the window size changes.\r
274 if ( FCKBrowserInfo.IsGecko )\r
275 {\r
276         function Window_OnResize()\r
277         {\r
278                 if ( FCKBrowserInfo.IsOpera )\r
279                         return ;\r
280 \r
281                 var oCell = document.getElementById( 'xEditingArea' ) ;\r
282 \r
283                 var eInnerElement = oCell.firstChild ;\r
284                 if ( eInnerElement )\r
285                 {\r
286                         eInnerElement.style.height = 0 ;\r
287                         eInnerElement.style.height = oCell.scrollHeight - 2 ;\r
288                 }\r
289         }\r
290         window.onresize = Window_OnResize ;\r
291 }\r
292 \r
293         </script>\r
294 </head>\r
295 <body>\r
296         <table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed">\r
297                 <tr id="xToolbarRow" style="display: none">\r
298                         <td id="xToolbarSpace" style="overflow: hidden">\r
299                                 <table width="100%" cellpadding="0" cellspacing="0">\r
300                                         <tr id="xCollapsed" style="display: none">\r
301                                                 <td id="xExpandHandle" class="TB_Expand" colspan="3">\r
302                                                         <img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>\r
303                                         </tr>\r
304                                         <tr id="xExpanded" style="display: none">\r
305                                                 <td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td>\r
306                                                 <td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom">\r
307                                                         <img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>\r
308                                                 <td id="xToolbar" class="TB_ToolbarSet"></td>\r
309                                                 <td class="TB_SideBorder" style="width: 1px"></td>\r
310                                         </tr>\r
311                                 </table>\r
312                         </td>\r
313                 </tr>\r
314                 <tr>\r
315                         <td id="xEditingArea" valign="top" style="height: 100%"></td>\r
316                 </tr>\r
317         </table>\r
318 </body>\r
319 </html>\r