Project

General

Profile

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<!--
3
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4
 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
5
 *
6
 * == BEGIN LICENSE ==
7
 *
8
 * Licensed under the terms of any of the following licenses at your
9
 * choice:
10
 *
11
 *  - GNU General Public License Version 2 or later (the "GPL")
12
 *    http://www.gnu.org/licenses/gpl.html
13
 *
14
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15
 *    http://www.gnu.org/licenses/lgpl.html
16
 *
17
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
18
 *    http://www.mozilla.org/MPL/MPL-1.1.html
19
 *
20
 * == END LICENSE ==
21
 *
22
 * Main page that holds the editor.
23
-->
24
<html>
25
<head>
26
	<title>FCKeditor</title>
27
	<meta name="robots" content="noindex, nofollow">
28
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
29
	<meta http-equiv="Cache-Control" content="public" />
30
	<script type="text/javascript">
31

    
32
// Instead of loading scripts and CSSs using inline tags, all scripts are
33
// loaded by code. In this way we can guarantee the correct processing order,
34
// otherwise external scripts and inline scripts could be executed in an
35
// unwanted order (IE).
36

    
37
function LoadScript( url )
38
{
39
	document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ;
40
}
41

    
42
function LoadCss( url )
43
{
44
	document.write( '<link href="' + url + '" type="text/css" rel="stylesheet" />' ) ;
45
}
46

    
47
// Main editor scripts.
48
var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ;
49

    
50
LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ;
51

    
52
// Base configuration file.
53
LoadScript( '../fckconfig.js' ) ;
54

    
55
	</script>
56
	<script type="text/javascript">
57

    
58
if ( FCKBrowserInfo.IsIE )
59
{
60
	// Remove IE mouse flickering.
61
	try
62
	{
63
		document.execCommand( 'BackgroundImageCache', false, true ) ;
64
	}
65
	catch (e)
66
	{
67
		// We have been reported about loading problems caused by the above
68
		// line. For safety, let's just ignore errors.
69
	}
70

    
71
	// Create the default cleanup object used by the editor.
72
	FCK.IECleanup = new FCKIECleanup( window ) ;
73
	FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ;
74
	FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ;
75
}
76

    
77
// The first function to be called on selection change must the the styles
78
// change checker, because the result of its processing may be used by another
79
// functions listening to the same event.
80
FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ;
81

    
82
// The config hidden field is processed immediately, because
83
// CustomConfigurationsPath may be set in the page.
84
FCKConfig.ProcessHiddenField() ;
85

    
86
// Load the custom configurations file (if defined).
87
if ( FCKConfig.CustomConfigurationsPath.length > 0 )
88
	LoadScript( FCKConfig.CustomConfigurationsPath ) ;
89

    
90
	</script>
91
	<script type="text/javascript">
92

    
93
// Load configurations defined at page level.
94
FCKConfig_LoadPageConfig() ;
95

    
96
FCKConfig_PreProcess() ;
97

    
98
// Load the active skin CSS.
99
LoadCss( FCKConfig.SkinPath + 'fck_editor.css' ) ;
100

    
101
// Load the language file.
102
FCKLanguageManager.Initialize() ;
103
LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ;
104

    
105
	</script>
106
	<script type="text/javascript">
107

    
108
// Initialize the editing area context menu.
109
FCK_ContextMenu_Init() ;
110

    
111
FCKPlugins.Load() ;
112

    
113
	</script>
114
	<script type="text/javascript">
115

    
116
// Set the editor interface direction.
117
window.document.dir = FCKLang.Dir ;
118

    
119
	</script>
120
	<script type="text/javascript">
121

    
122
window.onload = function()
123
{
124
	InitializeAPI() ;
125

    
126
	if ( FCKBrowserInfo.IsIE )
127
		FCK_PreloadImages() ;
128
	else
129
		LoadToolbarSetup() ;
130
}
131

    
132
function LoadToolbarSetup()
133
{
134
	FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ;
135
}
136

    
137
function LoadToolbar()
138
{
139
	var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ;
140

    
141
	if ( oToolbarSet.IsLoaded )
142
		StartEditor() ;
143
	else
144
	{
145
		oToolbarSet.OnLoad = StartEditor ;
146
		oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ;
147
	}
148
}
149

    
150
function StartEditor()
151
{
152
	// Remove the onload listener.
153
	FCK.ToolbarSet.OnLoad = null ;
154

    
155
	FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ;
156

    
157
	FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ;
158

    
159
	// Start the editor.
160
	FCK.StartEditor() ;
161
}
162

    
163
function WaitForActive( editorInstance, newStatus )
164
{
165
	if ( newStatus == FCK_STATUS_ACTIVE )
166
	{
167
		if ( FCKBrowserInfo.IsGecko )
168
			FCKTools.RunFunction( window.onresize ) ;
169

    
170
		_AttachFormSubmitToAPI() ;
171

    
172
		FCK.SetStatus( FCK_STATUS_COMPLETE ) ;
173

    
174
		// Call the special "FCKeditor_OnComplete" function that should be present in
175
		// the HTML page where the editor is located.
176
		if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' )
177
			window.parent.FCKeditor_OnComplete( FCK ) ;
178
	}
179
}
180

    
181
// Gecko browsers doens't calculate well that IFRAME size so we must
182
// recalculate it every time the window size changes.
183
if ( FCKBrowserInfo.IsGecko )
184
{
185
	function Window_OnResize()
186
	{
187
		if ( FCKBrowserInfo.IsOpera )
188
			return ;
189

    
190
		var oCell = document.getElementById( 'xEditingArea' ) ;
191

    
192
		var eInnerElement = oCell.firstChild ;
193
		if ( eInnerElement )
194
		{
195
			eInnerElement.style.height = 0 ;
196
			eInnerElement.style.height = oCell.scrollHeight - 2 ;
197
		}
198
	}
199
	window.onresize = Window_OnResize ;
200
}
201

    
202
	</script>
203
</head>
204
<body>
205
	<table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed">
206
		<tr id="xToolbarRow" style="display: none">
207
			<td id="xToolbarSpace" style="overflow: hidden">
208
				<table width="100%" cellpadding="0" cellspacing="0">
209
					<tr id="xCollapsed" style="display: none">
210
						<td id="xExpandHandle" class="TB_Expand" colspan="3">
211
							<img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
212
					</tr>
213
					<tr id="xExpanded" style="display: none">
214
						<td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td>
215
						<td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom">
216
							<img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td>
217
						<td id="xToolbar" class="TB_ToolbarSet"></td>
218
						<td class="TB_SideBorder" style="width: 1px"></td>
219
					</tr>
220
				</table>
221
			</td>
222
		</tr>
223
		<tr>
224
			<td id="xEditingArea" valign="top" style="height: 100%"></td>
225
		</tr>
226
	</table>
227
</body>
228
</html>
(3-3/5)