codes****@googl*****
codes****@googl*****
2009年 4月 6日 (月) 11:59:40 JST
Author: tacahi Date: Sun Apr 5 19:24:22 2009 New Revision: 1445 Added: externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/ externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdebug.html externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdialog.html externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.html externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.original.html Log: Geeklog 1.5.2sr1を externals/geeklog-1.5.2sr2 に取り込みます。 Added: externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdebug.html ============================================================================== --- (empty file) +++ externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdebug.html Sun Apr 5 19:24:22 2009 @@ -0,0 +1,153 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2008 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * This is the Debug window. + * It automatically popups if the Debug = true in the configuration file. +--> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>FCKeditor Debug Window</title> + <meta name="robots" content="noindex, nofollow" /> + <script type="text/javascript"> + +var oWindow ; +var oDiv ; + +if ( !window.FCKMessages ) + window.FCKMessages = new Array() ; + +window.onload = function() +{ + oWindow = document.getElementById('xOutput').contentWindow ; + oWindow.document.open() ; + oWindow.document.write( '<div id="divMsg"><\/div>' ) ; + oWindow.document.close() ; + oDiv = oWindow.document.getElementById('divMsg') ; +} + +function Output( message, color, noParse ) +{ + if ( !noParse && message != null && isNaN( message ) ) + message = message.replace(/</g, "<") ; + + if ( color ) + message = '<font color="' + color + '">' + message + '<\/font>' ; + + window.FCKMessages[ window.FCKMessages.length ] = message ; + StartTimer() ; +} + +function OutputObject( anyObject, color ) +{ + var message ; + + if ( anyObject != null ) + { + message = 'Properties of: ' + anyObject + '</b><blockquote>' ; + + for (var prop in anyObject) + { + try + { + var sVal = anyObject[ prop ] != null ? anyObject[ prop ] + '' : '[null]' ; + message += '<b>' + prop + '</b> : ' + sVal.replace(/</g, '<') + '<br>' ; + } + catch (e) + { + try + { + message += '<b>' + prop + '</b> : [' + typeof( anyObject[ prop ] ) + ']<br>' ; + } + catch (e) + { + message += '<b>' + prop + '</b> : [-error-]<br>' ; + } + } + } + + message += '</blockquote><b>' ; + } else + message = 'OutputObject : Object is "null".' ; + + Output( message, color, true ) ; +} + +function StartTimer() +{ + window.setTimeout( 'CheckMessages()', 100 ) ; +} + +function CheckMessages() +{ + if ( window.FCKMessages.length > 0 ) + { + // Get the first item in the queue + var sMessage = window.FCKMessages[0] ; + + // Removes the first item from the queue + var oTempArray = new Array() ; + for ( i = 1 ; i < window.FCKMessages.length ; i++ ) + oTempArray[ i - 1 ] = window.FCKMessages[ i ] ; + window.FCKMessages = oTempArray ; + + var d = new Date() ; + var sTime = + ( d.getHours() + 100 + '' ).substr( 1,2 ) + ':' + + ( d.getMinutes() + 100 + '' ).substr( 1,2 ) + ':' + + ( d.getSeconds() + 100 + '' ).substr( 1,2 ) + ':' + + ( d.getMilliseconds() + 1000 + '' ).substr( 1,3 ) ; + + var oMsgDiv = oWindow.document.createElement( 'div' ) ; + oMsgDiv.innerHTML = sTime + ': <b>' + sMessage + '<\/b>' ; + oDiv.appendChild( oMsgDiv ) ; + oMsgDiv.scrollIntoView() ; + } +} + +function Clear() +{ + oDiv.innerHTML = '' ; +} + </script> +</head> +<body style="margin: 10px"> + <table style="height: 100%" cellspacing="5" cellpadding="0" width="100%" border="0"> + <tr> + <td> + <table cellspacing="0" cellpadding="0" width="100%" border="0"> + <tr> + <td style="font-weight: bold; font-size: 1.2em;"> + FCKeditor Debug Window</td> + <td align="right"> + <input type="button" value="Clear" onclick="Clear();" /></td> + </tr> + </table> + </td> + </tr> + <tr style="height: 100%"> + <td style="border: #696969 1px solid"> + <iframe id="xOutput" width="100%" height="100%" scrolling="auto" src="javascript:void(0)" + frameborder="0"></iframe> + </td> + </tr> + </table> +</body> +</html> Added: externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdialog.html ============================================================================== --- (empty file) +++ externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckdialog.html Sun Apr 5 19:24:22 2009 @@ -0,0 +1,812 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!-- + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2008 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * This page is used by all dialog box as the container. +--> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta name="robots" content="noindex, nofollow" /> + <script type="text/javascript"> +// <![CDATA[ + +// Domain relaxation logic. +(function() +{ + var d = document.domain ; + + while ( true ) + { + // Test if we can access a parent property. + try + { + var parentDomain = ( Args().TopWindow || E ).document.domain ; + + if ( document.domain != parentDomain ) + document.domain = parentDomain ; + + break ; + } + catch( e ) {} + + // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... + d = d.replace( /.*?(?:\.|$)/, '' ) ; + + if ( d.length == 0 ) + break ; // It was not able to detect the domain. + + document.domain = d ; + } +})() ; + +var E = frameElement._DialogArguments.Editor ; + +// It seems referencing to frameElement._DialogArguments directly would lead to memory leaks in IE. +// So let's use functions to access its members instead. +function Args() +{ + return frameElement._DialogArguments ; +} + +function ParentDialog( dialog ) +{ + return dialog ? dialog._ParentDialog : frameElement._ParentDialog ; +} + +var FCK = E.FCK ; +var FCKTools = E.FCKTools ; +var FCKDomTools = E.FCKDomTools ; +var FCKDialog = E.FCKDialog ; +var FCKBrowserInfo = E.FCKBrowserInfo ; +var FCKConfig = E.FCKConfig ; + +// Steal the focus so that the caret would no longer stay in the editor iframe. +window.focus() ; + +// Sets the Skin CSS +document.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ; + +// Sets the language direction. +var langDir = document.documentElement.dir = E.FCKLang.Dir ; + +// For IE6-, the fck_dialog_ie6.js is loaded, used to fix limitations in the browser. +if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) + document.write( '<' + 'script type="text/javascript" src="' + FCKConfig.SkinPath + 'fck_dialog_ie6.js"><' + '\/script>' ) ; + +FCKTools.RegisterDollarFunction( window ) ; + +// Resize related functions. +var Sizer = function() +{ + var bAutoSize = false ; + + var retval = { + // Sets whether the dialog should auto-resize according to its content's height. + SetAutoSize : function( autoSize ) + { + bAutoSize = autoSize ; + this.RefreshSize() ; + }, + + // Fit the dialog container's layout to the inner iframe's external size. + RefreshContainerSize : function() + { + var frmMain = $( 'frmMain' ) ; + + if ( frmMain ) + { + // Get the container size. + var height = $( 'contents' ).offsetHeight ; + + // Subtract the size of other elements. + height -= $( 'TitleArea' ).offsetHeight ; + height -= $( 'TabsRow' ).offsetHeight ; + height -= $( 'PopupButtons' ).offsetHeight ; + + frmMain.style.height = Math.max( height, 0 ) + 'px' ; + } + }, + + // Resize and re-layout the dialog. + // Triggers the onresize event for the layout logic. + ResizeDialog : function( width, height ) + { + FCKDomTools.SetElementStyles( window.frameElement, + { + 'width' : width + 'px', + 'height' : height + 'px' + } ) ; + + // If the skin have defined a function for resize fixes, call it now. + if ( typeof window.DoResizeFixes == 'function' ) + window.DoResizeFixes() ; + }, + + // if bAutoSize is true, automatically fit the dialog size and layout to + // accomodate the inner iframe's internal height. + // if bAutoSize is false, then only the layout logic for the dialog decorations + // is run to accomodate the inner iframe's external height. + RefreshSize : function() + { + if ( bAutoSize ) + { + var frmMain = $( 'frmMain' ) ; + var innerDoc = frmMain.contentWindow.document ; + var isStrict = FCKTools.IsStrictMode( innerDoc ) ; + + // Get the size of the frame contents. + var innerWidth = isStrict ? innerDoc.documentElement.scrollWidth : innerDoc.body.scrollWidth ; + var innerHeight = isStrict ? innerDoc.documentElement.scrollHeight : innerDoc.body.scrollHeight ; + + // Get the current frame size. + var frameSize = FCKTools.GetViewPaneSize( frmMain.contentWindow ) ; + + var deltaWidth = innerWidth - frameSize.Width ; + var deltaHeight = innerHeight - frameSize.Height ; + + // If the contents fits the current size. + if ( deltaWidth <= 0 && deltaHeight <= 0 ) + return ; + + var dialogWidth = frameElement.offsetWidth + Math.max( deltaWidth, 0 ) ; + var dialogHeight = frameElement.offsetHeight + Math.max( deltaHeight, 0 ) ; + + this.ResizeDialog( dialogWidth, dialogHeight ) ; + } + this.RefreshContainerSize() ; + } + } + + /** + * Safari seems to have a bug with the time when RefreshSize() is executed - it + * thinks frmMain's innerHeight is 0 if we query the value too soon after the + * page is loaded in some circumstances. (#1316) + * TODO : Maybe this is not needed anymore after #35. + */ + if ( FCKBrowserInfo.IsSafari ) + { + var originalRefreshSize = retval.RefreshSize ; + + retval.RefreshSize = function() + { + FCKTools.SetTimeout( originalRefreshSize, 1, retval ) ; + } + } + + /** + * IE6 has a similar bug where it sometimes thinks $('contents') has an + * offsetHeight of 0 (#2114). + */ + if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) + { + var originalRefreshContainerSize = retval.RefreshContainerSize ; + retval.RefreshContainerSize = function() + { + FCKTools.SetTimeout( originalRefreshContainerSize, 1, retval ) ; + } + } + + window.onresize = function() + { + retval.RefreshContainerSize() ; + } + + window.SetAutoSize = FCKTools.Bind( retval, retval.SetAutoSize ) ; + + return retval ; +}() ; + +// Manages the throbber image that appears if the inner part of dialog is taking too long to load. +var Throbber = function() +{ + var timer ; + + var updateThrobber = function() + { + var throbberParent = $( 'throbberBlock' ) ; + var throbberBlocks = throbberParent.childNodes ; + var lastClass = throbberParent.lastChild.className ; + + // From the last to the second one, copy the class from the previous one. + for ( var i = throbberBlocks.length - 1 ; i > 0 ; i-- ) + throbberBlocks[i].className = throbberBlocks[i-1].className ; + + // For the first one, copy the last class (rotation). + throbberBlocks[0].className = lastClass ; + } + + return { + Show : function( waitMilliseconds ) + { + // Auto-setup the Show function to be called again after the + // requested amount of time. + if ( waitMilliseconds && waitMilliseconds > 0 ) + { + timer = FCKTools.SetTimeout( this.Show, waitMilliseconds, this, null, window ) ; + return ; + } + + var throbberParent = $( 'throbberBlock' ) ; + + if (throbberParent.childNodes.length == 0) + { + // Create the throbber blocks. + var classIds = [ 1,2,3,4,5,4,3,2 ] ; + while ( classIds.length > 0 ) + throbberParent.appendChild( document.createElement( 'div' ) ).className = ' throbber_' + classIds.shift() ; + } + + // Center the throbber. + var frm = $( 'contents' ) ; + var frmCoords = FCKTools.GetDocumentPosition( window, frm ) ; + var x = frmCoords.x + ( frm.offsetWidth - throbberParent.offsetWidth ) / 2 ; + var y = frmCoords.y + ( frm.offsetHeight - throbberParent.offsetHeight ) / 2 ; + throbberParent.style.left = parseInt( x, 10 ) + 'px' ; + throbberParent.style.top = parseInt( y, 10 ) + 'px' ; + + // Show it. + throbberParent.style.visibility = '' ; + + // Hide tabs and buttons: + $( 'Tabs' ).style.visibility = 'hidden' ; + $( 'PopupButtons' ).style.visibility = 'hidden' ; + + // Setup the animation interval. + timer = setInterval( updateThrobber, 100 ) ; + }, + + Hide : function() + { + if ( timer ) + { + clearInterval( timer ) ; + timer = null ; + } + + $( 'throbberBlock' ).style.visibility = 'hidden' ; + + // Show tabs and buttons: + $( 'Tabs' ).style.visibility = '' ; + $( 'PopupButtons' ).style.visibility = '' ; + } + } ; +}() ; + +// Drag and drop handlers. +var DragAndDrop = function() +{ + var registeredWindows = [] ; + var lastCoords ; + var currentPos ; + + var cleanUpHandlers = function() + { + for ( var i = 0 ; i < registeredWindows.length ; i++ ) + { + FCKTools.RemoveEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ; + FCKTools.RemoveEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ; + } + } + + var dragMouseMoveHandler = function( evt ) + { + if ( !lastCoords ) + return ; + + if ( !evt ) + evt = FCKTools.GetElementDocument( this ).parentWindow.event ; + + // Updated the last coordinates. + var currentCoords = + { + x : evt.screenX, + y : evt.screenY + } ; + + currentPos = + { + x : currentPos.x + ( currentCoords.x - lastCoords.x ), + y : currentPos.y + ( currentCoords.y - lastCoords.y ) + } ; + + lastCoords = currentCoords ; + + frameElement.style.left = currentPos.x + 'px' ; + frameElement.style.top = currentPos.y + 'px' ; + + if ( evt.preventDefault ) + evt.preventDefault() ; + else + evt.returnValue = false ; + } + + var dragMouseUpHandler = function( evt ) + { + if ( !lastCoords ) + return ; + if ( !evt ) + evt = FCKTools.GetElementDocument( this ).parentWindow.event ; + cleanUpHandlers() ; + lastCoords = null ; + } + + return { + + MouseDownHandler : function( evt ) + { + var view = null ; + if ( !evt ) + { + view = FCKTools.GetElementDocument( this ).parentWindow ; + evt = view.event ; + } + else + view = evt.view ; + + var target = evt.srcElement || evt.target ; + if ( target.id == 'closeButton' || target.className == 'PopupTab' || target.className == 'PopupTabSelected' ) + return ; + + lastCoords = + { + x : evt.screenX, + y : evt.screenY + } ; + + // Save the current IFRAME position. + currentPos = + { + x : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'left' ), 10 ), + y : parseInt( FCKDomTools.GetCurrentElementStyle( frameElement, 'top' ), 10 ) + } ; + + for ( var i = 0 ; i < registeredWindows.length ; i++ ) + { + FCKTools.AddEventListener( registeredWindows[i].document, 'mousemove', dragMouseMoveHandler ) ; + FCKTools.AddEventListener( registeredWindows[i].document, 'mouseup', dragMouseUpHandler ) ; + } + + if ( evt.preventDefault ) + evt.preventDefault() ; + else + evt.returnValue = false ; + }, + + RegisterHandlers : function( w ) + { + registeredWindows.push( w ) ; + } + } +}() ; + +// Selection related functions. +//(Became simple shortcuts after the fix for #1990) +var Selection = +{ + /** + * Ensures that the editing area contains an active selection. This is a + * requirement for IE, as it looses the selection when the focus moves to other + * frames. + */ + EnsureSelection : function() + { + FCK.Selection.Restore() ; + }, + + /** + * Get the FCKSelection object for the editor instance. + */ + GetSelection : function() + { + return FCK.Selection ; + }, + + /** + * Get the selected element in the editing area (for object selections). + */ + GetSelectedElement : function() + { + return FCK.Selection.GetSelectedElement() ; + } +} + +// Tab related functions. +var Tabs = function() +{ + // Only element ids should be stored here instead of element references since setSelectedTab and TabDiv_OnClick + // would build circular references with the element references inside and cause memory leaks in IE6. + var oTabs = new Object() ; + + var setSelectedTab = function( tabCode ) + { + for ( var sCode in oTabs ) + { + if ( sCode == tabCode ) + $( oTabs[sCode] ).className = 'PopupTabSelected' ; + else + $( oTabs[sCode] ).className = 'PopupTab' ; + } + + if ( typeof( window.frames["frmMain"].OnDialogTabChange ) == 'function' ) + window.frames["frmMain"].OnDialogTabChange( tabCode ) ; + } + + function TabDiv_OnClick() + { + setSelectedTab( this.TabCode ) ; + } + + window.AddTab = function( tabCode, tabText, startHidden ) + { + if ( typeof( oTabs[ tabCode ] ) != 'undefined' ) + return ; + + var eTabsRow = $( 'Tabs' ) ; + + var oCell = eTabsRow.insertCell( eTabsRow.cells.length - 1 ) ; + oCell.noWrap = true ; + + var oDiv = document.createElement( 'DIV' ) ; + oDiv.className = 'PopupTab' ; + oDiv.innerHTML = tabText ; + oDiv.TabCode = tabCode ; + oDiv.onclick = TabDiv_OnClick ; + oDiv.id = Math.random() ; + + if ( startHidden ) + oDiv.style.display = 'none' ; + + eTabsRow = $( 'TabsRow' ) ; + + oCell.appendChild( oDiv ) ; + + if ( eTabsRow.style.display == 'none' ) + { + var eTitleArea = $( 'TitleArea' ) ; + eTitleArea.className = 'PopupTitle' ; + + oDiv.className = 'PopupTabSelected' ; + eTabsRow.style.display = '' ; + + if ( window.onresize ) + window.onresize() ; + } + + oTabs[ tabCode ] = oDiv.id ; + + FCKTools.DisableSelection( oDiv ) ; + } ; + + window.SetSelectedTab = setSelectedTab ; + + window.SetTabVisibility = function( tabCode, isVisible ) + { + var oTab = $( oTabs[ tabCode ] ) ; + oTab.style.display = isVisible ? '' : 'none' ; + + if ( ! isVisible && oTab.className == 'PopupTabSelected' ) + { + for ( var sCode in oTabs ) + { + if ( $( oTabs[sCode] ).style.display != 'none' ) + { + setSelectedTab( sCode ) ; + break ; + } + } + } + } ; +}() ; + +// readystatechange handler for registering drag and drop handlers in cover +// iframes, defined out here to avoid memory leak. +// Do NOT put this function as a private function as it will induce memory leak +// in IE and it's not detectable with Drip or sIEve and undetectable leaks are +// really nasty (sigh). +var onReadyRegister = function() +{ + if ( this.readyState != 'complete' ) + return ; + DragAndDrop.RegisterHandlers( this.contentWindow ) ; +} ; + +// The business logic of the dialog, dealing with operational things like +// dialog open/dialog close/enable/disable/etc. +(function() +{ + var setOnKeyDown = function( targetDocument ) + { + targetDocument.onkeydown = function ( e ) + { + e = e || event || this.parentWindow.event ; + switch ( e.keyCode ) + { + case 13 : // ENTER + var oTarget = e.srcElement || e.target ; + if ( oTarget.tagName == 'TEXTAREA' ) + return true ; + Ok() ; + return false ; + + case 27 : // ESC + Cancel() ; + return false ; + } + return true ; + } + } ; + + var contextMenuBlocker = function( e ) + { + var sTagName = e.target.tagName ; + if ( ! ( ( sTagName == "INPUT" && e.target.type == "text" ) || sTagName == "TEXTAREA" ) ) + e.preventDefault() ; + } ; + + var disableContextMenu = function( targetDocument ) + { + if ( FCKBrowserInfo.IsIE ) + return ; + + targetDocument.addEventListener( 'contextmenu', contextMenuBlocker, true ) ; + } ; + + // Program entry point. + window.Init = function() + { + // Start the throbber timer. + Throbber.Show( 1000 ) ; + + Sizer.RefreshContainerSize() ; + LoadInnerDialog() ; + + FCKTools.DisableSelection( document.body ) ; + + // Make the title area draggable. + var titleElement = $( 'header' ) ; + titleElement.onmousedown = DragAndDrop.MouseDownHandler ; + + // Connect mousemove and mouseup events from dialog frame and outer window to dialog dragging logic. + DragAndDrop.RegisterHandlers( window ) ; + DragAndDrop.RegisterHandlers( Args().TopWindow ) ; + + // Disable the previous dialog if it exists. + if ( ParentDialog() ) + { + ParentDialog().contentWindow.SetEnabled( false ) ; + if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) + { + var currentParent = ParentDialog() ; + while ( currentParent ) + { + var blockerFrame = currentParent.contentWindow.$( 'blocker' ) ; + if ( blockerFrame.readyState == 'complete' ) + DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ; + else + blockerFrame.onreadystatechange = onReadyRegister ; + currentParent = ParentDialog( currentParent ) ; + } + } + else + { + var currentParent = ParentDialog() ; + while ( currentParent ) + { + DragAndDrop.RegisterHandlers( currentParent.contentWindow ) ; + currentParent = ParentDialog( currentParent ) ; + } + } + } + + // If this is the only dialog on screen, enable the background cover. + if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) + { + var blockerFrame = FCKDialog.GetCover().firstChild ; + if ( blockerFrame.readyState == 'complete' ) + DragAndDrop.RegisterHandlers( blockerFrame.contentWindow ) ; + else + blockerFrame.onreadystatechange = onReadyRegister; + } + + // Add Enter/Esc hotkeys and disable context menu for the dialog. + setOnKeyDown( document ) ; + disableContextMenu( document ) ; + } ; + + window.LoadInnerDialog = function() + { + if ( window.onresize ) + window.onresize() ; + + // First of all, translate the dialog box contents. + E.FCKLanguageManager.TranslatePage( document ) ; + + // Create the IFRAME that holds the dialog contents. + $( 'innerContents' ).innerHTML = '<iframe id="frmMain" src="' + Args().Page + '" name="frmMain" frameborder="0" width="100%" height="100%" scrolling="auto" style="visibility: hidden;" allowtransparency="true"><\/iframe>' ; + } ; + + window.InnerDialogLoaded = function() + { + // If the dialog has been closed before the iframe is loaded, do nothing. + if ( !frameElement.parentNode ) + return null ; + + Throbber.Hide() ; + + var frmMain = $('frmMain') ; + var innerWindow = frmMain.contentWindow ; + var innerDoc = innerWindow.document ; + + // Show the loaded iframe. + frmMain.style.visibility = '' ; + + // Set the language direction. + innerDoc.documentElement.dir = langDir ; + + // Sets the Skin CSS. + innerDoc.write( FCKTools.GetStyleHtml( FCKConfig.SkinDialogCSS ) ) ; + + setOnKeyDown( innerDoc ) ; + disableContextMenu( innerDoc ) ; + + Sizer.RefreshContainerSize(); + + DragAndDrop.RegisterHandlers( innerWindow ) ; + + innerWindow.focus() ; + + return E ; + } ; + + window.SetOkButton = function( showIt ) + { + $('btnOk').style.visibility = ( showIt ? '' : 'hidden' ) ; + } ; + + window.Ok = function() + { + Selection.EnsureSelection() ; + + var frmMain = window.frames["frmMain"] ; + + if ( frmMain.Ok && frmMain.Ok() ) + CloseDialog() ; + else + frmMain.focus() ; + } ; + + window.Cancel = function( dontFireChange ) + { + Selection.EnsureSelection() ; + return CloseDialog( dontFireChange ) ; + } ; + + window.CloseDialog = function( dontFireChange ) + { + Throbber.Hide() ; + + // Points the src to a non-existent location to avoid loading errors later, in case the dialog + // haven't been completed loaded at this point. + if ( $( 'frmMain' ) ) + $( 'frmMain' ).src = FCKTools.GetVoidUrl() ; + + if ( !dontFireChange && !FCK.EditMode ) + { + // All dialog windows, by default, will fire the "OnSelectionChange" + // event, no matter the Ok or Cancel button has been pressed. + // It seems that OnSelectionChange may enter on a concurrency state + // on some situations (#1965), so we should put the event firing in + // the execution queue instead of executing it immediately. + setTimeout( function() + { + FCK.Events.FireEvent( 'OnSelectionChange' ) ; + }, 0 ) ; + } + + FCKDialog.OnDialogClose( window ) ; + } ; + + window.SetEnabled = function( isEnabled ) + { + var cover = $( 'cover' ) ; + cover.style.display = isEnabled ? 'none' : '' ; + + if ( FCKBrowserInfo.IsIE && !FCKBrowserInfo.IsIE7 ) + { + if ( !isEnabled ) + { + // Inser the blocker IFRAME before the cover. + var blocker = document.createElement( 'iframe' ) ; + blocker.src = FCKTools.GetVoidUrl() ; + blocker.hideFocus = true ; + blocker.frameBorder = 0 ; + blocker.id = blocker.className = 'blocker' ; + cover.appendChild( blocker ) ; + } + else + { + var blocker = $( 'blocker' ) ; + if ( blocker && blocker.parentNode ) + blocker.parentNode.removeChild( blocker ) ; + } + } + } ; +})() ; +// ]]> + </script> + </head> + <body onload="Init();" class="PopupBody"> + <div class="contents" id="contents"> + <div id="header"> + <div id="TitleArea" class="PopupTitle PopupTitleBorder"> + <script type="text/javascript"> +// <![CDATA[ +document.write( Args().Title ) ; +// ]]> + </script> + <div id="closeButton" onclick="Cancel();"></div> + </div> + <div id="TabsRow" class="PopupTabArea" style="display: none"> + <table border="0" cellpadding="0" cellspacing="0" width="100%"> + <tr id="Tabs"> + <td class="PopupTabEmptyArea"> </td> + <td class="PopupTabEmptyArea" width="100%"> </td> + </tr> + </table> + </div> + </div> + <div id="innerContents"></div> + <div id="PopupButtons" class="PopupButtons"> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td width="100%"> </td> + <td nowrap="nowrap"> + <input id="btnOk" style="visibility: hidden;" type="button" value="Ok" class="Button" onclick="Ok();" fckLang="DlgBtnOK" /> + + <input id="btnCancel" type="button" value="Cancel" class="Button" onclick="Cancel();" fckLang="DlgBtnCancel" /> + </td> + </tr> + </table> + </div> + </div> + <div class="tl"></div> + <div class="tc"></div> + <div class="tr"></div> + <div class="ml"></div> + <div class="mr"></div> + <div class="bl"></div> + <div class="bc"></div> + <div class="br"></div> + <div class="cover" id="cover" style="display:none"></div> + <div id="throbberBlock" style="position: absolute; visibility: hidden"></div> + <script type="text/javascript"> +// <![CDATA[ + // Set the class name for language direction. + document.body.className += ' ' + langDir ; + + var cover = $( 'cover' ) ; + cover.style.backgroundColor = FCKConfig.BackgroundBlockerColor ; + FCKDomTools.SetOpacity( cover, FCKConfig.BackgroundBlockerOpacity ) ; +// ]]> + </script> + </body> +</html> Added: externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.html ============================================================================== --- (empty file) +++ externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.html Sun Apr 5 19:24:22 2009 @@ -0,0 +1,317 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2008 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Main page that holds the editor. +--> +<html> +<head> + <title>FCKeditor</title> + <meta name="robots" content="noindex, nofollow"> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta http-equiv="Cache-Control" content="public"> + <script type="text/javascript"> + +// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem +// without security.fileuri.strict_origin_policy disabled. +if ( document.location.protocol == 'file:' ) +{ + try + { + window.parent.document.domain ; + } + catch ( e ) + { + window.addEventListener( 'load', function() + { + document.body.innerHTML = '\ + <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\ + <p>\ + <b>Your browser security settings don\'t allow FCKeditor to be opened from\ + the local filesystem.<\/b>\ + <\/p>\ + <p>\ + Please open the <b>about:config<\/b> page and disable the\ + "security.fileuri.strict_origin_policy" option; then load this page again.\ + <\/p>\ + <p>\ + Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\ + for more information.\ + <\/p>\ + <\/div>' ; + }, false ) ; + } +} + +// Save a reference to the default domain. +var FCK_ORIGINAL_DOMAIN ; + +// Automatically detect the correct document.domain (#123). +(function() +{ + var d = FCK_ORIGINAL_DOMAIN = document.domain ; + + while ( true ) + { + // Test if we can access a parent property. + try + { + var test = window.parent.document.domain ; + break ; + } + catch( e ) {} + + // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... + d = d.replace( /.*?(?:\.|$)/, '' ) ; + + if ( d.length == 0 ) + break ; // It was not able to detect the domain. + + try + { + document.domain = d ; + } + catch (e) + { + break ; + } + } +})() ; + +// Save a reference to the detected runtime domain. +var FCK_RUNTIME_DOMAIN = document.domain ; + +var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ; + +// Instead of loading scripts and CSSs using inline tags, all scripts are +// loaded by code. In this way we can guarantee the correct processing order, +// otherwise external scripts and inline scripts could be executed in an +// unwanted order (IE). + +function LoadScript( url ) +{ + document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ; +} + +// Main editor scripts. +var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ; + +LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ; + +// Base configuration file. +LoadScript( '../fckconfig.js' ) ; + + </script> + <script type="text/javascript"> + +// Adobe AIR compatibility file. +if ( FCKBrowserInfo.IsAIR ) + LoadScript( 'js/fckadobeair.js' ) ; + +if ( FCKBrowserInfo.IsIE ) +{ + // Remove IE mouse flickering. + try + { + document.execCommand( 'BackgroundImageCache', false, true ) ; + } + catch (e) + { + // We have been reported about loading problems caused by the above + // line. For safety, let's just ignore errors. + } + + // Create the default cleanup object used by the editor. + FCK.IECleanup = new FCKIECleanup( window ) ; + FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ; + FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ; +} + +// The first function to be called on selection change must the the styles +// change checker, because the result of its processing may be used by another +// functions listening to the same event. +FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ; + +// The config hidden field is processed immediately, because +// CustomConfigurationsPath may be set in the page. +FCKConfig.ProcessHiddenField() ; + +// Load the custom configurations file (if defined). +if ( FCKConfig.CustomConfigurationsPath.length > 0 ) + LoadScript( FCKConfig.CustomConfigurationsPath ) ; + + </script> + <script type="text/javascript"> + +// Load configurations defined at page level. +FCKConfig_LoadPageConfig() ; + +FCKConfig_PreProcess() ; + +// Load the full debug script. +if ( FCKConfig.Debug ) + LoadScript( '_source/internals/fckdebug.js' ) ; + + </script> + <script type="text/javascript"> + +// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt). +var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ; +var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ; + +// Popup the debug window if debug mode is set to true. It guarantees that the +// first debug message will not be lost. +if ( FCKConfig.Debug ) + FCKDebug._GetWindow() ; + +// Load the active skin CSS. +document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ; + +// Load the language file. +FCKLanguageManager.Initialize() ; +LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ; + + </script> + <script type="text/javascript"> + +// Initialize the editing area context menu. +FCK_ContextMenu_Init() ; + +FCKPlugins.Load() ; + + </script> + <script type="text/javascript"> + +// Set the editor interface direction. +window.document.dir = FCKLang.Dir ; + + </script> + <script type="text/javascript"> + +window.onload = function() +{ + InitializeAPI() ; + + if ( FCKBrowserInfo.IsIE ) + FCK_PreloadImages() ; + else + LoadToolbarSetup() ; +} + +function LoadToolbarSetup() +{ + FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ; +} + +function LoadToolbar() +{ + var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ; + + if ( oToolbarSet.IsLoaded ) + StartEditor() ; + else + { + oToolbarSet.OnLoad = StartEditor ; + oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ; + } +} + +function StartEditor() +{ + // Remove the onload listener. + FCK.ToolbarSet.OnLoad = null ; + + FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ; + + FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ; + + // Start the editor. + FCK.StartEditor() ; +} + +function WaitForActive( editorInstance, newStatus ) +{ + if ( newStatus == FCK_STATUS_ACTIVE ) + { + if ( FCKBrowserInfo.IsGecko ) + FCKTools.RunFunction( window.onresize ) ; + + if ( !FCKConfig.PreventSubmitHandler ) + _AttachFormSubmitToAPI() ; + + FCK.SetStatus( FCK_STATUS_COMPLETE ) ; + + // Call the special "FCKeditor_OnComplete" function that should be present in + // the HTML page where the editor is located. + if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' ) + window.parent.FCKeditor_OnComplete( FCK ) ; + } +} + +// Gecko browsers doesn't calculate well the IFRAME size so we must +// recalculate it every time the window size changes. +if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera ) +{ + window.onresize = function( e ) + { + // Running in Chrome makes the window receive the event including subframes. + // we care only about this window. Ticket #1642. + // #2002: The originalTarget from the event can be the current document, the window, or the editing area. + if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document )) + return ; + + var oCell = document.getElementById( 'xEditingArea' ) ; + + var eInnerElement = oCell.firstChild ; + if ( eInnerElement ) + { + eInnerElement.style.height = '0px' ; + eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ; + } + } +} + + </script> +</head> +<body> + <table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed"> + <tr id="xToolbarRow" style="display: none"> + <td id="xToolbarSpace" style="overflow: hidden"> + <table width="100%" cellpadding="0" cellspacing="0"> + <tr id="xCollapsed" style="display: none"> + <td id="xExpandHandle" class="TB_Expand" colspan="3"> + <img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td> + </tr> + <tr id="xExpanded" style="display: none"> + <td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td> + <td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom"> + <img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td> + <td id="xToolbar" class="TB_ToolbarSet"></td> + <td class="TB_SideBorder" style="width: 1px"></td> + </tr> + </table> + </td> + </tr> + <tr> + <td id="xEditingArea" valign="top" style="height: 100%"></td> + </tr> + </table> +</body> +</html> Added: externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.original.html ============================================================================== --- (empty file) +++ externals/geeklog-1.5.2sr2/public_html/fckeditor/editor/fckeditor.original.html Sun Apr 5 19:24:22 2009 @@ -0,0 +1,424 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- + * FCKeditor - The text editor for Internet - http://www.fckeditor.net + * Copyright (C) 2003-2008 Frederico Caldeira Knabben + * + * == BEGIN LICENSE == + * + * Licensed under the terms of any of the following licenses at your + * choice: + * + * - GNU General Public License Version 2 or later (the "GPL") + * http://www.gnu.org/licenses/gpl.html + * + * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + * http://www.gnu.org/licenses/lgpl.html + * + * - Mozilla Public License Version 1.1 or later (the "MPL") + * http://www.mozilla.org/MPL/MPL-1.1.html + * + * == END LICENSE == + * + * Main page that holds the editor. +--> +<html> +<head> + <title>FCKeditor</title> + <meta name="robots" content="noindex, nofollow"> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <!--****@Packa***** + <meta http-equiv="Cache-Control" content="public"> + @Packager.RemoveLine --> + <script type="text/javascript"> + +// #1645: Alert the user if opening FCKeditor in FF3 from local filesystem +// without security.fileuri.strict_origin_policy disabled. +if ( document.location.protocol == 'file:' ) +{ + try + { + window.parent.document.domain ; + } + catch ( e ) + { + window.addEventListener( 'load', function() + { + document.body.innerHTML = '\ + <div style="border: 1px red solid; font-family: arial; font-size: 12px; color: red; padding:10px;">\ + <p>\ + <b>Your browser security settings don\'t allow FCKeditor to be opened from\ + the local filesystem.<\/b>\ + <\/p>\ + <p>\ + Please open the <b>about:config<\/b> page and disable the\ + "security.fileuri.strict_origin_policy" option; then load this page again.\ + <\/p>\ + <p>\ + Check our <a href="http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/FAQ#ff3perms">FAQ<\/a>\ + for more information.\ + <\/p>\ + <\/div>' ; + }, false ) ; + } +} + +// Save a reference to the default domain. +var FCK_ORIGINAL_DOMAIN ; + +// Automatically detect the correct document.domain (#123). +(function() +{ + var d = FCK_ORIGINAL_DOMAIN = document.domain ; + + while ( true ) + { + // Test if we can access a parent property. + try + { + var test = window.parent.document.domain ; + break ; + } + catch( e ) {} + + // Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ... + d = d.replace( /.*?(?:\.|$)/, '' ) ; + + if ( d.length == 0 ) + break ; // It was not able to detect the domain. + + try + { + document.domain = d ; + } + catch (e) + { + break ; + } + } +})() ; + +// Save a reference to the detected runtime domain. +var FCK_RUNTIME_DOMAIN = document.domain ; + +var FCK_IS_CUSTOM_DOMAIN = ( FCK_ORIGINAL_DOMAIN != FCK_RUNTIME_DOMAIN ) ; + +// Instead of loading scripts and CSSs using inline tags, all scripts are +// loaded by code. In this way we can guarantee the correct processing order, +// otherwise external scripts and inline scripts could be executed in an +// unwanted order (IE). + +function LoadScript( url ) +{ + document.write( '<scr' + 'ipt type="text/javascript" src="' + url + '"><\/scr' + 'ipt>' ) ; +} + +// Main editor scripts. +var sSuffix = ( /*@cc_on!@*/false ) ? 'ie' : 'gecko' ; + +/* @Packager.RemoveLine +LoadScript( 'js/fckeditorcode_' + sSuffix + '.js' ) ; +****@Packa***** */ +// @Packager.Remove.Start + +LoadScript( '_source/fckconstants.js' ) ; +LoadScript( '_source/fckjscoreextensions.js' ) ; + +if ( sSuffix == 'ie' ) + LoadScript( '_source/classes/fckiecleanup.js' ) ; + +LoadScript( '_source/internals/fckbrowserinfo.js' ) ; +LoadScript( '_source/internals/fckurlparams.js' ) ; +LoadScript( '_source/classes/fckevents.js' ) ; +LoadScript( '_source/classes/fckdataprocessor.js' ) ; +LoadScript( '_source/internals/fck.js' ) ; +LoadScript( '_source/internals/fck_' + sSuffix + '.js' ) ; +LoadScript( '_source/internals/fckconfig.js' ) ; + +LoadScript( '_source/internals/fckdebug_empty.js' ) ; +LoadScript( '_source/internals/fckdomtools.js' ) ; +LoadScript( '_source/internals/fcktools.js' ) ; +LoadScript( '_source/internals/fcktools_' + sSuffix + '.js' ) ; +LoadScript( '_source/fckeditorapi.js' ) ; +LoadScript( '_source/classes/fckimagepreloader.js' ) ; +LoadScript( '_source/internals/fckregexlib.js' ) ; +LoadScript( '_source/internals/fcklistslib.js' ) ; +LoadScript( '_source/internals/fcklanguagemanager.js' ) ; +LoadScript( '_source/internals/fckxhtmlentities.js' ) ; +LoadScript( '_source/internals/fckxhtml.js' ) ; +LoadScript( '_source/internals/fckxhtml_' + sSuffix + '.js' ) ; +LoadScript( '_source/internals/fckcodeformatter.js' ) ; +LoadScript( '_source/internals/fckundo.js' ) ; +LoadScript( '_source/classes/fckeditingarea.js' ) ; +LoadScript( '_source/classes/fckkeystrokehandler.js' ) ; + +LoadScript( 'dtd/fck_xhtml10transitional.js' ) ; +LoadScript( '_source/classes/fckstyle.js' ) ; +LoadScript( '_source/internals/fckstyles.js' ) ; + +LoadScript( '_source/internals/fcklisthandler.js' ) ; +LoadScript( '_source/classes/fckelementpath.js' ) ; +LoadScript( '_source/classes/fckdomrange.js' ) ; +LoadScript( '_source/classes/fckdocumentfragment_' + sSuffix + '.js' ) ; +LoadScript( '_source/classes/fckw3crange.js' ) ; +LoadScript( '_source/classes/fckdomrange_' + sSuffix + '.js' ) ; +LoadScript( '_source/classes/fckdomrangeiterator.js' ) ; +LoadScript( '_source/classes/fckenterkey.js' ) ; + +LoadScript( '_source/internals/fckdocumentprocessor.js' ) ; +LoadScript( '_source/internals/fckselection.js' ) ; +LoadScript( '_source/internals/fckselection_' + sSuffix + '.js' ) ; + +LoadScript( '_source/internals/fcktablehandler.js' ) ; +LoadScript( '_source/internals/fcktablehandler_' + sSuffix + '.js' ) ; +LoadScript( '_source/classes/fckxml.js' ) ; +LoadScript( '_source/classes/fckxml_' + sSuffix + '.js' ) ; + +LoadScript( '_source/commandclasses/fcknamedcommand.js' ) ; +LoadScript( '_source/commandclasses/fckstylecommand.js' ) ; +LoadScript( '_source/commandclasses/fck_othercommands.js' ) ; +LoadScript( '_source/commandclasses/fckshowblocks.js' ) ; +LoadScript( '_source/commandclasses/fckspellcheckcommand_' + sSuffix + '.js' ) ; +LoadScript( '_source/commandclasses/fcktextcolorcommand.js' ) ; +LoadScript( '_source/commandclasses/fckpasteplaintextcommand.js' ) ; +LoadScript( '_source/commandclasses/fckpastewordcommand.js' ) ; +LoadScript( '_source/commandclasses/fcktablecommand.js' ) ; +LoadScript( '_source/commandclasses/fckfitwindow.js' ) ; +LoadScript( '_source/commandclasses/fcklistcommands.js' ) ; +LoadScript( '_source/commandclasses/fckjustifycommands.js' ) ; +LoadScript( '_source/commandclasses/fckindentcommands.js' ) ; +LoadScript( '_source/commandclasses/fckblockquotecommand.js' ) ; +LoadScript( '_source/commandclasses/fckcorestylecommand.js' ) ; +LoadScript( '_source/commandclasses/fckremoveformatcommand.js' ) ; +LoadScript( '_source/internals/fckcommands.js' ) ; + +LoadScript( '_source/classes/fckpanel.js' ) ; +LoadScript( '_source/classes/fckicon.js' ) ; +LoadScript( '_source/classes/fcktoolbarbuttonui.js' ) ; +LoadScript( '_source/classes/fcktoolbarbutton.js' ) ; +LoadScript( '_source/classes/fckspecialcombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarspecialcombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarstylecombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarfontformatcombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarfontscombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarfontsizecombo.js' ) ; +LoadScript( '_source/classes/fcktoolbarpanelbutton.js' ) ; +LoadScript( '_source/internals/fcktoolbaritems.js' ) ; +LoadScript( '_source/classes/fcktoolbar.js' ) ; +LoadScript( '_source/classes/fcktoolbarbreak_' + sSuffix + '.js' ) ; +LoadScript( '_source/internals/fcktoolbarset.js' ) ; +LoadScript( '_source/internals/fckdialog.js' ) ; +LoadScript( '_source/classes/fckmenuitem.js' ) ; +LoadScript( '_source/classes/fckmenublock.js' ) ; +LoadScript( '_source/classes/fckmenublockpanel.js' ) ; +LoadScript( '_source/classes/fckcontextmenu.js' ) ; +LoadScript( '_source/internals/fck_contextmenu.js' ) ; +LoadScript( '_source/classes/fckhtmliterator.js' ) ; +LoadScript( '_source/classes/fckplugin.js' ) ; +LoadScript( '_source/internals/fckplugins.js' ) ; + +// @Packager.Remove.End + +// Base configuration file. +LoadScript( '../fckconfig.js' ) ; + + </script> + <script type="text/javascript"> + +// Adobe AIR compatibility file. +if ( FCKBrowserInfo.IsAIR ) + LoadScript( 'js/fckadobeair.js' ) ; + +if ( FCKBrowserInfo.IsIE ) +{ + // Remove IE mouse flickering. + try + { + document.execCommand( 'BackgroundImageCache', false, true ) ; + } + catch (e) + { + // We have been reported about loading problems caused by the above + // line. For safety, let's just ignore errors. + } + + // Create the default cleanup object used by the editor. + FCK.IECleanup = new FCKIECleanup( window ) ; + FCK.IECleanup.AddItem( FCKTempBin, FCKTempBin.Reset ) ; + FCK.IECleanup.AddItem( FCK, FCK_Cleanup ) ; +} + +// The first function to be called on selection change must the the styles +// change checker, because the result of its processing may be used by another +// functions listening to the same event. +FCK.Events.AttachEvent( 'OnSelectionChange', function() { FCKStyles.CheckSelectionChanges() ; } ) ; + +// The config hidden field is processed immediately, because +// CustomConfigurationsPath may be set in the page. +FCKConfig.ProcessHiddenField() ; + +// Load the custom configurations file (if defined). +if ( FCKConfig.CustomConfigurationsPath.length > 0 ) + LoadScript( FCKConfig.CustomConfigurationsPath ) ; + + </script> + <script type="text/javascript"> + +// Load configurations defined at page level. +FCKConfig_LoadPageConfig() ; + +FCKConfig_PreProcess() ; + +// Load the full debug script. +if ( FCKConfig.Debug ) + LoadScript( '_source/internals/fckdebug.js' ) ; + + </script> + <script type="text/javascript"> + +var FCK_InternalCSS = FCKConfig.BasePath + 'css/fck_internal.css' ; // @Packager.RemoveLine +var FCK_ShowTableBordersCSS = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ; // @Packager.RemoveLine +/* @Packager.RemoveLine +// CSS minified by http://iceyboard.no-ip.org/projects/css_compressor (see _dev/css_compression.txt). +var FCK_InternalCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'html{min-height:100%}table.FCK__ShowTableBorders,table.FCK__ShowTableBorders td,table.FCK__ShowTableBorders th{border:#d3d3d3 1px solid}form{border:1px dotted #F00;padding:2px}.FCK__Flash{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_flashlogo.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__UnknownObject{border:#a9a9a9 1px solid;background-position:center center;background-image:url(images/fck_plugin.gif);background-repeat:no-repeat;width:80px;height:80px}.FCK__Anchor{border:1px dotted #00F;background-position:center center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;width:16px;height:15px;vertical-align:middle}.FCK__AnchorC{border:1px dotted #00F;background-position:1px center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}a[name]{border:1px dotted #00F;background-position:0 center;background-image:url(images/fck_anchor.gif);background-repeat:no-repeat;padding-left:18px}.FCK__PageBreak{background-position:center center;background-image:url(images/fck_pagebreak.gif);background-repeat:no-repeat;clear:both;display:block;float:none;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;border-right:0;border-left:0;height:5px}.FCK__InputHidden{width:19px;height:18px;background-image:url(images/fck_hiddenfield.gif);background-repeat:no-repeat;vertical-align:text-bottom;background-position:center center}.FCK__ShowBlocks p,.FCK__ShowBlocks div,.FCK__ShowBlocks pre,.FCK__ShowBlocks address,.FCK__ShowBlocks blockquote,.FCK__ShowBlocks h1,.FCK__ShowBlocks h2,.FCK__ShowBlocks h3,.FCK__ShowBlocks h4,.FCK__ShowBlocks h5,.FCK__ShowBlocks h6{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px;padding-left:8px}.FCK__ShowBlocks p{background-image:url(images/block_p.png)}.FCK__ShowBlocks div{background-image:url(images/block_div.png)}.FCK__ShowBlocks pre{background-image:url(images/block_pre.png)}.FCK__ShowBlocks address{background-image:url(images/block_address.png)}.FCK__ShowBlocks blockquote{background-image:url(images/block_blockquote.png)}.FCK__ShowBlocks h1{background-image:url(images/block_h1.png)}.FCK__ShowBlocks h2{background-image:url(images/block_h2.png)}.FCK__ShowBlocks h3{background-image:url(images/block_h3.png)}.FCK__ShowBlocks h4{background-image:url(images/block_h4.png)}.FCK__ShowBlocks h5{background-image:url(images/block_h5.png)}.FCK__ShowBlocks h6{background-image:url(images/block_h6.png)}' ) ; +var FCK_ShowTableBordersCSS = FCKTools.FixCssUrls( FCKConfig.BasePath + 'css/', 'table:not([border]),table:not([border]) > tr > td,table:not([border]) > tr > th,table:not([border]) > tbody > tr > td,table:not([border]) > tbody > tr > th,table:not([border]) > thead > tr > td,table:not([border]) > thead > tr > th,table:not([border]) > tfoot > tr > td,table:not([border]) > tfoot > tr > th,table[border=\"0\"],table[border=\"0\"] > tr > td,table[border=\"0\"] > tr > th,table[border=\"0\"] > tbody > tr > td,table[border=\"0\"] > tbody > tr > th,table[border=\"0\"] > thead > tr > td,table[border=\"0\"] > thead > tr > th,table[border=\"0\"] > tfoot > tr > td,table[border=\"0\"] > tfoot > tr > th{border:#d3d3d3 1px dotted}' ) ; +****@Packa***** */ + +// Popup the debug window if debug mode is set to true. It guarantees that the +// first debug message will not be lost. +if ( FCKConfig.Debug ) + FCKDebug._GetWindow() ; + +// Load the active skin CSS. +document.write( FCKTools.GetStyleHtml( FCKConfig.SkinEditorCSS ) ) ; + +// Load the language file. +FCKLanguageManager.Initialize() ; +LoadScript( 'lang/' + FCKLanguageManager.ActiveLanguage.Code + '.js' ) ; + + </script> + <script type="text/javascript"> + +// Initialize the editing area context menu. +FCK_ContextMenu_Init() ; + +FCKPlugins.Load() ; + + </script> + <script type="text/javascript"> + +// Set the editor interface direction. +window.document.dir = FCKLang.Dir ; + + </script> + <script type="text/javascript"> + +window.onload = function() +{ + InitializeAPI() ; + + if ( FCKBrowserInfo.IsIE ) + FCK_PreloadImages() ; + else + LoadToolbarSetup() ; +} + +function LoadToolbarSetup() +{ + FCKeditorAPI._FunctionQueue.Add( LoadToolbar ) ; +} + +function LoadToolbar() +{ + var oToolbarSet = FCK.ToolbarSet = FCKToolbarSet_Create() ; + + if ( oToolbarSet.IsLoaded ) + StartEditor() ; + else + { + oToolbarSet.OnLoad = StartEditor ; + oToolbarSet.Load( FCKURLParams['Toolbar'] || 'Default' ) ; + } +} + +function StartEditor() +{ + // Remove the onload listener. + FCK.ToolbarSet.OnLoad = null ; + + FCKeditorAPI._FunctionQueue.Remove( LoadToolbar ) ; + + FCK.Events.AttachEvent( 'OnStatusChange', WaitForActive ) ; + + // Start the editor. + FCK.StartEditor() ; +} + +function WaitForActive( editorInstance, newStatus ) +{ + if ( newStatus == FCK_STATUS_ACTIVE ) + { + if ( FCKBrowserInfo.IsGecko ) + FCKTools.RunFunction( window.onresize ) ; + + if ( !FCKConfig.PreventSubmitHandler ) + _AttachFormSubmitToAPI() ; + + FCK.SetStatus( FCK_STATUS_COMPLETE ) ; + + // Call the special "FCKeditor_OnComplete" function that should be present in + // the HTML page where the editor is located. + if ( typeof( window.parent.FCKeditor_OnComplete ) == 'function' ) + window.parent.FCKeditor_OnComplete( FCK ) ; + } +} + +// Gecko browsers doesn't calculate well the IFRAME size so we must +// recalculate it every time the window size changes. +if ( FCKBrowserInfo.IsGecko && !FCKBrowserInfo.IsOpera ) +{ + window.onresize = function( e ) + { + // Running in Chrome makes the window receive the event including subframes. + // we care only about this window. Ticket #1642. + // #2002: The originalTarget from the event can be the current document, the window, or the editing area. + if ( e && e.originalTarget !== document && e.originalTarget !== window && (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument != document )) + return ; + + var oCell = document.getElementById( 'xEditingArea' ) ; + + var eInnerElement = oCell.firstChild ; + if ( eInnerElement ) + { + eInnerElement.style.height = '0px' ; + eInnerElement.style.height = ( oCell.scrollHeight - 2 ) + 'px' ; + } + } +} + + </script> +</head> +<body> + <table width="100%" cellpadding="0" cellspacing="0" style="height: 100%; table-layout: fixed"> + <tr id="xToolbarRow" style="display: none"> + <td id="xToolbarSpace" style="overflow: hidden"> + <table width="100%" cellpadding="0" cellspacing="0"> + <tr id="xCollapsed" style="display: none"> + <td id="xExpandHandle" class="TB_Expand" colspan="3"> + <img class="TB_ExpandImg" alt="" src="images/spacer.gif" width="8" height="4" /></td> + </tr> + <tr id="xExpanded" style="display: none"> + <td id="xTBLeftBorder" class="TB_SideBorder" style="width: 1px; display: none;"></td> + <td id="xCollapseHandle" style="display: none" class="TB_Collapse" valign="bottom"> + <img class="TB_CollapseImg" alt="" src="images/spacer.gif" width="8" height="4" /></td> + <td id="xToolbar" class="TB_ToolbarSet"></td> + <td class="TB_SideBorder" style="width: 1px"></td> + </tr> + </table> + </td> + </tr> + <tr> + <td id="xEditingArea" valign="top" style="height: 100%"></td> + </tr> + </table> +</body> +</html>