* Removed the Kevin Roth rich text editor and replaced it with TinyMCE.
[citadel.git] / webcit / tiny_mce / plugins / fullscreen / fullscreen.htm
1 <html>
2 <title></title>
3 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
4 <script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
5 <script language="javascript" type="text/javascript">
6         function patchCallback(settings, key) {
7                 if (settings[key])
8                         settings[key] = "window.opener." + settings[key];
9         }
10
11         var settings = new Array();
12
13         // Clone array
14         for (var name in window.opener.tinyMCE.settings)
15                 settings[name] = window.opener.tinyMCE.settings[name];
16
17         // Override options for fullscreen
18         for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
19                 settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
20
21         // Patch callbacks, make them point to window.opener
22         patchCallback(settings, 'urlconverter_callback');
23         patchCallback(settings, 'insertlink_callback');
24         patchCallback(settings, 'insertimage_callback');
25         patchCallback(settings, 'setupcontent_callback');
26         patchCallback(settings, 'save_callback');
27         patchCallback(settings, 'onchange_callback');
28         patchCallback(settings, 'init_instance_callback');
29         patchCallback(settings, 'file_browser_callback');
30         patchCallback(settings, 'cleanup_callback');
31         patchCallback(settings, 'oninit');
32
33         // Set options
34         settings['mode'] = 'exact';
35         settings['elements'] = 'fullscreenarea';
36         settings['ask'] = false;
37         settings['setupcontent_callback'] = 'setupContent';
38         settings['fullscreen_is_enabled'] = true;
39         settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
40         settings['theme_advanced_resizing'] = false;
41
42         // Init
43         tinyMCE.init(settings);
44         tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
45
46         function setupContent(editor_id, body, doc) {
47                 var inst = tinyMCE.getInstanceById(editor_id);
48                 var backInst = window.opener.tinyMCE.getInstanceById(tinyMCE.getParam('fullscreen_editor_id'));
49
50                 // Setup title
51                 var divElm = document.createElement("div");
52                 divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
53                 document.title = divElm.innerHTML;
54
55                 // Get content
56                 inst.getBody().innerHTML = backInst.getBody().innerHTML;
57         }
58
59         function unloadHandler(e) {
60                 window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent("mce_editor_0"));
61         }
62
63         // Add onunload
64         tinyMCE.addEvent(window, "beforeunload", unloadHandler);
65 </script>
66 </head>
67 <body style="margin: 0px; overflow: hidden; height: 100%" scrolling="no" scroll="no">
68
69 <textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
70
71 </body>
72 </html>