123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- var dialog = window.parent;
- var editorWindow = dialog.InnerDialogLoaded();
- var editorInstance = editorWindow.FCK;
- var FCKConfig = editorWindow.FCKConfig;
- var FCKTools = editorWindow.FCKTools;
- var FCKBrowserInfo = editorWindow.FCKBrowserInfo;
- // onload
- window.onload = function()
- {
- var description, snippet;
- // Show snippets to choose from
- if (typeof(FCKConfig.insertHtml_snippets) == 'object')
- {
- var snippetsDiv, snippetDiv, numberOfSnippets = 0;
- snippetsDiv = document.createElement('div');
- snippetsDiv.id = 'snippets';
- for (description in FCKConfig.insertHtml_snippets)
- {
- snippetDiv = document.createElement('div');
- snippetDiv.innerHTML = description;
- snippetDiv.className = 'snippet';
- snippetDiv.snippet = FCKConfig.insertHtml_snippets[description];
- snippetDiv.onmouseover = function(){this.className += ' PopupSelectionBox'};
- snippetDiv.onmouseout = function(){this.className = this.className.replace(/\s?PopupSelectionBox\s?/, '')};
- if (FCKConfig.insertHtml_showTextarea)
- {
- snippetDiv.onclick = function(){
- document.getElementById('insertHtmlTextArea').value = this.snippet;
- };
- }
- else
- {
- snippetDiv.onclick = function(){
- editorInstance.InsertHtml(this.snippet);
- editorWindow.FCKUndo.SaveUndoStep();
- dialog.CloseDialog();
- };
- }
- snippetsDiv.appendChild(snippetDiv);
- numberOfSnippets++;
- }
- document.getElementById('content').appendChild(snippetsDiv);
- // Load the dialog
- }
- // Show the textarea
- if (FCKConfig.insertHtml_showTextarea || !FCKConfig.insertHtml_snippets || !numberOfSnippets)
- {
- insertHtmlTextArea = document.createElement('textarea');
- insertHtmlTextArea.id = 'insertHtmlTextArea';
- document.getElementById('content').appendChild(insertHtmlTextArea);
- // Set the size of the textarea
- insertHtmlTextArea.style.width = (FCKConfig.insertHtml_textareaWidth || 400) + 'px';
- insertHtmlTextArea.style.height = (FCKConfig.insertHtml_textareaHeight || 300) + 'px';
- // Load default content
- if (typeof(FCKConfig.insertHtml_snippets) == 'object')
- {
- for (description in FCKConfig.insertHtml_snippets)
- {
- snippet = FCKConfig.insertHtml_snippets[description];
- break;
- }
- }
- else
- {
- //snippet = FCKConfig.insertHtml_snippets;//Chamilo replaced by below (by now)
- snippet = ''; // Insert your text here
- }
- insertHtmlTextArea.value = snippet;
- }
- // Resize around snippets and/or textarea
- // For IE this must be done before translating the dialog or the dialog will be to wide; also IE needs an approximate resize before autofitting or the dialog width will be to large
- //if (FCKBrowserInfo.IsIE) dialog.Sizer.ResizeDialog(parseInt(FCKConfig.insertHtml_textareaWidth || 400), parseInt(FCKConfig.insertHtml_textareaHeight || 300) + 130);
- dialog.SetAutoSize(true);
- // Recenter the dialog
- //setTimeout(function(){ // after a dummy delay, needed for webkit
- // var topWindowSize = FCKTools.GetViewPaneSize(dialog.top.window);
- // dialog.frameElement.style.left = Math.round((topWindowSize.Width - dialog.frameElement.offsetWidth) / 2) + 'px';
- // dialog.frameElement.style.top = Math.round((topWindowSize.Height - dialog.frameElement.offsetHeight) / 2).toString() + 'px';;
- //}, 0);
- // Translate the dialog box texts
- editorWindow.FCKLanguageManager.TranslatePage(document);
- // Activate the "OK" button
- dialog.SetOkButton(true);
- }
- // Dialog's 'ok' button function to insert the Html
- function Ok()
- {
- if (insertHtmlTextArea.value)
- {
- editorInstance.InsertHtml(insertHtmlTextArea.value);
- editorWindow.FCKUndo.SaveUndoStep();
- return true; // Makes the dialog to close
- }
- }
|