Upgrade of TinyMCE is in progress.
[citadel.git] / webcit / tiny_mce / plugins / fullscreen / fullscreen.htm
1 <html xmlns="http://www.w3.org/1999/xhtml">\r
2 <head>\r
3         <title>{$lang_fullscreen_title}</title>\r
4         <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
5         <script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>\r
6         <script language="javascript" type="text/javascript">\r
7                 function patchCallback(settings, key) {\r
8                         if (settings[key])\r
9                                 settings[key] = "window.opener." + settings[key];\r
10                 }\r
11 \r
12                 var settings = new Array();\r
13 \r
14                 // Clone array\r
15                 for (var name in window.opener.tinyMCE.settings)\r
16                         settings[name] = window.opener.tinyMCE.settings[name];\r
17 \r
18                 // Override options for fullscreen\r
19                 for (var name in window.opener.tinyMCE.settings.fullscreen_settings)\r
20                         settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];\r
21 \r
22                 // Patch callbacks, make them point to window.opener\r
23                 patchCallback(settings, 'urlconverter_callback');\r
24                 patchCallback(settings, 'insertlink_callback');\r
25                 patchCallback(settings, 'insertimage_callback');\r
26                 patchCallback(settings, 'setupcontent_callback');\r
27                 patchCallback(settings, 'save_callback');\r
28                 patchCallback(settings, 'onchange_callback');\r
29                 patchCallback(settings, 'init_instance_callback');\r
30                 patchCallback(settings, 'file_browser_callback');\r
31                 patchCallback(settings, 'cleanup_callback');\r
32                 patchCallback(settings, 'execcommand_callback');\r
33                 patchCallback(settings, 'oninit');\r
34 \r
35                 // Set options\r
36                 settings['mode'] = 'exact';\r
37                 settings['elements'] = 'fullscreenarea';\r
38                 settings['ask'] = false;\r
39                 settings['setupcontent_callback'] = 'setupContent';\r
40                 settings['fullscreen_is_enabled'] = true;\r
41                 settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");\r
42                 settings['theme_advanced_resizing'] = false;\r
43 \r
44                 // Init\r
45                 tinyMCE.init(settings);\r
46                 tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;\r
47 \r
48                 function setupContent(editor_id, body, doc) {\r
49                         var inst = tinyMCE.getInstanceById(editor_id);\r
50                         var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));\r
51 \r
52                         // Setup title\r
53                         var divElm = document.createElement("div");\r
54                         divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];\r
55                         document.title = divElm.innerHTML;\r
56 \r
57                         // Get content\r
58                         inst.execCommand('mceSetContent', false, content);\r
59                 }\r
60 \r
61                 function unloadHandler(e) {\r
62                         moveContent();\r
63                 }\r
64 \r
65                 function moveContent() {\r
66                         var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;\r
67                         window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);\r
68                 }\r
69 \r
70                 // Add onunload\r
71                 tinyMCE.addEvent(window, "beforeunload", unloadHandler);\r
72 \r
73                 function doParentSubmit() {\r
74                         moveContent();\r
75 \r
76                         if (window.opener.tinyMCE.selectedInstance.formElement.form)\r
77                                 window.opener.tinyMCE.selectedInstance.formElement.form.submit();\r
78 \r
79                         window.close();\r
80 \r
81                         return false;\r
82                 }\r
83         </script>\r
84         <base target="_self" />\r
85 </head>\r
86 <body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">\r
87 <form onsubmit="doParentSubmit();" style="height: 100%">\r
88 <textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>\r
89 </form>\r
90 </body>\r
91 </html>\r