Index: lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuitem.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuitem.js (.../fckcontextmenuitem.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuitem.js (.../fckcontextmenuitem.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -61,11 +61,10 @@ var oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Icon' ; - if ( this.HasIcon ) oCell.innerHTML = '' ; + if ( this.HasIcon ) oCell.innerHTML = '' ; oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Label' ; - oCell.unselectable = 'on' ; oCell.noWrap = true ; oCell.innerHTML = this.Label ; } @@ -93,8 +92,8 @@ Sample output. ----------------------------------------- - - Cut + + Cut ----------------------------------------- Index: lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuseparator.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuseparator.js (.../fckcontextmenuseparator.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckcontextmenuseparator.js (.../fckcontextmenuseparator.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -30,9 +30,11 @@ var oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Icon' ; + var oDoc = targetTable.ownerDocument || targetTable.document ; + oCell = this._Row.insertCell(-1) ; oCell.className = 'CM_Label' ; - oCell.innerHTML = '
' ; + oCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'CM_Separator_Line' ; } FCKContextMenuSeparator.prototype.SetVisible = function( isVisible ) Index: lams_central/web/fckeditor/editor/_source/classes/fckpanel_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckpanel_gecko.js (.../fckpanel_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckpanel_gecko.js (.../fckpanel_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -19,51 +19,41 @@ var FCKPanel = function( parentWindow ) { + this.IsRTL = false ; + this.IsContextMenu = false ; + this._IsOpened = false ; + if ( parentWindow ) - this.Window = parentWindow ; + this._Window = parentWindow ; else { - this.Window = window ; + this._Window = window ; - while ( this.Window != window.top ) + while ( this._Window != window.top ) { // Try/Catch must be used to avoit an error when using a frameset // on a different domain: // "Permission denied to get property HTMLDocument.Body". try { - if ( this.Window.parent.document.body.tagName == 'FRAMESET' ) + if ( this._Window.parent.document.body.tagName == 'FRAMESET' ) break ; - } - catch (e) - { - break ; - } + } catch (e) { break ; } - this.Window = this.Window.parent ; + this._Window = this._Window.parent ; } } -} + + var oIFrame = this._IFrame = this._Window.document.createElement('iframe') ; + oIFrame.frameBorder = '0'; + oIFrame.scrolling = 'no' ; + oIFrame.style.position = 'absolute'; + oIFrame.width = oIFrame.height = 0 ; + oIFrame.style.zIndex = FCKConfig.FloatingPanelsZIndex ; -FCKPanel.prototype.Create = function() -{ - this._IFrame = this.Window.document.createElement('iframe') ; - this._IFrame.src = 'about:blank' ; - this._IFrame.frameBorder = '0'; - this._IFrame.scrolling = 'no' ; - this._IFrame.style.left = '0px' ; - this._IFrame.style.top = '0px' ; - this._IFrame.width = 10 ; - this._IFrame.height = 10 ; - this._IFrame.style.position = 'absolute'; - this._IFrame.style.visibility = 'hidden' ; - - this._IFrame.IsFCKPanel = true ; - this._IFrame.Panel = this ; - - this.Window.document.body.appendChild( this._IFrame ) ; + this._Window.document.body.appendChild( oIFrame ) ; - this.Document = this._IFrame.contentWindow.document ; + this.Document = oIFrame.contentWindow.document ; // Initialize the IFRAME document body. this.Document.open() ; @@ -73,134 +63,111 @@ // Remove the default margins. this.Document.body.style.margin = this.Document.body.style.padding = '0px' ; - // Add the defined Style Sheet to the document. - if ( this.StyleSheet ) - FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ; + this._IFrame.contentWindow.onblur = this.Hide ; + + oIFrame.contentWindow.Panel = this ; - this.OuterDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ; - this.OuterDiv.style.cssFloat = 'left' ; - - this.PanelDiv = this.OuterDiv.appendChild( this.Document.createElement('DIV') ) ; + // Create the main DIV that is used as the panel base. + this.PanelDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ; this.PanelDiv.className = 'FCK_Panel' ; + + this.EnableContextMenu( false ) ; + this.SetDirection( FCKLang.Dir ) ; +} - this.Created = true ; +FCKPanel.prototype.EnableContextMenu = function( enabled ) +{ + this.Document.oncontextmenu = enabled ? null : FCKTools.CancelEvent ; } -FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize ) +FCKPanel.prototype.AppendStyleSheet = function( styleSheet ) { - if ( ! this.Created ) - this.Create() ; + FCKTools.AppendStyleSheet( this.Document, styleSheet ) ; +} - if ( width != null && autoSize && width < this.OuterDiv.offsetWidth ) - this.PanelDiv.style.width = width ; +FCKPanel.prototype.SetDirection = function( dir ) +{ + this.IsRTL = ( dir == 'rtl' ) ; + this.Document.dir = dir ; - if ( height != null && autoSize && height < this.PanelDiv.offsetHeight ) - this.PanelDiv.style.height = height + 'px' ; + // The "float" property must be set so Firefox calculates the size correcly. + this.PanelDiv.style.cssFloat = ( dir == 'rtl' ? 'right' : 'left' ) ; +} - var oPos = this.GetElementPosition( relElement ) ; +FCKPanel.prototype.Load = function() +{ + // This is a IE only need. +} - panelX += oPos.X ; - panelY += oPos.Y ; +FCKPanel.prototype.Show = function( x, y, relElement, width, height ) +{ + this.PanelDiv.style.width = width ? width + 'px' : '' ; + this.PanelDiv.style.height = height ? height + 'px' : '' ; - if ( panelX + this.OuterDiv.offsetWidth > this.Window.innerWidth ) - { - // The following line aligns the panel to the other side of the refElement. - // panelX = oPos.X - ( this.PanelDiv.offsetWidth - relElement.offsetWidth ) ; + if ( !width ) this._IFrame.width = 1 ; + if ( !height ) this._IFrame.height = 1 ; - panelX -= panelX + this.OuterDiv.offsetWidth - this.Window.innerWidth ; - } + var oPos = FCKTools.GetElementPosition( relElement, this._Window ) ; - // Set the context menu DIV in the specified location. - this._IFrame.style.left = panelX + 'px' ; - this._IFrame.style.top = panelY + 'px' ; + x += oPos.X ; + y += oPos.Y ; - // Watch the "OnClick" event for all windows to close the Context Menu. - function SetOnClickListener( targetWindow, targetFunction ) + if ( this.IsRTL ) { - // Try/Catch must be used to avoit an error when using a frameset - // on a different domain: - // "Permission denied to get property Window.frameElement". - try - { - if ( targetWindow == null || ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel ) ) - return ; - - targetWindow.document.addEventListener( 'click', targetFunction, false ) ; - } - catch (e) {} - - for ( var i = 0 ; i < targetWindow.frames.length ; i++ ) - SetOnClickListener( targetWindow.frames[i], targetFunction ) ; + if ( this.IsContextMenu ) + x = x - this.PanelDiv.offsetWidth + 1 ; + else if ( relElement ) + x = x + ( relElement.offsetWidth - this.PanelDiv.offsetWidth ) ; } - SetOnClickListener( window.top, FCKPanelEventHandlers.OnDocumentClick ) ; - - this._IFrame.width = this.OuterDiv.offsetWidth ; - this._IFrame.height = this.OuterDiv.offsetHeight ; - - // Show it. - this._IFrame.style.visibility = '' ; -} - -FCKPanel.prototype.GetElementPosition = function( el ) -{ - // Initializes the Coordinates object that will be returned by the function. - var c = { X:0, Y:0 } ; - - // Loop throw the offset chain. - while ( el ) + else { - c.X += el.offsetLeft ; - c.Y += el.offsetTop ; - - if ( el.offsetParent == null && el.ownerDocument.defaultView != this.Window ) - el = el.ownerDocument.defaultView.frameElement ; - else - el = el.offsetParent ; + if ( ( x + this.PanelDiv.offsetWidth ) > this._Window.document.body.clientWidth ) + x -= x + this.PanelDiv.offsetWidth - this._Window.document.body.clientWidth ; } + + if ( x < 0 ) + x = 0 ; - // Return the Coordinates object - return c ; + // Set the context menu DIV in the specified location. + this._IFrame.style.left = x + 'px' ; + this._IFrame.style.top = y + 'px' ; + + var iWidth = this.PanelDiv.offsetWidth ; + var iHeight = this.PanelDiv.offsetHeight ; + + this._IFrame.width = iWidth ; + this._IFrame.height = iHeight ; + + // Move the focus to the IFRAME so we catch the "onblur". + this._IFrame.contentWindow.focus() ; + + this._IsOpened = true ; } FCKPanel.prototype.Hide = function() { - // There is a bug on Firefox over Mac. It doesn't hide the Panel - // scrollbars, so we must force it. - this.PanelDiv.style.overflow = 'visible' ; + var oPanel = this.Panel ? this.Panel : this ; + + if ( !oPanel._IsOpened ) + return ; + + // It is better to set the sizes to 0, otherwise Firefox would have + // rendering problems. + oPanel._IFrame.width = oPanel._IFrame.height = 0 ; + + if ( oPanel._OnHide ) + oPanel._OnHide( oPanel ) ; - this._IFrame.style.visibility = 'hidden' ; -// this._IFrame.style.left = this._IFrame.style.top = '0px' ; + oPanel._IsOpened = false ; } -var FCKPanelEventHandlers = new Object() ; - -FCKPanelEventHandlers.OnDocumentClick = function( e ) +FCKPanel.prototype.CheckIsOpened = function() { - var oWindow = e.target.ownerDocument.defaultView ; + return this._IsOpened ; +} - if ( ! oWindow.IsFCKPanel ) - { - function RemoveOnClickListener( targetWindow ) - { - if ( targetWindow == null ) - return ; - - // Try/Catch must be used to avoit an error when using a frameset - // on a different domain: - // "Permission denied to get property Window.frameElement". - try - { - if ( targetWindow.frameElement && targetWindow.frameElement.IsFCKPanel ) - targetWindow.frameElement.Panel.Hide() ; - else - targetWindow.document.removeEventListener( 'click', FCKPanelEventHandlers.OnDocumentClick, false ) ; - } - catch (e) {} - - for ( var i = 0 ; i < targetWindow.frames.length ; i++ ) - RemoveOnClickListener( targetWindow.frames[i] ) ; - } - RemoveOnClickListener( window.top ) ; - } +FCKPanel.prototype.AttachToOnHideEvent = function( targetFunction ) +{ + this._OnHide = targetFunction ; } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/classes/fckpanel_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckpanel_ie.js (.../fckpanel_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckpanel_ie.js (.../fckpanel_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -19,60 +19,109 @@ var FCKPanel = function( parentWindow ) { - this.Window = parentWindow ? parentWindow : window ; -} - -function FCKPanel_OnContextMenu() { return false ; } - -FCKPanel.prototype.Create = function() -{ - // Create the Popup that will hold the panel. - this._Popup = this.Window.createPopup() ; + this.IsRTL = false ; + this.IsContextMenu = false ; + this._IsOpened = false ; - this.Document = this._Popup.document ; + this._Window = parentWindow ? parentWindow : window ; - aCleanupDocs[ aCleanupDocs.length ] = this.Document ; - - this.Document.oncontextmenu = FCKPanel_OnContextMenu ; + // Create the Popup that will hold the panel. + this._Popup = this._Window.createPopup() ; + this.Document = this._Popup.document ; - if ( this.StyleSheet ) - FCKTools.AppendStyleSheet( this.Document, this.StyleSheet ) ; - + // Create the main DIV that is used as the panel base. this.PanelDiv = this.Document.body.appendChild( this.Document.createElement('DIV') ) ; this.PanelDiv.className = 'FCK_Panel' ; - - this.Created = true ; + + this.EnableContextMenu( false ) ; + this.SetDirection( FCKLang.Dir ) ; } -FCKPanel.prototype.Show = function( panelX, panelY, relElement, width, height, autoSize ) +FCKPanel.prototype.EnableContextMenu = function( enabled ) { - if ( ! this.Created ) - this._Create() ; - + this.Document.oncontextmenu = enabled ? null : FCKTools.CancelEvent ; +} + +FCKPanel.prototype.AppendStyleSheet = function( styleSheet ) +{ + FCKTools.AppendStyleSheet( this.Document, styleSheet ) ; +} + +FCKPanel.prototype.SetDirection = function( dir ) +{ + this.IsRTL = ( dir == 'rtl' ) ; + this.Document.dir = dir ; +} + +FCKPanel.prototype.Load = function( x, y, relElement ) +{ // The offsetWidth and offsetHeight properties are not available if the // element is not visible. So we must "show" the popup with no size to // be able to use that values in the second call. - this._Popup.show( panelX, panelY, 0, 0, relElement ) ; + this._Popup.show( x, y, 0, 0, relElement ) ; +} - if ( width == null || ( autoSize && width > this.PanelDiv.offsetWidth ) ) - var iWidth = this.PanelDiv.offsetWidth ; - else - var iWidth = width ; +FCKPanel.prototype.Show = function( x, y, relElement, width, height ) +{ + this.Load( x, y, relElement ) ; - if ( height == null || ( autoSize && height > this.PanelDiv.offsetHeight ) ) - var iHeight = this.PanelDiv.offsetHeight ; - else - var iHeight = height ; + // The following lines must be place after the above "show", otherwise it + // doesn't has the desired effect. + this.PanelDiv.style.width = width ? width + 'px' : '' ; + this.PanelDiv.style.height = height ? height + 'px' : '' ; - this.PanelDiv.style.height = iHeight ; + if ( this.IsRTL ) + { + if ( this.IsContextMenu ) + x = x - this.PanelDiv.offsetWidth + 1 ; + else if ( relElement ) + x = x + ( relElement.offsetWidth - this.PanelDiv.offsetWidth ) ; + } - // Second call: Show the Popup at the specified location. - this._Popup.show( panelX, panelY, iWidth, iHeight, relElement ) ; + // Second call: Show the Popup at the specified location, with the correct size. + this._Popup.show( x, y, this.PanelDiv.offsetWidth, this.PanelDiv.offsetHeight, relElement ) ; + + if ( this._OnHide ) + { + if ( FCKPanel_ActivePopupInfo.Timer ) + CheckPopupOnHide() ; + FCKPanel_ActivePopupInfo.Timer = window.setInterval( CheckPopupOnHide, 200 ) ; + FCKPanel_ActivePopupInfo.Panel = this ; + } + + this._IsOpened = true ; } FCKPanel.prototype.Hide = function() { - if ( this._Popup ) - this._Popup.hide() ; + this._Popup.hide() ; +} + +FCKPanel.prototype.CheckIsOpened = function() +{ + return this._Popup.isOpen ; +} + +FCKPanel.prototype.AttachToOnHideEvent = function( targetFunction ) +{ + this._OnHide = targetFunction ; +} + +var FCKPanel_ActivePopupInfo = new Object() ; + +function CheckPopupOnHide() +{ + var oPanel = FCKPanel_ActivePopupInfo.Panel ; + + if ( oPanel && !oPanel._Popup.isOpen ) + { + window.clearInterval( FCKPanel_ActivePopupInfo.Timer ) ; + + if ( oPanel._OnHide ) + oPanel._OnHide( oPanel ) ; + + FCKPanel_ActivePopupInfo.Timer = null ; + FCKPanel_ActivePopupInfo.Panel = null ; + } } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/classes/fckspecialcombo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckspecialcombo.js (.../fckspecialcombo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckspecialcombo.js (.../fckspecialcombo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -17,12 +17,12 @@ * Frederico Caldeira Knabben (fredck@fckeditor.net) */ -var FCKSpecialCombo = function( caption ) +var FCKSpecialCombo = function( caption, fieldWidth, panelWidth, panelMaxHeight, parentWindow ) { // Default properties values. - this.FieldWidth = 80 ; - this.PanelWidth = 130 ; - this.PanelMaxHeight = 150 ; + this.FieldWidth = fieldWidth || 100 ; + this.PanelWidth = panelWidth || 150 ; + this.PanelMaxHeight = panelMaxHeight || 150 ; this.Label = ' ' ; this.Caption = caption ; this.Tooltip = caption ; @@ -32,13 +32,21 @@ this.Items = new Object() ; - this._Panel = new FCKPanel() ; - this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; - this._Panel.Create() ; - this._Panel.PanelDiv.className += ' SC_Panel' ; - this._Panel.PanelDiv.innerHTML = '
' ; + this._Panel = new FCKPanel( parentWindow ) ; + this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; + this._PanelBox = this._Panel.PanelDiv.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; + this._PanelBox.className = 'SC_Panel' ; + this._PanelBox.style.width = this.PanelWidth + 'px' ; + + this._PanelBox.innerHTML = '
' ; - this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ; + this._ItemsHolderEl = this._PanelBox.getElementsByTagName('TD')[0] ; + +// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; +// this._Panel.Create() ; +// this._Panel.PanelDiv.className += ' SC_Panel' ; +// this._Panel.PanelDiv.innerHTML = '
' ; +// this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ; } function FCKSpecialCombo_ItemOnMouseOver() @@ -93,13 +101,33 @@ } } -FCKSpecialCombo.prototype.DeselectAll = function() +FCKSpecialCombo.prototype.SelectItemByLabel = function( itemLabel, setLabel ) { + for ( var id in this.Items ) + { + var oDiv = this.Items[id] ; + + if ( oDiv.FCKItemLabel == itemLabel ) + { + oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ; + oDiv.Selected = true ; + + if ( setLabel ) + this.SetLabel( itemLabel ) ; + } + } +} + +FCKSpecialCombo.prototype.DeselectAll = function( clearLabel ) +{ for ( var i in this.Items ) { this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ; this.Items[i].Selected = false ; } + + if ( clearLabel ) + this.SetLabel( '' ) ; } FCKSpecialCombo.prototype.SetLabelById = function( id ) @@ -154,7 +182,6 @@ if ( this.Caption && this.Caption.length > 0 && bShowLabel ) { var oCaptionCell = this._OuterTable.rows[0].insertCell(-1) ; - oCaptionCell.unselectable = 'on' ; oCaptionCell.innerHTML = this.Caption ; oCaptionCell.className = 'SC_FieldCaption' ; } @@ -165,23 +192,23 @@ { oField.className = 'SC_Field' ; oField.style.width = this.FieldWidth + 'px' ; - oField.innerHTML = '
 
' ; + oField.innerHTML = '
 
' ; this._LabelEl = oField.getElementsByTagName('label')[0] ; this._LabelEl.innerHTML = this.Label ; } else { oField.className = 'TB_Button_Off' ; - //oField.innerHTML = '' + this.Caption + '
 
' ; - oField.innerHTML = '
 
' ; + //oField.innerHTML = '' + this.Caption + '
 
' ; + oField.innerHTML = '
 
' ; // Gets the correct CSS class to use for the specified style (param). - oField.innerHTML ='' + + oField.innerHTML ='
' + '' + - //'' + - '' + - '' + + //'' + + '' + + '' + '' + '
' + this.Caption + '' + this.Caption + '
' ; } @@ -194,6 +221,8 @@ oField.onmouseover = FCKSpecialCombo_OnMouseOver ; oField.onmouseout = FCKSpecialCombo_OnMouseOut ; oField.onclick = FCKSpecialCombo_OnClick ; + + FCKTools.DisableSelection( this._Panel.Document.body ) ; } function FCKSpecialCombo_OnMouseOver() @@ -235,30 +264,39 @@ { // For Mozilla we must stop the event propagation to avoid it hiding // the panel because of a click outside of it. - if ( e ) - { - e.stopPropagation() ; - FCKPanelEventHandlers.OnDocumentClick( e ) ; - } +// if ( e ) +// { +// e.stopPropagation() ; +// FCKPanelEventHandlers.OnDocumentClick( e ) ; +// } + + var oSpecialCombo = this.SpecialCombo ; - if ( this.SpecialCombo.Enabled ) + if ( oSpecialCombo.Enabled ) { - var oPanel = this.SpecialCombo._Panel ; + var oPanel = oSpecialCombo._Panel ; + var oPanelBox = oSpecialCombo._PanelBox ; + var oItemsHolder = oSpecialCombo._ItemsHolderEl ; + var iMaxHeight = oSpecialCombo.PanelMaxHeight ; - if ( typeof( this.SpecialCombo.OnBeforeClick ) == 'function' ) - this.SpecialCombo.OnBeforeClick( this.SpecialCombo ) ; + if ( oSpecialCombo.OnBeforeClick ) + oSpecialCombo.OnBeforeClick( oSpecialCombo ) ; - if ( this.SpecialCombo._ItemsHolderEl.offsetHeight > this.SpecialCombo.PanelMaxHeight ) - oPanel.PanelDiv.style.height = this.SpecialCombo.PanelMaxHeight + 'px' ; + // This is a tricky thing. We must call the "Load" function, otherwise + // it will not be possible to retrieve "oItemsHolder.offsetHeight". + oPanel.Load( 0, this.offsetHeight, this ) ; + + if ( oItemsHolder.offsetHeight > iMaxHeight ) + oPanelBox.style.height = iMaxHeight + 'px' ; else - oPanel.PanelDiv.style.height = this.SpecialCombo._ItemsHolderEl.offsetHeight + 'px' ; + oPanelBox.style.height = oItemsHolder.offsetHeight + 'px' ; - oPanel.PanelDiv.style.width = this.SpecialCombo.PanelWidth + 'px' ; +// oPanel.PanelDiv.style.width = oSpecialCombo.PanelWidth + 'px' ; if ( FCKBrowserInfo.IsGecko ) - oPanel.PanelDiv.style.overflow = '-moz-scrollbars-vertical' ; + oPanelBox.style.overflow = '-moz-scrollbars-vertical' ; - oPanel.Show( 0, this.offsetHeight, this, null, this.SpecialCombo.PanelMaxHeight, true ) ; + oPanel.Show( 0, this.offsetHeight, this ) ; } return false ; Index: lams_central/web/fckeditor/editor/_source/classes/fckstyledef_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fckstyledef_ie.js (.../fckstyledef_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fckstyledef_ie.js (.../fckstyledef_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -50,10 +50,19 @@ { for ( var a in this.Attributes ) { - if ( a.toLowerCase() == 'style' ) - targetElement.style.cssText = this.Attributes[a] ; - else - targetElement.setAttribute( a, this.Attributes[a], 0 ) ; + switch ( a.toLowerCase() ) + { + case 'style' : + targetElement.style.cssText = this.Attributes[a] ; + break ; + + case 'class' : + targetElement.setAttribute( 'className', this.Attributes[a], 0 ) ; + break ; + + default : + targetElement.setAttribute( a, this.Attributes[a], 0 ) ; + } } } @@ -65,10 +74,7 @@ this._RemoveDuplicates( oChild ) ; if ( this.IsEqual( oChild ) ) - { - oChild.insertAdjacentHTML( 'beforeBegin', oChild.innerHTML ) ; - oChild.parentElement.removeChild( oChild ) ; - } + FCKTools.RemoveOuterTags( oChild ) ; } } Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbar.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbar.js (.../fcktoolbar.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbar.js (.../fcktoolbar.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -36,7 +36,7 @@ var oCell = this.DOMRow.insertCell(-1) ; oCell.className = 'TB_Start' ; - oCell.innerHTML = '' ; + oCell.innerHTML = '' ; FCKToolbarSet.DOMElement.appendChild( e ) ; } @@ -50,13 +50,12 @@ FCKToolbar.prototype.AddSeparator = function() { var oCell = this.DOMRow.insertCell(-1) ; - oCell.unselectable = 'on' ; - oCell.innerHTML = '' ; + oCell.innerHTML = '' ; } FCKToolbar.prototype.AddTerminator = function() { var oCell = this.DOMRow.insertCell(-1) ; oCell.className = 'TB_End' ; - oCell.innerHTML = '' ; + oCell.innerHTML = '' ; } Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarbutton.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarbutton.js (.../fcktoolbarbutton.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarbutton.js (.../fcktoolbarbutton.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -37,14 +37,14 @@ this.DOMDiv.FCKToolbarButton = this ; var sHtml = - '' + + '
' + '' ; if ( this.Style != FCK_TOOLBARITEM_ONLYTEXT ) - sHtml += '' ; + sHtml += '' ; if ( this.Style != FCK_TOOLBARITEM_ONLYICON ) - sHtml += '' ; + sHtml += '' ; sHtml += '' + @@ -61,7 +61,7 @@ FCKToolbarButton.prototype.RefreshState = function() { /* - TODO: Delete this commend block on stable version. + TODO: Delete this comment block on stable version. // Gets the actual state. // var eState ; Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js (.../fcktoolbarfontformatcombo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js (.../fcktoolbarfontformatcombo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -24,6 +24,8 @@ this.Tooltip = tooltip ? tooltip : this.Label ; this.Style = style ? style : FCK_TOOLBARITEM_ICONTEXT ; + this.NormalLabel = 'Normal' ; + this.PanelWidth = 190 ; } @@ -57,8 +59,40 @@ for ( var i = 0 ; i < aTags.length ; i++ ) { - if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko ) - continue ; - this._Combo.AddItem( aTags[i], '<' + aTags[i] + '>' + oNames[aTags[i]] + '', oNames[aTags[i]] ) ; + // Support for DIV in Firefox has been reintroduced on version 2.2. +// if ( aTags[i] == 'div' && FCKBrowserInfo.IsGecko ) +// continue ; + + var sTag = aTags[i] ; + var sLabel = oNames[sTag] ; + + if ( sTag == 'p' ) + this.NormalLabel = sLabel ; + + this._Combo.AddItem( sTag, '
<' + sTag + '>' + sLabel + '
', sLabel ) ; } +} + +if ( FCKBrowserInfo.IsIE ) +{ + FCKToolbarFontFormatCombo.prototype.RefreshActiveItems = function( combo, value ) + { +// FCKDebug.Output( 'FCKToolbarFontFormatCombo Value: ' + value ) ; + + // IE returns normal for DIV and P, so to avoid confusion, we will not show it if normal. + if ( value == this.NormalLabel ) + { + if ( combo.Label != ' ' ) + combo.DeselectAll(true) ; + } + else + { + if ( this._LastValue == value ) + return ; + + combo.SelectItemByLabel( value, true ) ; + } + + this._LastValue = value ; + } } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js (.../fcktoolbarfontscombo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js (.../fcktoolbarfontscombo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -38,5 +38,5 @@ var aFonts = FCKConfig.FontNames.split(';') ; for ( var i = 0 ; i < aFonts.length ; i++ ) - this._Combo.AddItem( aFonts[i], '' + aFonts[i] + '' ) ; + this._Combo.AddItem( aFonts[i], '' + aFonts[i] + '' ) ; } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js (.../fcktoolbarpanelbutton.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js (.../fcktoolbarpanelbutton.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -25,17 +25,18 @@ this.Tooltip = tooltip ? tooltip : ( label ? label : commandName) ; this.Style = style ? style : FCK_TOOLBARITEM_ONLYICON ; this.State = FCK_UNKNOWN ; + this.IconPath = FCKConfig.SkinPath + 'toolbar/' + commandName.toLowerCase() + '.gif' ; } FCKToolbarPanelButton.prototype.Click = function(e) { // For Mozilla we must stop the event propagation to avoid it hiding // the panel because of a click outside of it. - if ( e ) - { - e.stopPropagation() ; - FCKPanelEventHandlers.OnDocumentClick( e ) ; - } +// if ( e ) +// { +// e.stopPropagation() ; +// FCKPanelEventHandlers.OnDocumentClick( e ) ; +// } if ( this.State != FCK_TRISTATE_DISABLED ) { @@ -54,17 +55,17 @@ this.DOMDiv.FCKToolbarButton = this ; var sHtml = - '
' + this.Label + '' + this.Label + '
' + + '
' + '' ; if ( this.Style != FCK_TOOLBARITEM_ONLYTEXT ) - sHtml += '' ; - + sHtml += '' ; + if ( this.Style != FCK_TOOLBARITEM_ONLYICON ) - sHtml += '' ; + sHtml += '' ; sHtml += - '' + + '' + '' + '
' + this.Label + '' + this.Label + '
' ; Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js (.../fcktoolbarspecialcombo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js (.../fcktoolbarspecialcombo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -37,10 +37,13 @@ FCKToolbarSpecialCombo.prototype.CreateInstance = function( parentToolbar ) { - this._Combo = new FCKSpecialCombo( this.GetLabel() ) ; + this._Combo = new FCKSpecialCombo( this.GetLabel(), this.FieldWidth, this.PanelWidth, this.PanelMaxHeight ) ; + + /* this._Combo.FieldWidth = this.FieldWidth != null ? this.FieldWidth : 100 ; this._Combo.PanelWidth = this.PanelWidth != null ? this.PanelWidth : 150 ; this._Combo.PanelMaxHeight = this.PanelMaxHeight != null ? this.PanelMaxHeight : 150 ; + */ //this._Combo.Command.Name = this.Command.Name; // this._Combo.Label = this.Label ; @@ -81,7 +84,14 @@ if ( this.RefreshActiveItems ) this.RefreshActiveItems( this._Combo, sValue ) ; else + { + if ( this._LastValue == sValue ) + return ; + + this._LastValue = sValue ; + FCKToolbarSpecialCombo_RefreshActiveItems( this._Combo, sValue ) ; + } } else eState = FCK_TRISTATE_DISABLED ; Index: lams_central/web/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js (.../fcktoolbarstylecombo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js (.../fcktoolbarstylecombo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -37,6 +37,8 @@ { // Add the Editor Area CSS to the Styles panel so the style classes are previewed correctly. FCKTools.AppendStyleSheet( targetSpecialCombo._Panel.Document, FCKConfig.EditorAreaCSS ) ; + + targetSpecialCombo._Panel.Document.body.className += ' ForceBaseFont' ; // For some reason Gecko is blocking inside the "RefreshVisibleItems" function. if ( ! FCKBrowserInfo.IsGecko ) Index: lams_central/web/fckeditor/editor/_source/commandclasses/fck_othercommands.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/commandclasses/fck_othercommands.js (.../fck_othercommands.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/commandclasses/fck_othercommands.js (.../fck_othercommands.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -115,6 +115,8 @@ { if ( formatName == null || formatName == '' ) FCK.ExecuteNamedCommand( 'FormatBlock', '

' ) ; + else if ( formatName == 'div' && FCKBrowserInfo.IsGecko ) + FCK.ExecuteNamedCommand( 'FormatBlock', 'div' ) ; else FCK.ExecuteNamedCommand( 'FormatBlock', '<' + formatName + '>' ) ; } @@ -262,10 +264,16 @@ FCKPageBreakCommand.prototype.Execute = function() { - var oCenter = FCK.EditorDocument.createElement( 'CENTER' ) ; - oCenter.style.pageBreakAfter = 'always' ; +// var e = FCK.EditorDocument.createElement( 'CENTER' ) ; +// e.style.pageBreakAfter = 'always' ; + + // Tidy was removing the empty CENTER tags, so the following solution has + // been found. It also validates correctly as XHTML 1.0 Strict. + var e = FCK.EditorDocument.createElement( 'DIV' ) ; + e.style.pageBreakAfter = 'always' ; + e.innerHTML = ' ' ; - var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', oCenter ) ; + var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', e ) ; oFakeImage = FCK.InsertElement( oFakeImage ) ; } Index: lams_central/web/fckeditor/editor/_source/commandclasses/fcktablecommand.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/commandclasses/fcktablecommand.js (.../fcktablecommand.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/commandclasses/fcktablecommand.js (.../fcktablecommand.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -53,6 +53,9 @@ case 'TableSplitCell' : FCKTableHandler.SplitCell() ; break ; + case 'TableDelete' : + FCKTableHandler.DeleteTable() ; + break ; default : alert( FCKLang.UnknownCommand.replace( /%1/g, this.Name ) ) ; } Index: lams_central/web/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js (.../fcktextcolorcommand.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js (.../fcktextcolorcommand.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -31,11 +31,14 @@ */ this._Panel = new FCKPanel() ; - this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; - this._Panel.Create() ; + this._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; +// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; +// this._Panel.Create() ; this._CreatePanelBody( this._Panel.Document, this._Panel.PanelDiv ) ; + FCKTools.DisableSelection( this._Panel.Document.body ) ; + // END ### } @@ -123,6 +126,7 @@ // Create the Table that will hold all colors. var oTable = targetDiv.appendChild( targetDocument.createElement( "TABLE" ) ) ; + oTable.className = 'ForceBaseFont' ; // Firefox 1.5 Bug. oTable.style.tableLayout = 'fixed' ; oTable.cellPadding = 0 ; oTable.cellSpacing = 0 ; @@ -138,7 +142,7 @@ '\ \ \ - \ + \ \
' + FCKLang.ColorAutomatic + '' + FCKLang.ColorAutomatic + '
' ; Index: lams_central/web/fckeditor/editor/_source/globals/fckeditorapi.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/globals/fckeditorapi.js (.../fckeditorapi.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/globals/fckeditorapi.js (.../fckeditorapi.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -32,7 +32,7 @@ FCKeditorAPI.__Instances = new Object() ; // Set the current version. - FCKeditorAPI.Version = '2.1.1' ; + FCKeditorAPI.Version = '2.2' ; // Function used to get a instance of an existing editor present in the // page. Index: lams_central/web/fckeditor/editor/_source/internals/fck.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck.js (.../fck.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck.js (.../fck.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -25,20 +25,31 @@ FCK.Status = FCK_STATUS_NOTLOADED ; FCK.EditMode = FCK_EDITMODE_WYSIWYG ; -// There is a bug on IE... getElementById returns any META tag that has the -// name set to the ID you are looking for. So the best way in to get the array -// by names and look for the correct one. -// As ASP.Net generates a ID that is different from the Name, we must also -// look for the field based on the ID. - -var aElements = window.parent.document.getElementsByName( FCK.Name ) ; -aElements[ aElements.length ] = window.parent.document.getElementById( FCK.Name ) ; -var i = 0; -while ( ( FCK.LinkedField = aElements[i++] ) ) +FCK.LoadLinkedFile = function() { - if ( FCK.LinkedField.tagName == 'INPUT' || FCK.LinkedField.tagName == 'TEXTAREA' ) - break ; + // There is a bug on IE... getElementById returns any META tag that has the + // name set to the ID you are looking for. So the best way in to get the array + // by names and look for the correct one. + // As ASP.Net generates a ID that is different from the Name, we must also + // look for the field based on the ID (the first one is the ID). + + var oDocument = window.parent.document ; + + var eLinkedField = oDocument.getElementById( FCK.Name ) ; + var colElementsByName = oDocument.getElementsByName( FCK.Name ) ; + + var i = 0; + while ( eLinkedField || i == 0 ) + { + if ( eLinkedField && ( eLinkedField.tagName == 'INPUT' || eLinkedField.tagName == 'TEXTAREA' ) ) + { + FCK.LinkedField = eLinkedField ; + break ; + } + eLinkedField = colElementsByName[i++] ; + } } +FCK.LoadLinkedFile() ; var FCKTempBin = new Object() ; FCKTempBin.Elements = new Array() ; Index: lams_central/web/fckeditor/editor/_source/internals/fck_1.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_1.js (.../fck_1.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_1.js (.../fck_1.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -18,6 +18,8 @@ * Frederico Caldeira Knabben (fredck@fckeditor.net) */ +var FCK_StartupValue ; + FCK.Events = new FCKEvents( FCK ) ; FCK.Toolbar = null ; @@ -38,6 +40,9 @@ // Set the editor's startup contents this.SetHTML( FCKTools.GetLinkedFieldValue() ) ; + + // Save the startup value for the "IsDirty()" check. + this.ResetIsDirty() ; // Attach the editor to the form onsubmit event FCKTools.AttachToLinkedFieldFormSubmit( this.UpdateLinkedField ) ; @@ -50,16 +55,24 @@ function Window_OnFocus() { FCK.Focus() ; + FCK.Events.FireEvent( "OnFocus" ) ; } +function Window_OnBlur() +{ + if ( !FCKDialog.IsOpened ) + return FCK.Events.FireEvent( "OnBlur" ) ; +} + FCK.SetStatus = function( newStatus ) { this.Status = newStatus ; if ( newStatus == FCK_STATUS_ACTIVE ) { // Force the focus in the window to go to the editor. - window.onfocus = window.document.body.onfocus = Window_OnFocus ; + window.frameElement.onfocus = window.document.body.onfocus = Window_OnFocus ; + window.frameElement.onblur = Window_OnBlur ; // Force the focus in the editor. if ( FCKConfig.StartupFocus ) @@ -108,7 +121,7 @@ FCKScriptLoader.AddScript( '_source/classes/fckcontextmenuseparator.js' ) ; FCKScriptLoader.AddScript( '_source/classes/fckcontextmenugroup.js' ) ; FCKScriptLoader.AddScript( '_source/internals/fckcontextmenu.js' ) ; - FCKScriptLoader.AddScript( '_source/internals/fckcontextmenu_' + sBrowserSuffix + '.js' ) ; +// FCKScriptLoader.AddScript( '_source/internals/fckcontextmenu_' + sBrowserSuffix + '.js' ) ; FCKScriptLoader.AddScript( '_source/classes/fckplugin.js' ) ; FCKScriptLoader.AddScript( '_source/internals/fckplugins.js' ) ; FCKScriptLoader.AddScript( '_source/internals/fck_last.js' ) ; @@ -127,8 +140,11 @@ this.Events.FireEvent( 'OnStatusChange', newStatus ) ; } +// Deprecated : returns the same value as GetXHTML. FCK.GetHTML = function( format ) { + FCK.GetXHTML( format ) ; +/* var sHTML ; if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) @@ -149,6 +165,7 @@ return FCKCodeFormatter.Format( sHTML ) ; else return sHTML ; +*/ } FCK.GetXHTML = function( format ) @@ -158,10 +175,6 @@ if ( bSource ) this.SwitchEditMode() ; - // TODO: Wait stable version and remove the following commented lines. -// if ( FCKBrowserInfo.IsIE ) -// FCK.CheckRelativeLinks() ; - var sXHTML ; if ( FCKConfig.FullPage ) @@ -191,10 +204,11 @@ FCK.UpdateLinkedField = function() { - if ( FCKConfig.EnableXHTML ) + // EnableXHTML has been deprecated +// if ( FCKConfig.EnableXHTML ) FCK.LinkedField.value = FCK.GetXHTML( FCKConfig.FormatOutput ) ; - else - FCK.LinkedField.value = FCK.GetHTML( FCKConfig.FormatOutput ) ; +// else +// FCK.LinkedField.value = FCK.GetHTML( FCKConfig.FormatOutput ) ; FCK.Events.FireEvent( 'OnAfterLinkedFieldUpdate' ) ; } @@ -232,6 +246,32 @@ this.Events.FireEvent( 'OnAfterSetHTML' ) ; } +// Saves URLs on links and images on special attributes, so they don't change when +// moving around. +FCK.ProtectUrls = function( html ) +{ + // href + html = html.replace( FCKRegexLib.ProtectUrlsAApo , '$1$2$3$2 _fcksavedurl=$2$3$2' ) ; + html = html.replace( FCKRegexLib.ProtectUrlsANoApo , '$1$2 _fcksavedurl="$2"' ) ; + + // src + html = html.replace( FCKRegexLib.ProtectUrlsImgApo , '$1$2$3$2 _fcksavedurl=$2$3$2' ) ; + html = html.replace( FCKRegexLib.ProtectUrlsImgNoApo, '$1$2 _fcksavedurl="$2"' ) ; + + return html ; +} + +FCK.IsDirty = function() +{ + return ( FCK_StartupValue != FCK.EditorDocument.body.innerHTML ) ; +} + +FCK.ResetIsDirty = function() +{ + if ( FCK.EditorDocument.body ) + FCK_StartupValue = FCK.EditorDocument.body.innerHTML ; +} + // Advanced document processors. var FCKDocumentProcessors = new Array() ; @@ -274,6 +314,21 @@ var FCKPageBreaksProcessor = new Object() ; FCKPageBreaksProcessor.ProcessDocument = function( document ) { + var aDIVs = document.getElementsByTagName( 'DIV' ) ; + + var eDIV ; + var i = aDIVs.length - 1 ; + while ( i >= 0 && ( eDIV = aDIVs[i--] ) ) + { + if ( eDIV.style.pageBreakAfter == 'always' && eDIV.childNodes.length == 1 && eDIV.childNodes[0].style && eDIV.childNodes[0].style.display == 'none' ) + { + var oFakeImage = FCKDocumentProcessors_CreateFakeImage( 'FCK__PageBreak', eDIV.cloneNode(true) ) ; + + eDIV.parentNode.insertBefore( oFakeImage, eDIV ) ; + eDIV.parentNode.removeChild( eDIV ) ; + } + } +/* var aCenters = document.getElementsByTagName( 'CENTER' ) ; var oCenter ; @@ -288,6 +343,7 @@ oCenter.parentNode.removeChild( oCenter ) ; } } +*/ } FCKDocumentProcessors.addItem( FCKPageBreaksProcessor ) ; @@ -309,7 +365,19 @@ { if ( oEmbed.src.endsWith( '.swf', true ) ) { - var oImg = FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oEmbed.cloneNode(true) ) ; + var oCloned = oEmbed.cloneNode( true ) ; + + // On IE, some properties are not getting clonned properly, so we + // must fix it. Thanks to Alfonso Martinez. + if ( FCKBrowserInfo.IsIE ) + { + oCloned.setAttribute( 'scale', oEmbed.getAttribute( 'scale' ) ); + oCloned.setAttribute( 'play', oEmbed.getAttribute( 'play' ) ); + oCloned.setAttribute( 'loop', oEmbed.getAttribute( 'loop' ) ); + oCloned.setAttribute( 'menu', oEmbed.getAttribute( 'menu' ) ); + } + + var oImg = FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oCloned ) ; oImg.setAttribute( '_fckflash', 'true', 0 ) ; FCKFlashProcessor.RefreshView( oImg, oEmbed ) ; Index: lams_central/web/fckeditor/editor/_source/internals/fck_1_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_1_gecko.js (.../fck_1_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_1_gecko.js (.../fck_1_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -23,6 +23,18 @@ FCK.InitializeBehaviors = function() { + /* + window.document.onblur = function(e) + { + return FCK.Events.FireEvent( "OnBlur" ) ; + } + + window.document.onfocus = function() + { + return FCK.Events.FireEvent( "OnFocus" ) ; + } + */ + // Enable table borders visibility. if ( FCKConfig.ShowBorders ) { @@ -41,7 +53,6 @@ // Handle pasting operations. var oOnKeyDown = function( e ) { - // FCKDebug.Output( 'Which Key: ' + e.which ) ; // START iCM Modifications /* @@ -53,18 +64,18 @@ } // Amend backspace handling so correctly removes empty block elements i.e. those block elements containing nothing or // just the bogus BR node - if ( e.which == 8 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UserBROnCarriageReturn && !FCK.Events.FireEvent( "OnBackSpace" ) ) + if ( e.which == 8 && !e.shiftKey && !e.ctrlKey && !e.altKey && !FCKConfig.UseBROnCarriageReturn && !FCK.Events.FireEvent( "OnBackSpace" ) ) { e.preventDefault() ; e.stopPropagation() ; } */ // END iCM Modifications + var bPrevent ; + if ( e.ctrlKey && !e.shiftKey && !e.altKey ) { - var bPrevent = false ; - switch ( e.which ) { case 66 : // B @@ -84,13 +95,15 @@ bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ; break ; } - - if ( bPrevent ) - { - e.preventDefault() ; - e.stopPropagation() ; - } } + else if ( e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 45 ) // SHIFT + + bPrevent = ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( "OnPaste" ) ) ; + + if ( bPrevent ) + { + e.preventDefault() ; + e.stopPropagation() ; + } } this.EditorDocument.addEventListener( 'keypress', oOnKeyDown, true ) ; @@ -126,6 +139,9 @@ { this.document.body.innerHTML = this._FCK_HTML ; this._FCK_HTML = null ; + + if ( !FCK_StartupValue ) + FCK.ResetIsDirty() ; } } this.EditorWindow.addEventListener( 'load', this._OnLoad, true ) ; @@ -151,6 +167,18 @@ // Tell Gecko to use or not the tag for the bold, italic and underline. FCK.EditorDocument.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ; + + // Analysing Firefox 1.5 source code, it seams that there is support for a + // "insertBrOnReturn" command. Applying it gives no error, but it doesn't + // gives the same behavior that you have with IE. It works only if you are + // already inside a paragraph and it doesn't render correctly in the first enter. + // FCK.EditorDocument.execCommand( 'insertBrOnReturn', false, false ) ; + + // Tell Gecko (Firefox 1.5+) to enable or not live resizing of objects (by Alfonso Martinez) + FCK.EditorDocument.execCommand( 'enableObjectResizing', false, !FCKConfig.DisableImageHandles ) ; + + // Disable the standard table editing features of Firefox. + FCK.EditorDocument.execCommand( 'enableInlineTableEditing', false, !FCKConfig.DisableTableHandles ) ; } catch (e) {} } @@ -165,8 +193,39 @@ catch(e) {} } +// @Packager.Compactor.Remove.Start +if ( FCKBrowserInfo.IsSafari ) +{ FCK.SetHTML = function( html, forceWYSIWYG ) { + if( window.console ) window.console.log( 'FCK.SetHTML()' ) ; // @Packager.Compactor.RemoveLine + + sHtml = + FCKConfig.DocType + + '' + + '' + + '' + + '' ; + +// sHtml += FCK.TempBaseTag ; + sHtml += '' + html + '' ; + + this.EditorDocument.open() ; + this.EditorDocument.write( sHtml ) ; + this.EditorDocument.close() ; + +// this.InitializeBehaviors() ; + +// FCK.MakeEditable() ; + FCK.EditorDocument.designMode = 'on' ; + FCK.OnAfterSetHTML() ; +} +} +else +{ +// @Packager.Compactor.Remove.End +FCK.SetHTML = function( html, forceWYSIWYG ) +{ // Firefox can't handle correctly the editing of the STRONG and EM tags. // We must replace them with B and I. html = html.replace( FCKRegexLib.StrongOpener, ' 0 && !(e.ctrlKey || e.altKey || e.shiftKey) ) { @@ -205,6 +214,7 @@ if ( forceWYSIWYG || FCK.EditMode == FCK_EDITMODE_WYSIWYG ) { html = FCKConfig.ProtectedSource.Protect( html ) ; + html = FCK.ProtectUrls( html ) ; var sHtml ; @@ -238,7 +248,8 @@ sHtml += '' + html + '' ; } - this.EditorDocument.open( '', '_self', '', true ) ; +// this.EditorDocument.open( '', '_self', '', true ) ; // This one opens popups in IE 5.5 - BUG 1204220 (I was not able to reproduce the problem). + this.EditorDocument.open( '', 'replace' ) ; this.EditorDocument.write( sHtml ) ; this.EditorDocument.close() ; @@ -253,6 +264,9 @@ FCK.InsertHtml = function( html ) { + html = FCKConfig.ProtectedSource.Protect( html ) ; + html = FCK.ProtectUrls( html ) ; + FCK.Focus() ; FCKUndo.SaveUndoStep() ; @@ -264,7 +278,7 @@ if ( oSel.type.toLowerCase() != "none" ) oSel.clear() ; - // Inset the HTML. + // Insert the HTML. oSel.createRange().pasteHTML( html ) ; } Index: lams_central/web/fckeditor/editor/_source/internals/fck_2.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_2.js (.../fck_2.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_2.js (.../fck_2.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -22,11 +22,11 @@ // wich named commands must be handled separately. FCK.RedirectNamedCommands = new Object() ; -FCK.ExecuteNamedCommand = function( commandName, commandParameter ) +FCK.ExecuteNamedCommand = function( commandName, commandParameter, noRedirect ) { FCKUndo.SaveUndoStep() ; - if ( FCK.RedirectNamedCommands[ commandName ] != null ) + if ( !noRedirect && FCK.RedirectNamedCommands[ commandName ] != null ) FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ; else { @@ -161,10 +161,13 @@ { if ( FCKBrowserInfo.IsIE ) FCKUndo.SaveUndoStep() ; - document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ; + + // EnableXHTML and EnableSourceXHTML has been deprecated +// document.getElementById('eSourceField').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ; + document.getElementById('eSourceField').value = FCK.GetXHTML( FCKConfig.FormatSource ) ; } else - FCK.SetHTML( FCK.GetHTML(), true ) ; + FCK.SetHTML( document.getElementById('eSourceField').value, true ) ; // Updates the actual mode status. FCK.EditMode = bWYSIWYG ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ; Index: lams_central/web/fckeditor/editor/_source/internals/fck_2_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_2_gecko.js (.../fck_2_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_2_gecko.js (.../fck_2_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -58,16 +58,16 @@ FCK.EditorWindow.print() ; break ; case 'Paste' : - try { if ( FCK.Paste() ) FCK.ExecuteNamedCommand( 'Paste' ) ; } - catch (e) { alert( FCKLang.PasteErrorPaste ) ; } + try { if ( FCK.Paste() ) FCK.ExecuteNamedCommand( 'Paste', null, true ) ; } + catch (e) { alert(FCKLang.PasteErrorPaste) ; } break ; case 'Cut' : - try { FCK.ExecuteNamedCommand( 'Cut' ) ; } - catch (e) { alert( FCKLang.PasteErrorCut ) ; } + try { FCK.ExecuteNamedCommand( 'Cut', null, true ) ; } + catch (e) { alert(FCKLang.PasteErrorCut) ; } break ; case 'Copy' : - try { FCK.ExecuteNamedCommand( 'Copy' ) ; } - catch (e) { alert( FCKLang.PasteErrorCopy ) ; } + try { FCK.ExecuteNamedCommand( 'Copy', null, true ) ; } + catch (e) { alert(FCKLang.PasteErrorCopy) ; } break ; // START iCM MODIFICATIONS @@ -138,19 +138,15 @@ // selected content if any. FCK.InsertHtml = function( html ) { + html = FCKConfig.ProtectedSource.Protect( html ) ; + html = FCK.ProtectUrls( html ) ; + // Delete the actual selection. var oSel = FCKSelection.Delete() ; -// var oContainer = oSel.getRangeAt(0).startContainer ; -// var iOffSet = oSel.getRangeAt(0).startOffset ; - // Get the first available range. var oRange = oSel.getRangeAt(0) ; -// var oRange = this.EditorDocument.createRange() ; -// oRange.setStart( oContainer, iOffSet ) ; -// oRange.setEnd( oContainer, iOffSet ) ; - // Create a fragment with the input HTML. var oFragment = oRange.createContextualFragment( html ) ; @@ -161,13 +157,9 @@ oRange.insertNode(oFragment) ; // Set the cursor after the inserted fragment. - oRange.setEndAfter( oLastNode ) ; - oRange.setStartAfter( oLastNode ) ; + FCKSelection.SelectNode( oLastNode ) ; + FCKSelection.Collapse( false ) ; - oSel.removeAllRanges() ; - oSel = FCK.EditorWindow.getSelection() ; - oSel.addRange( oRange ) ; - this.Focus() ; } @@ -183,8 +175,8 @@ oRange.insertNode( element ) ; // Set the cursor after the inserted fragment. - oRange.setEndAfter( element ) ; - oRange.setStartAfter( element ) ; + FCKSelection.SelectNode( element ) ; + FCKSelection.Collapse( false ) ; this.Focus() ; } Index: lams_central/web/fckeditor/editor/_source/internals/fck_2_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_2_ie.js (.../fck_2_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_2_ie.js (.../fck_2_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -53,7 +53,7 @@ else if ( FCKConfig.AutoDetectPasteFromWord ) { var sHTML = FCK.GetClipboardHTML() ; - var re = /<\w[^>]* class="?MsoNormal"?/gi ; + var re = /<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi ; if ( re.test( sHTML ) ) { if ( confirm( FCKLang["PasteWordConfirm"] ) ) Index: lams_central/web/fckeditor/editor/_source/internals/fck_last.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_last.js (.../fck_last.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_last.js (.../fck_last.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -24,7 +24,7 @@ window.document.dir = FCKLang.Dir ; // Activate pasting operations. -if ( FCKConfig.ForcePasteAsPlainText ) +if ( FCKConfig.ForcePasteAsPlainText || FCKConfig.AutoDetectPasteFromWord ) FCK.Events.AttachEvent( "OnPaste", FCK.Paste ) ; // START iCM Modifications @@ -58,6 +58,8 @@ FCK.AttachToOnSelectionChange( FCKToolbarSet.RefreshItemsState ) ; //FCK.AttachToOnSelectionChange( FCKSelection._Reset ) ; + FCKTools.DisableSelection( document.body ) ; + FCK.SetStatus( FCK_STATUS_COMPLETE ) ; // Call the special "FCKeditor_OnComplete" function that should be present in Index: lams_central/web/fckeditor/editor/_source/internals/fck_onload.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fck_onload.js (.../fck_onload.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fck_onload.js (.../fck_onload.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -153,6 +153,9 @@ function LoadPageConfig() { FCKConfig.LoadPageConfig() ; + + if ( FCKConfig.AllowQueryStringDebug && (/fckdebug=true/i).test( window.top.location.search ) ) + FCKConfig.Debug = true ; // Load the styles for the configured skin. LoadStyles() ; Index: lams_central/web/fckeditor/editor/_source/internals/fckcodeformatter.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckcodeformatter.js (.../fckcodeformatter.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckcodeformatter.js (.../fckcodeformatter.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -26,8 +26,8 @@ FCKCodeFormatter.Regex = new Object() ; // Regex for line breaks. - FCKCodeFormatter.Regex.BlocksOpener = /\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi ; - FCKCodeFormatter.Regex.BlocksCloser = /\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi ; + FCKCodeFormatter.Regex.BlocksOpener = /\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; + FCKCodeFormatter.Regex.BlocksCloser = /\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; FCKCodeFormatter.Regex.NewLineTags = /\<(BR|HR)[^\>]\>/gi ; @@ -40,10 +40,23 @@ FCKCodeFormatter.Regex.DecreaseIndent = /^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i ; FCKCodeFormatter.Regex.FormatIndentatorRemove = new RegExp( FCKConfig.FormatIndentator ) ; + FCKCodeFormatter.Regex.ProtectedTags = /(]*>)([\s\S]*?)(<\/PRE>)/gi ; + + FCKCodeFormatter._ProtectData = function( outer, opener, data, closer ) + { + return opener + '___FCKpd___' + FCKCodeFormatter.ProtectedData.addItem( data ) + closer ; + } + FCKCodeFormatter.Format = function( html ) { + // Protected content that remain untouched during the + // process go in the following array. + FCKCodeFormatter.ProtectedData = new Array() ; + + var sFormatted = html.replace( this.Regex.ProtectedTags, FCKCodeFormatter._ProtectData ) ; + // Line breaks. - var sFormatted = html.replace( this.Regex.BlocksOpener, '\n$&' ) ; ; + sFormatted = sFormatted.replace( this.Regex.BlocksOpener, '\n$&' ) ; ; sFormatted = sFormatted.replace( this.Regex.BlocksCloser, '$&\n' ) ; sFormatted = sFormatted.replace( this.Regex.NewLineTags, '$&\n' ) ; sFormatted = sFormatted.replace( this.Regex.MainTags, '\n$&\n' ) ; @@ -69,6 +82,13 @@ if ( this.Regex.IncreaseIndent.test( sLine ) ) sIndentation += FCKConfig.FormatIndentator ; } + + // Now we put back the protected data. + for ( var i = 0 ; i < FCKCodeFormatter.ProtectedData.length ; i++ ) + { + var oRegex = new RegExp( '___FCKpd___' + i ) ; + sFormatted = sFormatted.replace( oRegex, FCKCodeFormatter.ProtectedData[i] ) ; + } return sFormatted.trim() ; } Index: lams_central/web/fckeditor/editor/_source/internals/fckcommands.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckcommands.js (.../fckcommands.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckcommands.js (.../fckcommands.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -47,7 +47,7 @@ case 'Image' : oCommand = new FCKDialogCommand( 'Image' , FCKLang.DlgImgTitle , 'dialog/fck_image.html' , 450, 400 ) ; break ; case 'Flash' : oCommand = new FCKDialogCommand( 'Flash' , FCKLang.DlgFlashTitle , 'dialog/fck_flash.html' , 450, 400 ) ; break ; - case 'SpecialChar' : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' , 400, 300 ) ; break ; + case 'SpecialChar' : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' , 400, 320 ) ; break ; case 'Smiley' : oCommand = new FCKDialogCommand( 'Smiley' , FCKLang.DlgSmileyTitle , 'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight ) ; break ; case 'Table' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html' , 400, 250 ) ; break ; case 'TableProp' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html?Parent', 400, 250 ) ; break ; @@ -80,6 +80,7 @@ case 'TableDeleteCells' : oCommand = new FCKTableCommand('TableDeleteCells') ; break ; case 'TableMergeCells' : oCommand = new FCKTableCommand('TableMergeCells') ; break ; case 'TableSplitCell' : oCommand = new FCKTableCommand('TableSplitCell') ; break ; + case 'TableDelete' : oCommand = new FCKTableCommand('TableDelete') ; break ; case 'Form' : oCommand = new FCKDialogCommand( 'Form' , FCKLang.Form , 'dialog/fck_form.html' , 380, 230 ) ; break ; case 'Checkbox' : oCommand = new FCKDialogCommand( 'Checkbox' , FCKLang.Checkbox , 'dialog/fck_checkbox.html' , 380, 230 ) ; break ; Index: lams_central/web/fckeditor/editor/_source/internals/fckconfig.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckconfig.js (.../fckconfig.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckconfig.js (.../fckconfig.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -22,7 +22,7 @@ // Editor Base Path if ( document.location.protocol == 'file:' ) { - FCKConfig.BasePath = document.location.pathname.substr(1) ; + FCKConfig.BasePath = unescape( document.location.pathname.substr(1) ) ; FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ; FCKConfig.BasePath = 'file://' + FCKConfig.BasePath.substring(0,FCKConfig.BasePath.lastIndexOf('/')+1) ; } Index: lams_central/web/fckeditor/editor/_source/internals/fckcontextmenu.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckcontextmenu.js (.../fckcontextmenu.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckcontextmenu.js (.../fckcontextmenu.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -20,25 +20,55 @@ var FCKContextMenu = new Object() ; +FCKContextMenu._Panel = new FCKPanel( FCKBrowserInfo.IsIE ? window : window.parent ) ; +FCKContextMenu._Panel.PanelDiv.className = 'CM_ContextMenu' ; +FCKContextMenu._Panel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_contextmenu.css' ) ; +FCKContextMenu._Panel.IsContextMenu = true ; + +FCKContextMenu._Document = FCKContextMenu._Panel.Document ; + // This property is internally used to indicate that the context menu has been created. FCKContextMenu._IsLoaded = false ; +FCKContextMenu.Show = function( x, y ) +{ + if ( !this._IsLoaded ) + this.Reload() ; + + this.RefreshState() ; + + // If not IE, x and y are relative to the editing area, so we must "fix" it. + if ( !FCKBrowserInfo.IsIE ) + { + var oCoordsA = FCKTools.GetElementPosition( FCK.EditorWindow.frameElement, this._Panel._Window ) ; + x += oCoordsA.X ; + y += oCoordsA.Y ; + } + + this._Panel.Show( x, y ) ; +} + +FCKContextMenu.Hide = function() +{ + this._Panel.Hide() ; +} + // This method creates the context menu inside a DIV tag. Take a look at the end of this file for a sample output. FCKContextMenu.Reload = function() { // Create the Main DIV that holds the Context Menu. - this._Div = this._Document.createElement( 'DIV' ) ; - this._Div.className = 'CM_ContextMenu' ; - this._Div.style.position = 'absolute' ; - this._Div.style.visibility = 'hidden' ; - this._Document.body.appendChild( this._Div ); +// this._Div = this._Document.createElement( 'DIV' ) ; +// this._Div.className = 'CM_ContextMenu' ; +// this._Div.style.position = 'absolute' ; +// this._Div.style.visibility = 'hidden' ; +// this._Document.body.appendChild( this._Div ); // Create the main table for the menu items. var oTable = this._Document.createElement( 'TABLE' ) ; oTable.cellSpacing = 0 ; oTable.cellPadding = 0 ; - oTable.border = 0 ; - this._Div.appendChild( oTable ) ; + this._Panel.PanelDiv.appendChild( oTable ) ; +// this._Div.appendChild( oTable ) ; // Load all configured groups. this.Groups = new Object() ; @@ -50,6 +80,8 @@ this.Groups[ sGroup ].CreateTableRows( oTable ) ; } + FCKTools.DisableSelection( this._Panel.Document.body ) ; + this._IsLoaded = true ; } @@ -93,13 +125,22 @@ oGroup.Add( new FCKContextMenuItem( this, 'TableMergeCells' , FCKLang.MergeCells, true ) ) ; oGroup.Add( new FCKContextMenuItem( this, 'TableSplitCell' , FCKLang.SplitCell, true ) ) ; oGroup.Add( new FCKContextMenuSeparator() ) ; + oGroup.Add( new FCKContextMenuItem( this, 'TableDelete' , FCKLang.TableDelete, false ) ) ; + oGroup.Add( new FCKContextMenuSeparator() ) ; oGroup.Add( new FCKContextMenuItem( this, 'TableCellProp' , FCKLang.CellProperties, true ) ) ; oGroup.Add( new FCKContextMenuItem( this, 'TableProp' , FCKLang.TableProperties, true ) ) ; break ; case 'Table' : - return new FCKContextMenuGroup( true, this, 'Table', FCKLang.TableProperties, true ) ; + oGroup = new FCKContextMenuGroup() ; + + oGroup.Add( new FCKContextMenuSeparator() ) ; + oGroup.Add( new FCKContextMenuItem( this, 'TableDelete' , FCKLang.TableDelete, false ) ) ; + oGroup.Add( new FCKContextMenuSeparator() ) ; + oGroup.Add( new FCKContextMenuItem( this, 'Table' , FCKLang.TableProperties, true ) ) ; + + break ; case 'Image' : return new FCKContextMenuGroup( true, this, 'Image', FCKLang.ImageProperties, true ) ; @@ -196,8 +237,8 @@

- - + + Index: lams_central/web/fckeditor/editor/_source/internals/fckdebug.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckdebug.js (.../fckdebug.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckdebug.js (.../fckdebug.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -21,19 +21,56 @@ if ( FCKConfig.Debug ) { - FCKDebug.Output = function( message, color ) + FCKDebug.Output = function( message, color, noParse ) { if ( ! FCKConfig.Debug ) return ; - if ( message != null && isNaN( message ) ) + if ( !noParse && message != null && isNaN( message ) ) message = message.replace(/
' ; + + for (var prop in anyObject) + { + var sVal = anyObject[ prop ] ? anyObject[ prop ] + '' : '[null]' ; + try + { + message += '' + prop + ' : ' + sVal.replace(/' ; + } + catch (e) + { + message += '' + prop + ' : [' + typeof( anyObject[ prop ] ) + ']
' ; + } + } + + message += '
' ; + } else + message = 'OutputObject : Object is "null".' ; + + FCKDebug.Output( message, color, true ) ; + } } else - FCKDebug.Output = function() {} +{ + FCKDebug.Output = function() {} + FCKDebug.OutputObject = function() {} +} \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/internals/fckdialog_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckdialog_gecko.js (.../fckdialog_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckdialog_gecko.js (.../fckdialog_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -33,6 +33,13 @@ parentWindow = window ; var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName, sOption, true ) ; + + if ( !oWindow ) + { + alert( FCKLang.DialogBlocked ) ; + return ; + } + oWindow.moveTo( iLeft, iTop ) ; oWindow.resizeTo( dialogWidth, dialogHeight ) ; oWindow.focus() ; Index: lams_central/web/fckeditor/editor/_source/internals/fckdialog_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckdialog_ie.js (.../fckdialog_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckdialog_ie.js (.../fckdialog_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -22,5 +22,9 @@ if ( !parentWindow ) parentWindow = window ; + this.IsOpened = true ; + parentWindow.showModalDialog( pageUrl, dialogInfo, "dialogWidth:" + dialogWidth + "px;dialogHeight:" + dialogHeight + "px;help:no;scroll:no;status:no") ; + + this.IsOpened = false ; } Index: lams_central/web/fckeditor/editor/_source/internals/fckregexlib.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckregexlib.js (.../fckregexlib.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckregexlib.js (.../fckregexlib.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -23,7 +23,7 @@ FCKRegexLib.AposEntity = /'/gi ; // Used by the Styles combo to identify styles that can't be applied to text. -FCKRegexLib.ObjectElements = /^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i ; +FCKRegexLib.ObjectElements = /^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i ; // START iCM MODIFICATIONS // Added TABLE and CAPTION to the block elements for ENTER key handling @@ -32,7 +32,7 @@ FCKRegexLib.BlockElements = /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TABLE|CAPTION)$/i ; */ // END iCM MODIFICATIONS -FCKRegexLib.BlockElements = /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i ; +FCKRegexLib.BlockElements = /^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TH)$/i ; // Elements marked as empty "Empty" in the XHTML DTD. FCKRegexLib.EmptyElements = /^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i ; @@ -56,7 +56,7 @@ FCKRegexLib.TableBorderClass = /\s*FCK__ShowTableBorders\s*/ ; // Validate element names. -FCKRegexLib.ElementName = /^[A-Za-z_:][\w.-:]*$/ ; +FCKRegexLib.ElementName = /^[A-Za-z_:][\w.\-:]*$/ ; // Used in conjuction with the FCKConfig.ForceSimpleAmpersand configuration option. FCKRegexLib.ForceSimpleAmpersand = /___FCKAmp___/g ; @@ -90,3 +90,9 @@ FCKRegexLib.EmCloser = /<\/EM>/gi ; FCKRegexLib.GeckoEntitiesMarker = /#\?-\:/g ; + +FCKRegexLib.ProtectUrlsAApo = /(]+)/gi ; + +FCKRegexLib.ProtectUrlsImgApo = /(]+)/gi ; Index: lams_central/web/fckeditor/editor/_source/internals/fckscriptloader.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckscriptloader.js (.../fckscriptloader.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckscriptloader.js (.../fckscriptloader.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -65,92 +65,55 @@ } } -if ( FCKBrowserInfo.IsSafari ) +FCKScriptLoader.LoadFile = function( filePath ) { - FCKScriptLoader.LoadFile = function( filePath ) + //window.status = ( 'Loading ' + filePath + '...' ) ; + + // Dynamically load the file (it can be a CSS or a JS) + var e ; + + // If it is a CSS + if ( filePath.lastIndexOf( '.css' ) > 0 ) { - if ( filePath.lastIndexOf( '.css' ) > 0 ) - { - this.CheckQueue() ; - return ; - } - - var oXmlRequest = new XMLHttpRequest() ; - - // Load the script synchronously. - oXmlRequest.open( "GET", filePath, false ) ; - oXmlRequest.send( null ) ; - - // Evaluate the script. - if ( oXmlRequest.status == 200 ) - { - try - { - eval( oXmlRequest.responseText ) ; - } - catch ( e ) - { - alert( 'Error parsing ' + filePath + ': ' + e.message ) ; - } - } - else - alert( 'Error loading ' + filePath ) ; - - this.CheckQueue() ; + e = document.createElement( 'LINK' ) ; + e.rel = 'stylesheet' ; + e.type = 'text/css' ; } -} -else -{ - FCKScriptLoader.LoadFile = function( filePath ) + // It it is a JS + else { - //window.status = ( 'Loading ' + filePath + '...' ) ; - - // Dynamically load the file (it can be a CSS or a JS) - var e ; - - // If is a CSS - if ( filePath.lastIndexOf( '.css' ) > 0 ) - { - e = document.createElement( 'LINK' ) ; - e.rel = 'stylesheet' ; - e.type = 'text/css' ; - } - // It is a JS - else - { - e = document.createElement( "script" ) ; - e.type = "text/javascript" ; - } - - // Add the new object to the HEAD. - document.getElementsByTagName("head")[0].appendChild( e ) ; - - // Start downloading it. - if ( e.tagName == 'LINK' ) - { - // IE must wait for the file to be downloaded. - if ( FCKBrowserInfo.IsIE ) - e.onload = FCKScriptLoader_OnLoad ; - // Gecko doens't fire any event when the CSS is loaded, so we - // can't wait for it. - else - FCKScriptLoader.CheckQueue() ; - - e.href = filePath ; - } - else - { - // Gecko fires the "onload" event and IE fires "onreadystatechange" - e.onload = e.onreadystatechange = FCKScriptLoader_OnLoad ; - e.src = filePath ; - } + e = document.createElement( "script" ) ; + e.type = "text/javascript" ; } + + // Add the new object to the HEAD. + document.getElementsByTagName("head")[0].appendChild( e ) ; - function FCKScriptLoader_OnLoad() + // Start downloading it. + if ( e.tagName == 'LINK' ) { - // Gecko doesn't have a "readyState" property - if ( this.tagName == 'LINK' || !this.readyState || this.readyState == 'loaded' ) - // Load the next script available in the queue + // IE must wait for the file to be downloaded. + if ( FCKBrowserInfo.IsIE ) + e.onload = FCKScriptLoader_OnLoad ; + // Gecko doens't fire any event when the CSS is loaded, so we + // can't wait for it. + else FCKScriptLoader.CheckQueue() ; + + e.href = filePath ; } + else + { + // Gecko fires the "onload" event and IE fires "onreadystatechange" + e.onload = e.onreadystatechange = FCKScriptLoader_OnLoad ; + e.src = filePath ; + } +} + +function FCKScriptLoader_OnLoad() +{ + // Gecko doesn't have a "readyState" property + if ( this.tagName == 'LINK' || !this.readyState || this.readyState == 'loaded' ) + // Load the next script available in the queue + FCKScriptLoader.CheckQueue() ; } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/internals/fckselection_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckselection_gecko.js (.../fckselection_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckselection_gecko.js (.../fckselection_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -26,7 +26,10 @@ this._Type = 'Text' ; // Check if the actual selection is a Control (IMG, TABLE, HR, etc...). - var oSel = FCK.EditorWindow.getSelection() ; + var oSel ; + try { oSel = FCK.EditorWindow.getSelection() ; } + catch (e) {} + if ( oSel && oSel.rangeCount == 1 ) { var oRange = oSel.getRangeAt(0) ; @@ -51,7 +54,7 @@ FCKSelection.GetParentElement = function() { if ( this.GetType() == 'Control' ) - return FCKSelection.GetSelectedElement().parentElement ; + return FCKSelection.GetSelectedElement().parentNode ; else { var oSel = FCK.EditorWindow.getSelection() ; @@ -139,6 +142,7 @@ return oSel ; } + // START iCM MODIFICATIONS /* // Move the cursor position (the selection point) to a specific offset within a specific node Index: lams_central/web/fckeditor/editor/_source/internals/fcktablehandler.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fcktablehandler.js (.../fcktablehandler.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fcktablehandler.js (.../fcktablehandler.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -62,10 +62,16 @@ // If no table has been passed as a parameer, // then get the table where the selection is placed in. if ( !table ) - table = FCKSelection.MoveToAncestorNode("TABLE") ; + { + var table = FCKSelection.GetSelectedElement() ; + if ( !table || table.tagName != 'TABLE' ) + table = FCKSelection.MoveToAncestorNode("TABLE") ; + } if ( !table ) return ; // Delete the table. + FCKSelection.SelectNode( table ) ; + FCKSelection.Collapse(); table.parentNode.removeChild( table ) ; } @@ -113,7 +119,8 @@ FCKTableHandler.DeleteColumns = function() { // Get the cell where the selection is placed in. - var oCell = FCKSelection.MoveToAncestorNode("TD") ; + var oCell = FCKSelection.MoveToAncestorNode('TD') || FCKSelection.MoveToAncestorNode('TH') ; + if ( !oCell ) return ; // Get the cell's table. @@ -156,7 +163,7 @@ // oNewCell.innerHTML = " " ; // If it is the last cell in the row. - if ( oCell.cellIndex == oCell.parentNode.cells.lenght - 1 ) + if ( oCell.cellIndex == oCell.parentNode.cells.length - 1 ) { // Add the new cell at the end of the row. oCell.parentNode.appendChild( oNewCell ) ; @@ -354,4 +361,4 @@ else aCells[i].innerHTML = '' ; } -} \ No newline at end of file +} Index: lams_central/web/fckeditor/editor/_source/internals/fcktablehandler_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fcktablehandler_ie.js (.../fcktablehandler_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fcktablehandler_ie.js (.../fcktablehandler_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -22,7 +22,8 @@ var aCells = new Array() ; var oRange = FCK.EditorDocument.selection.createRange() ; - var oParent = oRange.parentElement() ; +// var oParent = oRange.parentElement() ; + var oParent = FCKSelection.GetParentElement() ; if ( oParent && oParent.tagName == "TD" ) aCells[0] = oParent ; Index: lams_central/web/fckeditor/editor/_source/internals/fcktools.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fcktools.js (.../fcktools.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fcktools.js (.../fcktools.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -98,7 +98,7 @@ return oOption ; } - +/* FCKTools.RemoveAllSelectOptions = function( selectElement ) { for ( var i = selectElement.options.length - 1 ; i >= 0 ; i-- ) @@ -122,7 +122,7 @@ if ( defaultValue != null ) FCKTools.SelectNoCase( selectElement, defaultValue ) ; } - +*/ FCKTools.HTMLEncode = function( text ) { if ( !text ) @@ -136,7 +136,7 @@ return text ; } - +/* //** // FCKTools.GetResultingArray: Gets a array from a string (where the elements // are separated by a character), a fuction (that returns a array) or a array. @@ -153,21 +153,33 @@ else return new Array() ; } } - -FCKTools.GetElementPosition = function( el ) +*/ +FCKTools.GetElementPosition = function( el, relativeWindow ) { - // Initializes the Coordinates object that will be returned by the function. +// Initializes the Coordinates object that will be returned by the function. var c = { X:0, Y:0 } ; + var oWindow = relativeWindow || window ; + // Loop throw the offset chain. while ( el ) { c.X += el.offsetLeft ; c.Y += el.offsetTop ; - - el = el.offsetParent ; + + if ( el.offsetParent == null ) + { + var oOwnerWindow = FCKTools.GetElementWindow( el ) ; + + if ( oOwnerWindow != oWindow ) + el = oOwnerWindow.frameElement ; + else + break ; + } + else + el = el.offsetParent ; } - + // Return the Coordinates object return c ; } @@ -213,6 +225,36 @@ { return size.endsWith( '%' ) ? size : ( size + 'px' ) ; } + +// Get the window object where the element is placed in. +FCKTools.GetElementWindow = function( element ) +{ + var oDocument = element.ownerDocument || element.document ; + + // With Safari, there is not way to retrieve the window from the document, so we must fix it. + if ( FCKBrowserInfo.IsSafari && !oDocument.parentWindow ) + FCKTools._FixDocumentParentWindow( window.top ) ; + + return oDocument.parentWindow || oDocument.defaultView ; +} + +/* + This is a Safari specific function that fix the reference to the parent + window from the document object. +*/ +FCKTools._FixDocumentParentWindow = function( targetWindow ) +{ + targetWindow.document.parentWindow = targetWindow ; + + for ( var i = 0 ; i < targetWindow.frames.length ; i++ ) + FCKTools._FixDocumentParentWindow( targetWindow.frames[i] ) ; +} + +FCKTools.CancelEvent = function( e ) +{ + return false ; +} + // START iCM MODIFICATIONS /* // Transfers the supplied attributes to the supplied node Index: lams_central/web/fckeditor/editor/_source/internals/fcktools_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fcktools_gecko.js (.../fcktools_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fcktools_gecko.js (.../fcktools_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -90,6 +90,13 @@ } return null ; } + +FCKTools.DisableSelection = function( element ) +{ + element.style.MozUserSelect = 'none' ; // Gecko only. + // element.style.userSelect = 'none' ; // CSS3 (not supported yet). +} + // START iCM Modifications /* // Starting at the specified node, find the first inline node of the sequence Index: lams_central/web/fckeditor/editor/_source/internals/fcktools_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fcktools_ie.js (.../fcktools_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fcktools_ie.js (.../fcktools_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -74,4 +74,25 @@ alert( FCKLang.NoActiveX ) ; FCKLang.NoActiveX = null ; } +} + +FCKTools.DisableSelection = function( element ) +{ + element.unselectable = 'on' ; + + var e, i = 0 ; + while ( e = element.all[ i++ ] ) + { + switch ( e.tagName ) + { + case 'IFRAME' : + case 'TEXTAREA' : + case 'INPUT' : + case 'SELECT' : + /* Ignore the above tags */ + break ; + default : + e.unselectable = 'on' ; + } + } } \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/internals/fckxhtml.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckxhtml.js (.../fckxhtml.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckxhtml.js (.../fckxhtml.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -91,16 +91,14 @@ { var iCount = 0 ; - if ( htmlNode.hasChildNodes() ) + var oNode = htmlNode.firstChild ; + + while ( oNode ) { - // Get all children nodes. - var oChildren = htmlNode.childNodes ; + if ( this._AppendNode( xmlNode, oNode ) ) + iCount++ ; - for ( var i = 0 ; i < oChildren.length ; i++ ) - { - if ( this._AppendNode( xmlNode, oChildren[i] ) ) - iCount++ ; - } + oNode = oNode.nextSibling ; } if ( iCount == 0 ) @@ -120,6 +118,9 @@ FCKXHtml._AppendNode = function( xmlNode, htmlNode ) { + if ( !htmlNode ) + return ; + switch ( htmlNode.nodeType ) { // Element Node. @@ -134,10 +135,16 @@ if ( htmlNode.getAttribute('_fckdelete') ) return false ; - // Create the Element. + // Get the element name. var sNodeName = htmlNode.nodeName ; + + //Add namespace: + if ( FCKBrowserInfo.IsIE && htmlNode.scopeName && htmlNode.scopeName != 'HTML' ) + sNodeName = htmlNode.scopeName + ':' + sNodeName ; // Check if the node name is valid, otherwise ignore this tag. + // If the nodeName starts with a slash, it is a orphan closing tag. + // On some strange cases, the nodeName is empty, even if the node exists. if ( !FCKRegexLib.ElementName.test( sNodeName ) ) return false ; @@ -150,18 +157,13 @@ // So here, the "mark" is checked... if the element is Ok, then mark it. if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum ) return false ; - else - htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ; - // If the nodeName starts with a slash, it is a orphan closing tag. - // On some strange cases, the nodeName is empty, even if the node exists. -// if ( sNodeName.length == 0 || sNodeName.substr(0,1) == '/' ) -// break ; - var oNode = this._CreateNode( sNodeName ) ; // Add all attributes. FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ; + + htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ; // Tag specific processing. var oTagProcessor = FCKXHtml.TagProcessors[ sNodeName ] ; @@ -265,15 +267,30 @@ // An object that hold tag specific operations. FCKXHtml.TagProcessors = new Object() ; -FCKXHtml.TagProcessors['img'] = function( node ) +FCKXHtml.TagProcessors['img'] = function( node, htmlNode ) { // The "ALT" attribute is required in XHTML. if ( ! node.attributes.getNamedItem( 'alt' ) ) FCKXHtml._AppendAttribute( node, 'alt', '' ) ; + var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ; + if ( sSavedUrl && sSavedUrl.length > 0 ) + FCKXHtml._AppendAttribute( node, 'src', sSavedUrl ) ; + return node ; } +FCKXHtml.TagProcessors['a'] = function( node, htmlNode ) +{ + var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ; + if ( sSavedUrl && sSavedUrl.length > 0 ) + FCKXHtml._AppendAttribute( node, 'href', sSavedUrl ) ; + + FCKXHtml._AppendChildNodes( node, htmlNode, false ) ; + + return node ; +} + FCKXHtml.TagProcessors['script'] = function( node, htmlNode ) { // The "TYPE" attribute is required in XHTML. Index: lams_central/web/fckeditor/editor/_source/internals/fckxhtml_gecko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckxhtml_gecko.js (.../fckxhtml_gecko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckxhtml_gecko.js (.../fckxhtml_gecko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -49,8 +49,8 @@ var sAttName = oAttribute.nodeName.toLowerCase() ; var sAttValue ; - // The "_fckxhtmljob" attribute is used to mark the already processed elements. - if ( sAttName == '_fckxhtmljob' ) + // Ignore any attribute starting with "_fck". + if ( sAttName.startsWith( '_fck' ) ) continue ; // There is a bug in Mozilla that returns '_moz_xxx' attributes as specified. else if ( sAttName.indexOf( '_moz' ) == 0 ) Index: lams_central/web/fckeditor/editor/_source/internals/fckxhtml_ie.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckxhtml_ie.js (.../fckxhtml_ie.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckxhtml_ie.js (.../fckxhtml_ie.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -41,8 +41,8 @@ var sAttName = oAttribute.nodeName.toLowerCase() ; var sAttValue ; - // The "_fckxhtmljob" attribute is used to mark the already processed elements. - if ( sAttName == '_fckxhtmljob' ) + // Ignore any attribute starting with "_fck". + if ( sAttName.startsWith( '_fck' ) ) continue ; // The following must be done because of a bug on IE regarding the style // attribute. It returns "null" for the nodeValue. @@ -123,9 +123,13 @@ return node ; } -// There is a BUG in IE regarding the ABBR tag. +// There is a BUG in IE regarding the ABBR tag (it has no support for it). FCKXHtml.TagProcessors['abbr'] = function( node, htmlNode ) { + // TODO: The XHTML processor duplicates the ABBR contents because of this + // code. We should find some way to move to the node after the /ABBR in the + // _AppendChildNodes loop. + var oNextNode = htmlNode.nextSibling ; while ( true ) @@ -174,7 +178,7 @@ FCKXHtml.TagProcessors['form'] = function( node, htmlNode ) { - if ( htmlNode.acceptCharset.length > 0 && htmlNode.acceptCharset != 'UNKNOWN' ) + if ( htmlNode.acceptCharset && htmlNode.acceptCharset.length > 0 && htmlNode.acceptCharset != 'UNKNOWN' ) FCKXHtml._AppendAttribute( node, 'accept-charset', htmlNode.acceptCharset ) ; if ( htmlNode.name ) @@ -194,4 +198,15 @@ FCKXHtml._AppendChildNodes( node, htmlNode ) ; return node ; -} \ No newline at end of file +} + +// On very rare cases, IE is loosing the "align" attribute for DIV. (right align and apply bulleted list) +FCKXHtml.TagProcessors['div'] = function( node, htmlNode ) +{ + if ( htmlNode.align.length > 0 ) + FCKXHtml._AppendAttribute( node, 'align', htmlNode.align ) ; + + FCKXHtml._AppendChildNodes( node, htmlNode ) ; + + return node ; +} \ No newline at end of file Index: lams_central/web/fckeditor/editor/_source/internals/fckxhtmlentities.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/_source/internals/fckxhtmlentities.js (.../fckxhtmlentities.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/_source/internals/fckxhtmlentities.js (.../fckxhtmlentities.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -311,8 +311,8 @@ } // Create and Compile the Regex used to separate the entities from the text. - FCKXHtmlEntities.EntitiesRegex = new RegExp('','') ; - FCKXHtmlEntities.EntitiesRegex.compile( '[' + FCKXHtmlEntities.Chars + ']|[^' + FCKXHtmlEntities.Chars + ']+', 'g' ) ; + FCKXHtmlEntities.EntitiesRegex = new RegExp('[' + FCKXHtmlEntities.Chars + ']|[^' + FCKXHtmlEntities.Chars + ']+','g') ; +// FCKXHtmlEntities.EntitiesRegex.compile( '[' + FCKXHtmlEntities.Chars + ']|[^' + FCKXHtmlEntities.Chars + ']+', 'g' ) ; } else { Index: lams_central/web/fckeditor/editor/css/fck_internal.css =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/css/fck_internal.css (.../fck_internal.css) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/css/fck_internal.css (.../fck_internal.css) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -17,15 +17,15 @@ * Frederico Caldeira Knabben (fredck@fckeditor.net) */ -TABLE.FCK__ShowTableBorders, TABLE.FCK__ShowTableBorders TD +TABLE.FCK__ShowTableBorders, TABLE.FCK__ShowTableBorders TD, TABLE.FCK__ShowTableBorders TH { - border: #d3d3d3 1px solid ; + border: #d3d3d3 1px solid; } FORM { border: 1px dotted #FF0000; - padding: 2px ; + padding: 2px; } .FCK__Flash @@ -34,17 +34,17 @@ background-position: center center; background-image: url(images/fck_flashlogo.gif); background-repeat: no-repeat; - width: 80px ; - height: 80px ; + width: 80px; + height: 80px; } .FCK__Anchor { background-position: center center; background-image: url(images/fck_anchor.gif); background-repeat: no-repeat; - width: 16px ; - height: 15px ; + width: 16px; + height: 15px; } .FCK__PageBreak @@ -58,7 +58,23 @@ width: 100%; border-top: #999999 1px dotted; border-bottom: #999999 1px dotted; - border-right:0px; - border-left:0px; + border-right: 0px; + border-left: 0px; height: 5px; -} \ No newline at end of file +} + +input[type="hidden"] +{ + display: inline; + width:20px; + height:20px; + border:1px dotted #FF0000 ; + background-image: url(behaviors/hiddenfield.gif); + background-repeat: no-repeat; +} + +input[type="hidden"]:after +{ + padding-left: 20px; + content: "" ; +} Index: lams_central/web/fckeditor/editor/css/fck_showtableborders_gecko.css =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/css/fck_showtableborders_gecko.css (.../fck_showtableborders_gecko.css) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/css/fck_showtableborders_gecko.css (.../fck_showtableborders_gecko.css) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -16,8 +16,16 @@ * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) */ - -TABLE[border="0"], TABLE[border="0"] TD +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, +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 { - border: #d3d3d3 1px solid + border: #d3d3d3 1px dotted ; } Index: lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.css =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.css (.../fck_dialog_common.css) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.css (.../fck_dialog_common.css) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -21,7 +21,6 @@ .ImagePreviewArea { border: #000000 1px solid; - padding: 5px; overflow: auto; width: 100%; height: 170px; Index: lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.js (.../fck_dialog_common.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/common/fck_dialog_common.js (.../fck_dialog_common.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -91,4 +91,35 @@ s += this.substring( start + length , this.length ) ; return s ; +} + +function OpenFileBrowser( url, width, height ) +{ + // oEditor must be defined. + + var iLeft = ( oEditor.FCKConfig.ScreenWidth - width ) / 2 ; + var iTop = ( oEditor.FCKConfig.ScreenHeight - height ) / 2 ; + + var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; + sOptions += ",width=" + width ; + sOptions += ",height=" + height ; + sOptions += ",left=" + iLeft ; + sOptions += ",top=" + iTop ; + + // The "PreserveSessionOnFileBrowser" because the above code could be + // blocked by popup blockers. + if ( oEditor.FCKConfig.PreserveSessionOnFileBrowser && oEditor.FCKBrowserInfo.IsIE ) + { + // The following change has been made otherwise IE will open the file + // browser on a different server session (on some cases): + // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678 + // by Simone Chiaretta. + var oWindow = oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ; + if ( oWindow ) + oWindow.opener = window ; + else + alert( oEditor.FCKLang.BrowseServerBlocked ) ; + } + else + window.open( url, 'FCKBrowseWindow', sOptions ) ; } \ No newline at end of file Index: lams_central/web/fckeditor/editor/dialog/fck_about.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_about.html (.../fck_about.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_about.html (.../fck_about.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -72,7 +72,7 @@ + 2.2
CutCut
version
- 2.1.1
Index: lams_central/web/fckeditor/editor/dialog/fck_checkbox.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_checkbox.html (.../fck_checkbox.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_checkbox.html (.../fck_checkbox.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -40,7 +40,7 @@ if ( oActiveEl && oActiveEl.tagName == 'INPUT' && oActiveEl.type == 'checkbox' ) { GetE('txtName').value = oActiveEl.name ; - GetE('txtValue').value = oActiveEl.value ; + GetE('txtValue').value = oEditor.FCKBrowserInfo.IsIE ? oActiveEl.value : GetAttribute( oActiveEl, 'value' ) ; GetE('txtSelected').checked = oActiveEl.checked ; } else @@ -58,14 +58,17 @@ oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ; } - oActiveEl.name = GetE('txtName').value ; - SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ; + if ( GetE('txtName').value.length > 0 ) + oActiveEl.name = GetE('txtName').value ; + + if ( oEditor.FCKBrowserInfo.IsIE ) + oActiveEl.value = GetE('txtValue').value ; + else + SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ; - if ( GetE('txtSelected').checked ) - { - SetAttribute( oActiveEl, 'checked', 'checked' ) ; - oActiveEl.checked = GetE('txtSelected').checked ; - } + var bIsChecked = GetE('txtSelected').checked ; + SetAttribute( oActiveEl, 'checked', bIsChecked ? 'checked' : null ) ; // For Firefox + oActiveEl.checked = bIsChecked ; return true ; } Index: lams_central/web/fckeditor/editor/dialog/fck_docprops.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_docprops.html (.../fck_docprops.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_docprops.html (.../fck_docprops.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -148,6 +148,9 @@ window.onload = function () { + // Show/Hide the "Browse Server" button. + GetE('tdBrowse').style.display = oEditor.FCKConfig.ImageBrowser ? "" : "none"; + // First of all, translate the dialog box texts oEditor.FCKLanguageManager.TranslatePage( document ) ; @@ -372,26 +375,7 @@ function BrowseServerBack() { - var iLeft = (FCKConfig.ScreenWidth - FCKConfig.ImageBrowserWindowWidth) / 2 ; - var iTop = (FCKConfig.ScreenHeight - FCKConfig.ImageBrowserWindowHeight) / 2 ; - - var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; - sOptions += ",width=" + FCKConfig.LinkBrowserWindowWidth ; - sOptions += ",height=" + FCKConfig.LinkBrowserWindowHeight ; - sOptions += ",left=" + iLeft ; - sOptions += ",top=" + iTop ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - // The following change has been made otherwise IE will open the file - // browser on a different server session (on some cases): - // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678 - // by Simone Chiaretta. - var oWindow = oEditor.window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ; - oWindow.opener = window ; - } - else - window.open( FCKConfig.ImageBrowserURL, "FCKBrowseWindow", sOptions ) ; + OpenFileBrowser( FCKConfig.ImageBrowserURL, FCKConfig.ImageBrowserWindowWidth, FCKConfig.ImageBrowserWindowHeight ) ; } function SetUrl( url ) @@ -499,7 +483,7 @@ - +
  
- Magnus - es, domine, et laudabilis valde: magna virtus tua, et sapientiae tuae non est - numerus. et laudare te vult homo, aliqua portio creaturae tuae, et homo - circumferens mortalitem suam, circumferens testimonium peccati sui et - testimonium, quia superbis resistis: et tamen laudare te vult homo, aliqua - portio creaturae tuae.tu excitas, ut laudare te delectet, quia fecisti nos ad - te et inquietum est cor nostrum, donec requiescat in te. da mihi, domine, scire - et intellegere, utrum sit prius invocare te an laudare te, et scire te prius - sit an invocare te. sed quis te invocat nesciens te? aliud enim pro alio potest - invocare nesciens. an potius invocaris, ut sciaris? quomodo autem invocabunt, - in quem non crediderunt? aut quomodo credent sine praedicante? et laudabunt - dominum qui requirunt eum. quaerentes enim inveniunt eum et invenientes - laudabunt eum. quaeram te, domine, invocans te, et invocem te credens in te: - praedicatus enim es nobis. invocat te, domine, fides mea, quam dedisti mihi, - quam inspirasti mihi per humanitatem filii tui, per ministerium praedicatoris - tui. -
+ Index: lams_central/web/fckeditor/editor/dialog/fck_image/fck_image.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_image/fck_image.js (.../fck_image.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_image/fck_image.js (.../fck_image.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -21,6 +21,7 @@ var FCK = oEditor.FCK ; var FCKLang = oEditor.FCKLang ; var FCKConfig = oEditor.FCKConfig ; +var FCKDebug = oEditor.FCKDebug ; var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ; @@ -60,6 +61,9 @@ function UpdateOriginal( resetSize ) { + if ( !eImgPreview ) + return ; + oImageOriginal = document.createElement( 'IMG' ) ; // new Image() ; if ( resetSize ) @@ -71,9 +75,11 @@ } } - oImageOriginal.src = GetE('imgPreview').src ; + oImageOriginal.src = eImgPreview.src ; } +var bPreviewInitialized ; + window.onload = function() { // Translate the dialog box texts. @@ -105,7 +111,9 @@ { if ( ! oImage ) return ; - var sUrl = GetAttribute( oImage, 'src', '' ) ; + var sUrl = GetAttribute( oImage, '_fcksavedurl', '' ) ; + if ( sUrl.length == 0 ) + sUrl = GetAttribute( oImage, 'src', '' ) ; // TODO: Wait stable version and remove the following commented lines. // if ( sUrl.startsWith( FCK.BaseUrl ) ) @@ -118,16 +126,33 @@ GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ; GetE('cmbAlign').value = GetAttribute( oImage, 'align', '' ) ; - if ( oImage.style.pixelWidth > 0 ) - GetE('txtWidth').value = oImage.style.pixelWidth ; - else - GetE('txtWidth').value = GetAttribute( oImage, "width", '' ) ; + var iWidth, iHeight ; - if ( oImage.style.pixelHeight > 0 ) - GetE('txtHeight').value = oImage.style.pixelHeight ; - else - GetE('txtHeight').value = GetAttribute( oImage, "height", '' ) ; + var regexSize = /^\s*(\d+)px\s*$/i ; + + if ( oImage.style.width ) + { + var aMatch = oImage.style.width.match( regexSize ) ; + if ( aMatch ) + { + iWidth = aMatch[1] ; + oImage.style.width = '' ; + } + } + if ( oImage.style.height ) + { + var aMatch = oImage.style.height.match( regexSize ) ; + if ( aMatch ) + { + iHeight = aMatch[1] ; + oImage.style.height = '' ; + } + } + + GetE('txtWidth').value = iWidth ? iWidth : GetAttribute( oImage, "width", '' ) ; + GetE('txtHeight').value = iHeight ? iHeight : GetAttribute( oImage, "height", '' ) ; + // Get Advances Attributes GetE('txtAttId').value = oImage.id ; GetE('cmbAttLangDir').value = oImage.dir ; @@ -143,7 +168,11 @@ if ( oLink ) { - GetE('txtLnkUrl').value = oLink.getAttribute('href',2) ; + var sUrl = GetAttribute( oLink, '_fcksavedurl', '' ) ; + if ( sUrl.length == 0 ) + sUrl = oLink.getAttribute('href',2) ; + + GetE('txtLnkUrl').value = sUrl ; GetE('cmbLnkTarget').value = oLink.target ; } @@ -217,6 +246,7 @@ } } + SetAttribute( oLink, '_fcksavedurl', sLnkUrl ) ; SetAttribute( oLink, 'target', GetE('cmbLnkTarget').value ) ; } @@ -226,6 +256,7 @@ function UpdateImage( e, skipId ) { e.src = GetE('txtUrl').value ; + SetAttribute( e, "_fcksavedurl", GetE('txtUrl').value ) ; SetAttribute( e, "alt" , GetE('txtAlt').value ) ; SetAttribute( e, "width" , GetE('txtWidth').value ) ; SetAttribute( e, "height", GetE('txtHeight').value ) ; @@ -251,20 +282,37 @@ SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; } +var eImgPreview ; +var eImgPreviewLink ; + +function SetPreviewElements( imageElement, linkElement ) +{ + eImgPreview = imageElement ; + eImgPreviewLink = linkElement ; + + UpdatePreview() ; + UpdateOriginal() ; + + bPreviewInitialized = true ; +} + function UpdatePreview() { + if ( !eImgPreview || !eImgPreviewLink ) + return ; + if ( GetE('txtUrl').value.length == 0 ) - GetE('lnkPreview').style.display = 'none' ; + eImgPreviewLink.style.display = 'none' ; else { - UpdateImage( GetE('imgPreview'), true ) ; + UpdateImage( eImgPreview, true ) ; if ( GetE('txtLnkUrl').value.trim().length > 0 ) - GetE('lnkPreview').href = 'javascript:void(null);' ; + eImgPreviewLink.href = 'javascript:void(null);' ; else - SetAttribute( GetE('lnkPreview'), 'href', '' ) ; + SetAttribute( eImgPreviewLink, 'href', '' ) ; - GetE('lnkPreview').style.display = '' ; + eImgPreviewLink.style.display = '' ; } } @@ -291,16 +339,21 @@ // Verifies if the aspect ration has to be mantained if ( oImageOriginal && bLockRatio ) { + var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ; + if ( value.length == 0 || isNaN( value ) ) { - GetE('txtHeight').value = GetE('txtWidth').value = '' ; + e.value = '' ; return ; } if ( dimension == 'Width' ) - GetE('txtHeight').value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value / oImageOriginal.width ) ) ; + value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value / oImageOriginal.width ) ) ; else - GetE('txtWidth').value = value == 0 ? 0 : Math.round( oImageOriginal.width * ( value / oImageOriginal.height ) ) ; + value = value == 0 ? 0 : Math.round( oImageOriginal.width * ( value / oImageOriginal.height ) ) ; + + if ( !isNaN( value ) ) + e.value = value ; } UpdatePreview() ; @@ -338,27 +391,7 @@ function OpenServerBrowser( type, url, width, height ) { sActualBrowser = type ; - - var iLeft = (FCKConfig.ScreenWidth - width) / 2 ; - var iTop = (FCKConfig.ScreenHeight - height) / 2 ; - - var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; - sOptions += ",width=" + width ; - sOptions += ",height=" + height ; - sOptions += ",left=" + iLeft ; - sOptions += ",top=" + iTop ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - // The following change has been made otherwise IE will open the file - // browser on a different server session (on some cases): - // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678 - // by Simone Chiaretta. - var oWindow = oEditor.window.open( url, "FCKBrowseWindow", sOptions ) ; - oWindow.opener = window ; - } - else - window.open( url, "FCKBrowseWindow", sOptions ) ; + OpenFileBrowser( url, width, height ) ; } var sActualBrowser ; Index: lams_central/web/fckeditor/editor/dialog/fck_image/fck_image_preview.html =================================================================== diff -u --- lams_central/web/fckeditor/editor/dialog/fck_image/fck_image_preview.html (revision 0) +++ lams_central/web/fckeditor/editor/dialog/fck_image/fck_image_preview.html (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,61 @@ + + + + + + + + + + + + Lorem + ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat + diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis + vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis + aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla + pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, + enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, + ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, + augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis + ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus + nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, + gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis + fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam + turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. + Nunc imperdiet gravida mauris. + + Index: lams_central/web/fckeditor/editor/dialog/fck_link/fck_link.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_link/fck_link.js (.../fck_link.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_link/fck_link.js (.../fck_link.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -194,8 +194,10 @@ var sType = 'url' ; // Get the actual Link href. - var sHRef = oLink.getAttribute('href',2) + '' ; - + var sHRef = oLink.getAttribute( '_fcksavedurl' ) ; + if ( !sHRef || sHRef.length == 0 ) + sHRef = oLink.getAttribute( 'href' , 2 ) + '' ; + // TODO: Wait stable version and remove the following commented lines. // if ( sHRef.startsWith( FCK.BaseUrl ) ) // sHRef = sHRef.remove( 0, FCK.BaseUrl.length ) ; @@ -236,7 +238,7 @@ GetE('txtUrl').value = sUrl ; } } - else if ( sHRef.substr(0,1) == '#' && sHRef.length > 2 ) // It is an anchor link. + else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 ) // It is an anchor link. { sType = 'anchor' ; GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ; @@ -485,6 +487,8 @@ if ( ! oLink ) return true ; } + + SetAttribute( oLink, '_fcksavedurl', sUri ) ; // Target if( GetE('cmbTarget').value != 'popup' ) @@ -500,44 +504,26 @@ SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ; SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ; SetAttribute( oLink, 'title' , GetE('txtAttTitle').value ) ; - SetAttribute( oLink, 'class' , GetE('txtAttClasses').value ) ; SetAttribute( oLink, 'type' , GetE('txtAttContentType').value ) ; SetAttribute( oLink, 'charset' , GetE('txtAttCharSet').value ) ; if ( oEditor.FCKBrowserInfo.IsIE ) + { + SetAttribute( oLink, 'className', GetE('txtAttClasses').value ) ; oLink.style.cssText = GetE('txtAttStyle').value ; + } else + { + SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ; SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ; + } return true ; } function BrowseServer() { - // Set the browser window feature. - var iWidth = FCKConfig.LinkBrowserWindowWidth ; - var iHeight = FCKConfig.LinkBrowserWindowHeight ; - - var iLeft = (FCKConfig.ScreenWidth - iWidth) / 2 ; - var iTop = (FCKConfig.ScreenHeight - iHeight) / 2 ; - - var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ; - sOptions += ",width=" + iWidth ; - sOptions += ",height=" + iHeight ; - sOptions += ",left=" + iLeft ; - sOptions += ",top=" + iTop ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - // The following change has been made otherwise IE will open the file - // browser on a different server session (on some cases): - // http://support.microsoft.com/default.aspx?scid=kb;en-us;831678 - // by Simone Chiaretta. - var oWindow = oEditor.window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ; - oWindow.opener = window ; - } - else - window.open( FCKConfig.LinkBrowserURL, "FCKBrowseWindow", sOptions ) ; + OpenFileBrowser( FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ; } function SetUrl( url ) Index: lams_central/web/fckeditor/editor/dialog/fck_paste.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_paste.html (.../fck_paste.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_paste.html (.../fck_paste.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -31,8 +31,6 @@ // First of all, translate the dialog box texts oEditor.FCKLanguageManager.TranslatePage(document) ; - window.parent.SetOkButton( true ) ; - if ( window.parent.dialogArguments.CustomValue == 'Word' ) { var oFrame = document.getElementById('frmData') @@ -48,6 +46,9 @@ document.getElementById('txtData').style.display = '' ; document.getElementById('oWordCommands').style.display = 'none' ; } + + window.parent.SetOkButton( true ) ; + window.parent.SetAutoSize( true ) ; } function Ok() Index: lams_central/web/fckeditor/editor/dialog/fck_radiobutton.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_radiobutton.html (.../fck_radiobutton.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_radiobutton.html (.../fck_radiobutton.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -40,7 +40,7 @@ if ( oActiveEl && oActiveEl.tagName.toUpperCase() == 'INPUT' && oActiveEl.type == 'radio' ) { GetE('txtName').value = oActiveEl.name ; - GetE('txtValue').value = oActiveEl.value ; + GetE('txtValue').value = oEditor.FCKBrowserInfo.IsIE ? oActiveEl.value : GetAttribute( oActiveEl, 'value' ) ; GetE('txtSelected').checked = oActiveEl.checked ; } else @@ -58,14 +58,17 @@ oActiveEl = oEditor.FCK.InsertElementAndGetIt( oActiveEl ) ; } - oActiveEl.name = GetE('txtName').value ; - SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ; + if ( GetE('txtName').value.length > 0 ) + oActiveEl.name = GetE('txtName').value ; + + if ( oEditor.FCKBrowserInfo.IsIE ) + oActiveEl.value = GetE('txtValue').value ; + else + SetAttribute( oActiveEl, 'value', GetE('txtValue').value ) ; - if ( GetE('txtSelected').checked ) - { - SetAttribute( oActiveEl, 'checked', 'checked' ) ; - oActiveEl.checked = GetE('txtSelected').checked ; - } + var bIsChecked = GetE('txtSelected').checked ; + SetAttribute( oActiveEl, 'checked', bIsChecked ? 'checked' : null ) ; // For Firefox + oActiveEl.checked = bIsChecked ; return true ; } Index: lams_central/web/fckeditor/editor/dialog/fck_smiley.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_smiley.html (.../fck_smiley.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_smiley.html (.../fck_smiley.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -39,6 +39,7 @@ { var oImg = oEditor.FCK.CreateElement( 'IMG' ) ; oImg.src = url ; + oImg.setAttribute( '_fcksavedurl', url ) ; window.parent.Cancel() ; } Index: lams_central/web/fckeditor/editor/dialog/fck_source.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_source.html (.../fck_source.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_source.html (.../fck_source.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -31,7 +31,9 @@ window.onload = function() { - document.getElementById('txtSource').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ; + // EnableXHTML and EnableSourceXHTML has been deprecated +// document.getElementById('txtSource').value = ( FCKConfig.EnableXHTML && FCKConfig.EnableSourceXHTML ? FCK.GetXHTML( FCKConfig.FormatSource ) : FCK.GetHTML( FCKConfig.FormatSource ) ) ; + document.getElementById('txtSource').value = FCK.GetXHTML( FCKConfig.FormatSource ) ; // Activate the "OK" button. window.parent.SetOkButton( true ) ; Index: lams_central/web/fckeditor/editor/dialog/fck_specialchar.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/dialog/fck_specialchar.html (.../fck_specialchar.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/dialog/fck_specialchar.html (.../fck_specialchar.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -22,8 +22,11 @@ \ No newline at end of file Index: lams_central/web/fckeditor/editor/fckeditor.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/fckeditor.html (.../fckeditor.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/fckeditor.html (.../fckeditor.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -29,15 +29,15 @@ - ';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='';B+=''+''+'
+ - + - + valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"> +
Index: lams_central/web/fckeditor/editor/fckeditor.original.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/fckeditor.original.html (.../fckeditor.original.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/fckeditor.original.html (.../fckeditor.original.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -46,15 +46,15 @@ - ';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='';B+=''+'
+ - + - + valign="bottom" onclick="FCKToolbarSet.Collapse();return false;"> +
Index: lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm (.../connector.cfm) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm (.../connector.cfm) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -1,22 +1,35 @@ - @@ -65,37 +78,42 @@ } else { serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),""); } - if ( right(serverPath,1) neq fs ) { - serverPath = serverPath & fs; - } // map the user files path to a physical directory userFilesServerPath = serverPath & replace(userFilesPath,"/",fs,"all"); xmlContent = ""; // append to this string to build content + + + "> + + + + "> + + + + + - - - + - - + - @@ -106,14 +124,6 @@ - - - "> - - - - "> - @@ -143,6 +153,10 @@ mode="644" attributes="normal"> + + + + @@ -343,6 +357,7 @@ xmlFooter = ''; + Index: lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso (.../config.lasso) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso (.../config.lasso) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -9,17 +9,15 @@ * For further information visit: * http://www.fckeditor.net/ * + * "Support Open Source software. What about a donation today?" + * * File Name: config.lasso * Configuration file for the File Manager Connector for Lasso. * * File Authors: * Jason Huck (jason.huck@corefive.com) - */ - - - /*..................................................................... The connector uses the file tags, which require authentication. Enter a valid username and password from Lasso admin for a group with file tags Index: lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso (.../connector.lasso) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso (.../connector.lasso) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -1,26 +1,23 @@ [//lasso /* - * FCKeditor - The text editor for internet * Copyright (C) 2003-2005 Frederico Caldeira Knabben -* + * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * + * "Support Open Source software. What about a donation today?" + * * File Name: connector.lasso * This is the File Manager Connector for Lasso. * * File Authors: * Jason Huck (jason.huck@corefive.com) - */ - - - /*..................................................................... Include global configuration. See config.lasso for details. */ Index: lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py =================================================================== diff -u --- lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py (revision 0) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,781 @@ +#!/usr/bin/env python + +""" +FCKeditor - The text editor for internet +Copyright (C) 2003-2005 Frederico Caldeira Knabben + +Licensed under the terms of the GNU Lesser General Public License: + http://www.opensource.org/licenses/lgpl-license.php + +For further information visit: + http://www.fckeditor.net/ + +"Support Open Source software. What about a donation today?" + +File Name: connector.py + Connector for Python. + + Tested With: + Standard: + Python 2.3.3 + Zope: + Zope Version: (Zope 2.8.1-final, python 2.3.5, linux2) + Python Version: 2.3.5 (#4, Mar 10 2005, 01:40:25) + [GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] + System Platform: linux2 + +File Authors: + Andrew Liu (andrew@liuholdings.com) +""" + +""" +Author Notes (04 December 2005): +This module has gone through quite a few phases of change. Obviously, +I am only supporting that part of the code that I use. Initially +I had the upload directory as a part of zope (ie. uploading files +directly into Zope), before realising that there were too many +complex intricacies within Zope to deal with. Zope is one ugly piece +of code. So I decided to complement Zope by an Apache server (which +I had running anyway, and doing nothing). So I mapped all uploads +from an arbitrary server directory to an arbitrary web directory. +All the FCKeditor uploading occurred this way, and I didn't have to +stuff around with fiddling with Zope objects and the like (which are +terribly complex and something you don't want to do - trust me). + +Maybe a Zope expert can touch up the Zope components. In the end, +I had FCKeditor loaded in Zope (probably a bad idea as well), and +I replaced the connector.py with an alias to a server module. +Right now, all Zope components will simple remain as is because +I've had enough of Zope. + +See notes right at the end of this file for how I aliased out of Zope. + +Anyway, most of you probably wont use Zope, so things are pretty +simple in that regard. + +Typically, SERVER_DIR is the root of WEB_DIR (not necessarily). +Most definitely, SERVER_USERFILES_DIR points to WEB_USERFILES_DIR. +""" + +import cgi +import re +import os +import string + +""" +escape + +Converts the special characters '<', '>', and '&'. + +RFC 1866 specifies that these characters be represented +in HTML as < > and & respectively. In Python +1.5 we use the new string.replace() function for speed. +""" +def escape(text, replace=string.replace): + text = replace(text, '&', '&') # must be done 1st + text = replace(text, '<', '<') + text = replace(text, '>', '>') + text = replace(text, '"', '"') + return text + +""" +getFCKeditorConnector + +Creates a new instance of an FCKeditorConnector, and runs it +""" +def getFCKeditorConnector(context=None): + # Called from Zope. Passes the context through + connector = FCKeditorConnector(context=context) + return connector.run() + + +""" +FCKeditorRequest + +A wrapper around the request object +Can handle normal CGI request, or a Zope request +Extend as required +""" +class FCKeditorRequest(object): + def __init__(self, context=None): + if (context is not None): + r = context.REQUEST + else: + r = cgi.FieldStorage() + self.context = context + self.request = r + + def isZope(self): + if (self.context is not None): + return True + return False + + def has_key(self, key): + return self.request.has_key(key) + + def get(self, key, default=None): + value = None + if (self.isZope()): + value = self.request.get(key, default) + else: + if key in self.request.keys(): + value = self.request[key].value + else: + value = default + return value + +""" +FCKeditorConnector + +The connector class +""" +class FCKeditorConnector(object): + # Configuration for FCKEditor + # can point to another server here, if linked correctly + #WEB_HOST = "http://127.0.0.1/" + WEB_HOST = "" + SERVER_DIR = "/var/www/html/" + + WEB_USERFILES_FOLDER = WEB_HOST + "upload/" + SERVER_USERFILES_FOLDER = SERVER_DIR + "upload/" + + # Allow access (Zope) + __allow_access_to_unprotected_subobjects__ = 1 + # Class Attributes + parentFolderRe = re.compile("[\/][^\/]+[\/]?$") + + """ + Constructor + """ + def __init__(self, context=None): + # The given root path will NOT be shown to the user + # Only the userFilesPath will be shown + + # Instance Attributes + self.context = context + self.request = FCKeditorRequest(context=context) + self.rootPath = self.SERVER_DIR + self.userFilesFolder = self.SERVER_USERFILES_FOLDER + self.webUserFilesFolder = self.WEB_USERFILES_FOLDER + + # Enables / Disables the connector + self.enabled = False # Set to True to enable this connector + + # These are instance variables + self.zopeRootContext = None + self.zopeUploadContext = None + + # Copied from php module =) + self.allowedExtensions = { + "File": None, + "Image": None, + "Flash": None, + "Media": None + } + self.deniedExtensions = { + "File": [ "php", "php3", "php5", "phtml", "asp", "aspx", "ascx", "jsp", "cfm", "cfc", "pl", "bat", "exe", "dll", "reg", "cgi" ], + "Image": [ "php", "php3", "php5", "phtml", "asp", "aspx", "ascx", "jsp", "cfm", "cfc", "pl", "bat", "exe", "dll", "reg", "cgi" ], + "Flash": [ "php", "php3", "php5", "phtml", "asp", "aspx", "ascx", "jsp", "cfm", "cfc", "pl", "bat", "exe", "dll", "reg", "cgi" ], + "Media": [ "php", "php3", "php5", "phtml", "asp", "aspx", "ascx", "jsp", "cfm", "cfc", "pl", "bat", "exe", "dll", "reg", "cgi" ] + } + + """ + Zope specific functions + """ + def isZope(self): + # The context object is the zope object + if (self.context is not None): + return True + return False + + def getZopeRootContext(self): + if self.zopeRootContext is None: + self.zopeRootContext = self.context.getPhysicalRoot() + return self.zopeRootContext + + def getZopeUploadContext(self): + if self.zopeUploadContext is None: + folderNames = self.userFilesFolder.split("/") + c = self.getZopeRootContext() + for folderName in folderNames: + if (folderName <> ""): + c = c[folderName] + self.zopeUploadContext = c + return self.zopeUploadContext + + """ + Generic manipulation functions + """ + def getUserFilesFolder(self): + return self.userFilesFolder + + def getWebUserFilesFolder(self): + return self.webUserFilesFolder + + def getAllowedExtensions(self, resourceType): + return self.allowedExtensions[resourceType] + + def getDeniedExtensions(self, resourceType): + return self.deniedExtensions[resourceType] + + def removeFromStart(self, string, char): + return string.lstrip(char) + + def removeFromEnd(self, string, char): + return string.rstrip(char) + + def convertToXmlAttribute(self, value): + if (value is None): + value = "" + return escape(value) + + def convertToPath(self, path): + if (path[-1] <> "/"): + return path + "/" + else: + return path + + def getUrlFromPath(self, resourceType, path): + if (resourceType is None) or (resourceType == ''): + url = "%s%s" % ( + self.removeFromEnd(self.getUserFilesFolder(), '/'), + path + ) + else: + url = "%s%s%s" % ( + self.getUserFilesFolder(), + resourceType, + path + ) + return url + + def getWebUrlFromPath(self, resourceType, path): + if (resourceType is None) or (resourceType == ''): + url = "%s%s" % ( + self.removeFromEnd(self.getWebUserFilesFolder(), '/'), + path + ) + else: + url = "%s%s%s" % ( + self.getWebUserFilesFolder(), + resourceType, + path + ) + return url + + def removeExtension(self, fileName): + index = fileName.rindex(".") + newFileName = fileName[0:index] + return newFileName + + def getExtension(self, fileName): + index = fileName.rindex(".") + 1 + fileExtension = fileName[index:] + return fileExtension + + def getParentFolder(self, folderPath): + parentFolderPath = self.parentFolderRe.sub('', folderPath) + return parentFolderPath + + """ + serverMapFolder + + Purpose: works out the folder map on the server + """ + def serverMapFolder(self, resourceType, folderPath): + # Get the resource type directory + resourceTypeFolder = "%s%s/" % ( + self.getUserFilesFolder(), + resourceType + ) + # Ensure that the directory exists + self.createServerFolder(resourceTypeFolder) + + # Return the resource type directory combined with the + # required path + return "%s%s" % ( + resourceTypeFolder, + self.removeFromStart(folderPath, '/') + ) + + """ + createServerFolder + + Purpose: physically creates a folder on the server + """ + def createServerFolder(self, folderPath): + # Check if the parent exists + parentFolderPath = self.getParentFolder(folderPath) + if not(os.path.exists(parentFolderPath)): + errorMsg = self.createServerFolder(parentFolderPath) + if errorMsg is not None: + return errorMsg + # Check if this exists + if not(os.path.exists(folderPath)): + os.mkdir(folderPath) + os.chmod(folderPath, 0755) + errorMsg = None + else: + if os.path.isdir(folderPath): + errorMsg = None + else: + raise "createServerFolder: Non-folder of same name already exists" + return errorMsg + + + """ + getRootPath + + Purpose: returns the root path on the server + """ + def getRootPath(self): + return self.rootPath + + """ + setXmlHeaders + + Purpose: to prepare the headers for the xml to return + """ + def setXmlHeaders(self): + #now = self.context.BS_get_now() + #yesterday = now - 1 + self.setHeader("Content-Type", "text/xml") + #self.setHeader("Expires", yesterday) + #self.setHeader("Last-Modified", now) + #self.setHeader("Cache-Control", "no-store, no-cache, must-revalidate") + self.printHeaders() + return + + def setHeader(self, key, value): + if (self.isZope()): + self.context.REQUEST.RESPONSE.setHeader(key, value) + else: + print "%s: %s" % (key, value) + return + + def printHeaders(self): + # For non-Zope requests, we need to print an empty line + # to denote the end of headers + if (not(self.isZope())): + print "" + + """ + createXmlFooter + + Purpose: returns the xml header + """ + def createXmlHeader(self, command, resourceType, currentFolder): + self.setXmlHeaders() + s = "" + # Create the XML document header + s += """""" + # Create the main connector node + s += """""" % ( + command, + resourceType + ) + # Add the current folder node + s += """""" % ( + self.convertToXmlAttribute(currentFolder), + self.convertToXmlAttribute( + self.getWebUrlFromPath( + resourceType, + currentFolder + ) + ), + ) + return s + + """ + createXmlFooter + + Purpose: returns the xml footer + """ + def createXmlFooter(self): + s = """""" + return s + + """ + sendError + + Purpose: in the event of an error, return an xml based error + """ + def sendError(self, number, text): + self.setXmlHeaders() + s = "" + # Create the XML document header + s += """""" + s += """""" + s += """""" % (number, text) + s += """""" + return s + + """ + getFolders + + Purpose: command to recieve a list of folders + """ + def getFolders(self, resourceType, currentFolder): + if (self.isZope()): + return self.getZopeFolders(resourceType, currentFolder) + else: + return self.getNonZopeFolders(resourceType, currentFolder) + + def getZopeFolders(self, resourceType, currentFolder): + # Open the folders node + s = "" + s += """""" + zopeFolder = self.findZopeFolder(resourceType, currentFolder) + for (name, o) in zopeFolder.objectItems(["Folder"]): + s += """""" % ( + self.convertToXmlAttribute(name) + ) + # Close the folders node + s += """""" + return s + + def getNonZopeFolders(self, resourceType, currentFolder): + # Map the virtual path to our local server + serverPath = self.serverMapFolder(resourceType, currentFolder) + # Open the folders node + s = "" + s += """""" + for someObject in os.listdir(serverPath): + someObjectPath = os.path.join(serverPath, someObject) + if os.path.isdir(someObjectPath): + s += """""" % ( + self.convertToXmlAttribute(someObject) + ) + # Close the folders node + s += """""" + return s + + """ + getFoldersAndFiles + + Purpose: command to recieve a list of folders and files + """ + def getFoldersAndFiles(self, resourceType, currentFolder): + if (self.isZope()): + return self.getZopeFoldersAndFiles(resourceType, currentFolder) + else: + return self.getNonZopeFoldersAndFiles(resourceType, currentFolder) + + def getNonZopeFoldersAndFiles(self, resourceType, currentFolder): + # Map the virtual path to our local server + serverPath = self.serverMapFolder(resourceType, currentFolder) + # Open the folders / files node + folders = """""" + files = """""" + for someObject in os.listdir(serverPath): + someObjectPath = os.path.join(serverPath, someObject) + if os.path.isdir(someObjectPath): + folders += """""" % ( + self.convertToXmlAttribute(someObject) + ) + elif os.path.isfile(someObjectPath): + size = os.path.getsize(someObjectPath) + files += """""" % ( + self.convertToXmlAttribute(someObject), + os.path.getsize(someObjectPath) + ) + # Close the folders / files node + folders += """""" + files += """""" + # Return it + s = folders + files + return s + + def getZopeFoldersAndFiles(self, resourceType, currentFolder): + folders = self.getZopeFolders(resourceType, currentFolder) + files = self.getZopeFiles(resourceType, currentFolder) + s = folders + files + return s + + def getZopeFiles(self, resourceType, currentFolder): + # Open the files node + s = "" + s += """""" + zopeFolder = self.findZopeFolder(resourceType, currentFolder) + for (name, o) in zopeFolder.objectItems(["File","Image"]): + s += """""" % ( + self.convertToXmlAttribute(name), + ((o.get_size() / 1024) + 1) + ) + # Close the files node + s += """""" + return s + + def findZopeFolder(self, resourceType, folderName): + # returns the context of the resource / folder + zopeFolder = self.getZopeUploadContext() + folderName = self.removeFromStart(folderName, "/") + folderName = self.removeFromEnd(folderName, "/") + if (resourceType <> ""): + try: + zopeFolder = zopeFolder[resourceType] + except: + zopeFolder.manage_addProduct["OFSP"].manage_addFolder(id=resourceType, title=resourceType) + zopeFolder = zopeFolder[resourceType] + if (folderName <> ""): + folderNames = folderName.split("/") + for folderName in folderNames: + zopeFolder = zopeFolder[folderName] + return zopeFolder + + """ + createFolder + + Purpose: command to create a new folder + """ + def createFolder(self, resourceType, currentFolder): + if (self.isZope()): + return self.createZopeFolder(resourceType, currentFolder) + else: + return self.createNonZopeFolder(resourceType, currentFolder) + + def createZopeFolder(self, resourceType, currentFolder): + # Find out where we are + zopeFolder = self.findZopeFolder(resourceType, currentFolder) + errorNo = 0 + errorMsg = "" + if self.request.has_key("NewFolderName"): + newFolder = self.request.get("NewFolderName", None) + zopeFolder.manage_addProduct["OFSP"].manage_addFolder(id=newFolder, title=newFolder) + else: + errorNo = 102 + error = """""" % ( + errorNo, + self.convertToXmlAttribute(errorMsg) + ) + return error + + def createNonZopeFolder(self, resourceType, currentFolder): + errorNo = 0 + errorMsg = "" + if self.request.has_key("NewFolderName"): + newFolder = self.request.get("NewFolderName", None) + currentFolderPath = self.serverMapFolder( + resourceType, + currentFolder + ) + try: + newFolderPath = currentFolderPath + newFolder + errorMsg = self.createServerFolder(newFolderPath) + if (errorMsg is not None): + errorNo = 110 + except: + errorNo = 103 + else: + errorNo = 102 + error = """""" % ( + errorNo, + self.convertToXmlAttribute(errorMsg) + ) + return error + + """ + getFileName + + Purpose: helper function to extrapolate the filename + """ + def getFileName(self, filename): + for splitChar in ["/", "\\"]: + array = filename.split(splitChar) + if (len(array) > 1): + filename = array[-1] + return filename + + """ + fileUpload + + Purpose: command to upload files to server + """ + def fileUpload(self, resourceType, currentFolder): + if (self.isZope()): + return self.zopeFileUpload(resourceType, currentFolder) + else: + return self.nonZopeFileUpload(resourceType, currentFolder) + + def zopeFileUpload(self, resourceType, currentFolder, count=None): + zopeFolder = self.findZopeFolder(resourceType, currentFolder) + file = self.request.get("NewFile", None) + fileName = self.getFileName(file.filename) + fileNameOnly = self.removeExtension(fileName) + fileExtension = self.getExtension(fileName).lower() + if (count): + nid = "%s.%s.%s" % (fileNameOnly, count, fileExtension) + else: + nid = fileName + title = nid + try: + zopeFolder.manage_addProduct['OFSP'].manage_addFile( + id=nid, + title=title, + file=file.read() + ) + except: + if (count): + count += 1 + else: + count = 1 + self.zopeFileUpload(resourceType, currentFolder, count) + return + + def nonZopeFileUpload(self, resourceType, currentFolder): + errorNo = 0 + errorMsg = "" + if self.request.has_key("NewFile"): + # newFile has all the contents we need + newFile = self.request.get("NewFile", "") + # Get the file name + newFileName = newFile.filename + newFileNameOnly = self.removeExtension(newFileName) + newFileExtension = self.getExtension(newFileName).lower() + allowedExtensions = self.getAllowedExtensions(resourceType) + deniedExtensions = self.getDeniedExtensions(resourceType) + if (allowedExtensions is not None): + # Check for allowed + isAllowed = False + if (newFileExtension in allowedExtensions): + isAllowed = True + elif (deniedExtensions is not None): + # Check for denied + isAllowed = True + if (newFileExtension in deniedExtensions): + isAllowed = False + else: + # No extension limitations + isAllowed = True + + if (isAllowed): + if (self.isZope()): + # Upload into zope + self.zopeFileUpload(resourceType, currentFolder) + else: + # Upload to operating system + # Map the virtual path to the local server path + currentFolderPath = self.serverMapFolder( + resourceType, + currentFolder + ) + i = 0 + while (True): + newFilePath = "%s%s" % ( + currentFolderPath, + newFileName + ) + if os.path.exists(newFilePath): + i += 1 + newFilePath = "%s%s(%s).%s" % ( + currentFolderPath, + newFileNameOnly, + i, + newFileExtension + ) + errorNo = 201 + break + else: + fileHandle = open(newFilePath,'w') + linecount = 0 + while (1): + #line = newFile.file.readline() + line = newFile.readline() + if not line: break + fileHandle.write("%s" % line) + linecount += 1 + os.chmod(newFilePath, 0777) + break + else: + newFileName = "Extension not allowed" + errorNo = 203 + else: + newFileName = "No File" + errorNo = 202 + + string = """ + + """ % ( + errorNo, + newFileName.replace('"',"'") + ) + return string + + def run(self): + s = "" + try: + # Check if this is disabled + if not(self.enabled): + return self.sendError(1, "This connector is disabled. Please check the connector configurations and try again") + # Make sure we have valid inputs + if not( + (self.request.has_key("Command")) and + (self.request.has_key("Type")) and + (self.request.has_key("CurrentFolder")) + ): + return + # Get command + command = self.request.get("Command", None) + # Get resource type + resourceType = self.request.get("Type", None) + # folder syntax must start and end with "/" + currentFolder = self.request.get("CurrentFolder", None) + if (currentFolder[-1] <> "/"): + currentFolder += "/" + if (currentFolder[0] <> "/"): + currentFolder = "/" + currentFolder + # Check for invalid paths + if (".." in currentFolder): + return self.sendError(102, "") + # File upload doesn't have to return XML, so intercept + # her:e + if (command == "FileUpload"): + return self.fileUpload(resourceType, currentFolder) + # Begin XML + s += self.createXmlHeader(command, resourceType, currentFolder) + # Execute the command + if (command == "GetFolders"): + f = self.getFolders + elif (command == "GetFoldersAndFiles"): + f = self.getFoldersAndFiles + elif (command == "CreateFolder"): + f = self.createFolder + else: + f = None + if (f is not None): + s += f(resourceType, currentFolder) + s += self.createXmlFooter() + except Exception, e: + s = "ERROR: %s" % e + return s + +# Running from command line +if __name__ == '__main__': + # To test the output, uncomment the standard headers + #print "Content-Type: text/html" + #print "" + print getFCKeditorConnector() + +""" +Running from zope, you will need to modify this connector. +If you have uploaded the FCKeditor into Zope (like me), you need to +move this connector out of Zope, and replace the "connector" with an +alias as below. The key to it is to pass the Zope context in, as +we then have a like to the Zope context. + +## Script (Python) "connector.py" +##bind container=container +##bind context=context +##bind namespace= +##bind script=script +##bind subpath=traverse_subpath +##parameters=*args, **kws +##title=ALIAS +## +import Products.connector as connector +return connector.getFCKeditorConnector(context=context).run() +""" + + Index: lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/test.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/test.html (.../test.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/connectors/test.html (.../test.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -115,8 +115,10 @@ + +
    Current Folder
Index: lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/filemanager/browser/default/frmupload.html (.../frmupload.html) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -47,10 +47,10 @@ return true ; } -function OnUploadCompleted( errorNumber, fileName ) +function OnUploadCompleted( errorNumber, data ) { // Reset the Upload Worker Frame. - window.parent.frames['frmUploadWorker'].location = 'about:blank' ; + window.parent.frames['frmUploadWorker'].location = '../../../fckblank.html' ; // Reset the upload form (On IE we must do a little trick to avout problems). if ( document.all ) @@ -67,9 +67,12 @@ case 0 : window.parent.frames['frmResourcesList'].Refresh() ; break ; + case 1 : // Custom error. + alert( data ) ; + break ; case 201 : window.parent.frames['frmResourcesList'].Refresh() ; - alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; + alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + data + '"' ) ; break ; case 202 : alert( 'Invalid file' ) ; Index: lams_central/web/fckeditor/editor/filemanager/upload/cfm/config.cfm =================================================================== diff -u --- lams_central/web/fckeditor/editor/filemanager/upload/cfm/config.cfm (revision 0) +++ lams_central/web/fckeditor/editor/filemanager/upload/cfm/config.cfm (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,94 @@ + + + + config = StructNew(); + + // SECURITY: You must explicitelly enable this "uploader". + config.enabled = false; + + // Path to uploaded files relative to the document root. + config.userFilesPath = "/UserFiles/"; + + config.serverPath = ""; // use this to force the server path if FCKeditor is not running directly off the root of the application or the FCKeditor directory in the URL is a virtual directory or a symbolic link / junction + + config.allowedExtensions = StructNew(); + config.deniedExtensions = StructNew(); + + config.allowedExtensions["File"] = ""; + config.deniedExtensions["File"] = "php,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,com,dll,vbs,js,reg"; + + config.allowedExtensions["Image"] = "png,gif,jpg,jpeg,bmp"; + config.deniedExtensions["Image"] = ""; + + config.allowedExtensions["Flash"] = "swf,fla"; + config.deniedExtensions["Flash"] = ""; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + function structCopyKeys(stFrom, stTo) { + for ( key in stFrom ) { + if ( isStruct(stFrom[key]) ) { + structCopyKeys(stFrom[key],stTo[key]); + } else { + stTo[key] = stFrom[key]; + } + } + } + structCopyKeys(FCKeditor, config); + + + \ No newline at end of file Index: lams_central/web/fckeditor/editor/filemanager/upload/cfm/upload.cfm =================================================================== diff -u --- lams_central/web/fckeditor/editor/filemanager/upload/cfm/upload.cfm (revision 0) +++ lams_central/web/fckeditor/editor/filemanager/upload/cfm/upload.cfm (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + userFilesPath = config.userFilesPath; + lAllowedExtensions = config.allowedExtensions[url.type]; + lDeniedExtensions = config.deniedExtensions[url.type]; + customMsg = ''; // Can be overwritten. The last value will be sent with the result + + // make sure the user files path is correctly formatted + userFilesPath = replace(userFilesPath, "\", "/", "ALL"); + userFilesPath = replace(userFilesPath, '//', '/', 'ALL'); + if ( right(userFilesPath,1) NEQ "/" ) { + userFilesPath = userFilesPath & "/"; + } + if ( left(userFilesPath,1) NEQ "/" ) { + userFilesPath = "/" & userFilesPath; + } + + if (find("/",getBaseTemplatePath())) { + fs = "/"; + } else { + fs = "\"; + } + + // Get the base physical path to the web root for this application. The code to determine the path automatically assumes that + // the "FCKeditor" directory in the http request path is directly off the web root for the application and that it's not a + // virtual directory or a symbolic link / junction. Use the serverPath config setting to force a physical path if necessary. + if ( len(config.serverPath) ) { + serverPath = config.serverPath; + } else { + serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),""); + } + + // map the user files path to a physical directory + userFilesServerPath = serverPath & replace(userFilesPath,"/",fs,"all"); + + + + + + + + + + + + + + + + + + + + + + + + + errorNumber = 0; + fileName = cffile.ClientFileName; + fileExt = cffile.ServerFileExt; + + // munge filename for html download. Only a-z, 0-9, _, - and . are allowed + if( reFind("[^A-Za-z0-9_\-\.]", fileName) ) { + fileName = reReplace(fileName, "[^A-Za-z0-9\-\.]", "_", "ALL"); + fileName = reReplace(fileName, "_{2,}", "_", "ALL"); + fileName = reReplace(fileName, "([^_]+)_+$", "\1", "ALL"); + fileName = reReplace(fileName, "$_([^_]+)$", "\1", "ALL"); + } + + // When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename. + if( compare( cffile.ServerFileName, fileName ) ) { + counter = 0; + tmpFileName = fileName; + while( fileExists("#currentFolderPath##fileName#.#fileExt#") ) { + counter = counter + 1; + fileName = tmpFileName & '(#counter#)'; + } + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: lams_central/web/fckeditor/editor/js/fck_startup.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/js/fck_startup.js (.../fck_startup.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/js/fck_startup.js (.../fck_startup.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -16,9 +16,9 @@ Array.prototype.addItem=function(A){var i=this.length;this[i]=A;return i;};Array.prototype.indexOf=function(A){for (var i=0;iC) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B0){this.IsLoading=true;var A=this.Queue[0];var B=new Array();for (i=1;i0){this.CheckQueue();return;};var B=new XMLHttpRequest();B.open("GET",A,false);B.send(null);if (B.status==200){try{eval(B.responseText);}catch (e){alert('Error parsing '+A+': '+e.message);};}else alert('Error loading '+A);this.CheckQueue();};}else{FCKScriptLoader.LoadFile=function(A){var e;if (A.lastIndexOf('.css')>0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=FCKScriptLoader_OnLoad;else FCKScriptLoader.CheckQueue();e.href=A;}else{e.onload=e.onreadystatechange=FCKScriptLoader_OnLoad;e.src=A;};};function FCKScriptLoader_OnLoad(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();};} +var FCKScriptLoader=new Object();FCKScriptLoader.IsLoading=false;FCKScriptLoader.Queue=new Array();FCKScriptLoader.AddScript=function(A){FCKScriptLoader.Queue[FCKScriptLoader.Queue.length]=A;if (!this.IsLoading) this.CheckQueue();};FCKScriptLoader.CheckQueue=function(){if (this.Queue.length>0){this.IsLoading=true;var A=this.Queue[0];var B=new Array();for (i=1;i0){e=document.createElement('LINK');e.rel='stylesheet';e.type='text/css';}else{e=document.createElement("script");e.type="text/javascript";};document.getElementsByTagName("head")[0].appendChild(e);if (e.tagName=='LINK'){if (FCKBrowserInfo.IsIE) e.onload=FCKScriptLoader_OnLoad;else FCKScriptLoader.CheckQueue();e.href=A;}else{e.onload=e.onreadystatechange=FCKScriptLoader_OnLoad;e.src=A;};};function FCKScriptLoader_OnLoad(){if (this.tagName=='LINK'||!this.readyState||this.readyState=='loaded') FCKScriptLoader.CheckQueue();} var FCKURLParams=new Object();var aParams=document.location.search.substr(1).split('&');for (var i=0;i';};for (var i=0;i|>)/g,_Replace);};FCKConfig.ProtectedSource.Add(//g); -var FCKeditorAPI;function FCKeditorAPI_GetInstance(instanceName){return this.__Instances[instanceName];};if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.1.1';FCKeditorAPI.GetInstance=FCKeditorAPI_GetInstance;}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK; -function Window_OnContextMenu(e){if (e) e.preventDefault();else{if (event.srcElement==document.getElementById('eSourceField')) return true;};return false;};window.document.oncontextmenu=Window_OnContextMenu;if (FCKBrowserInfo.IsGecko){function Window_OnResize(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};window.onresize=Window_OnResize;};if (FCKBrowserInfo.IsIE){var aCleanupDocs=new Array();aCleanupDocs[0]=document;function Window_OnBeforeUnload(){var d,e;var j=0;while ((d=aCleanupDocs[j++])){var i=0;while ((e=d.getElementsByTagName("DIV").item(i++))){if (e.FCKToolbarButton) e.FCKToolbarButton=null;if (e.FCKSpecialCombo) e.FCKSpecialCombo=null;if (e.Command) e.Command=null;};i=0;while ((e=d.getElementsByTagName("TR").item(i++))){if (e.FCKContextMenuItem) e.FCKContextMenuItem=null;};aCleanupDocs[j]=null;};if (typeof(FCKTempBin)!='undefined') FCKTempBin.Reset();};window.attachEvent("onunload",Window_OnBeforeUnload);};function Window_OnLoad(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';LoadConfigFile();};window.onload=Window_OnLoad;function LoadConfigFile(){FCKScriptLoader.OnEmpty=ProcessHiddenField;FCKScriptLoader.AddScript('../fckconfig.js');};function ProcessHiddenField(){FCKConfig.ProcessHiddenField();LoadCustomConfigFile();};function LoadCustomConfigFile(){if (FCKConfig.CustomConfigurationsPath.length>0){FCKScriptLoader.OnEmpty=LoadPageConfig;FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);}else{LoadPageConfig();};};function LoadPageConfig(){FCKConfig.LoadPageConfig();LoadStyles();};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=LoadEditor;FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');};function LoadEditor(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();} +var FCK=new Object();FCK.Name=FCKURLParams['InstanceName'];FCK.Status=FCK_STATUS_NOTLOADED;FCK.EditMode=FCK_EDITMODE_WYSIWYG;FCK.LoadLinkedFile=function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var C=A.getElementsByName(FCK.Name);var i=0;while (B||i==0){if (B&&(B.tagName=='INPUT'||B.tagName=='TEXTAREA')){FCK.LinkedField=B;break;};B=C[i++];};};FCK.LoadLinkedFile();var FCKTempBin=new Object();FCKTempBin.Elements=new Array();FCKTempBin.AddElement=function(A){var B=FCKTempBin.Elements.length;FCKTempBin.Elements[B]=A;return B;};FCKTempBin.RemoveElement=function(A){var e=FCKTempBin.Elements[A];FCKTempBin.Elements[A]=null;return e;};FCKTempBin.Reset=function(){var i=0;while (i';};for (var i=0;i|>)/g,_Replace);};FCKConfig.ProtectedSource.Add(//g); +var FCKeditorAPI;function FCKeditorAPI_GetInstance(instanceName){return this.__Instances[instanceName];};if (!window.parent.FCKeditorAPI){FCKeditorAPI=window.parent.FCKeditorAPI=new Object();FCKeditorAPI.__Instances=new Object();FCKeditorAPI.Version='2.2';FCKeditorAPI.GetInstance=FCKeditorAPI_GetInstance;}else FCKeditorAPI=window.parent.FCKeditorAPI;FCKeditorAPI.__Instances[FCK.Name]=FCK; +function Window_OnContextMenu(e){if (e) e.preventDefault();else{if (event.srcElement==document.getElementById('eSourceField')) return true;};return false;};window.document.oncontextmenu=Window_OnContextMenu;if (FCKBrowserInfo.IsGecko){function Window_OnResize(){var oFrame=document.getElementById('eEditorArea');oFrame.height=0;var oCell=document.getElementById(FCK.EditMode==FCK_EDITMODE_WYSIWYG?'eWysiwygCell':'eSource');var iHeight=oCell.offsetHeight;oFrame.height=iHeight-2;};window.onresize=Window_OnResize;};if (FCKBrowserInfo.IsIE){var aCleanupDocs=new Array();aCleanupDocs[0]=document;function Window_OnBeforeUnload(){var d,e;var j=0;while ((d=aCleanupDocs[j++])){var i=0;while ((e=d.getElementsByTagName("DIV").item(i++))){if (e.FCKToolbarButton) e.FCKToolbarButton=null;if (e.FCKSpecialCombo) e.FCKSpecialCombo=null;if (e.Command) e.Command=null;};i=0;while ((e=d.getElementsByTagName("TR").item(i++))){if (e.FCKContextMenuItem) e.FCKContextMenuItem=null;};aCleanupDocs[j]=null;};if (typeof(FCKTempBin)!='undefined') FCKTempBin.Reset();};window.attachEvent("onunload",Window_OnBeforeUnload);};function Window_OnLoad(){if (FCKBrowserInfo.IsNetscape) document.getElementById('eWysiwygCell').style.paddingRight='2px';LoadConfigFile();};window.onload=Window_OnLoad;function LoadConfigFile(){FCKScriptLoader.OnEmpty=ProcessHiddenField;FCKScriptLoader.AddScript('../fckconfig.js');};function ProcessHiddenField(){FCKConfig.ProcessHiddenField();LoadCustomConfigFile();};function LoadCustomConfigFile(){if (FCKConfig.CustomConfigurationsPath.length>0){FCKScriptLoader.OnEmpty=LoadPageConfig;FCKScriptLoader.AddScript(FCKConfig.CustomConfigurationsPath);}else{LoadPageConfig();};};function LoadPageConfig(){FCKConfig.LoadPageConfig();if (FCKConfig.AllowQueryStringDebug&&(/fckdebug=true/i).test(window.top.location.search)) FCKConfig.Debug=true;LoadStyles();};function LoadStyles(){FCKScriptLoader.OnEmpty=LoadScripts;FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_editor.css');FCKScriptLoader.AddScript(FCKConfig.SkinPath+'fck_contextmenu.css');};function LoadScripts(){FCKScriptLoader.OnEmpty=null;if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_1.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_1.js');};function LoadLanguageFile(){FCKScriptLoader.OnEmpty=LoadEditor;FCKScriptLoader.AddScript('lang/'+FCKLanguageManager.ActiveLanguage.Code+'.js');};function LoadEditor(){FCKScriptLoader.OnEmpty=null;if (FCKLang) window.document.dir=FCKLang.Dir;FCK.StartEditor();} Index: lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_1.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_1.js (.../fckeditorcode_gecko_1.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_1.js (.../fckeditorcode_gecko_1.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -12,16 +12,16 @@ * * This file has been compacted for best loading performance. */ -var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i/g,">");A=A.replace(/'/g,"'");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A0) B[B.length]=D;C(parent.childNodes[i]);};};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g; +var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;if (!C&&A!=null&&isNaN(A)) A=A.replace(/
';for (var D in A){var E=A[D]?A[D]+'':'[null]';try{C+=''+D+' : '+E.replace(/';}catch (e){C+=''+D+' : ['+typeof(A[D])+']
';};};C+='
';} else C='OutputObject : Object is "null".';FCKDebug.Output(C,B,true);};}else{FCKDebug.Output=function() {};FCKDebug.OutputObject=function() {};} +var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i/g,">");A=A.replace(/'/g,"'");return A;};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;if (A.offsetParent==null){var D=FCKTools.GetElementWindow(A);if (D!=C) A=D.frameElement;else break;}else A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A0) B[B.length]=D;C(parent.childNodes[i]);};};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.\-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g;FCKRegexLib.ProtectUrlsAApo=/(]+)/gi;FCKRegexLib.ProtectUrlsImgApo=/(]+)/gi; FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i0) FCKXHtml._AppendAttribute(A,'src',C);return A;};FCKXHtml.TagProcessors['a']=function(A,B){var C=B.getAttribute('_fcksavedurl');if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'href',C);FCKXHtml._AppendChildNodes(A,B,false);return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;} +FCKXHtml._GetMainXmlString=function(){var A=new XMLSerializer();return A.serializeToString(this.MainNode).replace(FCKRegexLib.GeckoEntitiesMarker,'&');};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createTextNode('#?-:'+B+';'));};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Regex.ProtectedTags=/(]*>)([\s\S]*?)(<\/PRE>)/gi;FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.addItem(C)+D;};FCKCodeFormatter.Format=function(A){FCKCodeFormatter.ProtectedData=new Array();var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i0?'':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='

 

') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('CENTER');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.innerHTML.trim().length==0){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;}; -FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKConfig.ShowBorders){var A=FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css');A.setAttribute('_fcktemp','true');};var B=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',B,true);var C=function(e){if (e.ctrlKey&&!e.shiftKey&&!e.altKey){var D=false;switch (e.which){case 66:case 98:FCK.ExecuteNamedCommand('bold');D=true;break;case 105:case 73:FCK.ExecuteNamedCommand('italic');D=true;break;case 117:case 85:FCK.ExecuteNamedCommand('underline');D=true;break;case 86:case 118:D=(FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste"));break;};if (D){e.preventDefault();e.stopPropagation();};};};this.EditorDocument.addEventListener('keypress',C,true);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this._OnLoad=function(){if (this._FCK_HTML){this.document.body.innerHTML=this._FCK_HTML;this._FCK_HTML=null;};};this.EditorWindow.addEventListener('load',this._OnLoad,true);};FCK.MakeEditable=function(){try{FCK.EditorDocument.designMode='on';FCK.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);}catch (e) {};};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(A,B){A=A.replace(FCKRegexLib.StrongOpener,'');A=A.replace(FCKRegexLib.EmOpener,'');if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);if (FCKConfig.FullPage&&FCKRegexLib.BodyContents.test(A)){if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);A=A.replace(FCKRegexLib.HeadCloser,'');var C=A.match(FCKRegexLib.BodyContents);var D=C[1];var E=C[2];var F=C[3];var G=D+' '+F;if (!this._Initialized){FCK.EditorDocument.designMode="on";FCK.EditorDocument.execCommand("useCSS",false,!FCKConfig.GeckoUseSPAN);this._Initialized=true;};this.EditorDocument.open();this.EditorDocument.write(G);this.EditorDocument.close();if (this.EditorDocument.body) this.EditorDocument.body.innerHTML=E;else this.EditorWindow._FCK_HTML=E;this.InitializeBehaviors();}else{if (!this._Initialized){this.EditorDocument.dir=FCKConfig.ContentLangDirection;var G=''+''+''+FCK.TempBaseTag;this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML=G;this.InitializeBehaviors();this._Initialized=true;};if (A.length==0) FCK.EditorDocument.body.innerHTML=GECKO_BOGUS;else if (FCKRegexLib.EmptyParagraph.test(A)) FCK.EditorDocument.body.innerHTML=A.replace(FCKRegexLib.TagBody,'>'+GECKO_BOGUS+'<');else FCK.EditorDocument.body.innerHTML=A;FCK.MakeEditable();};FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;} +var FCK_StartupValue;FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());this.ResetIsDirty();FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();FCK.Events.FireEvent("OnFocus");};function Window_OnBlur(){if (!FCKDialog.IsOpened) return FCK.Events.FireEvent("OnBlur");};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.frameElement.onfocus=window.document.body.onfocus=Window_OnFocus;window.frameElement.onblur=Window_OnBlur;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){FCK.GetXHTML(A);};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='

 

') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};FCK.ProtectUrls=function(A){A=A.replace(FCKRegexLib.ProtectUrlsAApo,'$1$2$3$2 _fcksavedurl=$2$3$2');A=A.replace(FCKRegexLib.ProtectUrlsANoApo,'$1$2 _fcksavedurl="$2"');A=A.replace(FCKRegexLib.ProtectUrlsImgApo,'$1$2$3$2 _fcksavedurl=$2$3$2');A=A.replace(FCKRegexLib.ProtectUrlsImgNoApo,'$1$2 _fcksavedurl="$2"');return A;};FCK.IsDirty=function(){return (FCK_StartupValue!=FCK.EditorDocument.body.innerHTML);};FCK.ResetIsDirty=function(){if (FCK.EditorDocument.body) FCK_StartupValue=FCK.EditorDocument.body.innerHTML;};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=C.cloneNode(true);if (FCKBrowserInfo.IsIE){D.setAttribute('scale',C.getAttribute('scale'));D.setAttribute('play',C.getAttribute('play'));D.setAttribute('loop',C.getAttribute('loop'));D.setAttribute('menu',C.getAttribute('menu'));};var E=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',D);E.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(E,C);C.parentNode.insertBefore(E,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;}; +FCK.Description="FCKeditor for Gecko Browsers";FCK.InitializeBehaviors=function(){if (FCKConfig.ShowBorders){var A=FCKTools.AppendStyleSheet(this.EditorDocument,FCKConfig.FullBasePath+'css/fck_showtableborders_gecko.css');A.setAttribute('_fcktemp','true');};var B=function(e){e.preventDefault();FCK.ShowContextMenu(e.clientX,e.clientY);};this.EditorDocument.addEventListener('contextmenu',B,true);var C=function(e){var D;if (e.ctrlKey&&!e.shiftKey&&!e.altKey){switch (e.which){case 66:case 98:FCK.ExecuteNamedCommand('bold');D=true;break;case 105:case 73:FCK.ExecuteNamedCommand('italic');D=true;break;case 117:case 85:FCK.ExecuteNamedCommand('underline');D=true;break;case 86:case 118:D=(FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste"));break;};}else if (e.shiftKey&&!e.ctrlKey&&!e.altKey&&e.keyCode==45) D=(FCK.Status!=FCK_STATUS_COMPLETE||!FCK.Events.FireEvent("OnPaste"));if (D){e.preventDefault();e.stopPropagation();};};this.EditorDocument.addEventListener('keypress',C,true);this.ExecOnSelectionChange=function(){FCK.Events.FireEvent("OnSelectionChange");};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this._OnLoad=function(){if (this._FCK_HTML){this.document.body.innerHTML=this._FCK_HTML;this._FCK_HTML=null;if (!FCK_StartupValue) FCK.ResetIsDirty();};};this.EditorWindow.addEventListener('load',this._OnLoad,true);};FCK.MakeEditable=function(){try{FCK.EditorDocument.designMode='on';FCK.EditorDocument.execCommand('useCSS',false,!FCKConfig.GeckoUseSPAN);FCK.EditorDocument.execCommand('enableObjectResizing',false,!FCKConfig.DisableImageHandles);FCK.EditorDocument.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableTableHandles);}catch (e) {};};FCK.Focus=function(){try{FCK.EditorWindow.focus();}catch(e) {};};FCK.SetHTML=function(A,B){A=A.replace(FCKRegexLib.StrongOpener,'');A=A.replace(FCKRegexLib.EmOpener,'');if (B||FCK.EditMode==FCK_EDITMODE_WYSIWYG){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectUrls(A);if (FCKConfig.FullPage&&FCKRegexLib.BodyContents.test(A)){if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);A=A.replace(FCKRegexLib.HeadCloser,'');var C=A.match(FCKRegexLib.BodyContents);var D=C[1];var E=C[2];var F=C[3];var G=D+' '+F;FCK.MakeEditable();this.EditorDocument.open();this.EditorDocument.write(G);this.EditorDocument.close();if (this.EditorDocument.body) this.EditorDocument.body.innerHTML=E;else this.EditorWindow._FCK_HTML=E;this.InitializeBehaviors();}else{if (!this._Initialized){this.EditorDocument.dir=FCKConfig.ContentLangDirection;var G=''+''+''+FCK.TempBaseTag;this.EditorDocument.getElementsByTagName("HEAD")[0].innerHTML=G;this.InitializeBehaviors();this._Initialized=true;};if (A.length==0) FCK.EditorDocument.body.innerHTML=GECKO_BOGUS;else if (FCKRegexLib.EmptyParagraph.test(A)) FCK.EditorDocument.body.innerHTML=A.replace(FCKRegexLib.TagBody,'>'+GECKO_BOGUS+'<');else FCK.EditorDocument.body.innerHTML=A;FCK.MakeEditable();};FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;}; Index: lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_2.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_2.js (.../fckeditorcode_gecko_2.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/js/fckeditorcode_gecko_2.js (.../fckeditorcode_gecko_2.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -12,45 +12,44 @@ * * This file has been compacted for best loading performance. */ -FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+''+''+FCKLang.Preview+''+''+FCK.TempBaseTag+''+FCK.GetXHTML()+'';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML(FCKConfig.FormatSource):FCK.GetHTML(FCKConfig.FormatSource));}else FCK.SetHTML(FCK.GetHTML(),true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;};};}; +FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B,C){FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+''+''+FCKLang.Preview+''+''+FCK.TempBaseTag+''+FCK.GetXHTML()+'';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=FCK.GetXHTML(FCKConfig.FormatSource);}else FCK.SetHTML(document.getElementById('eSourceField').value,true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=document.evaluate("//a[@href='"+B+"']",this.EditorDocument.body,null,9,null).singleNodeValue;if (C){C.href=A;return C;};};}; var FCKSelection=new Object();FCK.Selection=FCKSelection; -FCKSelection.GetType=function(){this._Type='Text';var A=FCK.EditorWindow.getSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.startContainer==B.endContainer&&(B.endOffset-B.startOffset)==1) this._Type='Control';};return this._Type;};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=FCK.EditorWindow.getSelection();return A.anchorNode.childNodes[A.anchorOffset];};};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentElement;else{var A=FCK.EditorWindow.getSelection();if (A){var B=A.anchorNode;while (B&&B.nodeType!=1) B=B.parentNode;return B;};};};FCKSelection.SelectNode=function(A){FCK.Focus();var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=FCK.EditorWindow.getSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=FCK.EditorWindow.getSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try { B=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;}catch(e){};};while (B){if (B.nodeType==1&&B.tagName==A) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=FCK.EditorWindow.getSelection().getRangeAt(0).startContainer;while (C){if (C.tagName==A) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=FCK.EditorWindow.getSelection();for (var i=0;i<\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';if (this.StyleSheet) FCKTools.AppendStyleSheet(this.Document,this.StyleSheet);this.OuterDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.OuterDiv.style.cssFloat='left';this.PanelDiv=this.OuterDiv.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.Created=true;};FCKPanel.prototype.Show=function(A,B,C,D,E,F){if (!this.Created) this.Create();if (D!=null&&F&&Dthis.Window.innerWidth){A-=A+this.OuterDiv.offsetWidth-this.Window.innerWidth;};this._IFrame.style.left=A+'px';this._IFrame.style.top=B+'px';function SetOnClickListener(targetWindow,targetFunction){try{if (targetWindow==null||(targetWindow.frameElement&&targetWindow.frameElement.IsFCKPanel)) return;targetWindow.document.addEventListener('click',targetFunction,false);}catch (e) {};for (var i=0;i=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.lenght-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length<\/body><\/html>');this.Document.close();this.Document.body.style.margin=this.Document.body.style.padding='0px';this._IFrame.contentWindow.onblur=this.Hide;B.contentWindow.Panel=this;this.PanelDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.EnableContextMenu(false);this.SetDirection(FCKLang.Dir);};FCKPanel.prototype.EnableContextMenu=function(A){this.Document.oncontextmenu=A?null:FCKTools.CancelEvent;};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.SetDirection=function(A){this.IsRTL=(A=='rtl');this.Document.dir=A;this.PanelDiv.style.cssFloat=(A=='rtl'?'right':'left');};FCKPanel.prototype.Load=function(){};FCKPanel.prototype.Show=function(x,y,A,B,C){this.PanelDiv.style.width=B?B+'px':'';this.PanelDiv.style.height=C?C+'px':'';if (!B) this._IFrame.width=1;if (!C) this._IFrame.height=1;var D=FCKTools.GetElementPosition(A,this._Window);x+=D.X;y+=D.Y;if (this.IsRTL){if (this.IsContextMenu) x=x-this.PanelDiv.offsetWidth+1;else if (A) x=x+(A.offsetWidth-this.PanelDiv.offsetWidth);}else{if ((x+this.PanelDiv.offsetWidth)>this._Window.document.body.clientWidth) x-=x+this.PanelDiv.offsetWidth-this._Window.document.body.clientWidth;};if (x<0) x=0;this._IFrame.style.left=x+'px';this._IFrame.style.top=y+'px';var E=this.PanelDiv.offsetWidth;var F=this.PanelDiv.offsetHeight;this._IFrame.width=E;this._IFrame.height=F;this._IFrame.contentWindow.focus();this._IsOpened=true;};FCKPanel.prototype.Hide=function(){var A=this.Panel?this.Panel:this;if (!A._IsOpened) return;A._IFrame.width=A._IFrame.height=0;if (A._OnHide) A._OnHide(A);A._IsOpened=false;};FCKPanel.prototype.CheckIsOpened=function(){return this._IsOpened;};FCKPanel.prototype.AttachToOnHideEvent=function(A){this._OnHide=A;} +var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){var A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode("TABLE");};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length';};FCKStyleDef.prototype.GetCloserTag=function(){return '';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());} FCKStyleDef.prototype.ApplyToSelection=function(){if (FCKSelection.GetType()=='Text'&&!this.IsObjectElement){var A=FCK.EditorWindow.getSelection();var e=FCK.EditorDocument.createElement(this.Element);for (var i=0;i');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var A=FCK.EditorDocument.createElement('CENTER');A.style.pageBreakAfter='always';var B=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',A);B=FCK.InsertElement(B);};FCKPageBreakCommand.prototype.GetState=function(){return 0;} +var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','

');else if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML=' ';var A=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;} var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;} -var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='\\\\\
' + FCKLang.ColorAutomatic + '
';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H

';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
'+FCKLang.ColorMoreColors+'
';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;} +var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='\\\\\
' + FCKLang.ColorAutomatic + '
';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H
';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
'+FCKLang.ColorMoreColors+'
';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;} var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');}; var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');}; -var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;} +var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;} var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i'+'
'+this.Label+'
';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;} -var FCKSpecialCombo=function(A){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='
';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?' ':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.unselectable='on';D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='
 
';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='
 
';E.innerHTML=''+''+''+''+''+'
'+this.Caption+'
';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){var oPanel=this.SpecialCombo._Panel;if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) oPanel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else oPanel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';oPanel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) oPanel.PanelDiv.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;}; -var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);} -var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i'+B[i]+'');} +var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,320);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':B=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;};};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}; +var FCKToolbarButton=function(A,B,C,D,E,F){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B=''+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='';B+=''+'
'+this.Label+'
';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;} +var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel(E);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');this._PanelBox=this._Panel.PanelDiv.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='
';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);};};};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?' ':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='
 
';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='
 
';E.innerHTML=''+''+''+''+''+'
'+this.Caption+'
';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){var oSpecialCombo=this.SpecialCombo;if (oSpecialCombo.Enabled){var oPanel=oSpecialCombo._Panel;var oPanelBox=oSpecialCombo._PanelBox;var oItemsHolder=oSpecialCombo._ItemsHolderEl;var iMaxHeight=oSpecialCombo.PanelMaxHeight;if (oSpecialCombo.OnBeforeClick) oSpecialCombo.OnBeforeClick(oSpecialCombo);oPanel.Load(0,this.offsetHeight,this);if (oItemsHolder.offsetHeight>iMaxHeight) oPanelBox.style.height=iMaxHeight+'px';else oPanelBox.style.height=oItemsHolder.offsetHeight+'px';if (FCKBrowserInfo.IsGecko) oPanelBox.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this);};return false;}; +var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue==B) return;this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);};}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);} +var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i'+B[i]+'');} var FCKToolbarFontSizeCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i'+C[1]+'',C[1]);};} -var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i'+C[D[i]]+'',C[D[i]]);};} -var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i'+'
'+this.Label+'
';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable; +var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<'+E+'>'+F+'
',F);};};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!=' ') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;};} +var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);A._Panel.Document.body.className+=' ForceBaseFont';if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i'+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+=''+this.Label+'';B+=''+''+'';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable; var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak);break;case 'UniversalKey':B=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;} -var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.unselectable='on';A.innerHTML='';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='';}; +var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.innerHTML='';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='';}; var FCKToolbarBreak=function(){var A=document.createElement('div');A.style.clear=A.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';FCKToolbarSet.DOMElement.appendChild(A);} var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(A){this.DOMElement=document.getElementById('eToolbar');var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=new Array();for (var x=0;x';B=this._Row.insertCell(-1);B.className='CM_Label';B.unselectable='on';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};}; -var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';B=this._Row.insertCell(-1);B.className='CM_Label';B.innerHTML='
';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){}; +FCKDialog.Show=function(A,B,C,D,E,F,G){var H=(FCKConfig.ScreenHeight-E)/2;var I=(FCKConfig.ScreenWidth-D)/2;var J="location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes"+",resizable="+(G?'yes':'no')+",width="+D+",height="+E+",top="+H+",left="+I;if (!F) F=window;var K=F.open('','FCKeditorDialog_'+B,J,true);if (!K){alert(FCKLang.DialogBlocked);return;};K.moveTo(I,H);K.resizeTo(D,E);K.focus();K.location.href=C;K.dialogArguments=A;F.FCKLastDialogInfo=A;this.Window=K;try{window.top.captureEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.addEventListener('mousedown',this.CheckFocus,true);window.top.parent.addEventListener('mouseup',this.CheckFocus,true);window.top.parent.addEventListener('click',this.CheckFocus,true);window.top.parent.addEventListener('focus',this.CheckFocus,true);}catch (e){};};FCKDialog.CheckFocus=function(){if (typeof(FCKDialog)!="object") return false;if (FCKDialog.Window&&!FCKDialog.Window.closed) FCKDialog.Window.focus();else{try{window.top.releaseEvents(Event.CLICK|Event.MOUSEDOWN|Event.MOUSEUP|Event.FOCUS);window.top.parent.removeEventListener('onmousedown',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('mouseup',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('click',FCKDialog.CheckFocus,true);window.top.parent.removeEventListener('onfocus',FCKDialog.CheckFocus,true);}catch (e){};};return false;}; +var FCKContextMenuItem=function(A,B,C,D){this.ContextMenu=A;this.Command=FCKCommands.GetCommand(B);this.Label=C?C:B;this.HasIcon=D?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var B=this._Row.insertCell(-1);B.className='CM_Icon';if (this.HasIcon) B.innerHTML='';B=this._Row.insertCell(-1);B.className='CM_Label';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};}; +var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';var C=A.ownerDocument||A.document;B=this._Row.insertCell(-1);B.className='CM_Label';B.appendChild(C.createElement('DIV')).className='CM_Separator_Line';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){}; var FCKContextMenuGroup=function(A,B,C,D,E){this.IsVisible=true;this.Items=new Array();if (A) this.Add(new FCKContextMenuSeparator());if (B&&C&&D) this.Add(new FCKContextMenuItem(B,C,D,E));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(A){this.Items[this.Items.length]=A;};FCKContextMenuGroup.prototype.CreateTableRows=function(A){for (var i=0;i0) x-=this._Div.offsetWidth;if (D>0) y-=this._Div.offsetHeight;this._Div.style.left=x+'px';this._Div.style.top=y+'px';var E=FCK.EditorWindow;while (E){E.document.addEventListener('click',FCKContextMenu._OnDocumentClick,false);if (E!=E.parent) E=E.parent;else if (E.opener==null) E=E.opener;else break;};this._Div.style.visibility='';};FCKContextMenu._OnDocumentClick=function(A){var e=A.target;while (e){if (e==FCKContextMenu._Div) return;e=e.parentNode;};FCKContextMenu.Hide();};FCKContextMenu.Hide=function(){this._Div.style.visibility='hidden';this._Div.style.left=this._Div.style.top='1px';} +var FCKContextMenu=new Object();FCKContextMenu._Panel=new FCKPanel(FCKBrowserInfo.IsIE?window:window.parent);FCKContextMenu._Panel.PanelDiv.className='CM_ContextMenu';FCKContextMenu._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');FCKContextMenu._Panel.IsContextMenu=true;FCKContextMenu._Document=FCKContextMenu._Panel.Document;FCKContextMenu._IsLoaded=false;FCKContextMenu.Show=function(x,y){if (!this._IsLoaded) this.Reload();this.RefreshState();if (!FCKBrowserInfo.IsIE){var A=FCKTools.GetElementPosition(FCK.EditorWindow.frameElement,this._Panel._Window);x+=A.X;y+=A.Y;};this._Panel.Show(x,y);};FCKContextMenu.Hide=function(){this._Panel.Hide();};FCKContextMenu.Reload=function(){var A=this._Document.createElement('TABLE');A.cellSpacing=0;A.cellPadding=0;this._Panel.PanelDiv.appendChild(A);this.Groups=new Object();for (var i=0;i0){var A;if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+A+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');} var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.ItemsCount=0;FCKPlugins.Loaded=false;FCKPlugins.Items=new Object();for (var i=0;i0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);} +if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText||FCKConfig.AutoDetectPasteFromWord) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCKTools.DisableSelection(document.body);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);} Index: lams_central/web/fckeditor/editor/js/fckeditorcode_ie_1.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/js/fckeditorcode_ie_1.js (.../fckeditorcode_ie_1.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/js/fckeditorcode_ie_1.js (.../fckeditorcode_ie_1.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -12,16 +12,16 @@ * * This file has been compacted for best loading performance. */ -var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B){if (!FCKConfig.Debug) return;if (A!=null&&isNaN(A)) A=A.replace(/=0;i--){A.options.remove(i);};};FCKTools.SelectNoCase=function(A,B,C){var D=B.toString().toLowerCase();for (var i=0;i/g,">");A=A.replace(/'/g,"'");return A;};FCKTools.GetResultingArray=function(A,B){switch (typeof(A)){case "string":return A.split(B);case "function":return B();default:if (isArray(A)) return A;else return new Array();};};FCKTools.GetElementPosition=function(A){var c={ X:0,Y:0 };while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){};};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};} -var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/'/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|INPUT|SELECT|TEXTAREA|HR|OBJECT)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g; +var FCKDebug=new Object();if (FCKConfig.Debug){FCKDebug.Output=function(A,B,C){if (!FCKConfig.Debug) return;if (!C&&A!=null&&isNaN(A)) A=A.replace(/
';for (var D in A){var E=A[D]?A[D]+'':'[null]';try{C+=''+D+' : '+E.replace(/';}catch (e){C+=''+D+' : ['+typeof(A[D])+']
';};};C+='
';} else C='OutputObject : Object is "null".';FCKDebug.Output(C,B,true);};}else{FCKDebug.Output=function() {};FCKDebug.OutputObject=function() {};} +var FCKTools=new Object();FCKTools.GetLinkedFieldValue=function(){return FCK.LinkedField.value;};FCKTools.AttachToLinkedFieldFormSubmit=function(A){var B=FCK.LinkedField.form;if (!B) return;if (FCKBrowserInfo.IsIE) B.attachEvent("onsubmit",A);else B.addEventListener('submit',A,true);if (!B.updateFCKeditor) B.updateFCKeditor=new Array();B.updateFCKeditor[B.updateFCKeditor.length]=A;if (!B.originalSubmit&&(typeof(B.submit)=='function'||(!B.submit.tagName&&!B.submit.length))){B.originalSubmit=B.submit;B.submit=FCKTools_SubmitReplacer;};};function FCKTools_SubmitReplacer(){if (this.updateFCKeditor){for (var i=0;i/g,">");A=A.replace(/'/g,"'");return A;};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;while (A){c.X+=A.offsetLeft;c.Y+=A.offsetTop;if (A.offsetParent==null){var D=FCKTools.GetElementWindow(A);if (D!=C) A=D.frameElement;else break;}else A=A.offsetParent;};return c;};FCKTools.GetElementAscensor=function(A,B){var e=A;var C=","+B.toUpperCase()+",";while (e){if (C.indexOf(","+e.nodeName.toUpperCase()+",")!=-1) return e;e=e.parentNode;};return null;};FCKTools.Pause=function(A){var B=new Date();while (true){var C=new Date();if (A0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){};};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while (e=A.all[i++]){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':/* Ignore the above tags */ break;default:e.unselectable='on';};};} +var FCKRegexLib=new Object();FCKRegexLib.AposEntity=/'/gi;FCKRegexLib.ObjectElements=/^(?:IMG|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|HR|OBJECT|A|UL|OL|LI)$/i;FCKRegexLib.BlockElements=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TD|TH)$/i;FCKRegexLib.EmptyElements=/^(?:BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT)$/i;FCKRegexLib.NamedCommands=/^(?:Cut|Copy|Paste|Print|SelectAll|RemoveFormat|Unlink|Undo|Redo|Bold|Italic|Underline|StrikeThrough|Subscript|Superscript|JustifyLeft|JustifyCenter|JustifyRight|JustifyFull|Outdent|Indent|InsertOrderedList|InsertUnorderedList|InsertHorizontalRule)$/i;FCKRegexLib.BodyContents=/([\s\S]*\]*\>)([\s\S]*)(\<\/body\>[\s\S]*)/i;FCKRegexLib.ToReplace=/___fcktoreplace:([\w]+)/ig;FCKRegexLib.MetaHttpEquiv=/http-equiv\s*=\s*["']?([^"' ]+)/i;FCKRegexLib.HasBaseTag=/]*>/i;FCKRegexLib.HeadCloser=/<\/head\s*>/i;FCKRegexLib.TableBorderClass=/\s*FCK__ShowTableBorders\s*/;FCKRegexLib.ElementName=/^[A-Za-z_:][\w.\-:]*$/;FCKRegexLib.ForceSimpleAmpersand=/___FCKAmp___/g;FCKRegexLib.SpaceNoClose=/\/>/g;FCKRegexLib.EmptyParagraph=/^<(p|div)>\s*<\/\1>$/i;FCKRegexLib.TagBody=/>])/gi;FCKRegexLib.StrongCloser=/<\/STRONG>/gi;FCKRegexLib.EmOpener=/])/gi;FCKRegexLib.EmCloser=/<\/EM>/gi;FCKRegexLib.GeckoEntitiesMarker=/#\?-\:/g;FCKRegexLib.ProtectUrlsAApo=/(]+)/gi;FCKRegexLib.ProtectUrlsImgApo=/(]+)/gi; FCKLanguageManager.GetActiveLanguage=function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;};};return this.DefaultLanguage;};FCKLanguageManager.TranslateElements=function(A,B,C){var e=A.getElementsByTagName(B);for (var i=0;i$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i0) FCKXHtml._AppendAttribute(A,'shape',C);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;} -var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Format=function(A){var B=A.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i$/,'');D=D.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) D=D.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) D=FCKCodeFormatter.Format(D);for (var i=0;i0) FCKXHtml._AppendAttribute(A,'src',C);return A;};FCKXHtml.TagProcessors['a']=function(A,B){var C=B.getAttribute('_fcksavedurl');if (C&&C.length>0) FCKXHtml._AppendAttribute(A,'href',C);FCKXHtml._AppendChildNodes(A,B,false);return A;};FCKXHtml.TagProcessors['script']=function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;};FCKXHtml.TagProcessors['style']=function(A,B){if (B.getAttribute('_fcktemp')) return null;if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.innerHTML)));return A;};FCKXHtml.TagProcessors['title']=function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;};FCKXHtml.TagProcessors['base']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['link']=function(A,B){if (B.getAttribute('_fcktemp')) return null;return A;};FCKXHtml.TagProcessors['table']=function(A,B){var C=A.attributes.getNamedItem('class');if (C&&FCKRegexLib.TableBorderClass.test(C.nodeValue)){var D=C.nodeValue.replace(FCKRegexLib.TableBorderClass,'');if (D.length==0) A.attributes.removeNamedItem('class');else FCKXHtml._AppendAttribute(A,'class',D);};FCKXHtml._AppendChildNodes(A,B,false);return A;} +FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendEntity=function(A,B){A.appendChild(this.XML.createEntityReference(B));};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes;for (var n=0;n0) FCKXHtml._AppendAttribute(A,'shape',C);};return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);FCKXHtml._AppendChildNodes(A,B);return A;} +var FCKCodeFormatter;if (!(FCKCodeFormatter=NS.FCKCodeFormatter)){FCKCodeFormatter=NS.FCKCodeFormatter=new Object();FCKCodeFormatter.Regex=new Object();FCKCodeFormatter.Regex.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;FCKCodeFormatter.Regex.NewLineTags=/\<(BR|HR)[^\>]\>/gi;FCKCodeFormatter.Regex.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;FCKCodeFormatter.Regex.LineSplitter=/\s*\n+\s*/g;FCKCodeFormatter.Regex.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;FCKCodeFormatter.Regex.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;FCKCodeFormatter.Regex.FormatIndentatorRemove=new RegExp(FCKConfig.FormatIndentator);FCKCodeFormatter.Regex.ProtectedTags=/(]*>)([\s\S]*?)(<\/PRE>)/gi;FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.addItem(C)+D;};FCKCodeFormatter.Format=function(A){FCKCodeFormatter.ProtectedData=new Array();var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');;B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;i=0&&A==FCKUndo.SavedData[FCKUndo.CurrentIndex][0]) return;if (FCKUndo.CurrentIndex+1>=FCKConfig.MaxUndoLevels) FCKUndo.SavedData.shift();else FCKUndo.CurrentIndex++;var B;if (FCK.EditorDocument.selection.type=='Text') B=FCK.EditorDocument.selection.createRange().getBookmark();FCKUndo.SavedData[FCKUndo.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (FCKUndo.Typing||FCKUndo.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (!FCKUndo.Typing&&FCKUndo.CurrentIndex<(FCKUndo.SavedData.length-1));};FCKUndo.Undo=function(){if (FCKUndo.CheckUndoState()){if (FCKUndo.CurrentIndex==(FCKUndo.SavedData.length-1)){FCKUndo.SaveUndoStep();};FCKUndo._ApplyUndoLevel(--FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo.Redo=function(){if (FCKUndo.CheckRedoState()){FCKUndo._ApplyUndoLevel(++FCKUndo.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");};};FCKUndo._ApplyUndoLevel=function(A){var B=FCKUndo.SavedData[A];if (!B) return;FCK.SetInnerHtml(B[0]);if (B[1]){var C=FCK.EditorDocument.selection.createRange();C.moveToBookmark(B[1]);C.select();};FCKUndo.TypesCount=0;FCKUndo.Typing=false;} -FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.onfocus=window.document.body.onfocus=Window_OnFocus;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){var B;if (FCK.EditMode==FCK_EDITMODE_WYSIWYG){if (FCKBrowserInfo.IsIE) B=this.EditorDocument.body.innerHTML.replace(FCKRegexLib.ToReplace,'$1');else B=this.EditorDocument.body.innerHTML;}else B=document.getElementById('eSourceField').value;if (A) return FCKCodeFormatter.Format(B);else return B;};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='

 

') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){if (FCKConfig.EnableXHTML) FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);else FCK.LinkedField.value=FCK.GetHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('CENTER');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.innerHTML.trim().length==0){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',C.cloneNode(true));D.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(D,C);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;}; -FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._BehaviorsStyle='';function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};};function Doc_OnPaste(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};function Doc_OnContextMenu(){var e=FCK.EditorWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};function Doc_OnKeyDown(){var e=FCK.EditorWindow.event;switch (e.keyCode){case 13:if (FCKConfig.UseBROnCarriageReturn&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml('
 ');var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};break;case 9:if (FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();FCK.InsertHtml(window.FCKTabHTML);return false;};break;case 90:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Undo();return false;};break;case 89:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Redo();return false;};break;};if (!(e.keyCode>=16&&e.keyCode<=18)) Doc_OnKeyDownUndo();return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();};};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.attachEvent('oncontextmenu',Doc_OnContextMenu);if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i';if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C+=FCK.TempBaseTag;C=A.replace(FCKRegexLib.HeadOpener,'$&'+C);}else{C=FCKConfig.DocType+''+'';C+=FCK._BehaviorsStyle;C+=FCK.TempBaseTag;C+=''+A+'';};this.EditorDocument.open('','_self','',true);this.EditorDocument.write(C);this.EditorDocument.close();this.InitializeBehaviors();this.EditorDocument.body.contentEditable=true;FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;};FCK.InsertHtml=function(A){FCK.Focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()!="none") B.clear();B.createRange().pasteHTML(A);};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='
 
'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);} +var FCK_StartupValue;FCK.Events=new FCKEvents(FCK);FCK.Toolbar=null;FCK.TempBaseTag=FCKConfig.BaseHref.length>0?'':'';FCK.StartEditor=function(){this.EditorWindow=window.frames['eEditorArea'];this.EditorDocument=this.EditorWindow.document;this.SetHTML(FCKTools.GetLinkedFieldValue());this.ResetIsDirty();FCKTools.AttachToLinkedFieldFormSubmit(this.UpdateLinkedField);FCKUndo.SaveUndoStep();this.SetStatus(FCK_STATUS_ACTIVE);};function Window_OnFocus(){FCK.Focus();FCK.Events.FireEvent("OnFocus");};function Window_OnBlur(){if (!FCKDialog.IsOpened) return FCK.Events.FireEvent("OnBlur");};FCK.SetStatus=function(A){this.Status=A;if (A==FCK_STATUS_ACTIVE){window.frameElement.onfocus=window.document.body.onfocus=Window_OnFocus;window.frameElement.onblur=Window_OnBlur;if (FCKConfig.StartupFocus) FCK.Focus();if (FCKBrowserInfo.IsIE) FCKScriptLoader.AddScript('js/fckeditorcode_ie_2.js');else FCKScriptLoader.AddScript('js/fckeditorcode_gecko_2.js');};this.Events.FireEvent('OnStatusChange',A);};FCK.GetHTML=function(A){FCK.GetXHTML(A);};FCK.GetXHTML=function(A){var B=(FCK.EditMode==FCK_EDITMODE_SOURCE);if (B) this.SwitchEditMode();var C;if (FCKConfig.FullPage) C=FCKXHtml.GetXHTML(this.EditorDocument.getElementsByTagName('html')[0],true,A);else{if (FCKConfig.IgnoreEmptyParagraphValue&&this.EditorDocument.body.innerHTML=='

 

') C='';else C=FCKXHtml.GetXHTML(this.EditorDocument.body,false,A);};if (B) this.SwitchEditMode();if (FCKBrowserInfo.IsIE) C=C.replace(FCKRegexLib.ToReplace,'$1');if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) C=FCK.DocTypeDeclaration+'\n'+C;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) C=FCK.XmlDeclaration+'\n'+C;return FCKConfig.ProtectedSource.Revert(C);};FCK.UpdateLinkedField=function(){FCK.LinkedField.value=FCK.GetXHTML(FCKConfig.FormatOutput);FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');};FCK.ShowContextMenu=function(x,y){if (this.Status!=FCK_STATUS_COMPLETE) return;FCKContextMenu.Show(x,y);this.Events.FireEvent("OnContextMenu");};FCK.RegisteredDoubleClickHandlers=new Object();FCK.OnDoubleClick=function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName];if (B) B(A);};FCK.RegisterDoubleClickHandler=function(A,B){FCK.RegisteredDoubleClickHandlers[B.toUpperCase()]=A;};FCK.OnAfterSetHTML=function(){var A,i=0;while((A=FCKDocumentProcessors[i++])) A.ProcessDocument(FCK.EditorDocument);this.Events.FireEvent('OnAfterSetHTML');};FCK.ProtectUrls=function(A){A=A.replace(FCKRegexLib.ProtectUrlsAApo,'$1$2$3$2 _fcksavedurl=$2$3$2');A=A.replace(FCKRegexLib.ProtectUrlsANoApo,'$1$2 _fcksavedurl="$2"');A=A.replace(FCKRegexLib.ProtectUrlsImgApo,'$1$2$3$2 _fcksavedurl=$2$3$2');A=A.replace(FCKRegexLib.ProtectUrlsImgNoApo,'$1$2 _fcksavedurl="$2"');return A;};FCK.IsDirty=function(){return (FCK_StartupValue!=FCK.EditorDocument.body.innerHTML);};FCK.ResetIsDirty=function(){if (FCK.EditorDocument.body) FCK_StartupValue=FCK.EditorDocument.body.innerHTML;};var FCKDocumentProcessors=new Array();var FCKDocumentProcessors_CreateFakeImage=function(A,B){var C=FCK.EditorDocument.createElement('IMG');C.className=A;C.src=FCKConfig.FullBasePath+'images/spacer.gif';C.setAttribute('_fckfakelement','true',0);C.setAttribute('_fckrealelement',FCKTempBin.AddElement(B),0);return C;};var FCKAnchorsProcessor=new Object();FCKAnchorsProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('A');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.name.length>0&&(!C.getAttribute('href')||C.getAttribute('href').length==0)){var D=FCKDocumentProcessors_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKAnchorsProcessor);var FCKPageBreaksProcessor=new Object();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);};};};FCKDocumentProcessors.addItem(FCKPageBreaksProcessor);var FCKFlashProcessor=new Object();FCKFlashProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('EMBED');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.src.endsWith('.swf',true)){var D=C.cloneNode(true);if (FCKBrowserInfo.IsIE){D.setAttribute('scale',C.getAttribute('scale'));D.setAttribute('play',C.getAttribute('play'));D.setAttribute('loop',C.getAttribute('loop'));D.setAttribute('menu',C.getAttribute('menu'));};var E=FCKDocumentProcessors_CreateFakeImage('FCK__Flash',D);E.setAttribute('_fckflash','true',0);FCKFlashProcessor.RefreshView(E,C);C.parentNode.insertBefore(E,C);C.parentNode.removeChild(C);};};};FCKFlashProcessor.RefreshView=function(A,B){if (B.width>0) A.style.width=FCKTools.ConvertHtmlSizeToStyle(B.width);if (B.height>0) A.style.height=FCKTools.ConvertHtmlSizeToStyle(B.height);};FCKDocumentProcessors.addItem(FCKFlashProcessor);FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;}; +FCK.Description="FCKeditor for Internet Explorer 5.5+";FCK._BehaviorsStyle='';function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;};};function Doc_OnPaste(){if (FCK.Status==FCK_STATUS_COMPLETE) return FCK.Events.FireEvent("OnPaste");else return false;};function Doc_OnContextMenu(){var e=FCK.EditorWindow.event;FCK.ShowContextMenu(e.screenX,e.screenY);return false;};function Doc_OnKeyDown(){var e=FCK.EditorWindow.event;switch (e.keyCode){case 13:if (FCKConfig.UseBROnCarriageReturn&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();if (FCK.EditorDocument.queryCommandState('InsertOrderedList')||FCK.EditorDocument.queryCommandState('InsertUnorderedList')) return true;FCK.InsertHtml('
 ');var oRange=FCK.EditorDocument.selection.createRange();oRange.moveStart('character',-1);oRange.select();FCK.EditorDocument.selection.clear();return false;};break;case 8:if (FCKSelection.GetType()=='Control'){FCKSelection.Delete();return false;};break;case 9:if (FCKConfig.TabSpaces>0&&!(e.ctrlKey||e.altKey||e.shiftKey)){Doc_OnKeyDownUndo();FCK.InsertHtml(window.FCKTabHTML);return false;};break;case 90:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Undo();return false;};break;case 89:if (e.ctrlKey&&!(e.altKey||e.shiftKey)){FCKUndo.Redo();return false;};break;};if (!(e.keyCode>=16&&e.keyCode<=18)) Doc_OnKeyDownUndo();return true;};function Doc_OnKeyDownUndo(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();};};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){FCK.Events.FireEvent("OnSelectionChange");};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.attachEvent('oncontextmenu',Doc_OnContextMenu);if (FCKConfig.TabSpaces>0){window.FCKTabHTML='';for (i=0;i';if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) C+=FCK.TempBaseTag;C=A.replace(FCKRegexLib.HeadOpener,'$&'+C);}else{C=FCKConfig.DocType+''+'';C+=FCK._BehaviorsStyle;C+=FCK.TempBaseTag;C+=''+A+'';};this.EditorDocument.open('','replace');this.EditorDocument.write(C);this.EditorDocument.close();this.InitializeBehaviors();this.EditorDocument.body.contentEditable=true;FCK.OnAfterSetHTML();}else document.getElementById('eSourceField').value=A;};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectUrls(A);FCK.Focus();FCKUndo.SaveUndoStep();var B=FCK.EditorDocument.selection;if (B.type.toLowerCase()!="none") B.clear();B.createRange().pasteHTML(A);};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='
 
'+A;B.getElementById('__fakeFCKRemove__').removeNode(true);} Index: lams_central/web/fckeditor/editor/js/fckeditorcode_ie_2.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/js/fckeditorcode_ie_2.js (.../fckeditorcode_ie_2.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/js/fckeditorcode_ie_2.js (.../fckeditorcode_ie_2.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -12,45 +12,44 @@ * * This file has been compacted for best loading performance. */ -FCK.RedirectNamedCommands=new Object();FCK.ExecuteNamedCommand=function(A,B){FCKUndo.SaveUndoStep();if (FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};FCKUndo.SaveUndoStep();};FCK.GetNamedCommandState=function(A){try{if (!FCK.EditorDocument.queryCommandEnabled(A)) return FCK_TRISTATE_DISABLED;else return FCK.EditorDocument.queryCommandState(A)?FCK_TRISTATE_ON:FCK_TRISTATE_OFF;}catch (e){return FCK_TRISTATE_OFF;};};FCK.GetNamedCommandValue=function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==FCK_TRISTATE_DISABLED) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';};FCK.PasteFromWord=function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');};FCK.Preview=function(){var A=FCKConfig.ScreenWidth*0.8;var B=FCKConfig.ScreenHeight*0.7;var C=(FCKConfig.ScreenWidth-A)/2;var D=window.open('',null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+A+',height='+B+',left='+C);var E;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+''+''+FCKLang.Preview+''+''+FCK.TempBaseTag+''+FCK.GetXHTML()+'';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=(FCKConfig.EnableXHTML&&FCKConfig.EnableSourceXHTML?FCK.GetXHTML(FCKConfig.FormatSource):FCK.GetHTML(FCKConfig.FormatSource));}else FCK.SetHTML(FCK.GetHTML(),true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i]* class="?MsoNormal"?/gi;if (B.test(A)){if (confirm(FCKLang["PasteWordConfirm"])){FCK.PasteFromWord();return false;};};}else return true;};FCK.PasteAsPlainText=function(){var A=FCKTools.HTMLEncode(clipboardData.getData("Text"));A=A.replace(/\n/g,'
');this.InsertHtml(A);};FCK.InsertElement=function(A){FCK.InsertHtml(A.outerHTML);};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){var A=document.createElement('DIV');A.id='___FCKHiddenDiv';A.style.visibility='hidden';A.style.overflow='hidden';A.style.position='absolute';A.style.width=1;A.style.height=1;document.body.appendChild(A);};A.innerHTML='';var C=document.body.createTextRange();C.moveToElementText(A);C.execCommand('Paste');var D=A.innerHTML;A.innerHTML='';return D;};FCK.AttachToOnSelectionChange=function(A){this.Events.AttachEvent('OnSelectionChange',A);};FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=this.EditorDocument.links;for (i=0;i0) E=FCK.GetXHTML().replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);else E=FCK.GetXHTML();}else{E=FCKConfig.DocType+''+''+FCKLang.Preview+''+''+FCK.TempBaseTag+''+FCK.GetXHTML()+'';};D.document.write(E);D.document.close();};FCK.SwitchEditMode=function(){var A=(FCK.EditMode==FCK_EDITMODE_WYSIWYG);document.getElementById('eWysiwyg').style.display=A?'none':'';document.getElementById('eSource').style.display=A?'':'none';if (A){if (FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();document.getElementById('eSourceField').value=FCK.GetXHTML(FCKConfig.FormatSource);}else FCK.SetHTML(document.getElementById('eSourceField').value,true);FCK.EditMode=A?FCK_EDITMODE_SOURCE:FCK_EDITMODE_WYSIWYG;FCKToolbarSet.RefreshModeState();FCK.Focus();};FCK.CreateElement=function(A){var e=FCK.EditorDocument.createElement(A);return FCK.InsertElementAndGetIt(e);};FCK.InsertElementAndGetIt=function(e){e.setAttribute('__FCKTempLabel',1);this.InsertElement(e);var A=FCK.EditorDocument.getElementsByTagName(e.tagName);for (var i=0;i]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang["PasteWordConfirm"])){FCK.PasteFromWord();return false;};};}else return true;};FCK.PasteAsPlainText=function(){var A=FCKTools.HTMLEncode(clipboardData.getData("Text"));A=A.replace(/\n/g,'
');this.InsertHtml(A);};FCK.InsertElement=function(A){FCK.InsertHtml(A.outerHTML);};FCK.GetClipboardHTML=function(){var A=document.getElementById('___FCKHiddenDiv');if (!A){var A=document.createElement('DIV');A.id='___FCKHiddenDiv';A.style.visibility='hidden';A.style.overflow='hidden';A.style.position='absolute';A.style.width=1;A.style.height=1;document.body.appendChild(A);};A.innerHTML='';var C=document.body.createTextRange();C.moveToElementText(A);C.execCommand('Paste');var D=A.innerHTML;A.innerHTML='';return D;};FCK.AttachToOnSelectionChange=function(A){this.Events.AttachEvent('OnSelectionChange',A);};FCK.CreateLink=function(A){FCK.ExecuteNamedCommand('Unlink');if (A.length>0){var B='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',B);var C=this.EditorDocument.links;for (i=0;ithis.PanelDiv.offsetWidth)) var G=this.PanelDiv.offsetWidth;else var G=D;if (E==null||(F&&E>this.PanelDiv.offsetHeight)) var I=this.PanelDiv.offsetHeight;else var I=E;this.PanelDiv.style.height=I;this._Popup.show(A,B,G,I,C);};FCKPanel.prototype.Hide=function(){if (this._Popup) this._Popup.hide();} -var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TABLE");if (!A) return;A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.lenght-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length=0&&B.compareEndPoints('StartToEnd',E)<=0)||(B.compareEndPoints('EndToStart',E)>=0&&B.compareEndPoints('EndToEnd',E)<=0)){A[A.length]=C.cells[i];};};};};return A;}; +var FCKPanel=function(A){this.IsRTL=false;this.IsContextMenu=false;this._IsOpened=false;this._Window=A?A:window;this._Popup=this._Window.createPopup();this.Document=this._Popup.document;this.PanelDiv=this.Document.body.appendChild(this.Document.createElement('DIV'));this.PanelDiv.className='FCK_Panel';this.EnableContextMenu(false);this.SetDirection(FCKLang.Dir);};FCKPanel.prototype.EnableContextMenu=function(A){this.Document.oncontextmenu=A?null:FCKTools.CancelEvent;};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.SetDirection=function(A){this.IsRTL=(A=='rtl');this.Document.dir=A;};FCKPanel.prototype.Load=function(x,y,A){this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){this.Load(x,y,A);this.PanelDiv.style.width=B?B+'px':'';this.PanelDiv.style.height=C?C+'px':'';if (this.IsRTL){if (this.IsContextMenu) x=x-this.PanelDiv.offsetWidth+1;else if (A) x=x+(A.offsetWidth-this.PanelDiv.offsetWidth);};this._Popup.show(x,y,this.PanelDiv.offsetWidth,this.PanelDiv.offsetHeight,A);if (this._OnHide){if (FCKPanel_ActivePopupInfo.Timer) CheckPopupOnHide();FCKPanel_ActivePopupInfo.Timer=window.setInterval(CheckPopupOnHide,200);FCKPanel_ActivePopupInfo.Panel=this;};this._IsOpened=true;};FCKPanel.prototype.Hide=function(){this._Popup.hide();};FCKPanel.prototype.CheckIsOpened=function(){return this._Popup.isOpen;};FCKPanel.prototype.AttachToOnHideEvent=function(A){this._OnHide=A;};var FCKPanel_ActivePopupInfo=new Object();function CheckPopupOnHide(){var oPanel=FCKPanel_ActivePopupInfo.Panel;if (oPanel&&!oPanel._Popup.isOpen){window.clearInterval(FCKPanel_ActivePopupInfo.Timer);if (oPanel._OnHide) oPanel._OnHide(oPanel);FCKPanel_ActivePopupInfo.Timer=null;FCKPanel_ActivePopupInfo.Panel=null;};} +var FCKTableHandler=new Object();FCKTableHandler.InsertRow=function(){var A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=A.cloneNode(true);A.parentNode.insertBefore(B,A);FCKTableHandler.ClearRow(A);};FCKTableHandler.DeleteRows=function(A){if (!A) A=FCKSelection.MoveToAncestorNode("TR");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');if (B.rows.length==1){FCKTableHandler.DeleteTable(B);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){var A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode("TABLE");};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(){var A=FCKSelection.MoveToAncestorNode("TD");if (!A) A=FCKSelection.MoveToAncestorNode("TH");if (!A) return;var B=FCKTools.GetElementAscensor(A,'TABLE');var C=A.cellIndex+1;for (var i=0;i=0;i--){var D=B.rows[i];if (C==0&&D.cells.length==1){FCKTableHandler.DeleteRows(D);continue;};if (D.cells[C]) D.removeChild(D.cells[C]);};};FCKTableHandler.InsertCell=function(A){var B=A?A:FCKSelection.MoveToAncestorNode("TD");if (!B) return;var C=FCK.EditorDocument.createElement("TD");if (FCKBrowserInfo.IsGecko) C.innerHTML=GECKO_BOGUS;if (B.cellIndex==B.parentNode.cells.length-1){B.parentNode.appendChild(C);}else{B.parentNode.insertBefore(C,B.nextSibling);};return C;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);};};FCKTableHandler.MergeCells=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length<2) return;if (A[0].parentNode!=A[A.length-1].parentNode) return;var B=isNaN(A[0].colSpan)?1:A[0].colSpan;var C='';for (var i=A.length-1;i>0;i--){B+=isNaN(A[i].colSpan)?1:A[i].colSpan;C=A[i].innerHTML+C;FCKTableHandler.DeleteCell(A[i]);};A[0].colSpan=B;A[0].innerHTML+=C;};FCKTableHandler.SplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=this._CreateTableMap(A[0].parentNode.parentNode);var C=FCKTableHandler._GetCellIndexSpan(B,A[0].parentNode.rowIndex,A[0]);var D=this._GetCollumnCells(B,C);for (var i=0;i1) E.rowSpan=A[0].rowSpan;}else{if (isNaN(D[i].colSpan)) D[i].colSpan=2;else D[i].colSpan+=1;};};};FCKTableHandler._GetCellIndexSpan=function(A,B,C){if (A.length=0&&B.compareEndPoints('StartToEnd',E)<=0)||(B.compareEndPoints('EndToStart',E)>=0&&B.compareEndPoints('EndToEnd',E)<=0)){A[A.length]=C.cells[i];};};};};return A;}; var FCKXml;if (!(FCKXml=NS.FCKXml)){FCKXml=NS.FCKXml=function(){this.Error=false;};FCKXml.prototype.LoadUrl=function(A){this.Error=false;var B=FCKTools.CreateXmlObject('XmlHttp');if (!B){this.Error=true;return;};B.open("GET",A,false);B.send(null);if (B.status==200||B.status==304) this.DOMDocument=B.responseXML;else if (B.status==0&&B.readyState==4){this.DOMDocument=FCKTools.CreateXmlObject('DOMDocument');this.DOMDocument.async=false;this.DOMDocument.resolveExternals=false;this.DOMDocument.loadXML(B.responseText);}else{this.Error=true;alert('Error loading "'+A+'"');};};FCKXml.prototype.SelectNodes=function(A,B){if (this.Error) return new Array();if (B) return B.selectNodes(A);else return this.DOMDocument.selectNodes(A);};FCKXml.prototype.SelectSingleNode=function(A,B){if (this.Error) return;if (B) return B.selectSingleNode(A);else return this.DOMDocument.selectSingleNode(A);};} var FCKStyleDef=function(A,B){this.Name=A;this.Element=B.toUpperCase();this.IsObjectElement=FCKRegexLib.ObjectElements.test(this.Element);this.Attributes=new Object();};FCKStyleDef.prototype.AddAttribute=function(A,B){this.Attributes[A]=B;};FCKStyleDef.prototype.GetOpenerTag=function(){var s='<'+this.Element;for (var a in this.Attributes) s+=' '+a+'="'+this.Attributes[a]+'"';return s+'>';};FCKStyleDef.prototype.GetCloserTag=function(){return '';};FCKStyleDef.prototype.RemoveFromSelection=function(){if (FCKSelection.GetType()=='Control') this._RemoveMe(FCKSelection.GetSelectedElement());else this._RemoveMe(FCKSelection.GetParentElement());} -FCKStyleDef.prototype.ApplyToSelection=function(){var A=FCK.EditorDocument.selection;if (A.type=='Text'){var B=A.createRange();var e=document.createElement(this.Element);e.innerHTML=B.htmlText;this._AddAttributes(e);this._RemoveDuplicates(e);B.pasteHTML(e.outerHTML);}else if (A.type=='Control'){var C=FCKSelection.GetSelectedElement();if (C.tagName==this.Element) this._AddAttributes(C);};};FCKStyleDef.prototype._AddAttributes=function(A){for (var a in this.Attributes){if (a.toLowerCase()=='style') A.style.cssText=this.Attributes[a];else A.setAttribute(a,this.Attributes[a],0);};};FCKStyleDef.prototype._RemoveDuplicates=function(A){for (var i=0;i');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var A=FCK.EditorDocument.createElement('CENTER');A.style.pageBreakAfter='always';var B=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',A);B=FCK.InsertElement(B);};FCKPageBreakCommand.prototype.GetState=function(){return 0;} +var FCKDialogCommand=function(A,B,C,D,E,F,G){this.Name=A;this.Title=B;this.Url=C;this.Width=D;this.Height=E;this.GetStateFunction=F;this.GetStateParam=G;};FCKDialogCommand.prototype.Execute=function(){FCKDialog.OpenDialog('FCKDialog_'+this.Name,this.Title,this.Url,this.Width,this.Height);};FCKDialogCommand.prototype.GetState=function(){if (this.GetStateFunction) return this.GetStateFunction(this.GetStateParam);else return FCK_TRISTATE_OFF;};var FCKUndefinedCommand=function(){this.Name='Undefined';};FCKUndefinedCommand.prototype.Execute=function(){alert(FCKLang.NotImplemented);};FCKUndefinedCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKFontNameCommand=function(){this.Name='FontName';};FCKFontNameCommand.prototype.Execute=function(A){if (A==null||A==""){}else FCK.ExecuteNamedCommand('FontName',A);};FCKFontNameCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontName');};var FCKFontSizeCommand=function(){this.Name='FontSize';};FCKFontSizeCommand.prototype.Execute=function(A){if (typeof(A)=='string') A=parseInt(A);if (A==null||A==''){FCK.ExecuteNamedCommand('FontSize',3);}else FCK.ExecuteNamedCommand('FontSize',A);};FCKFontSizeCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FontSize');};var FCKFormatBlockCommand=function(){this.Name='FormatBlock';};FCKFormatBlockCommand.prototype.Execute=function(A){if (A==null||A=='') FCK.ExecuteNamedCommand('FormatBlock','

');else if (A=='div'&&FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('FormatBlock','div');else FCK.ExecuteNamedCommand('FormatBlock','<'+A+'>');};FCKFormatBlockCommand.prototype.GetState=function(){return FCK.GetNamedCommandValue('FormatBlock');};var FCKPreviewCommand=function(){this.Name='Preview';};FCKPreviewCommand.prototype.Execute=function(){FCK.Preview();};FCKPreviewCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSaveCommand=function(){this.Name='Save';};FCKSaveCommand.prototype.Execute=function(){var A=FCK.LinkedField.form;if (typeof(A.onsubmit)=='function'){var B=A.onsubmit();if (B!=null&&B===false) return;};A.submit();};FCKSaveCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKNewPageCommand=function(){this.Name='NewPage';};FCKNewPageCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();FCK.SetHTML('');FCKUndo.Typing=true;};FCKNewPageCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};var FCKSourceCommand=function(){this.Name='Source';};FCKSourceCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsGecko){var A=FCKConfig.ScreenWidth*0.65;var B=FCKConfig.ScreenHeight*0.65;FCKDialog.OpenDialog('FCKDialog_Source',FCKLang.Source,'dialog/fck_source.html',A,B,null,null,true);}else FCK.SwitchEditMode();};FCKSourceCommand.prototype.GetState=function(){return (FCK.EditMode==FCK_EDITMODE_WYSIWYG?FCK_TRISTATE_OFF:FCK_TRISTATE_ON);};var FCKUndoCommand=function(){this.Name='Undo';};FCKUndoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Undo();else FCK.ExecuteNamedCommand('Undo');};FCKUndoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckUndoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Undo');};var FCKRedoCommand=function(){this.Name='Redo';};FCKRedoCommand.prototype.Execute=function(){if (FCKBrowserInfo.IsIE) FCKUndo.Redo();else FCK.ExecuteNamedCommand('Redo');};FCKRedoCommand.prototype.GetState=function(){if (FCKBrowserInfo.IsIE) return (FCKUndo.CheckRedoState()?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED);else return FCK.GetNamedCommandState('Redo');};var FCKPageBreakCommand=function(){this.Name='PageBreak';};FCKPageBreakCommand.prototype.Execute=function(){var e=FCK.EditorDocument.createElement('DIV');e.style.pageBreakAfter='always';e.innerHTML=' ';var A=FCKDocumentProcessors_CreateFakeImage('FCK__PageBreak',e);A=FCK.InsertElement(A);};FCKPageBreakCommand.prototype.GetState=function(){return 0;} var FCKSpellCheckCommand=function(){this.Name='SpellCheck';this.IsEnabled=(FCKConfig.SpellChecker=='ieSpell'||FCKConfig.SpellChecker=='SpellerPages');};FCKSpellCheckCommand.prototype.Execute=function(){switch (FCKConfig.SpellChecker){case 'ieSpell':this._RunIeSpell();break;case 'SpellerPages':FCKDialog.OpenDialog('FCKDialog_SpellCheck','Spell Check','dialog/fck_spellerpages.html',440,480);break;};};FCKSpellCheckCommand.prototype._RunIeSpell=function(){try{var A=new ActiveXObject("ieSpell.ieSpellExtension");A.CheckAllLinkedDocuments(FCK.EditorDocument);}catch(e){if(e.number==-2146827859){if (confirm(FCKLang.IeSpellDownload)) window.open(FCKConfig.IeSpellDownloadUrl,'IeSpellDownload');}else alert('Error Loading ieSpell: '+e.message+' ('+e.number+')');};};FCKSpellCheckCommand.prototype.GetState=function(){return this.IsEnabled?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;} -var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='\\\\\
' + FCKLang.ColorAutomatic + '
';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H

';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
'+FCKLang.ColorMoreColors+'
';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;} +var FCKTextColorCommand=function(A){this.Name=A=='ForeColor'?'TextColor':'BGColor';this.Type=A;this._Panel=new FCKPanel();this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');this._CreatePanelBody(this._Panel.Document,this._Panel.PanelDiv);FCKTools.DisableSelection(this._Panel.Document.body);};FCKTextColorCommand.prototype.Execute=function(A,B,C){FCK._ActiveColorPanelType=this.Type;this._Panel.Show(A,B,C);};FCKTextColorCommand.prototype.SetColor=function(A){if (FCK._ActiveColorPanelType=='ForeColor') FCK.ExecuteNamedCommand('ForeColor',A);else if (FCKBrowserInfo.IsGecko) FCK.ExecuteNamedCommand('hilitecolor',A);else FCK.ExecuteNamedCommand('BackColor',A);delete FCK._ActiveColorPanelType;};FCKTextColorCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;};function FCKTextColorCommand_OnMouseOver() { this.className='ColorSelected';};function FCKTextColorCommand_OnMouseOut() { this.className='ColorDeselected';};function FCKTextColorCommand_OnClick(){this.className='ColorDeselected';this.Command.SetColor('#'+this.Color);this.Command._Panel.Hide();};function FCKTextColorCommand_AutoOnClick(){this.className='ColorDeselected';this.Command.SetColor('');this.Command._Panel.Hide();};function FCKTextColorCommand_MoreOnClick(){this.className='ColorDeselected';this.Command._Panel.Hide();FCKDialog.OpenDialog('FCKDialog_Color',FCKLang.DlgColorTitle,'dialog/fck_colorselector.html',400,330,this.Command.SetColor);};FCKTextColorCommand.prototype._CreatePanelBody=function(A,B){function CreateSelectionDiv(){var C=A.createElement("DIV");C.className='ColorDeselected';C.onmouseover=FCKTextColorCommand_OnMouseOver;C.onmouseout=FCKTextColorCommand_OnMouseOut;return C;};var D=B.appendChild(A.createElement("TABLE"));D.className='ForceBaseFont';D.style.tableLayout='fixed';D.cellPadding=0;D.cellSpacing=0;D.border=0;D.width=150;var E=D.insertRow(-1).insertCell(-1);E.colSpan=8;var C=E.appendChild(CreateSelectionDiv());C.innerHTML='\\\\\
' + FCKLang.ColorAutomatic + '
';C.Command=this;C.onclick=FCKTextColorCommand_AutoOnClick;var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H
';C.Command=this;C.onclick=FCKTextColorCommand_OnClick;};};E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
'+FCKLang.ColorMoreColors+'
';C.Command=this;C.onclick=FCKTextColorCommand_MoreOnClick;} var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){return FCK.GetNamedCommandState('Paste');}; var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCKConfig.ForcePasteAsPlainText) return FCK_TRISTATE_DISABLED;else return FCK.GetNamedCommandState('Paste');}; -var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;} +var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();switch (this.Name){case 'TableInsertRow':FCKTableHandler.InsertRow();break;case 'TableDeleteRows':FCKTableHandler.DeleteRows();break;case 'TableInsertColumn':FCKTableHandler.InsertColumn();break;case 'TableDeleteColumns':FCKTableHandler.DeleteColumns();break;case 'TableInsertCell':FCKTableHandler.InsertCell();break;case 'TableDeleteCells':FCKTableHandler.DeleteCells();break;case 'TableMergeCells':FCKTableHandler.MergeCells();break;case 'TableSplitCell':FCKTableHandler.SplitCell();break;case 'TableDelete':FCKTableHandler.DeleteTable();break;default:alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));};};FCKTableCommand.prototype.GetState=function(){return FCK_TRISTATE_OFF;} var FCKStyleCommand=function(){this.Name='Style';this.StylesLoader=new FCKStylesLoader();this.StylesLoader.Load(FCKConfig.StylesXmlPath);this.Styles=this.StylesLoader.Styles;};FCKStyleCommand.prototype.Execute=function(A,B){FCKUndo.SaveUndoStep();if (B.Selected) B.Style.RemoveFromSelection();else B.Style.ApplyToSelection();FCKUndo.SaveUndoStep();FCK.Focus();FCK.Events.FireEvent("OnSelectionChange");};FCKStyleCommand.prototype.GetState=function(){var A=FCK.EditorDocument.selection;if (FCKSelection.GetType()=='Control'){var e=FCKSelection.GetSelectedElement();if (e) return this.StylesLoader.StyleGroups[e.tagName]?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;};return FCK_TRISTATE_OFF;};FCKStyleCommand.prototype.GetActiveStyles=function(){var A=new Array();if (FCKSelection.GetType()=='Control') this._CheckStyle(FCKSelection.GetSelectedElement(),A,false);else this._CheckStyle(FCKSelection.GetParentElement(),A,true);return A;};FCKStyleCommand.prototype._CheckStyle=function(A,B,C){if (!A) return;if (A.nodeType==1){var D=this.StylesLoader.StyleGroups[A.tagName];if (D){for (var i=0;i'+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+=''+this.Label+'';B+=''+'';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;} -var FCKSpecialCombo=function(A){this.FieldWidth=80;this.PanelWidth=130;this.PanelMaxHeight=150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel();this._Panel.StyleSheet=FCKConfig.SkinPath+'fck_contextmenu.css';this._Panel.Create();this._Panel.PanelDiv.className+=' SC_Panel';this._Panel.PanelDiv.innerHTML='
';this._ItemsHolderEl=this._Panel.PanelDiv.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.DeselectAll=function(){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?' ':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.unselectable='on';D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='
 
';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='
 
';E.innerHTML=''+''+''+''+''+'
'+this.Caption+'
';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){if (e){e.stopPropagation();FCKPanelEventHandlers.OnDocumentClick(e);};if (this.SpecialCombo.Enabled){var oPanel=this.SpecialCombo._Panel;if (typeof(this.SpecialCombo.OnBeforeClick)=='function') this.SpecialCombo.OnBeforeClick(this.SpecialCombo);if (this.SpecialCombo._ItemsHolderEl.offsetHeight>this.SpecialCombo.PanelMaxHeight) oPanel.PanelDiv.style.height=this.SpecialCombo.PanelMaxHeight+'px';else oPanel.PanelDiv.style.height=this.SpecialCombo._ItemsHolderEl.offsetHeight+'px';oPanel.PanelDiv.style.width=this.SpecialCombo.PanelWidth+'px';if (FCKBrowserInfo.IsGecko) oPanel.PanelDiv.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this,null,this.SpecialCombo.PanelMaxHeight,true);};return false;}; -var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel());this._Combo.FieldWidth=this.FieldWidth!=null?this.FieldWidth:100;this._Combo.PanelWidth=this.PanelWidth!=null?this.PanelWidth:150;this._Combo.PanelMaxHeight=this.PanelMaxHeight!=null?this.PanelMaxHeight:150;this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);} -var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i'+B[i]+'
');} +var FCKCommands=FCK.Commands=new Object();FCKCommands.LoadedCommands=new Object();FCKCommands.RegisterCommand=function(A,B){this.LoadedCommands[A]=B;};FCKCommands.GetCommand=function(A){var B=FCKCommands.LoadedCommands[A];if (B) return B;switch (A){case 'DocProps':B=new FCKDialogCommand('DocProps',FCKLang.DocProps,'dialog/fck_docprops.html',400,390,FCKCommands.GetFullPageState);break;case 'Templates':B=new FCKDialogCommand('Templates',FCKLang.DlgTemplatesTitle,'dialog/fck_template.html',380,450);break;case 'Link':B=new FCKDialogCommand('Link',FCKLang.DlgLnkWindowTitle,'dialog/fck_link.html',400,330,FCK.GetNamedCommandState,'CreateLink');break;case 'Anchor':B=new FCKDialogCommand('Anchor',FCKLang.DlgAnchorTitle,'dialog/fck_anchor.html',370,170);break;case 'BulletedList':B=new FCKDialogCommand('BulletedList',FCKLang.BulletedListProp,'dialog/fck_listprop.html',370,170);break;case 'NumberedList':B=new FCKDialogCommand('NumberedList',FCKLang.NumberedListProp,'dialog/fck_listprop.html',370,170);break;case 'About':B=new FCKDialogCommand('About',FCKLang.About,'dialog/fck_about.html',400,330);break;case 'Find':B=new FCKDialogCommand('Find',FCKLang.DlgFindTitle,'dialog/fck_find.html',340,170);break;case 'Replace':B=new FCKDialogCommand('Replace',FCKLang.DlgReplaceTitle,'dialog/fck_replace.html',340,200);break;case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,400);break;case 'Flash':B=new FCKDialogCommand('Flash',FCKLang.DlgFlashTitle,'dialog/fck_flash.html',450,400);break;case 'SpecialChar':B=new FCKDialogCommand('SpecialChar',FCKLang.DlgSpecialCharTitle,'dialog/fck_specialchar.html',400,320);break;case 'Smiley':B=new FCKDialogCommand('Smiley',FCKLang.DlgSmileyTitle,'dialog/fck_smiley.html',FCKConfig.SmileyWindowWidth,FCKConfig.SmileyWindowHeight);break;case 'Table':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html',400,250);break;case 'TableProp':B=new FCKDialogCommand('Table',FCKLang.DlgTableTitle,'dialog/fck_table.html?Parent',400,250);break;case 'TableCellProp':B=new FCKDialogCommand('TableCell',FCKLang.DlgCellTitle,'dialog/fck_tablecell.html',500,250);break;case 'UniversalKey':B=new FCKDialogCommand('UniversalKey',FCKLang.UniversalKeyboard,'dialog/fck_universalkey.html',415,300);break;case 'Style':B=new FCKStyleCommand();break;case 'FontName':B=new FCKFontNameCommand();break;case 'FontSize':B=new FCKFontSizeCommand();break;case 'FontFormat':B=new FCKFormatBlockCommand();break;case 'Source':B=new FCKSourceCommand();break;case 'Preview':B=new FCKPreviewCommand();break;case 'Save':B=new FCKSaveCommand();break;case 'NewPage':B=new FCKNewPageCommand();break;case 'PageBreak':B=new FCKPageBreakCommand();break;case 'TextColor':B=new FCKTextColorCommand('ForeColor');break;case 'BGColor':B=new FCKTextColorCommand('BackColor');break;case 'PasteText':B=new FCKPastePlainTextCommand();break;case 'PasteWord':B=new FCKPasteWordCommand();break;case 'TableInsertRow':B=new FCKTableCommand('TableInsertRow');break;case 'TableDeleteRows':B=new FCKTableCommand('TableDeleteRows');break;case 'TableInsertColumn':B=new FCKTableCommand('TableInsertColumn');break;case 'TableDeleteColumns':B=new FCKTableCommand('TableDeleteColumns');break;case 'TableInsertCell':B=new FCKTableCommand('TableInsertCell');break;case 'TableDeleteCells':B=new FCKTableCommand('TableDeleteCells');break;case 'TableMergeCells':B=new FCKTableCommand('TableMergeCells');break;case 'TableSplitCell':B=new FCKTableCommand('TableSplitCell');break;case 'TableDelete':B=new FCKTableCommand('TableDelete');break;case 'Form':B=new FCKDialogCommand('Form',FCKLang.Form,'dialog/fck_form.html',380,230);break;case 'Checkbox':B=new FCKDialogCommand('Checkbox',FCKLang.Checkbox,'dialog/fck_checkbox.html',380,230);break;case 'Radio':B=new FCKDialogCommand('Radio',FCKLang.RadioButton,'dialog/fck_radiobutton.html',380,230);break;case 'TextField':B=new FCKDialogCommand('TextField',FCKLang.TextField,'dialog/fck_textfield.html',380,230);break;case 'Textarea':B=new FCKDialogCommand('Textarea',FCKLang.Textarea,'dialog/fck_textarea.html',380,230);break;case 'HiddenField':B=new FCKDialogCommand('HiddenField',FCKLang.HiddenField,'dialog/fck_hiddenfield.html',380,230);break;case 'Button':B=new FCKDialogCommand('Button',FCKLang.Button,'dialog/fck_button.html',380,230);break;case 'Select':B=new FCKDialogCommand('Select',FCKLang.SelectionField,'dialog/fck_select.html',400,380);break;case 'ImageButton':B=new FCKDialogCommand('ImageButton',FCKLang.ImageButton,'dialog/fck_image.html?ImageButton',450,400);break;case 'SpellCheck':B=new FCKSpellCheckCommand();break;case 'Undo':B=new FCKUndoCommand();break;case 'Redo':B=new FCKRedoCommand();break;case 'Undefined':B=new FCKUndefinedCommand();break;default:if (FCKRegexLib.NamedCommands.test(A)) B=new FCKNamedCommand(A);else{alert(FCKLang.UnknownCommand.replace(/%1/g,A));return null;};};FCKCommands.LoadedCommands[A]=B;return B;};FCKCommands.GetFullPageState=function(){return FCKConfig.FullPage?FCK_TRISTATE_OFF:FCK_TRISTATE_DISABLED;}; +var FCKToolbarButton=function(A,B,C,D,E,F){this.Command=FCKCommands.GetCommand(A);this.Label=B?B:A;this.Tooltip=C?C:(B?B:A);this.Style=D?D:FCK_TOOLBARITEM_ONLYICON;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';this.State=FCK_UNKNOWN;};FCKToolbarButton.prototype.CreateInstance=function(A){this.DOMDiv=document.createElement('div');this.DOMDiv.className='TB_Button_Off';this.DOMDiv.FCKToolbarButton=this;var B=''+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+='';B+=''+'
'+this.Label+'
';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarButton.prototype.RefreshState=function(){var A=this.Command.GetState();if (A==this.State) return;this.State=A;switch (this.State){case FCK_TRISTATE_ON:this.DOMDiv.className='TB_Button_On';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOnOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOnOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;case FCK_TRISTATE_OFF:this.DOMDiv.className='TB_Button_Off';this.DOMDiv.onmouseover=FCKToolbarButton_OnMouseOffOver;this.DOMDiv.onmouseout=FCKToolbarButton_OnMouseOffOut;this.DOMDiv.onclick=FCKToolbarButton_OnClick;break;default:this.Disable();break;};};function FCKToolbarButton_OnMouseOnOver(){this.className='TB_Button_On TB_Button_On_Over';};function FCKToolbarButton_OnMouseOnOut(){this.className='TB_Button_On';};function FCKToolbarButton_OnMouseOffOver(){this.className='TB_Button_On TB_Button_Off_Over';};function FCKToolbarButton_OnMouseOffOut(){this.className='TB_Button_Off';};function FCKToolbarButton_OnClick(e){this.FCKToolbarButton.Click(e);return false;};FCKToolbarButton.prototype.Click=function(){this.Command.Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this.DOMDiv.className='TB_Button_Disabled';this.DOMDiv.onmouseover=null;this.DOMDiv.onmouseout=null;this.DOMDiv.onclick=null;} +var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=FCK_TOOLBARITEM_ICONTEXT;this.Enabled=true;this.Items=new Object();this._Panel=new FCKPanel(E);this._Panel.AppendStyleSheet(FCKConfig.SkinPath+'fck_contextmenu.css');this._PanelBox=this._Panel.PanelDiv.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='
';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(){this.FCKSpecialCombo._Panel.Hide();this.FCKSpecialCombo.SetLabel(this.FCKItemLabel);if (typeof(this.FCKSpecialCombo.OnSelect)=='function') this.FCKSpecialCombo.OnSelect(this.FCKItemID,this);};FCKSpecialCombo.prototype.AddItem=function(A,B,C){var D=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));D.className=D.originalClass='SC_Item';D.innerHTML=B;D.FCKItemID=A;D.FCKItemLabel=C?C:A;D.FCKSpecialCombo=this;D.Selected=false;D.onmouseover=FCKSpecialCombo_ItemOnMouseOver;D.onmouseout=FCKSpecialCombo_ItemOnMouseOut;D.onclick=FCKSpecialCombo_ItemOnClick;this.Items[A.toString().toLowerCase()]=D;return D;};FCKSpecialCombo.prototype.SelectItem=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];if (B){B.className=B.originalClass='SC_ItemSelected';B.Selected=true;};};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);};};};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){this.Label=A.length==0?' ':A;if (this._LabelEl) this._LabelEl.innerHTML=this.Label;};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){this._OuterTable=A.appendChild(document.createElement('TABLE'));this._OuterTable.cellPadding=0;this._OuterTable.cellSpacing=0;this._OuterTable.insertRow(-1);var B;var C;switch (this.Style){case FCK_TOOLBARITEM_ONLYICON:B='TB_ButtonType_Icon';C=false;break;case FCK_TOOLBARITEM_ONLYTEXT:B='TB_ButtonType_Text';C=false;break;case FCK_TOOLBARITEM_ICONTEXT:C=true;break;};if (this.Caption&&this.Caption.length>0&&C){var D=this._OuterTable.rows[0].insertCell(-1);D.innerHTML=this.Caption;D.className='SC_FieldCaption';};var E=this._OuterTable.rows[0].insertCell(-1).appendChild(document.createElement('DIV'));if (C){E.className='SC_Field';E.style.width=this.FieldWidth+'px';E.innerHTML='
 
';this._LabelEl=E.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{E.className='TB_Button_Off';E.innerHTML='
 
';E.innerHTML=''+''+''+''+''+'
'+this.Caption+'
';};E.SpecialCombo=this;E.onmouseover=FCKSpecialCombo_OnMouseOver;E.onmouseout=FCKSpecialCombo_OnMouseOut;E.onclick=FCKSpecialCombo_OnClick;FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_OnMouseOver(){if (this.SpecialCombo.Enabled){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_On';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field SC_FieldOver';break;};};};function FCKSpecialCombo_OnMouseOut(){switch (this.SpecialCombo.Style){case FCK_TOOLBARITEM_ONLYICON:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ONLYTEXT:this.className='TB_Button_Off';break;case FCK_TOOLBARITEM_ICONTEXT:this.className='SC_Field';break;};};function FCKSpecialCombo_OnClick(e){var oSpecialCombo=this.SpecialCombo;if (oSpecialCombo.Enabled){var oPanel=oSpecialCombo._Panel;var oPanelBox=oSpecialCombo._PanelBox;var oItemsHolder=oSpecialCombo._ItemsHolderEl;var iMaxHeight=oSpecialCombo.PanelMaxHeight;if (oSpecialCombo.OnBeforeClick) oSpecialCombo.OnBeforeClick(oSpecialCombo);oPanel.Load(0,this.offsetHeight,this);if (oItemsHolder.offsetHeight>iMaxHeight) oPanelBox.style.height=iMaxHeight+'px';else oPanelBox.style.height=oItemsHolder.offsetHeight+'px';if (FCKBrowserInfo.IsGecko) oPanelBox.style.overflow='-moz-scrollbars-vertical';oPanel.Show(0,this.offsetHeight,this);};return false;}; +var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;};function FCKToolbarSpecialCombo_OnSelect(itemId,item){this.Command.Execute(itemId,item);};FCKToolbarSpecialCombo.prototype.CreateInstance=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A.DOMRow.insertCell(-1));this._Combo.Command=this.Command;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(combo,value){combo.DeselectAll();combo.SelectItem(value);combo.SetLabelById(value);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=this.Command.GetState();if (B!=FCK_TRISTATE_DISABLED){A=FCK_TRISTATE_ON;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue==B) return;this._LastValue=B;FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);};}else A=FCK_TRISTATE_DISABLED;if (A==this.State) return;if (A==FCK_TRISTATE_DISABLED){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=FCK_TRISTATE_DISABLED);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=FCK_TRISTATE_DISABLED;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);} +var FCKToolbarFontsCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontName');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontsCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontsCombo.prototype.GetLabel=function(){return FCKLang.Font;};FCKToolbarFontsCombo.prototype.CreateItems=function(A){var B=FCKConfig.FontNames.split(';');for (var i=0;i'+B[i]+'');} var FCKToolbarFontSizeCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontSize');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarFontSizeCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontSizeCombo.prototype.GetLabel=function(){return FCKLang.FontSize;};FCKToolbarFontSizeCombo.prototype.CreateItems=function(A){A.FieldWidth=70;var B=FCKConfig.FontSizes.split(';');for (var i=0;i'+C[1]+'',C[1]);};} -var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i'+C[D[i]]+'',C[D[i]]);};} -var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i'+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+=''+this.Label+'';B+=''+''+'';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable; +var FCKToolbarFontFormatCombo=function(A,B){this.Command=FCKCommands.GetCommand('FontFormat');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;this.NormalLabel='Normal';this.PanelWidth=190;};FCKToolbarFontFormatCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.CreateItems=function(A){var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]};var D=FCKConfig.FontFormats.split(';');for (var i=0;i<'+E+'>'+F+'',F);};};if (FCKBrowserInfo.IsIE){FCKToolbarFontFormatCombo.prototype.RefreshActiveItems=function(A,B){if (B==this.NormalLabel){if (A.Label!=' ') A.DeselectAll(true);}else{if (this._LastValue==B) return;A.SelectItemByLabel(B,true);};this._LastValue=B;};} +var FCKToolbarStyleCombo=function(A,B){this.Command=FCKCommands.GetCommand('Style');this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:FCK_TOOLBARITEM_ICONTEXT;};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){FCKTools.AppendStyleSheet(A._Panel.Document,FCKConfig.EditorAreaCSS);A._Panel.Document.body.className+=' ForceBaseFont';if (!FCKBrowserInfo.IsGecko) A.OnBeforeClick=this.RefreshVisibleItems;for (var s in this.Command.Styles){var B=this.Command.Styles[s];var C;if (B.IsObjectElement) C=A.AddItem(s,s);else C=A.AddItem(s,B.GetOpenerTag()+s+B.GetCloserTag());C.Style=B;};};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){A.DeselectAll();var B=this.Command.GetActiveStyles();if (B.length>0){for (var i=0;i'+'';if (this.Style!=FCK_TOOLBARITEM_ONLYTEXT) B+='';if (this.Style!=FCK_TOOLBARITEM_ONLYICON) B+=''+this.Label+'';B+=''+''+'';this.DOMDiv.innerHTML=B;var C=A.DOMRow.insertCell(-1);C.appendChild(this.DOMDiv);this.RefreshState();};FCKToolbarPanelButton.prototype.RefreshState=FCKToolbarButton.prototype.RefreshState;FCKToolbarPanelButton.prototype.Enable=FCKToolbarButton.prototype.Enable;FCKToolbarPanelButton.prototype.Disable=FCKToolbarButton.prototype.Disable; var FCKToolbarItems=new Object();FCKToolbarItems.LoadedItems=new Object();FCKToolbarItems.RegisterItem=function(A,B){this.LoadedItems[A]=B;};FCKToolbarItems.GetItem=function(A){var B=FCKToolbarItems.LoadedItems[A];if (B) return B;switch (A){case 'Source':B=new FCKToolbarButton('Source',FCKLang.Source,null,FCK_TOOLBARITEM_ICONTEXT,true,true);break;case 'DocProps':B=new FCKToolbarButton('DocProps',FCKLang.DocProps);break;case 'Templates':B=new FCKToolbarButton('Templates',FCKLang.Templates);break;case 'Save':B=new FCKToolbarButton('Save',FCKLang.Save,null,null,true);break;case 'NewPage':B=new FCKToolbarButton('NewPage',FCKLang.NewPage,null,null,true);break;case 'Preview':B=new FCKToolbarButton('Preview',FCKLang.Preview,null,null,true);break;case 'About':B=new FCKToolbarButton('About',FCKLang.About,null,null,true);break;case 'Cut':B=new FCKToolbarButton('Cut',FCKLang.Cut,null,null,false,true);break;case 'Copy':B=new FCKToolbarButton('Copy',FCKLang.Copy,null,null,false,true);break;case 'Paste':B=new FCKToolbarButton('Paste',FCKLang.Paste,null,null,false,true);break;case 'PasteText':B=new FCKToolbarButton('PasteText',FCKLang.PasteText,null,null,false,true);break;case 'PasteWord':B=new FCKToolbarButton('PasteWord',FCKLang.PasteWord,null,null,false,true);break;case 'Print':B=new FCKToolbarButton('Print',FCKLang.Print,null,null,false,true);break;case 'SpellCheck':B=new FCKToolbarButton('SpellCheck',FCKLang.SpellCheck);break;case 'Undo':B=new FCKToolbarButton('Undo',FCKLang.Undo,null,null,false,true);break;case 'Redo':B=new FCKToolbarButton('Redo',FCKLang.Redo,null,null,false,true);break;case 'SelectAll':B=new FCKToolbarButton('SelectAll',FCKLang.SelectAll);break;case 'RemoveFormat':B=new FCKToolbarButton('RemoveFormat',FCKLang.RemoveFormat,null,null,false,true);break;case 'Bold':B=new FCKToolbarButton('Bold',FCKLang.Bold,null,null,false,true);break;case 'Italic':B=new FCKToolbarButton('Italic',FCKLang.Italic,null,null,false,true);break;case 'Underline':B=new FCKToolbarButton('Underline',FCKLang.Underline,null,null,false,true);break;case 'StrikeThrough':B=new FCKToolbarButton('StrikeThrough',FCKLang.StrikeThrough,null,null,false,true);break;case 'Subscript':B=new FCKToolbarButton('Subscript',FCKLang.Subscript,null,null,false,true);break;case 'Superscript':B=new FCKToolbarButton('Superscript',FCKLang.Superscript,null,null,false,true);break;case 'OrderedList':B=new FCKToolbarButton('InsertOrderedList',FCKLang.NumberedListLbl,FCKLang.NumberedList,null,false,true);break;case 'UnorderedList':B=new FCKToolbarButton('InsertUnorderedList',FCKLang.BulletedListLbl,FCKLang.BulletedList,null,false,true);break;case 'Outdent':B=new FCKToolbarButton('Outdent',FCKLang.DecreaseIndent,null,null,false,true);break;case 'Indent':B=new FCKToolbarButton('Indent',FCKLang.IncreaseIndent,null,null,false,true);break;case 'Link':B=new FCKToolbarButton('Link',FCKLang.InsertLinkLbl,FCKLang.InsertLink,null,false,true);break;case 'Unlink':B=new FCKToolbarButton('Unlink',FCKLang.RemoveLink,null,null,false,true);break;case 'Anchor':B=new FCKToolbarButton('Anchor',FCKLang.Anchor);break;case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage);break;case 'Flash':B=new FCKToolbarButton('Flash',FCKLang.InsertFlashLbl,FCKLang.InsertFlash);break;case 'Table':B=new FCKToolbarButton('Table',FCKLang.InsertTableLbl,FCKLang.InsertTable);break;case 'SpecialChar':B=new FCKToolbarButton('SpecialChar',FCKLang.InsertSpecialCharLbl,FCKLang.InsertSpecialChar);break;case 'Smiley':B=new FCKToolbarButton('Smiley',FCKLang.InsertSmileyLbl,FCKLang.InsertSmiley);break;case 'PageBreak':B=new FCKToolbarButton('PageBreak',FCKLang.PageBreakLbl,FCKLang.PageBreak);break;case 'UniversalKey':B=new FCKToolbarButton('UniversalKey',FCKLang.UniversalKeyboard);break;case 'Rule':B=new FCKToolbarButton('InsertHorizontalRule',FCKLang.InsertLineLbl,FCKLang.InsertLine,null,false,true);break;case 'JustifyLeft':B=new FCKToolbarButton('JustifyLeft',FCKLang.LeftJustify,null,null,false,true);break;case 'JustifyCenter':B=new FCKToolbarButton('JustifyCenter',FCKLang.CenterJustify,null,null,false,true);break;case 'JustifyRight':B=new FCKToolbarButton('JustifyRight',FCKLang.RightJustify,null,null,false,true);break;case 'JustifyFull':B=new FCKToolbarButton('JustifyFull',FCKLang.BlockJustify,null,null,false,true);break;case 'Style':B=new FCKToolbarStyleCombo();break;case 'FontName':B=new FCKToolbarFontsCombo();break;case 'FontSize':B=new FCKToolbarFontSizeCombo();break;case 'FontFormat':B=new FCKToolbarFontFormatCombo();break;case 'TextColor':B=new FCKToolbarPanelButton('TextColor',FCKLang.TextColor);break;case 'BGColor':B=new FCKToolbarPanelButton('BGColor',FCKLang.BGColor);break;case 'Find':B=new FCKToolbarButton('Find',FCKLang.Find);break;case 'Replace':B=new FCKToolbarButton('Replace',FCKLang.Replace);break;case 'Form':B=new FCKToolbarButton('Form',FCKLang.Form);break;case 'Checkbox':B=new FCKToolbarButton('Checkbox',FCKLang.Checkbox);break;case 'Radio':B=new FCKToolbarButton('Radio',FCKLang.RadioButton);break;case 'TextField':B=new FCKToolbarButton('TextField',FCKLang.TextField);break;case 'Textarea':B=new FCKToolbarButton('Textarea',FCKLang.Textarea);break;case 'HiddenField':B=new FCKToolbarButton('HiddenField',FCKLang.HiddenField);break;case 'Button':B=new FCKToolbarButton('Button',FCKLang.Button);break;case 'Select':B=new FCKToolbarButton('Select',FCKLang.SelectionField);break;case 'ImageButton':B=new FCKToolbarButton('ImageButton',FCKLang.ImageButton);break;default:alert(FCKLang.UnknownToolbarItem.replace(/%1/g,A));return null;};FCKToolbarItems.LoadedItems[A]=B;return B;} -var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.unselectable='on';A.innerHTML='';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='';}; +var FCKToolbar=function(){this.Items=new Array();var e=this.DOMTable=document.createElement('table');e.className='TB_Toolbar';e.style.styleFloat=e.style.cssFloat=FCKLang.Dir=='rtl'?'right':'left';e.cellPadding=0;e.cellSpacing=0;e.border=0;this.DOMRow=e.insertRow(-1);var A=this.DOMRow.insertCell(-1);A.className='TB_Start';A.innerHTML='';FCKToolbarSet.DOMElement.appendChild(e);};FCKToolbar.prototype.AddItem=function(A){this.Items[this.Items.length]=A;A.CreateInstance(this);};FCKToolbar.prototype.AddSeparator=function(){var A=this.DOMRow.insertCell(-1);A.innerHTML='';};FCKToolbar.prototype.AddTerminator=function(){var A=this.DOMRow.insertCell(-1);A.className='TB_End';A.innerHTML='';}; var FCKToolbarBreak=function(){var A=document.createElement('div');A.className='TB_Break';A.style.clear=FCKLang.Dir=='rtl'?'left':'right';FCKToolbarSet.DOMElement.appendChild(A);} var FCKToolbarSet=FCK.ToolbarSet=new Object();document.getElementById('ExpandHandle').title=FCKLang.ToolbarExpand;document.getElementById('CollapseHandle').title=FCKLang.ToolbarCollapse;FCKToolbarSet.Toolbars=new Array();FCKToolbarSet.ItemsWysiwygOnly=new Array();FCKToolbarSet.ItemsContextSensitive=new Array();FCKToolbarSet.Expand=function(){document.getElementById('Collapsed').style.display='none';document.getElementById('Expanded').style.display='';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Collapse=function(){document.getElementById('Collapsed').style.display='';document.getElementById('Expanded').style.display='none';if (!FCKBrowserInfo.IsIE){window.setTimeout("window.onresize()",1);};};FCKToolbarSet.Restart=function(){if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();document.getElementById('CollapseHandle').style.display=FCKConfig.ToolbarCanCollapse?'':'none';};FCKToolbarSet.Load=function(A){this.DOMElement=document.getElementById('eToolbar');var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=new Array();for (var x=0;x';B=this._Row.insertCell(-1);B.className='CM_Label';B.unselectable='on';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};}; -var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';B=this._Row.insertCell(-1);B.className='CM_Label';B.innerHTML='
';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){}; +FCKDialog.Show=function(A,B,C,D,E,F){if (!F) F=window;this.IsOpened=true;F.showModalDialog(C,A,"dialogWidth:"+D+"px;dialogHeight:"+E+"px;help:no;scroll:no;status:no");this.IsOpened=false;}; +var FCKContextMenuItem=function(A,B,C,D){this.ContextMenu=A;this.Command=FCKCommands.GetCommand(B);this.Label=C?C:B;this.HasIcon=D?true:false;};function FCKContextMenuItem_OnMouseOver(){if (this.className!='CM_Disabled') this.className='CM_Over';};function FCKContextMenuItem_OnMouseOut(){if (this.className!='CM_Disabled') this.className='CM_Option';};function FCKContextMenuItem_OnClick(){if (this.className!='CM_Disabled'){this.FCKContextMenuItem.ContextMenu.Hide();this.FCKContextMenuItem.Command.Execute();};return false;};FCKContextMenuItem.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Disabled';this._Row.FCKContextMenuItem=this;this._Row.onmouseover=FCKContextMenuItem_OnMouseOver;this._Row.onmouseout=FCKContextMenuItem_OnMouseOut;this._Row.onclick=FCKContextMenuItem_OnClick;var B=this._Row.insertCell(-1);B.className='CM_Icon';if (this.HasIcon) B.innerHTML='';B=this._Row.insertCell(-1);B.className='CM_Label';B.noWrap=true;B.innerHTML=this.Label;};FCKContextMenuItem.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuItem.prototype.RefreshState=function(){switch (this.Command.GetState()){case FCK_TRISTATE_ON:case FCK_TRISTATE_OFF:this._Row.className='CM_Option';break;default:this._Row.className='CM_Disabled';break;};}; +var FCKContextMenuSeparator=function(){};FCKContextMenuSeparator.prototype.CreateTableRow=function(A){this._Row=A.insertRow(-1);this._Row.className='CM_Separator';var B=this._Row.insertCell(-1);B.className='CM_Icon';var C=A.ownerDocument||A.document;B=this._Row.insertCell(-1);B.className='CM_Label';B.appendChild(C.createElement('DIV')).className='CM_Separator_Line';};FCKContextMenuSeparator.prototype.SetVisible=function(A){this._Row.style.display=A?'':'none';};FCKContextMenuSeparator.prototype.RefreshState=function(){}; var FCKContextMenuGroup=function(A,B,C,D,E){this.IsVisible=true;this.Items=new Array();if (A) this.Add(new FCKContextMenuSeparator());if (B&&C&&D) this.Add(new FCKContextMenuItem(B,C,D,E));this.ValidationFunction=null;};FCKContextMenuGroup.prototype.Add=function(A){this.Items[this.Items.length]=A;};FCKContextMenuGroup.prototype.CreateTableRows=function(A){for (var i=0;i0){var A;if (this.AvailableLangs.indexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];FCKScriptLoader.AddScript(this.Path+'lang/'+A+'.js');};FCKScriptLoader.AddScript(this.Path+'fckplugin.js');} var FCKPlugins=FCK.Plugins=new Object();FCKPlugins.ItemsCount=0;FCKPlugins.Loaded=false;FCKPlugins.Items=new Object();for (var i=0;i0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);} +if (FCKLang&&window.document.dir.toLowerCase()!=FCKLang.Dir.toLowerCase()) window.document.dir=FCKLang.Dir;if (FCKConfig.ForcePasteAsPlainText||FCKConfig.AutoDetectPasteFromWord) FCK.Events.AttachEvent("OnPaste",FCK.Paste);if (FCKPlugins.ItemsCount>0){FCKScriptLoader.OnEmpty=CompleteLoading;FCKPlugins.Load();}else CompleteLoading();function CompleteLoading(){FCKToolbarSet.Name=FCKURLParams['Toolbar']||'Default';FCKToolbarSet.Load(FCKToolbarSet.Name);FCKToolbarSet.Restart();FCK.AttachToOnSelectionChange(FCKToolbarSet.RefreshItemsState);FCKTools.DisableSelection(document.body);FCK.SetStatus(FCK_STATUS_COMPLETE);if (typeof(window.parent.FCKeditor_OnComplete)=='function') window.parent.FCKeditor_OnComplete(FCK);} Index: lams_central/web/fckeditor/editor/lang/_getfontformat.html =================================================================== diff -u --- lams_central/web/fckeditor/editor/lang/_getfontformat.html (revision 0) +++ lams_central/web/fckeditor/editor/lang/_getfontformat.html (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,66 @@ + + + + + + + + + + + + +
+

FontFormats Localization

+

+ IE has some limits when handling the "Font Format". It actually uses localized + strings to retrieve the current format value. This makes it very difficult to + make a system that works on every single computer in the world. +

+

+ With FCKeditor, this problem impacts in the "Format" toolbar command that + doesn't reflects the format of the current cursor position. +

+

+ There is only one way to make it work. We must localize FCKeditor using the + strings used by IE. In this way, we will have the expected behavior at least + when using FCKeditor in the same language as the browser. So, when localizing + FCKeditor, go to a computer with IE in the target language, open this page and + use the following string to the "FontFormats" value: +

+
+ FontFormats : "", +
+
+
+

 

+
 
+
 
+

 

+

 

+

 

+

 

+
 
+
 
+
+ + Index: lams_central/web/fckeditor/editor/lang/_translationstatus.txt =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/_translationstatus.txt (.../_translationstatus.txt) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/_translationstatus.txt (.../_translationstatus.txt) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -19,49 +19,51 @@ * Frederico Caldeira Knabben (fredck@fckeditor.net) */ -PROCESSING: ar.js Found: 375 Missing: 2 -PROCESSING: bg.js Found: 375 Missing: 2 -PROCESSING: bs.js Found: 232 Missing: 145 -PROCESSING: ca.js Found: 375 Missing: 2 -PROCESSING: cs.js Found: 352 Missing: 25 -PROCESSING: da.js Found: 375 Missing: 2 -PROCESSING: de.js Found: 375 Missing: 2 -PROCESSING: el.js Found: 232 Missing: 145 -PROCESSING: en-au.js Found: 375 Missing: 2 -PROCESSING: en-uk.js Found: 375 Missing: 2 -PROCESSING: eo.js Found: 352 Missing: 25 -PROCESSING: es.js Found: 375 Missing: 2 -PROCESSING: et.js Found: 232 Missing: 145 -PROCESSING: eu.js Found: 375 Missing: 2 -PROCESSING: fa.js Found: 358 Missing: 19 -PROCESSING: fi.js Found: 375 Missing: 2 -PROCESSING: fo.js Found: 358 Missing: 19 -PROCESSING: fr.js Found: 375 Missing: 2 -PROCESSING: gl.js Found: 375 Missing: 2 -PROCESSING: he.js Found: 375 Missing: 2 -PROCESSING: hr.js Found: 375 Missing: 2 -PROCESSING: hu.js Found: 377 Missing: 0 -PROCESSING: it.js Found: 375 Missing: 2 -PROCESSING: ja.js Found: 375 Missing: 2 -PROCESSING: ko.js Found: 375 Missing: 2 -PROCESSING: lt.js Found: 375 Missing: 2 -PROCESSING: mn.js Found: 232 Missing: 145 -PROCESSING: ms.js Found: 358 Missing: 19 -PROCESSING: nl.js Found: 375 Missing: 2 -PROCESSING: no.js Found: 375 Missing: 2 -PROCESSING: pl.js Found: 352 Missing: 25 -PROCESSING: pt-br.js Found: 375 Missing: 2 -PROCESSING: pt.js Found: 375 Missing: 2 -PROCESSING: ro.js Found: 375 Missing: 2 -PROCESSING: ru.js Found: 375 Missing: 2 -PROCESSING: sk.js Found: 375 Missing: 2 -PROCESSING: sl.js Found: 375 Missing: 2 -PROCESSING: sr-latn.js Found: 375 Missing: 2 -PROCESSING: sr.js Found: 375 Missing: 2 -PROCESSING: sv.js Found: 375 Missing: 2 -PROCESSING: th.js Found: 352 Missing: 25 -PROCESSING: tr.js Found: 374 Missing: 3 -PROCESSING: uk.js Found: 375 Missing: 2 -PROCESSING: vi.js Found: 374 Missing: 3 -PROCESSING: zh-cn.js Found: 375 Missing: 2 -PROCESSING: zh.js Found: 375 Missing: 2 \ No newline at end of file +ar.js Found: 375 Missing: 8 +bg.js Found: 380 Missing: 3 +bs.js Found: 232 Missing: 151 +ca.js Found: 375 Missing: 8 +cs.js Found: 377 Missing: 6 +da.js Found: 377 Missing: 6 +de.js Found: 382 Missing: 1 +el.js Found: 232 Missing: 151 +en-au.js Found: 375 Missing: 8 +en-uk.js Found: 375 Missing: 8 +eo.js Found: 352 Missing: 31 +es.js Found: 383 Missing: 0 +et.js Found: 232 Missing: 151 +eu.js Found: 383 Missing: 0 +fa.js Found: 358 Missing: 25 +fi.js Found: 383 Missing: 0 +fo.js Found: 358 Missing: 25 +fr.js Found: 378 Missing: 5 +gl.js Found: 383 Missing: 0 +he.js Found: 375 Missing: 8 +hi.js Found: 383 Missing: 0 +hr.js Found: 375 Missing: 8 +hu.js Found: 383 Missing: 0 +it.js Found: 383 Missing: 0 +ja.js Found: 383 Missing: 0 +ko.js Found: 375 Missing: 8 +lt.js Found: 375 Missing: 8 +lv.js Found: 377 Missing: 6 +mn.js Found: 232 Missing: 151 +ms.js Found: 358 Missing: 25 +nl.js Found: 382 Missing: 1 +no.js Found: 383 Missing: 0 +pl.js Found: 377 Missing: 6 +pt-br.js Found: 375 Missing: 8 +pt.js Found: 375 Missing: 8 +ro.js Found: 383 Missing: 0 +ru.js Found: 375 Missing: 8 +sk.js Found: 375 Missing: 8 +sl.js Found: 375 Missing: 8 +sr-latn.js Found: 375 Missing: 8 +sr.js Found: 375 Missing: 8 +sv.js Found: 375 Missing: 8 +th.js Found: 352 Missing: 31 +tr.js Found: 374 Missing: 9 +uk.js Found: 375 Missing: 8 +vi.js Found: 377 Missing: 6 +zh-cn.js Found: 375 Missing: 8 +zh.js Found: 383 Missing: 0 \ No newline at end of file Index: lams_central/web/fckeditor/editor/lang/ar.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/ar.js (.../ar.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/ar.js (.../ar.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "استبدال", SpellCheck : "تدقيق إملائي", UniversalKeyboard : "لوحة المفاتيح العالمية", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "نموذج", Checkbox : "خانة اختيار", @@ -106,6 +108,7 @@ DeleteCells : "حذف خلايا", MergeCells : "دمج خلايا", SplitCell : "تقسيم خلية", +TableDelete : "Delete Table", //MISSING CellProperties : "خصائص الخلية", TableProperties : "خصائص الجدول", ImageProperties : "خصائص الصورة", @@ -134,6 +137,8 @@ NotImplemented : "لم يتم دعم هذا الأمر", UnknownToolbarSet : "لم أتمكن من العثور على طقم الأدوات \"%1\" ", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "موافق", @@ -278,6 +283,7 @@ DlgTableCellSpace : "تباعد الخلايا", DlgTableCellPad : "المسافة البادئة", DlgTableCaption : "الوصف", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "خصائص الخلية", Index: lams_central/web/fckeditor/editor/lang/bg.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/bg.js (.../bg.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/bg.js (.../bg.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Замести", SpellCheck : "Провери правописа", UniversalKeyboard : "Универсална клавиатура", +PageBreakLbl : "Нов ред", +PageBreak : "Вмъкни нов ред", Form : "Формуляр", Checkbox : "Поле за отметка", @@ -106,6 +108,7 @@ DeleteCells : "Изтрий клетките", MergeCells : "Обедини клетките", SplitCell : "Раздели клетката", +TableDelete : "Изтрий таблицата", CellProperties : "Параметри на клетката", TableProperties : "Параметри на таблицата", ImageProperties : "Параметри на изображението", @@ -134,6 +137,8 @@ NotImplemented : "Командата не е имплементирана", UnknownToolbarSet : "Панелът \"%1\" не съществува", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "ОК", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Разстояние между клетките", DlgTableCellPad : "Отстъп на съдържанието в клетките", DlgTableCaption : "Заглавие", +DlgTableSummary : "Резюме", // Table Cell Dialog DlgCellTitle : "Параметри на клетката", @@ -416,7 +422,7 @@ NumberedListProp : "Параметри на нумерирания списък", DlgLstType : "Тип", DlgLstTypeCircle : "Окръжност", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Кръг", DlgLstTypeSquare : "Квадрат", DlgLstTypeNumbers : "Числа (1, 2, 3)", DlgLstTypeLCase : "Малки букви (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/bs.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/bs.js (.../bs.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/bs.js (.../bs.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Zamjeni", SpellCheck : "Check Spell", //MISSING UniversalKeyboard : "Universal Keyboard", //MISSING +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", //MISSING Checkbox : "Checkbox", //MISSING @@ -106,6 +108,7 @@ DeleteCells : "Briši æelije", MergeCells : "Spoji æelije", SplitCell : "Razdvoji æeliju", +TableDelete : "Delete Table", //MISSING CellProperties : "Svojstva æelije", TableProperties : "Svojstva tabele", ImageProperties : "Svojstva slike", @@ -134,6 +137,8 @@ NotImplemented : "Komanda nije implementirana", UnknownToolbarSet : "Traka sa alatima \"%1\" ne postoji", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Razmak æelija", DlgTableCellPad : "Uvod æelija", DlgTableCaption : "Naslov", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Svojstva æelije", Index: lams_central/web/fckeditor/editor/lang/ca.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/ca.js (.../ca.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/ca.js (.../ca.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Remplaçar", SpellCheck : "Verificar sintaxi", UniversalKeyboard : "Teclat universal", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Formulari", Checkbox : "Casella de verificació", @@ -106,6 +108,7 @@ DeleteCells : "Eliminar Cel·les", MergeCells : "Fusionar Cel·les", SplitCell : "Separar Cel·les", +TableDelete : "Delete Table", //MISSING CellProperties : "Proprietats de Cel·la", TableProperties : "Proprietats de Taula", ImageProperties : "Proprietats d'Image", @@ -134,6 +137,8 @@ NotImplemented : "Mètode no implementat", UnknownToolbarSet : "Conjunt de barra d'eines \"%1\" inexistent", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Capçalera", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Proprietats de Cel·la", Index: lams_central/web/fckeditor/editor/lang/cs.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/cs.js (.../cs.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/cs.js (.../cs.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -16,6 +16,7 @@ * File Authors: * David Horák (david.horak@email.cz) * Petr Plavjaník (plavjanik@gmail.com) + * Dave MacBlack (davemacblack@users.sourceforge.net) */ var FCKLang = @@ -44,8 +45,8 @@ Anchor : "Vložít/změnit záložku", InsertImageLbl : "Obrázek", InsertImage : "Vložit/změnit obrázek", -InsertFlashLbl : "Flash", //MISSING -InsertFlash : "Insert/Edit Flash", //MISSING +InsertFlashLbl : "Flash", +InsertFlash : "Vložit/Upravit Flash", InsertTableLbl : "Tabulka", InsertTable : "Vložit/změnit tabulku", InsertLineLbl : "Linka", @@ -73,7 +74,7 @@ NumberedList : "Vložit/odstranit číslovaný seznam", BulletedListLbl : "Odrážky", BulletedList : "Vložit/odstranit odrážky", -ShowTableBorders : "Zobrzit okraje tabulek", +ShowTableBorders : "Zobrazit okraje tabulek", ShowDetails : "Zobrazit podrobnosti", Style : "Styl", FontFormat : "Formát", @@ -86,6 +87,8 @@ Replace : "Nahradit", SpellCheck : "Zkontrolovat pravopis", UniversalKeyboard : "Univerzální klávesnice", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Formulář", Checkbox : "Zaškrtávací políčko", @@ -107,10 +110,11 @@ DeleteCells : "Smazat buňky", MergeCells : "Sloučit buňky", SplitCell : "Rozdělit buňku", +TableDelete : "Delete Table", //MISSING CellProperties : "Vlastnosti buňky", TableProperties : "Vlastnosti tabulky", ImageProperties : "Vlastnosti obrázku", -FlashProperties : "Flash Properties", //MISSING +FlashProperties : "Vlastnosti Flashe", AnchorProp : "Vlastnosti záložky", ButtonProp : "Vlastnosti tlačítka", @@ -128,13 +132,15 @@ // Alerts and Messages ProcessingXHTML : "Probíhá zpracování XHTML. Prosím čekejte...", Done : "Hotovo", -PasteWordConfirm : "Jak je vidět, vkládaný text je kopírován z Wordu. Chceet jej před vložením vyčistit?", +PasteWordConfirm : "Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?", NotCompatiblePaste : "Tento příkaz je dostupný pouze v Internet Exploreru verze 5.5 nebo vyšší. Chcete vložit text bez vyčištění?", UnknownToolbarItem : "Neznámá položka panelu nástrojů \"%1\"", UnknownCommand : "Neznámý příkaz \"%1\"", NotImplemented : "Příkaz není implementován", UnknownToolbarSet : "Panel nástrojů \"%1\" neexistuje", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -143,8 +149,8 @@ DlgBtnBrowseServer : "Vybrat na serveru", DlgAdvancedTag : "Rozšířené", DlgOpOther : "<Ostatní>", -DlgInfoTab : "Info", //MISSING -DlgAlertUrl : "Please insert the URL", //MISSING +DlgInfoTab : "Info", +DlgAlertUrl : "Prosím vložte URL", // General Dialogs Labels DlgGenNotSet : "<nenastaveno>", @@ -164,7 +170,7 @@ DlgGenStyle : "Styl", // Image Dialog -DlgImgTitle : "Vlastosti obrázku", +DlgImgTitle : "Vlastnosti obrázku", DlgImgInfoTab : "Informace o obrázku", DlgImgBtnUpload : "Odeslat na server", DlgImgURL : "URL", @@ -189,17 +195,17 @@ DlgImgAlignTop : "Nahoru", DlgImgPreview : "Náhled", DlgImgAlertUrl : "Zadejte prosím URL obrázku", -DlgImgLinkTab : "Link", //MISSING +DlgImgLinkTab : "Odkaz", // Flash Dialog -DlgFlashTitle : "Flash Properties", //MISSING -DlgFlashChkPlay : "Auto Play", //MISSING -DlgFlashChkLoop : "Loop", //MISSING -DlgFlashChkMenu : "Enable Flash Menu", //MISSING -DlgFlashScale : "Scale", //MISSING -DlgFlashScaleAll : "Show all", //MISSING -DlgFlashScaleNoBorder : "No Border", //MISSING -DlgFlashScaleFit : "Exact Fit", //MISSING +DlgFlashTitle : "Vlastnosti Flashe", +DlgFlashChkPlay : "Automatické spuštění", +DlgFlashChkLoop : "Opakování", +DlgFlashChkMenu : "Nabídka Flash", +DlgFlashScale : "Zobrazit", +DlgFlashScaleAll : "Zobrazit vše", +DlgFlashScaleNoBorder : "Bez okraje", +DlgFlashScaleFit : "Přizpůsobit", // Link Dialog DlgLnkWindowTitle : "Odkaz", @@ -279,6 +285,7 @@ DlgTableCellSpace : "Vzdálenost buněk", DlgTableCellPad : "Odsazení obsahu", DlgTableCaption : "Popis", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Vlastnosti buňky", @@ -304,7 +311,7 @@ DlgCellRowSpan : "Sloučené řádky", DlgCellCollSpan : "Sloučené sloupce", DlgCellBackColor : "Barva pozadí", -DlgCellBorderColor : "Rarva ohraničení", +DlgCellBorderColor : "Barva ohraničení", DlgCellBtnSelect : "Výběr...", // Find Dialog @@ -329,10 +336,10 @@ PasteAsText : "Vložit jako čistý text", PasteFromWord : "Vložit text z Wordu", -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", //MISSING -DlgPasteIgnoreFont : "Ignore Font Face definitions", //MISSING -DlgPasteRemoveStyles : "Remove Styles definitions", //MISSING -DlgPasteCleanBox : "Clean Up Box", //MISSING +DlgPasteMsg2 : "Do následujícího pole vložte požadovaný obsah pomocí klávesnice (Ctrl+V) a stiskněte OK.", +DlgPasteIgnoreFont : "Ignorovat písmo", +DlgPasteRemoveStyles : "Odstranit styly", +DlgPasteCleanBox : "Vyčistit", // Color Picker @@ -382,7 +389,7 @@ DlgSelectName : "Název", DlgSelectValue : "Hodnota", DlgSelectSize : "Velikost", -DlgSelectLines : "řádků", +DlgSelectLines : "Řádků", DlgSelectChkMulti : "Povolit mnohonásobné výběry", DlgSelectOpAvail : "Dostupná nastavení", DlgSelectOpText : "Text", @@ -417,7 +424,7 @@ NumberedListProp : "Vlastnosti číslovaného seznamu", DlgLstType : "Typ", DlgLstTypeCircle : "Kružnice", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Kruh", DlgLstTypeSquare : "Čtverec", DlgLstTypeNumbers : "Čísla (1, 2, 3)", DlgLstTypeLCase : "Malá písmena (a, b, c)", @@ -461,16 +468,16 @@ DlgDocPreview : "Náhled", // Templates Dialog -Templates : "Templates", //MISSING -DlgTemplatesTitle : "Content Templates", //MISSING -DlgTemplatesSelMsg : "Please select the template to open in the editor
(the actual contents will be lost):", //MISSING -DlgTemplatesLoading : "Loading templates list. Please wait...", //MISSING -DlgTemplatesNoTpl : "(No templates defined)", //MISSING +Templates : "Šablony", +DlgTemplatesTitle : "Šablony obsahu", +DlgTemplatesSelMsg : "Prosím zvolte šablonu pro otevření v editoru
(aktuální obsah editoru bude ztracen):", +DlgTemplatesLoading : "Nahrávám přeheld šablon. Prosím čekejte...", +DlgTemplatesNoTpl : "(Není definována žádná šablona)", // About Dialog DlgAboutAboutTab : "O aplikaci", DlgAboutBrowserInfoTab : "Informace o prohlížeči", DlgAboutVersion : "verze", -DlgAboutLicense : "Licencováno pomocí GNU Lesser General Public License", +DlgAboutLicense : "Licencováno pod GNU Lesser General Public License", DlgAboutInfo : "Více informací získáte na" } \ No newline at end of file Index: lams_central/web/fckeditor/editor/lang/da.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/da.js (.../da.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/da.js (.../da.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -65,8 +65,8 @@ CenterJustify : "Centreret", RightJustify : "Højrestillet", BlockJustify : "Lige margener", -DecreaseIndent : "Forøg indrykning", -IncreaseIndent : "Formindsk indrykning", +DecreaseIndent : "Formindsk indrykning", +IncreaseIndent : "Forøg indrykning", Undo : "Fortryd", Redo : "Anuller fortryd", NumberedListLbl : "Tal opstilling", @@ -86,6 +86,8 @@ Replace : "Erstat", SpellCheck : "Stavekontrol", UniversalKeyboard : "Universalt Tastatur", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Indsæt Form", Checkbox : "Indsæt Afkrydsningsboks", @@ -107,6 +109,7 @@ DeleteCells : "Slet celle", MergeCells : "Flet celler", SplitCell : "Opdel celler", +TableDelete : "Delete Table", //MISSING CellProperties : "Celle egenskaber", TableProperties : "Tabel egenskaber", ImageProperties : "Billed egenskaber", @@ -134,7 +137,9 @@ UnknownCommand : "Ukendt kommando navn \"%1\"", NotImplemented : "Kommandoen er ikke implementeret", UnknownToolbarSet : "Værktøjslinjen \"%1\" eksisterer ikke", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Din browsers sikkerhedsindstillinger kan begrænse nogle af editorens muligheder. Du skal slå \"Kør ActiveX-objekter og plug-ins\" til. Du vil måske opleve fejl og manglende muligheder.", +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -279,6 +284,7 @@ DlgTableCellSpace : "Afstand mellem celler", DlgTableCellPad : "Celle margin", DlgTableCaption : "Titel", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Celle egenskaber", @@ -417,7 +423,7 @@ NumberedListProp : "Talopstilling egenskaber", DlgLstType : "Type", DlgLstTypeCircle : "Cirkel", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Flade", DlgLstTypeSquare : "Firkant", DlgLstTypeNumbers : "Nummereret (1, 2, 3)", DlgLstTypeLCase : "Små bogstaver (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/de.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/de.js (.../de.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/de.js (.../de.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -84,8 +84,10 @@ Source : "Quellcode", Find : "Finden", Replace : "Ersetzen", -SpellCheck : "Rechtschreibprü:fung", +SpellCheck : "Rechtschreibprüfung", UniversalKeyboard : "Universal-Tastatur", +PageBreakLbl : "Seitenumbruch", +PageBreak : "Seitenumbruch einfügen", Form : "Formular", Checkbox : "Checkbox", @@ -107,6 +109,7 @@ DeleteCells : "Zelle löschen", MergeCells : "Zellen vereinen", SplitCell : "Zelle teilen", +TableDelete : "Tabelle löschen", CellProperties : "Zellen Eigenschaften", TableProperties : "Tabellen Eigenschaften", ImageProperties : "Bild Eigenschaften", @@ -134,7 +137,9 @@ UnknownCommand : "Unbekannter Befehl \"%1\"", NotImplemented : "Befehl nicht implementiert", UnknownToolbarSet : "Menüleiste \"%1\" existiert nicht", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Die Sicherheitseinstellungen Ihres Browsers beschränken evtl. einige Funktionen des Editors. Aktivieren Sie \"ActiveX-Steuerelemente und Plugins ausführen\" in den Sicherheitseinstellungen, um diese Funktionen nutzen zu können", +BrowseServerBlocked : "Ein Auswahlfenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.", +DialogBlocked : "Das Dialog-Fenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.", // Dialogs DlgBtnOK : "OK", @@ -172,8 +177,8 @@ DlgImgAlt : "Alternativer Text", DlgImgWidth : "Breite", DlgImgHeight : "Höhe", -DlgImgLockRatio : "Größenverhaeltniss beibehalten", -DlgBtnResetSize : "Größe zuruecksetzen", +DlgImgLockRatio : "Größenverhältniss beibehalten", +DlgBtnResetSize : "Größe zurücksetzen", DlgImgBorder : "Rahmen", DlgImgHSpace : "H-Freiraum", DlgImgVSpace : "V-Freiraum", @@ -221,7 +226,7 @@ DlgLnkEMailSubject : "Betreffzeile", DlgLnkEMailBody : "Nachrichtentext", DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Uum Server senden", +DlgLnkBtnUpload : "Zum Server senden", DlgLnkTarget : "Zielseite", DlgLnkTargetFrame : "<Frame>", @@ -248,7 +253,7 @@ DlnLnkMsgNoUrl : "Bitte geben Sie die Link-URL an", DlnLnkMsgNoEMail : "Bitte geben Sie e-Mail Adresse an", -DlnLnkMsgNoAnchor : "Bitte waehlen Sie einen Anker aus", +DlnLnkMsgNoAnchor : "Bitte wählen Sie einen Anker aus", // Color Dialog DlgColorTitle : "Farbauswahl", @@ -278,7 +283,8 @@ DlgTableHeight : "Höhe", DlgTableCellSpace : "Zellenabstand außen", DlgTableCellPad : "Zellenabstand innen", -DlgTableCaption : "Üeberschrift", +DlgTableCaption : "Überschrift", +DlgTableSummary : "Inhaltsübersicht", // Table Cell Dialog DlgCellTitle : "Zellen-Eigenschaften", @@ -322,9 +328,9 @@ DlgReplaceWordChk : "Nur ganze Worte suchen", // Paste Operations / Dialog -PasteErrorPaste : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch einzufügen. Bitte benutzen Sie die System-Zwischenablage ueber STRG-C (kopieren) und STRG-V (einfügen).", -PasteErrorCut : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage ueber STRG-X (ausschneiden) und STRG-V (einfügen).", -PasteErrorCopy : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage ueber STRG-C (kopieren).", +PasteErrorPaste : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch einzufügen. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren) und STRG-V (einfügen).", +PasteErrorCut : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).", +PasteErrorCopy : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).", PasteAsText : "Als Text einfügen", PasteFromWord : "Aus Word einfügen", @@ -349,7 +355,7 @@ // Speller Pages Dialog DlgSpellNotInDic : "Nicht im Wörterbuch", -DlgSpellChangeTo : "Äendern in", +DlgSpellChangeTo : "Ändern in", DlgSpellBtnIgnore : "Ignorieren", DlgSpellBtnIgnoreAll : "Alle Ignorieren", DlgSpellBtnReplace : "Ersetzen", @@ -388,7 +394,7 @@ DlgSelectOpText : "Text", DlgSelectOpValue : "Wert", DlgSelectBtnAdd : "Hinzufügen", -DlgSelectBtnModify : "Äendern", +DlgSelectBtnModify : "Ändern", DlgSelectBtnUp : "Hoch", DlgSelectBtnDown : "Runter", DlgSelectBtnSetValue : "Setze als Standardwert", @@ -463,7 +469,7 @@ // Templates Dialog Templates : "Vorlagen", DlgTemplatesTitle : "Vorlagen", -DlgTemplatesSelMsg : "Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen(der aktuelle Inhalt wird dabei gelöscht!):", +DlgTemplatesSelMsg : "Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen (der aktuelle Inhalt wird dabei gelöscht!):", DlgTemplatesLoading : "Liste der Vorlagen wird geladen. Bitte warten...", DlgTemplatesNoTpl : "(keine Vorlagen definiert)", Index: lams_central/web/fckeditor/editor/lang/el.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/el.js (.../el.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/el.js (.../el.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Αντικατάσταση", SpellCheck : "Check Spell", //MISSING UniversalKeyboard : "Universal Keyboard", //MISSING +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", //MISSING Checkbox : "Checkbox", //MISSING @@ -106,6 +108,7 @@ DeleteCells : "Διαγραφή Κελιών", MergeCells : "Ενοποίηση Κελιών", SplitCell : "Διαχωρισμός Κελιού", +TableDelete : "Delete Table", //MISSING CellProperties : "Ιδιότητες Κελιού", TableProperties : "Ιδιότητες Πίνακα", ImageProperties : "Ιδιότητες Εικόνας", @@ -134,6 +137,8 @@ NotImplemented : "Η εντολή δεν έχει ενεργοποιηθεί", UnknownToolbarSet : "Η μπάρα εργαλείων \"%1\" δεν υπάρχει", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Υπέρτιτλος", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Ιδιότητες Κελιού", Index: lams_central/web/fckeditor/editor/lang/en-au.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/en-au.js (.../en-au.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/en-au.js (.../en-au.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "Replace", SpellCheck : "Check Spell", UniversalKeyboard : "Universal Keyboard", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", Checkbox : "Checkbox", @@ -107,6 +109,7 @@ DeleteCells : "Delete Cells", MergeCells : "Merge Cells", SplitCell : "Split Cell", +TableDelete : "Delete Table", //MISSING CellProperties : "Cell Properties", TableProperties : "Table Properties", ImageProperties : "Image Properties", @@ -135,6 +138,8 @@ NotImplemented : "Command not implemented", UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -279,6 +284,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Caption", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Cell Properties", Index: lams_central/web/fckeditor/editor/lang/en-uk.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/en-uk.js (.../en-uk.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/en-uk.js (.../en-uk.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "Replace", SpellCheck : "Check Spell", UniversalKeyboard : "Universal Keyboard", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", Checkbox : "Checkbox", @@ -107,6 +109,7 @@ DeleteCells : "Delete Cells", MergeCells : "Merge Cells", SplitCell : "Split Cell", +TableDelete : "Delete Table", //MISSING CellProperties : "Cell Properties", TableProperties : "Table Properties", ImageProperties : "Image Properties", @@ -135,6 +138,8 @@ NotImplemented : "Command not implemented", UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -279,6 +284,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Caption", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Cell Properties", Index: lams_central/web/fckeditor/editor/lang/en.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/en.js (.../en.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/en.js (.../en.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -108,6 +108,7 @@ DeleteCells : "Delete Cells", MergeCells : "Merge Cells", SplitCell : "Split Cell", +TableDelete : "Delete Table", CellProperties : "Cell Properties", TableProperties : "Table Properties", ImageProperties : "Image Properties", @@ -124,7 +125,7 @@ TextareaProp : "Textarea Properties", FormProp : "Form Properties", -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Paragraph (DIV)", +FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", // Alerts and Messages ProcessingXHTML : "Processing XHTML. Please wait...", @@ -136,6 +137,8 @@ NotImplemented : "Command not implemented", UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", // Dialogs DlgBtnOK : "OK", @@ -280,6 +283,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Caption", +DlgTableSummary : "Summary", // Table Cell Dialog DlgCellTitle : "Cell Properties", Index: lams_central/web/fckeditor/editor/lang/eo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/eo.js (.../eo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/eo.js (.../eo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Anstataŭigi", SpellCheck : "Literumada Kontrolilo", UniversalKeyboard : "Universala Klavaro", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Formularo", Checkbox : "Markobutono", @@ -106,6 +108,7 @@ DeleteCells : "Forigi Ĉelojn", MergeCells : "Kunfandi Ĉelojn", SplitCell : "Dividi Ĉelojn", +TableDelete : "Delete Table", //MISSING CellProperties : "Atributoj de Ĉelo", TableProperties : "Atributoj de Tabelo", ImageProperties : "Atributoj de Bildo", @@ -134,6 +137,8 @@ NotImplemented : "Komando ne ankoraŭ realigita", UnknownToolbarSet : "La ilobreto \"%1\" ne ekzistas", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "Akcepti", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Interspacigo de Ĉeloj", DlgTableCellPad : "Ĉirkaŭenhava Plenigado", DlgTableCaption : "Titolo", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Atributoj de Celo", Index: lams_central/web/fckeditor/editor/lang/es.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/es.js (.../es.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/es.js (.../es.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Reemplazar", SpellCheck : "Ortografía", UniversalKeyboard : "Teclado Universal", +PageBreakLbl : "Salto de Página", +PageBreak : "Insertar Salto de Página", Form : "Formulario", Checkbox : "Casilla de Verificación", @@ -106,6 +108,7 @@ DeleteCells : "Eliminar Celdas", MergeCells : "Combinar Celdas", SplitCell : "Dividir Celda", +TableDelete : "Eliminar Tabla", CellProperties : "Propiedades de Celda", TableProperties : "Propiedades de Tabla", ImageProperties : "Propiedades de Imagen", @@ -122,7 +125,7 @@ TextareaProp : "Propiedades de Area de Texto", FormProp : "Propiedades de Formulario", -FontFormats : "Normal;Formateado;Direccion;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6", +FontFormats : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)", // Alerts and Messages ProcessingXHTML : "Procesando XHTML. Por favor, espere...", @@ -133,7 +136,9 @@ UnknownCommand : "Nombre de comando desconocido \"%1\"", NotImplemented : "Comando no implementado", UnknownToolbarSet : "Nombre de barra \"%1\" no definido", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "La configuración de las opciones de seguridad de su navegador puede estar limitando algunas características del editor. Por favor active la opción \"Ejecutar controles y complementos de ActiveX \", de lo contrario puede experimentar errores o ausencia de funcionalidades.", +BrowseServerBlocked : "La ventana de visualización del servidor no pudo ser abierta. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).", +DialogBlocked : "No se ha podido abrir la ventana de diálogo. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Esp. e/celdas", DlgTableCellPad : "Esp. interior", DlgTableCaption : "Título", +DlgTableSummary : "Síntesis", // Table Cell Dialog DlgCellTitle : "Propiedades de Celda", @@ -416,7 +422,7 @@ NumberedListProp : "Propiedades de Numeraciones", DlgLstType : "Tipo", DlgLstTypeCircle : "Círculo", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Disco", DlgLstTypeSquare : "Cuadrado", DlgLstTypeNumbers : "Números (1, 2, 3)", DlgLstTypeLCase : "letras en minúsculas (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/et.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/et.js (.../et.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/et.js (.../et.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Asenda", SpellCheck : "Check Spell", //MISSING UniversalKeyboard : "Universal Keyboard", //MISSING +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", //MISSING Checkbox : "Checkbox", //MISSING @@ -106,6 +108,7 @@ DeleteCells : "Eemalda lahtrid", MergeCells : "Ühenda lahtrid", SplitCell : "Lahuta lahtrid", +TableDelete : "Delete Table", //MISSING CellProperties : "Lahtri atribuudid", TableProperties : "Tabeli atribuudid", ImageProperties : "Pildi atribuudid", @@ -134,6 +137,8 @@ NotImplemented : "Käsku ei täidetud", UnknownToolbarSet : "Tööriistariba \"%1\" ei eksisteeri", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Lahtri vahe", DlgTableCellPad : "Lahtri täidis", DlgTableCaption : "Seletiitel", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Lahtri atribuudid", Index: lams_central/web/fckeditor/editor/lang/eu.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/eu.js (.../eu.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/eu.js (.../eu.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "Ordezkatu", SpellCheck : "Ortografia", UniversalKeyboard : "Teklatu Unibertsala", +PageBreakLbl : "Orrialde-jauzia", +PageBreak : "Txertatu Orrialde-jauzia", Form : "Formularioa", Checkbox : "Kontrol-laukia", @@ -107,6 +109,7 @@ DeleteCells : "Kendu Gelaxkak", MergeCells : "Batu Gelaxkak", SplitCell : "Zatitu Gelaxka", +TableDelete : "Ezabatu Taula", CellProperties : "Gelaxkaren Ezaugarriak", TableProperties : "Taularen Ezaugarriak", ImageProperties : "Irudiaren Ezaugarriak", @@ -134,7 +137,9 @@ UnknownCommand : "Komando izen ezezaguna \"%1\"", NotImplemented : "Komando ez inplementatua", UnknownToolbarSet : "Ataza barra \"%1\" taldea ez da existitzen", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Zure nabigatzailearen segustasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta plug-inak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.", +BrowseServerBlocked : "Baliabideen arakatzailea ezin da ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.", +DialogBlocked : "Ezin da elkarrizketa-leihoa ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.", // Dialogs DlgBtnOK : "Ados", @@ -279,6 +284,7 @@ DlgTableCellSpace : "Gelaxka arteko tartea", DlgTableCellPad : "Gelaxken betegarria", DlgTableCaption : "Epigrafea", +DlgTableSummary : "Laburpena", // Table Cell Dialog DlgCellTitle : "Gelaxken Ezaugarriak", @@ -417,7 +423,7 @@ NumberedListProp : "Zenbakidun Zerrendaren Ezarpenak", DlgLstType : "Mota", DlgLstTypeCircle : "Zirkulua", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Diskoa", DlgLstTypeSquare : "Karratua", DlgLstTypeNumbers : "Zenbakiak (1, 2, 3)", DlgLstTypeLCase : "Letra xeheak (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/fa.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/fa.js (.../fa.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/fa.js (.../fa.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "جايگزينی", SpellCheck : "کنترل املا", UniversalKeyboard : "صفحه کليد جهانی", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "فرم", Checkbox : "دکمه گزينه ای", @@ -106,6 +108,7 @@ DeleteCells : "حذف سلولها", MergeCells : "ادغام سلولها", SplitCell : "تفکيک سلول", +TableDelete : "Delete Table", //MISSING CellProperties : "ويژگيهای سلول", TableProperties : "ويژگيهای جدول", ImageProperties : "ويژگيهای تصوير", @@ -134,6 +137,8 @@ NotImplemented : "دستور اجرا نشد", UnknownToolbarSet : "مجموعه منوابزار \"%1\" وجود ندارد", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "تائيد", @@ -278,6 +283,7 @@ DlgTableCellSpace : "فاصله ميان سلولها", DlgTableCellPad : "فاصله پرشده در سلول", DlgTableCaption : "عنوان", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "ويژگيهای سلول", Index: lams_central/web/fckeditor/editor/lang/fcklanguagemanager.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/fcklanguagemanager.js (.../fcklanguagemanager.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/fcklanguagemanager.js (.../fcklanguagemanager.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -42,12 +42,14 @@ 'fr' : 'French', 'gl' : 'Galician', 'he' : 'Hebrew', + 'hi' : 'Hindi', 'hr' : 'Croatian', 'hu' : 'Hungarian', 'it' : 'Italian', 'ja' : 'Japanese', 'ko' : 'Korean', 'lt' : 'Lithuanian', + 'lv' : 'Latvian', 'mn' : 'Mongolian', 'ms' : 'Malay', 'nl' : 'Dutch', Index: lams_central/web/fckeditor/editor/lang/fi.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/fi.js (.../fi.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/fi.js (.../fi.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Korvaa", SpellCheck : "Tarkista oikeinkirjoitus", UniversalKeyboard : "Universaali näppäimistö", +PageBreakLbl : "Sivun vaihto", +PageBreak : "Lisää sivun vaihto", Form : "Lomake", Checkbox : "Valintaruutu", @@ -106,6 +108,7 @@ DeleteCells : "Poista solut", MergeCells : "Yhdistä solut", SplitCell : "Jaa solu", +TableDelete : "Poista taulu", CellProperties : "Solun ominaisuudet", TableProperties : "Taulun ominaisuudet", ImageProperties : "Kuvan ominaisuudet", @@ -133,7 +136,9 @@ UnknownCommand : "Tuntematon komento \"%1\"", NotImplemented : "Komentoa ei ole liitetty sovellukseen", UnknownToolbarSet : "Työkalukokonaisuus \"%1\" ei ole olemassa", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Selaimesi turvallisuusasetukset voivat rajoittaa joitain editorin ominaisuuksia. Sinun pitää ottaa käyttöön asetuksista \"Suorita ActiveX komponentit ja -plugin-laajennukset\". Saatat kohdata virheitä ja huomata puuttuvia ominaisuuksia.", +BrowseServerBlocked : "Resurssiselainta ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.", +DialogBlocked : "Apuikkunaa ei voitu avaata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Solujen väli", DlgTableCellPad : "Solujen sisennys", DlgTableCaption : "Otsikko", +DlgTableSummary : "Yhteenveto", // Table Cell Dialog DlgCellTitle : "Solun ominaisuudet", @@ -416,7 +422,7 @@ NumberedListProp : "Numeroinnin ominaisuudet", DlgLstType : "Tyyppi", DlgLstTypeCircle : "Kehä", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Ympyrä", DlgLstTypeSquare : "Neliö", DlgLstTypeNumbers : "Numerot (1, 2, 3)", DlgLstTypeLCase : "Pienet kirjaimet (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/fo.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/fo.js (.../fo.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/fo.js (.../fo.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "Set í staðin", SpellCheck : "Stavseting", UniversalKeyboard : "Universalt Tastatur", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Seta inn Form", Checkbox : "Seta inn Avmerkingarboks", @@ -107,6 +109,7 @@ DeleteCells : "Sletta sellu", MergeCells : "Flætta sellur", SplitCell : "Deila sellur", +TableDelete : "Delete Table", //MISSING CellProperties : "Eginleikar fyri sellu", TableProperties : "Eginleikar fyri talvu", ImageProperties : "Eginleikar fyri mynd", @@ -135,6 +138,8 @@ NotImplemented : "Ordrin er ikki gjørdur virkin", UnknownToolbarSet : "Amboðalinjan \"%1\" finst ikki", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -279,6 +284,7 @@ DlgTableCellSpace : "Fjarstøða millum sellur", DlgTableCellPad : "Sellu breddi", DlgTableCaption : "Heiti", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Sellu eginleikar", Index: lams_central/web/fckeditor/editor/lang/fr.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/fr.js (.../fr.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/fr.js (.../fr.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Remplacer", SpellCheck : "Orthographe", UniversalKeyboard : "Clavier Universel", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Formulaire", Checkbox : "Case à cocher", @@ -106,6 +108,7 @@ DeleteCells : "Supprimer des Cellules", MergeCells : "Fusionner les Cellules", SplitCell : "Scinder les Cellules", +TableDelete : "Delete Table", //MISSING CellProperties : "Propriétés de Cellule", TableProperties : "Propriétés de Tableau", ImageProperties : "Propriétés d'Image", @@ -133,7 +136,9 @@ UnknownCommand : "Nom de commande inconnu \"%1\"", NotImplemented : "Commande non encore écrite", UnknownToolbarSet : "La barre d'outils \"%1\" n'existe pas", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.", +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Espacement", DlgTableCellPad : "Contour", DlgTableCaption : "Titre", +DlgTableSummary : "Résumé", // Table Cell Dialog DlgCellTitle : "Propriétés de cellule", @@ -416,7 +422,7 @@ NumberedListProp : "Propriétés de Numérotée", DlgLstType : "Type", DlgLstTypeCircle : "Cercle", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Disque", DlgLstTypeSquare : "Carré", DlgLstTypeNumbers : "Nombres (1, 2, 3)", DlgLstTypeLCase : "Lettres Minuscules (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/gl.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/gl.js (.../gl.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/gl.js (.../gl.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Substituir", SpellCheck : "Corrección Ortográfica", UniversalKeyboard : "Teclado Universal", +PageBreakLbl : "Salto de Páxina", +PageBreak : "Inserir Salto de Páxina", Form : "Formulario", Checkbox : "Cadro de Verificación", @@ -106,6 +108,7 @@ DeleteCells : "Borrar Cela", MergeCells : "Unir Celas", SplitCell : "Partir Celas", +TableDelete : "Borrar Taboa", CellProperties : "Propriedades da Cela", TableProperties : "Propriedades da Taboa", ImageProperties : "Propriedades Imaxe", @@ -133,7 +136,9 @@ UnknownCommand : "Nome de comando descoñecido \"%1\"", NotImplemented : "Comando non implementado", UnknownToolbarSet : "O conxunto de ferramentas \"%1\" non existe", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "As opcións de seguridade do seu navegador poderían limitar algunha das características de editor. Debe activar a opción \"Executar controis ActiveX e plug-ins\". Pode notar que faltan características e experimentar erros", +BrowseServerBlocked : "Non se poido abrir o navegador de recursos. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes", +DialogBlocked : "Non foi posible abrir a xanela de diálogo. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Marxe entre Celas", DlgTableCellPad : "Marxe interior", DlgTableCaption : "Título", +DlgTableSummary : "Sumario", // Table Cell Dialog DlgCellTitle : "Propriedades da Cela", @@ -416,7 +422,7 @@ NumberedListProp : "Propriedades da Lista de Numeración", DlgLstType : "Tipo", DlgLstTypeCircle : "Círculo", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Disco", DlgLstTypeSquare : "Cuadrado", DlgLstTypeNumbers : "Números (1, 2, 3)", DlgLstTypeLCase : "Letras Minúsculas (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/he.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/he.js (.../he.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/he.js (.../he.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "החלפה", SpellCheck : "בדיקת איות", UniversalKeyboard : "מקלדת אוניברסלית", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "טופס", Checkbox : "תיבת סימון", @@ -107,6 +109,7 @@ DeleteCells : "מחיקת תאים", MergeCells : "מיזוג תאים", SplitCell : "פיצול תאים", +TableDelete : "Delete Table", //MISSING CellProperties : "תכונות התא", TableProperties : "תכונות הטבלה", ImageProperties : "תכונות התמונה", @@ -135,6 +138,8 @@ NotImplemented : "הפקודה לא מיושמת", UnknownToolbarSet : "ערכת סרגל הכלים \"%1\" לא קיימת", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "אישור", @@ -279,6 +284,7 @@ DlgTableCellSpace : "מרווח תא", DlgTableCellPad : "ריפוד תא", DlgTableCaption : "כיתוב", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "תכונות תא", Index: lams_central/web/fckeditor/editor/lang/hi.js =================================================================== diff -u --- lams_central/web/fckeditor/editor/lang/hi.js (revision 0) +++ lams_central/web/fckeditor/editor/lang/hi.js (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,481 @@ +/* + * FCKeditor - The text editor for internet + * Copyright (C) 2003-2005 Frederico Caldeira Knabben + * + * Licensed under the terms of the GNU Lesser General Public License: + * http://www.opensource.org/licenses/lgpl-license.php + * + * For further information visit: + * http://www.fckeditor.net/ + * + * "Support Open Source software. What about a donation today?" + * + * File Name: hi.js + * Hindi language file. + * + * File Authors: + * Utkarshraj Atmaram (utcursch@gmail.com) + */ + +var FCKLang = +{ +// Language direction : "ltr" (left to right) or "rtl" (right to left). +Dir : "ltr", + +ToolbarCollapse : "टूलबार सिमटायें", +ToolbarExpand : "टूलबार का विस्तार करें", + +// Toolbar Items and Context Menu +Save : "सेव", +NewPage : "नया पेज", +Preview : "प्रीव्यू", +Cut : "कट", +Copy : "कॉपी", +Paste : "पेस्ट", +PasteText : "पेस्ट (सादा टॅक्स्ट)", +PasteWord : "पेस्ट (वर्ड से)", +Print : "प्रिन्ट", +SelectAll : "सब सॅलॅक्ट करें", +RemoveFormat : "फ़ॉर्मैट हटायें", +InsertLinkLbl : "लिंक", +InsertLink : "लिंक इन्सर्ट/संपादन", +RemoveLink : "लिंक हटायें", +Anchor : "ऐंकर इन्सर्ट/संपादन", +InsertImageLbl : "तस्वीर", +InsertImage : "तस्वीर इन्सर्ट/संपादन", +InsertFlashLbl : "फ़्लैश", +InsertFlash : "फ़्लैश इन्सर्ट/संपादन", +InsertTableLbl : "टेबल", +InsertTable : "टेबल इन्सर्ट/संपादन", +InsertLineLbl : "रेखा", +InsertLine : "हॉरिज़ॉन्टल रेखा इन्सर्ट करें", +InsertSpecialCharLbl: "विशेष करॅक्टर", +InsertSpecialChar : "विशेष करॅक्टर इन्सर्ट करें", +InsertSmileyLbl : "स्माइली", +InsertSmiley : "स्माइली इन्सर्ट करें", +About : "FCKeditor के बारे में", +Bold : "बोल्ड", +Italic : "इटैलिक", +Underline : "रेखांकण", +StrikeThrough : "स्ट्राइक थ्रू", +Subscript : "अधोलेख", +Superscript : "अभिलेख", +LeftJustify : "बायीं तरफ", +CenterJustify : "बीच में", +RightJustify : "दायीं तरफ", +BlockJustify : "ब्लॉक जस्टीफ़ाई", +DecreaseIndent : "इन्डॅन्ट कम करें", +IncreaseIndent : "इन्डॅन्ट बढ़ायें", +Undo : "अन्डू", +Redo : "रीडू", +NumberedListLbl : "अंकीय सूची", +NumberedList : "अंकीय सूची इन्सर्ट/संपादन", +BulletedListLbl : "बुलॅट सूची", +BulletedList : "बुलॅट सूची इन्सर्ट/संपादन", +ShowTableBorders : "टेबल बॉर्डरयें दिखायें", +ShowDetails : "ज्यादा दिखायें", +Style : "स्टाइल", +FontFormat : "फ़ॉर्मैट", +Font : "फ़ॉन्ट", +FontSize : "साइज़", +TextColor : "टेक्स्ट रंग", +BGColor : "बैक्ग्राउन्ड रंग", +Source : "सोर्स", +Find : "खोजें", +Replace : "रीप्लेस", +SpellCheck : "वर्तनी (स्पेलिंग) जाँच", +UniversalKeyboard : "यूनीवर्सल कीबोर्ड", +PageBreakLbl : "पेज ब्रेक", +PageBreak : "पेज ब्रेक इन्सर्ट् करें", + +Form : "फ़ॉर्म", +Checkbox : "चॅक बॉक्स", +RadioButton : "रेडिओ बटन", +TextField : "टेक्स्ट फ़ील्ड", +Textarea : "टेक्स्ट एरिया", +HiddenField : "गुप्त फ़ील्ड", +Button : "बटन", +SelectionField : "चुनाव फ़ील्ड", +ImageButton : "तस्वीर बटन", + +// Context Menu +EditLink : "लिंक संपादन", +InsertRow : "पंक्ति इन्सर्ट करें", +DeleteRows : "पंक्तियाँ डिलीट करें", +InsertColumn : "कॉलम इन्सर्ट करें", +DeleteColumns : "कॉलम डिलीट करें", +InsertCell : "सॅल इन्सर्ट करें", +DeleteCells : "सॅल डिलीट करें", +MergeCells : "सॅल मिलायें", +SplitCell : "सॅल अलग करें", +TableDelete : "टेबल डिलीट करें", +CellProperties : "सॅल प्रॉपर्टीज़", +TableProperties : "टेबल प्रॉपर्टीज़", +ImageProperties : "तस्वीर प्रॉपर्टीज़", +FlashProperties : "फ़्लैश प्रॉपर्टीज़", + +AnchorProp : "ऐंकर प्रॉपर्टीज़", +ButtonProp : "बटन प्रॉपर्टीज़", +CheckboxProp : "चॅक बॉक्स प्रॉपर्टीज़", +HiddenFieldProp : "गुप्त फ़ील्ड प्रॉपर्टीज़", +RadioButtonProp : "रेडिओ बटन प्रॉपर्टीज़", +ImageButtonProp : "तस्वीर बटन प्रॉपर्टीज़", +TextFieldProp : "टेक्स्ट फ़ील्ड प्रॉपर्टीज़", +SelectionFieldProp : "चुनाव फ़ील्ड प्रॉपर्टीज़", +TextareaProp : "टेक्स्त एरिया प्रॉपर्टीज़", +FormProp : "फ़ॉर्म प्रॉपर्टीज़", + +FontFormats : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)", + +// Alerts and Messages +ProcessingXHTML : "XHTML प्रोसॅस हो रहा है। ज़रा ठहरें...", +Done : "पूरा हुआ", +PasteWordConfirm : "आप जो टेक्स्ट पेस्ट करना चाहते हैं, वह वर्ड से कॉपी किया हुआ लग रहा है। क्या पेस्ट करने से पहले आप इसे साफ़ करना चाहेंगे?", +NotCompatiblePaste : "यह कमांड इन्टरनॅट एक्स्प्लोरर(Internet Explorer) 5.5 या उसके बाद के वर्ज़न के लिए ही उपलब्ध है। क्या आप बिना साफ़ किए पेस्ट करना चाहेंगे?", +UnknownToolbarItem : "अनजान टूलबार आइटम \"%1\"", +UnknownCommand : "अनजान कमान्ड \"%1\"", +NotImplemented : "कमान्ड इम्प्लीमॅन्ट नहीं किया गया है", +UnknownToolbarSet : "टूलबार सॅट \"%1\" उपलब्ध नहीं है", +NoActiveX : "आपके ब्राउज़र् की सुरक्शा सेटिंग्स् एडिटर की कुछ् फ़ीचरों को सीमित कर् सकती हैं। क्रिपया \"Run ActiveX controls and plug-ins\" विकल्प को एनेबल करें. आपको एरर्स् और गायब फ़ीचर्स् का अनुभव हो सकता है।", +BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।", +DialogBlocked : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को डिसेबल करें।", + +// Dialogs +DlgBtnOK : "ठीक है", +DlgBtnCancel : "रद्द करें", +DlgBtnClose : "बन्द करें", +DlgBtnBrowseServer : "सर्वर ब्राउज़ करें", +DlgAdvancedTag : "ऍड्वान्स्ड", +DlgOpOther : "<अन्य>", +DlgInfoTab : "सूचना", +DlgAlertUrl : "URL इन्सर्ट करें", + +// General Dialogs Labels +DlgGenNotSet : "<सॅट नहीं>", +DlgGenId : "Id", +DlgGenLangDir : "भाषा लिखने की दिशा", +DlgGenLangDirLtr : "बायें से दायें (LTR)", +DlgGenLangDirRtl : "दायें से बायें (RTL)", +DlgGenLangCode : "भाषा कोड", +DlgGenAccessKey : "ऍक्सॅस की", +DlgGenName : "नाम", +DlgGenTabIndex : "टैब इन्डॅक्स", +DlgGenLongDescr : "अधिक विवरण के लिए URL", +DlgGenClass : "स्टाइल-शीट क्लास", +DlgGenTitle : "परामर्श शीर्शक", +DlgGenContType : "परामर्श कन्टॅन्ट प्रकार", +DlgGenLinkCharset : "लिंक रिसोर्स करॅक्टर सॅट", +DlgGenStyle : "स्टाइल", + +// Image Dialog +DlgImgTitle : "तस्वीर प्रॉपर्टीज़", +DlgImgInfoTab : "तस्वीर की जानकारी", +DlgImgBtnUpload : "इसे सर्वर को भेजें", +DlgImgURL : "URL", +DlgImgUpload : "अपलोड", +DlgImgAlt : "वैकल्पिक टेक्स्ट", +DlgImgWidth : "चौड़ाई", +DlgImgHeight : "ऊँचाई", +DlgImgLockRatio : "लॉक अनुपात", +DlgBtnResetSize : "रीसॅट साइज़", +DlgImgBorder : "बॉर्डर", +DlgImgHSpace : "हॉरिज़ॉन्टल स्पेस", +DlgImgVSpace : "वर्टिकल स्पेस", +DlgImgAlign : "ऍलाइन", +DlgImgAlignLeft : "दायें", +DlgImgAlignAbsBottom: "Abs नीचे", +DlgImgAlignAbsMiddle: "Abs ऊपर", +DlgImgAlignBaseline : "मूल रेखा", +DlgImgAlignBottom : "नीचे", +DlgImgAlignMiddle : "मध्य", +DlgImgAlignRight : "दायें", +DlgImgAlignTextTop : "टेक्स्ट ऊपर", +DlgImgAlignTop : "ऊपर", +DlgImgPreview : "प्रीव्यू", +DlgImgAlertUrl : "तस्वीर का URL टाइप करें ", +DlgImgLinkTab : "लिंक", + +// Flash Dialog +DlgFlashTitle : "फ़्लैश प्रॉपर्टीज़", +DlgFlashChkPlay : "ऑटो प्ले", +DlgFlashChkLoop : "लूप", +DlgFlashChkMenu : "फ़्लैश मॅन्यू का प्रयोग करें", +DlgFlashScale : "स्केल", +DlgFlashScaleAll : "सभी दिखायें", +DlgFlashScaleNoBorder : "कोई बॉर्डर नहीं", +DlgFlashScaleFit : "बिल्कुल फ़िट", + +// Link Dialog +DlgLnkWindowTitle : "लिंक", +DlgLnkInfoTab : "लिंक ", +DlgLnkTargetTab : "टार्गेट", + +DlgLnkType : "लिंक प्रकार", +DlgLnkTypeURL : "URL", +DlgLnkTypeAnchor : "इस पेज का ऐंकर", +DlgLnkTypeEMail : "ई-मेल", +DlgLnkProto : "प्रोटोकॉल", +DlgLnkProtoOther : "<अन्य>", +DlgLnkURL : "URL", +DlgLnkAnchorSel : "ऐंकर चुनें", +DlgLnkAnchorByName : "ऐंकर नाम से", +DlgLnkAnchorById : "ऍलीमॅन्ट Id से", +DlgLnkNoAnchors : "<डॉक्यूमॅन्ट में ऐंकर्स की संख्या>", +DlgLnkEMail : "ई-मेल पता", +DlgLnkEMailSubject : "संदेश विषय", +DlgLnkEMailBody : "संदेश", +DlgLnkUpload : "अपलोड", +DlgLnkBtnUpload : "इसे सर्वर को भेजें", + +DlgLnkTarget : "टार्गेट", +DlgLnkTargetFrame : "<फ़्रेम>", +DlgLnkTargetPopup : "<पॉप-अप विन्डो>", +DlgLnkTargetBlank : "नया विन्डो (_blank)", +DlgLnkTargetParent : "मूल विन्डो (_parent)", +DlgLnkTargetSelf : "इसी विन्डो (_self)", +DlgLnkTargetTop : "शीर्ष विन्डो (_top)", +DlgLnkTargetFrameName : "टार्गेट फ़्रेम का नाम", +DlgLnkPopWinName : "पॉप-अप विन्डो का नाम", +DlgLnkPopWinFeat : "पॉप-अप विन्डो फ़ीचर्स", +DlgLnkPopResize : "साइज़ बदला जा सकता है", +DlgLnkPopLocation : "लोकेशन बार", +DlgLnkPopMenu : "मॅन्यू बार", +DlgLnkPopScroll : "स्क्रॉल बार", +DlgLnkPopStatus : "स्टेटस बार", +DlgLnkPopToolbar : "टूल बार", +DlgLnkPopFullScrn : "फ़ुल स्क्रीन (IE)", +DlgLnkPopDependent : "डिपेन्डॅन्ट (Netscape)", +DlgLnkPopWidth : "चौड़ाई", +DlgLnkPopHeight : "ऊँचाई", +DlgLnkPopLeft : "बायीं तरफ", +DlgLnkPopTop : "दायीं तरफ", + +DlnLnkMsgNoUrl : "लिंक URL टाइप करें", +DlnLnkMsgNoEMail : "ई-मेल पता टाइप करें", +DlnLnkMsgNoAnchor : "ऐंकर चुनें", + +// Color Dialog +DlgColorTitle : "रंग चुनें", +DlgColorBtnClear : "साफ़ करें", +DlgColorHighlight : "हाइलाइट", +DlgColorSelected : "सॅलॅक्टॅड", + +// Smiley Dialog +DlgSmileyTitle : "स्माइली इन्सर्ट करें", + +// Special Character Dialog +DlgSpecialCharTitle : "विशेष करॅक्टर चुनें", + +// Table Dialog +DlgTableTitle : "टेबल प्रॉपर्टीज़", +DlgTableRows : "पंक्तियाँ", +DlgTableColumns : "कॉलम", +DlgTableBorder : "बॉर्डर साइज़", +DlgTableAlign : "ऍलाइन्मॅन्ट", +DlgTableAlignNotSet : "<सॅट नहीं>", +DlgTableAlignLeft : "दायें", +DlgTableAlignCenter : "बीच में", +DlgTableAlignRight : "बायें", +DlgTableWidth : "चौड़ाई", +DlgTableWidthPx : "पिक्सॅल", +DlgTableWidthPc : "प्रतिशत", +DlgTableHeight : "ऊँचाई", +DlgTableCellSpace : "सॅल अंतर", +DlgTableCellPad : "सॅल पैडिंग", +DlgTableCaption : "शीर्षक", +DlgTableSummary : "सारांश", + +// Table Cell Dialog +DlgCellTitle : "सॅल प्रॉपर्टीज़", +DlgCellWidth : "चौड़ाई", +DlgCellWidthPx : "पिक्सॅल", +DlgCellWidthPc : "प्रतिशत", +DlgCellHeight : "ऊँचाई", +DlgCellWordWrap : "वर्ड रैप", +DlgCellWordWrapNotSet : "<सॅट नहीं>", +DlgCellWordWrapYes : "हाँ", +DlgCellWordWrapNo : "नहीं", +DlgCellHorAlign : "हॉरिज़ॉन्टल ऍलाइन्मॅन्ट", +DlgCellHorAlignNotSet : "<सॅट नहीं>", +DlgCellHorAlignLeft : "दायें", +DlgCellHorAlignCenter : "बीच में", +DlgCellHorAlignRight: "बायें", +DlgCellVerAlign : "वर्टिकल ऍलाइन्मॅन्ट", +DlgCellVerAlignNotSet : "<सॅट नहीं>", +DlgCellVerAlignTop : "ऊपर", +DlgCellVerAlignMiddle : "मध्य", +DlgCellVerAlignBottom : "नीचे", +DlgCellVerAlignBaseline : "मूलरेखा", +DlgCellRowSpan : "पंक्ति स्पैन", +DlgCellCollSpan : "कॉलम स्पैन", +DlgCellBackColor : "बैक्ग्राउन्ड रंग", +DlgCellBorderColor : "बॉर्डर का रंग", +DlgCellBtnSelect : "चुनें...", + +// Find Dialog +DlgFindTitle : "खोजें", +DlgFindFindBtn : "खोजें", +DlgFindNotFoundMsg : "आपके द्वारा दिया गया टेक्स्ट नहीं मिला", + +// Replace Dialog +DlgReplaceTitle : "रिप्लेस", +DlgReplaceFindLbl : "यह खोजें:", +DlgReplaceReplaceLbl : "इससे रिप्लेस करें:", +DlgReplaceCaseChk : "केस मिलायें", +DlgReplaceReplaceBtn : "रिप्लेस", +DlgReplaceReplAllBtn : "सभी रिप्लेस करें", +DlgReplaceWordChk : "पूरा शब्द मिलायें", + +// Paste Operations / Dialog +PasteErrorPaste : "आपके ब्रा‌उज़र की सुरक्षा सॅटिन्ग्स ने पेस्ट करने की अनुमति नहीं प्रदान की है। (Ctrl+V) का प्रयोग करें।", +PasteErrorCut : "आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl+X) का प्रयोग करें।", +PasteErrorCopy : "आपके ब्राआउज़र की सुरक्षा सॅटिन्ग्स ने कॉपी करने की अनुमति नहीं प्रदान की है। (Ctrl+C) का प्रयोग करें।", + +PasteAsText : "पेस्ट (सादा टॅक्स्ट)", +PasteFromWord : "पेस्ट (वर्ड से)", + +DlgPasteMsg2 : "Ctrl+V का प्रयोग करके पेस्ट करें और ठीक है करें.", +DlgPasteIgnoreFont : "फ़ॉन्ट परिभाषा निकालें", +DlgPasteRemoveStyles : "स्टाइल परिभाषा निकालें", +DlgPasteCleanBox : "बॉक्स साफ़ करें", + + +// Color Picker +ColorAutomatic : "ऑटोमैटिक", +ColorMoreColors : "और रंग...", + +// Document Properties +DocProps : "डॉक्यूमॅन्ट प्रॉपर्टीज़", + +// Anchor Dialog +DlgAnchorTitle : "ऐंकर प्रॉपर्टीज़", +DlgAnchorName : "ऐंकर का नाम", +DlgAnchorErrorName : "ऐंकर का नाम टाइप करें", + +// Speller Pages Dialog +DlgSpellNotInDic : "शब्दकोश में नहीं", +DlgSpellChangeTo : "इसमें बदलें", +DlgSpellBtnIgnore : "इग्नोर", +DlgSpellBtnIgnoreAll : "सभी इग्नोर करें", +DlgSpellBtnReplace : "रिप्लेस", +DlgSpellBtnReplaceAll : "सभी रिप्लेस करें", +DlgSpellBtnUndo : "अन्डू", +DlgSpellNoSuggestions : "- कोई सुझाव नहीं -", +DlgSpellProgress : "वर्तनी की जाँच (स्पॅल-चॅक) जारी है...", +DlgSpellNoMispell : "वर्तनी की जाँच : कोई गलत वर्तनी (स्पॅलिंग) नहीं पाई गई", +DlgSpellNoChanges : "वर्तनी की जाँच :कोई शब्द नहीं बदला गया", +DlgSpellOneChange : "वर्तनी की जाँच : एक शब्द बदला गया", +DlgSpellManyChanges : "वर्तनी की जाँच : %1 शब्द बदले गये", + +IeSpellDownload : "स्पॅल-चॅकर इन्स्टाल नहीं किया गया है। क्या आप इसे डा‌उनलोड करना चाहेंगे?", + +// Button Dialog +DlgButtonText : "टेक्स्ट (वैल्यू)", +DlgButtonType : "प्रकार", + +// Checkbox and Radio Button Dialogs +DlgCheckboxName : "नाम", +DlgCheckboxValue : "वैल्यू", +DlgCheckboxSelected : "सॅलॅक्टॅड", + +// Form Dialog +DlgFormName : "नाम", +DlgFormAction : "ऍक्शन", +DlgFormMethod : "तरीका", + +// Select Field Dialog +DlgSelectName : "नाम", +DlgSelectValue : "वैल्यू", +DlgSelectSize : "साइज़", +DlgSelectLines : "पंक्तियाँ", +DlgSelectChkMulti : "एक से ज्यादा विकल्प चुनने दें", +DlgSelectOpAvail : "उपलब्ध विकल्प", +DlgSelectOpText : "टेक्स्ट", +DlgSelectOpValue : "वैल्यू", +DlgSelectBtnAdd : "जोड़ें", +DlgSelectBtnModify : "बदलें", +DlgSelectBtnUp : "ऊपर", +DlgSelectBtnDown : "नीचे", +DlgSelectBtnSetValue : "चुनी गई वैल्यू सॅट करें", +DlgSelectBtnDelete : "डिलीट", + +// Textarea Dialog +DlgTextareaName : "नाम", +DlgTextareaCols : "कॉलम", +DlgTextareaRows : "पंक्तियां", + +// Text Field Dialog +DlgTextName : "नाम", +DlgTextValue : "वैल्यू", +DlgTextCharWidth : "करॅक्टर की चौढ़ाई", +DlgTextMaxChars : "अधिकतम करॅक्टर", +DlgTextType : "टाइप", +DlgTextTypeText : "टेक्स्ट", +DlgTextTypePass : "पास्वर्ड", + +// Hidden Field Dialog +DlgHiddenName : "नाम", +DlgHiddenValue : "वैल्यू", + +// Bulleted List Dialog +BulletedListProp : "बुलॅट सूची प्रॉपर्टीज़", +NumberedListProp : "अंकीय सूची प्रॉपर्टीज़", +DlgLstType : "प्रकार", +DlgLstTypeCircle : "गोल", +DlgLstTypeDisc : "डिस्क", +DlgLstTypeSquare : "चौकॊण", +DlgLstTypeNumbers : "अंक (1, 2, 3)", +DlgLstTypeLCase : "छोटे अक्षर (a, b, c)", +DlgLstTypeUCase : "बड़े अक्षर (A, B, C)", +DlgLstTypeSRoman : "छोटे रोमन अंक (i, ii, iii)", +DlgLstTypeLRoman : "बड़े रोमन अंक (I, II, III)", + +// Document Properties Dialog +DlgDocGeneralTab : "आम", +DlgDocBackTab : "बैक्ग्राउन्ड", +DlgDocColorsTab : "रंग और मार्जिन", +DlgDocMetaTab : "मॅटाडेटा", + +DlgDocPageTitle : "पेज शीर्षक", +DlgDocLangDir : "भाषा लिखने की दिशा", +DlgDocLangDirLTR : "बायें से दायें (LTR)", +DlgDocLangDirRTL : "दायें से बायें (RTL)", +DlgDocLangCode : "भाषा कोड", +DlgDocCharSet : "करेक्टर सॅट ऍन्कोडिंग", +DlgDocCharSetOther : "अन्य करेक्टर सॅट ऍन्कोडिंग", + +DlgDocDocType : "डॉक्यूमॅन्ट प्रकार शीर्षक", +DlgDocDocTypeOther : "अन्य डॉक्यूमॅन्ट प्रकार शीर्षक", +DlgDocIncXHTML : "XHTML सूचना सम्मिलित करें", +DlgDocBgColor : "बैक्ग्राउन्ड रंग", +DlgDocBgImage : "बैक्ग्राउन्ड तस्वीर URL", +DlgDocBgNoScroll : "स्क्रॉल न करने वाला बैक्ग्राउन्ड", +DlgDocCText : "टेक्स्ट", +DlgDocCLink : "लिंक", +DlgDocCVisited : "विज़िट किया गया लिंक", +DlgDocCActive : "सक्रिय लिंक", +DlgDocMargins : "पेज मार्जिन", +DlgDocMaTop : "ऊपर", +DlgDocMaLeft : "बायें", +DlgDocMaRight : "दायें", +DlgDocMaBottom : "नीचे", +DlgDocMeIndex : "डॉक्युमॅन्ट इन्डेक्स संकेतशब्द (अल्पविराम से अलग करें)", +DlgDocMeDescr : "डॉक्यूमॅन्ट करॅक्टरन", +DlgDocMeAuthor : "लेखक", +DlgDocMeCopy : "कॉपीराइट", +DlgDocPreview : "प्रीव्यू", + +// Templates Dialog +Templates : "टॅम्प्लेट", +DlgTemplatesTitle : "कन्टेन्ट टॅम्प्लेट", +DlgTemplatesSelMsg : "ऍडिटर में ओपन करने हेतु टॅम्प्लेट चुनें(वर्तमान कन्टॅन्ट सेव नहीं होंगे):", +DlgTemplatesLoading : "टॅम्प्लेट सूची लोड की जा रही है। ज़रा ठहरें...", +DlgTemplatesNoTpl : "(कोई टॅम्प्लेट डिफ़ाइन नहीं किया गया है)", + +// About Dialog +DlgAboutAboutTab : "FCKEditor के बारे में", +DlgAboutBrowserInfoTab : "ब्राउज़र के बारे में", +DlgAboutVersion : "वर्ज़न", +DlgAboutLicense : "लाइसेंस :GNU LGPL", +DlgAboutInfo : "अधिक जानकारी के लिये यहाँ जायें:" +} \ No newline at end of file Index: lams_central/web/fckeditor/editor/lang/hr.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/hr.js (.../hr.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/hr.js (.../hr.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Zamijeni", SpellCheck : "Provjeri pravopis", UniversalKeyboard : "Univerzalna tipkovnica", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Form", Checkbox : "Checkbox", @@ -106,6 +108,7 @@ DeleteCells : "Izbriši ćelije", MergeCells : "Spoji ćelije", SplitCell : "Razdvoji ćelije", +TableDelete : "Delete Table", //MISSING CellProperties : "Svojstva ćelije", TableProperties : "Svojstva tablice", ImageProperties : "Svojstva slike", @@ -134,6 +137,8 @@ NotImplemented : "Naredba nije implementirana", UnknownToolbarSet : "Traka s alatima \"%1\" ne postoji", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Prostornost ćelija", DlgTableCellPad : "Razmak ćelija", DlgTableCaption : "Naslov", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Svojstva ćelije", Index: lams_central/web/fckeditor/editor/lang/hu.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/hu.js (.../hu.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/hu.js (.../hu.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Csere", SpellCheck : "Helyesírásellenőrzés", UniversalKeyboard : "Általános billentyűzet", +PageBreakLbl : "Oldaltörés", +PageBreak : "Oldaltörés beillesztése", Form : "Űrlap", Checkbox : "Jelölőnégyzet", @@ -106,6 +108,7 @@ DeleteCells : "Cellák törlése", MergeCells : "Cellák egyesítése", SplitCell : "Cellák szétválasztása", +TableDelete : "Táblázat törlése", CellProperties : "Cellák tulajdonsága", TableProperties : "Táblázat tulajdonsága", ImageProperties : "Kép tulajdonsága", @@ -134,6 +137,8 @@ NotImplemented : "A parancs nincs beágyazva", UnknownToolbarSet : "Eszközkészlet beállítás \"%1\" nem létezik", NoActiveX : "A böngésződ biztonsági beállításai limitálják a szerkesztő lehetőségeit. Engedélyezned kell ezt az opciót: \"Run ActiveX controls and plug-ins\". Kitapasztalhatod a hibákat és feljegyezheted a hiányzó képességeket.", +BrowseServerBlocked : "Nem lehet megnyitni a fájlböngészőt. Bizonyosodj meg róla, hogy a popup albakok engedélyezve vannak.", +DialogBlocked : "Nem tudom megnyitni a párbeszédablakot. Bizonyosodj meg róla, hogy a popup ablakok engedélyezve vannak.", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Cell spacing", DlgTableCellPad : "Cell padding", DlgTableCaption : "Felirat", +DlgTableSummary : "Összegzés", // Table Cell Dialog DlgCellTitle : "Cella tulajdonságai", Index: lams_central/web/fckeditor/editor/lang/it.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/it.js (.../it.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/it.js (.../it.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Sostituisci", SpellCheck : "Correttore ortografico", UniversalKeyboard : "Tastiera univerale", +PageBreakLbl : "Interruzione di pagina", +PageBreak : "Inserisci interruzione di pagina", Form : "Modulo", Checkbox : "Checkbox", @@ -106,6 +108,7 @@ DeleteCells : "Elimina celle", MergeCells : "Unisce celle", SplitCell : "Dividi celle", +TableDelete : "Cancella Tabella", CellProperties : "Proprietà cella", TableProperties : "Proprietà tabella", ImageProperties : "Proprietà immagine", @@ -133,7 +136,9 @@ UnknownCommand : "Comando sconosciuto \"%1\"", NotImplemented : "Commando non implementato", UnknownToolbarSet : "La barra di strumenti \"%1\" non esiste", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "Le impostazioni di sicurezza del tuo browser potrebbero limitare alcune funzionalità dell'editor. Devi abilitare l'opzione \"Esegui controlli e plug-in ActiveX\". Potresti avere errori e notare funzionalità mancanti.", +BrowseServerBlocked : "Non è possibile aprire la finestra di espolorazione risorse. Verifica che tutti i blocca popup siano bloccati.", +DialogBlocked : "Non è possibile aprire la finestra di dialogo. Verifica che tutti i blocca popup siano bloccati.", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Spaziatura celle", DlgTableCellPad : "Padding celle", DlgTableCaption : "Intestazione", +DlgTableSummary : "Indice", // Table Cell Dialog DlgCellTitle : "Propriet cella", @@ -416,7 +422,7 @@ NumberedListProp : "Proprietà lista numerata", DlgLstType : "Tipo", DlgLstTypeCircle : "Tondo", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "Disco", DlgLstTypeSquare : "Quadrato", DlgLstTypeNumbers : "Numeri (1, 2, 3)", DlgLstTypeLCase : "Caratteri minuscoli (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/ja.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/ja.js (.../ja.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/ja.js (.../ja.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "置き換え", SpellCheck : "スペルチェック", UniversalKeyboard : "ユニバーサル・キーボード", +PageBreakLbl : "改ページ", +PageBreak : "改ページ挿入", Form : "フォーム", Checkbox : "チェックボックス", @@ -106,6 +108,7 @@ DeleteCells : "セル削除", MergeCells : "セル結合", SplitCell : "セル分割", +TableDelete : "テーブル削除", CellProperties : "セル プロパティ", TableProperties : "テーブル プロパティ", ImageProperties : "イメージ プロパティ", @@ -133,7 +136,9 @@ UnknownCommand : "未知のコマンド名 \"%1\"", NotImplemented : "コマンドはインプリメントされませんでした。", UnknownToolbarSet : "ツールバー設定 \"%1\" 存在しません。", -NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +NoActiveX : "エラー、警告メッセージなどが発生した場合、ブラウザーのセキュリティ設定によりエディタのいくつかの機能が制限されている可能性があります。セキュリティ設定のオプションで\"ActiveXコントロールとプラグインの実行\"を有効にするにしてください。", +BrowseServerBlocked : "サーバーブラウザーを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。", +DialogBlocked : "ダイアログウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。", // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "セル内余白", DlgTableCellPad : "セル内間隔", DlgTableCaption : "キャプション", +DlgTableSummary : "テーブル目的/構造", // Table Cell Dialog DlgCellTitle : "セル プロパティ", @@ -416,7 +422,7 @@ NumberedListProp : "段落番号 プロパティ", DlgLstType : "タイプ", DlgLstTypeCircle : "白丸", -DlgLstTypeDisc : "Disc", //MISSING +DlgLstTypeDisc : "黒丸", DlgLstTypeSquare : "四角", DlgLstTypeNumbers : "アラビア数字 (1, 2, 3)", DlgLstTypeLCase : "英字小文字 (a, b, c)", Index: lams_central/web/fckeditor/editor/lang/ko.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/ko.js (.../ko.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/ko.js (.../ko.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -86,6 +86,8 @@ Replace : "바꾸기", SpellCheck : "철자검사", UniversalKeyboard : "다국어 입력기", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "폼", Checkbox : "체크박스", @@ -107,6 +109,7 @@ DeleteCells : "셀 삭제", MergeCells : "셀 합치기", SplitCell : "셀 나누기", +TableDelete : "Delete Table", //MISSING CellProperties : "셀 속성", TableProperties : "표 속성", ImageProperties : "이미지 속성", @@ -135,6 +138,8 @@ NotImplemented : "기능이 실행되지 않았습니다.", UnknownToolbarSet : "툴바 설정이 없습니다. : \"%1\"", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "예", @@ -279,6 +284,7 @@ DlgTableCellSpace : "셀 간격", DlgTableCellPad : "셀 여백", DlgTableCaption : "캡션", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "셀 설정", Index: lams_central/web/fckeditor/editor/lang/lt.js =================================================================== diff -u -r55b56043d9d88eeb96bb4f8680fe9d2b0491dc12 -r877c31055fbefba3e65d509cdee913a6e762a67d --- lams_central/web/fckeditor/editor/lang/lt.js (.../lt.js) (revision 55b56043d9d88eeb96bb4f8680fe9d2b0491dc12) +++ lams_central/web/fckeditor/editor/lang/lt.js (.../lt.js) (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -85,6 +85,8 @@ Replace : "Pakeisti", SpellCheck : "Rašybos tikrinimas", UniversalKeyboard : "Universali klaviatūra", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING Form : "Forma", Checkbox : "Žymimasis langelis", @@ -106,6 +108,7 @@ DeleteCells : "Šalinti langelius", MergeCells : "Sujungti langelius", SplitCell : "Skaidyti langelius", +TableDelete : "Delete Table", //MISSING CellProperties : "Langelio savybės", TableProperties : "Lentelės savybės", ImageProperties : "Vaizdo savybės", @@ -134,6 +137,8 @@ NotImplemented : "Komanda nėra įgyvendinta", UnknownToolbarSet : "Mygtukų juostos rinkinys \"%1\" neegzistuoja", NoActiveX : "You browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING // Dialogs DlgBtnOK : "OK", @@ -278,6 +283,7 @@ DlgTableCellSpace : "Tarpas tarp langelių", DlgTableCellPad : "Trapas nuo langelio rėmo iki teksto", DlgTableCaption : "Antraštė", +DlgTableSummary : "Summary", //MISSING // Table Cell Dialog DlgCellTitle : "Langelio savybės", Index: lams_central/web/fckeditor/editor/lang/lv.js =================================================================== diff -u --- lams_central/web/fckeditor/editor/lang/lv.js (revision 0) +++ lams_central/web/fckeditor/editor/lang/lv.js (revision 877c31055fbefba3e65d509cdee913a6e762a67d) @@ -0,0 +1,481 @@ +/* + * FCKeditor - The text editor for internet + * Copyright (C) 2003-2005 Frederico Caldeira Knabben + * + * Licensed under the terms of the GNU Lesser General Public License: + * http://www.opensource.org/licenses/lgpl-license.php + * + * For further information visit: + * http://www.fckeditor.net/ + * + * "Support Open Source software. What about a donation today?" + * + * File Name: lv.js + * Latvian language file. + * + * File Authors: + * Jānis Kļaviņš (janis@4id.lv) + */ + +var FCKLang = +{ +// Language direction : "ltr" (left to right) or "rtl" (right to left). +Dir : "ltr", + +ToolbarCollapse : "Samazināt rīku joslu", +ToolbarExpand : "Paplašināt rīku joslu", + +// Toolbar Items and Context Menu +Save : "Saglabāt", +NewPage : "Jauna lapa", +Preview : "Pārskatīt", +Cut : "Izgriezt", +Copy : "Kopēt", +Paste : "Ievietot", +PasteText : "Ievietot kā vienkāršu tekstu", +PasteWord : "Ievietot no Worda", +Print : "Drukāt", +SelectAll : "Iezīmēt visu", +RemoveFormat : "Noņemt stilus", +InsertLinkLbl : "Hipersaite", +InsertLink : "Ievietot/Labot Hipersaiti", +RemoveLink : "Noņemt Hipersaiti", +Anchor : "Ievietot/Labot iezīmi", +InsertImageLbl : "Attēls", +InsertImage : "Ievietot/Labot Attēlu", +InsertFlashLbl : "Flash", +InsertFlash : "Ievietot/Labot Flash", +InsertTableLbl : "Tabula", +InsertTable : "Ievietot/Labot Tabulu", +InsertLineLbl : "Atdalītājsvītra", +InsertLine : "Ievietot horizontālu Atdalītājsvītru", +InsertSpecialCharLbl: "Īpašs simbols", +InsertSpecialChar : "Ievietot Īpašu simbolu", +InsertSmileyLbl : "Smaidiņi", +InsertSmiley : "Ievietot Smaidiņu", +About : "Īsumā par FCKeditor'u", +Bold : "Treknu šriftu", +Italic : "Slīprakstā", +Underline : "Apakšsvītra", +StrikeThrough : "Pārsvītrots", +Subscript : "Zemrakstā", +Superscript : "Augšrakstā", +LeftJustify : "Nolīdzināt pa kreisi", +CenterJustify : "Nolīdzināt pret centru", +RightJustify : "Nolīdzināt pa labi", +BlockJustify : "Nolīdzināt malas", +DecreaseIndent : "Samazināt atkāpi", +IncreaseIndent : "Palielināt atkāpi", +Undo : "Atcelt", +Redo : "Atkārtot", +NumberedListLbl : "Numurēts saraksts", +NumberedList : "Ievietot/Noņemt Numurēto sarakstu", +BulletedListLbl : "Izcelts saraksts", +BulletedList : "Ievietot/Noņemt Izceltu sarakstu", +ShowTableBorders : "Parādīt Tabulas robežas", +ShowDetails : "Parādīt sīkāku info", +Style : "Stils", +FontFormat : "Formāts", +Font : "Šrifts", +FontSize : "Izmērs", +TextColor : "Teksta krāsa", +BGColor : "Fona krāsa", +Source : "HTML kods", +Find : "Meklēt", +Replace : "Nomainīt", +SpellCheck : "Pareizrakstības pārbaude", +UniversalKeyboard : "Universāla Klaviatūra", +PageBreakLbl : "Page Break", //MISSING +PageBreak : "Insert Page Break", //MISSING + +Form : "Forma", +Checkbox : "Atzīmēšanas kastīte", +RadioButton : "Izvēles poga", +TextField : "Teksta rinda", +Textarea : "Teksta laukums", +HiddenField : "Paslēpta teksta rinda", +Button : "Poga", +SelectionField : "Iezīmēšanas lauks", +ImageButton : "Attēlpoga", + +// Context Menu +EditLink : "Labot hipersaiti", +InsertRow : "Ievietot rindu", +DeleteRows : "Dzēst rindas", +InsertColumn : "Ievietot kolonnu", +DeleteColumns : "Dzēst kolonnas", +InsertCell : "Ievietot rūtiņu", +DeleteCells : "Dzēst rūtiņas", +MergeCells : "Apvienot rūtiņas", +SplitCell : "Sadalīt rūtiņu", +TableDelete : "Delete Table", //MISSING +CellProperties : "Rūtiņas īpašības", +TableProperties : "Tabulas īpašības", +ImageProperties : "Attēla īpašības", +FlashProperties : "Flash īpašības", + +AnchorProp : "Iezīmes īpašības", +ButtonProp : "Pogas īpašības", +CheckboxProp : "Atzīmēšanas kastītes īpašības", +HiddenFieldProp : "Paslēptās teksta rindas īpašības", +RadioButtonProp : "Izvēles poga īpašības", +ImageButtonProp : "Attēlpogas īpašības", +TextFieldProp : "Teksta rindas īpašības", +SelectionFieldProp : "Iezīmēšanas lauka īpašības", +TextareaProp : "Teksta laukuma īpašības", +FormProp : "Formas īpašības", + +FontFormats : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)", + +// Alerts and Messages +ProcessingXHTML : "Tiek apstrādāts XHTML. Lūdzu uzgaidiet...", +Done : "Darīts", +PasteWordConfirm : "Teksta fragments, kas tiek ievietots, izskatās, ka būtu sagatavots Word'ā. Vai vēlaties to apstrādāt pirms ievietošanas?", +NotCompatiblePaste : "Šī darbība ir pieejama Internet Explorer'ī, kas jaunāks par 5.5 versiju. Vai vēlaties ievietot bez apstrādes?", +UnknownToolbarItem : "Nezināms rīku joslas objekts \"%1\"", +UnknownCommand : "Nezināmas darbības nosaukums \"%1\"", +NotImplemented : "Darbība netika paveikta", +UnknownToolbarSet : "Rīku joslas komplekts \"%1\" neeksistē", +NoActiveX : "Interneta pārlūkprogrammas drošības uzstādījumi varētu ietekmēt dažas no editora īpašībām. Jābūt aktivizētai sadaļai \"Run ActiveX controls and plug-ins\". Savādāk ir iespējamas kļūdas darbībā un kļūdu paziņojumu parādīšanās.", +BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING +DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING + +// Dialogs +DlgBtnOK : "Darīts!", +DlgBtnCancel : "Atcelt", +DlgBtnClose : "Aizvērt", +DlgBtnBrowseServer : "Skatīt servera saturu", +DlgAdvancedTag : "Viedāk", +DlgOpOther : "<Cits>", +DlgInfoTab : "Informācija", +DlgAlertUrl : "Lūdzum ievietojiet Hipersaiti", + +// General Dialogs Labels +DlgGenNotSet : "<nav iestatīts>", +DlgGenId : "Id", +DlgGenLangDir : "Valodas lasīšanas virziens", +DlgGenLangDirLtr : "No kreisās uz labo (LTR)", +DlgGenLangDirRtl : "No labās uz kreiso (RTL)", +DlgGenLangCode : "Valodas kods", +DlgGenAccessKey : "Pieejas kods", +DlgGenName : "Nosaukums", +DlgGenTabIndex : "Tab Index", +DlgGenLongDescr : "Gara apraksta Hipersaite", +DlgGenClass : "Stilu saraksta klases", +DlgGenTitle : "Konsultatīvs virsraksts", +DlgGenContType : "Konsultatīvs Satura tips", +DlgGenLinkCharset : "Pievienotā resursa Charset parametrs", +DlgGenStyle : "Stils", + +// Image Dialog +DlgImgTitle : "Attēla īpašības", +DlgImgInfoTab : "Informācija par attēlu", +DlgImgBtnUpload : "Nosūtīt serverim", +DlgImgURL : "URL", +DlgImgUpload : "Augšupielādēt", +DlgImgAlt : "Alternatīvais teksts", +DlgImgWidth : "Platums", +DlgImgHeight : "Augstums", +DlgImgLockRatio : "Nemainīga Augstuma/Platuma attiecība", +DlgBtnResetSize : "Atjaunot sākotnējo izmēru", +DlgImgBorder : "Rāmis", +DlgImgHSpace : "Horizontālā telpa", +DlgImgVSpace : "Vertikālā telpa", +DlgImgAlign : "Nolīdzināt", +DlgImgAlignLeft : "Pa kreisi", +DlgImgAlignAbsBottom: "Absolūti apakšā", +DlgImgAlignAbsMiddle: "Absolūti vertikāli centrēts", +DlgImgAlignBaseline : "Pamatrindā", +DlgImgAlignBottom : "Apakšā", +DlgImgAlignMiddle : "Vertikāli centrēts", +DlgImgAlignRight : "Pa labi", +DlgImgAlignTextTop : "Teksta augšā", +DlgImgAlignTop : "Augšā", +DlgImgPreview : "Pārskats", +DlgImgAlertUrl : "Lūdzu norādīt attēla hipersaiti", +DlgImgLinkTab : "Hipersaite", + +// Flash Dialog +DlgFlashTitle : "Flash īpašības", +DlgFlashChkPlay : "Automātiska atskaņošana", +DlgFlashChkLoop : "Nepārtraukti", +DlgFlashChkMenu : "Atļaut Flash izvēlni", +DlgFlashScale : "Mainīt izmēru", +DlgFlashScaleAll : "Rādīt visu", +DlgFlashScaleNoBorder : "Bez rāmja", +DlgFlashScaleFit : "Exact Fit", + +// Link Dialog +DlgLnkWindowTitle : "Hipersaite", +DlgLnkInfoTab : "Hipersaites informācija", +DlgLnkTargetTab : "Mērķis", + +DlgLnkType : "Hipersaites tips", +DlgLnkTypeURL : "URL", +DlgLnkTypeAnchor : "Iezīme šajā lapā", +DlgLnkTypeEMail : "E-pasts", +DlgLnkProto : "Protokols", +DlgLnkProtoOther : "<cits>", +DlgLnkURL : "URL", +DlgLnkAnchorSel : "Izvēlēties iezīmi", +DlgLnkAnchorByName : "Pēc iezīmes nosaukuma", +DlgLnkAnchorById : "Pēc elementa ID", +DlgLnkNoAnchors : "<Šajā dokumentā nav iezīmju>", +DlgLnkEMail : "E-pasta adrese", +DlgLnkEMailSubject : "Ziņas tēma", +DlgLnkEMailBody : "Ziņas saturs", +DlgLnkUpload : "Augšupielādēt", +DlgLnkBtnUpload : "Nosūtīt serverim", + +DlgLnkTarget : "Mērķis", +DlgLnkTargetFrame : "<freims>", +DlgLnkTargetPopup : "<uzlecošā logā>", +DlgLnkTargetBlank : "Jaunā logā (_blank)", +DlgLnkTargetParent : "Esošajā logā (_parent)", +DlgLnkTargetSelf : "Tajā pašā logā (_self)", +DlgLnkTargetTop : "Visredzamākajā logā (_top)", +DlgLnkTargetFrameName : "Mērķa freima nosaukums", +DlgLnkPopWinName : "Izlecošā loga nosaukums", +DlgLnkPopWinFeat : "Izlecošā loga nosaukums īpašības", +DlgLnkPopResize : "Ar maināmu izmēru", +DlgLnkPopLocation : "Atrašanās vietas josla", +DlgLnkPopMenu : "Izvēlnes josla", +DlgLnkPopScroll : "Ritjoslas", +DlgLnkPopStatus : "Statusa josla", +DlgLnkPopToolbar : "Rīku josla", +DlgLnkPopFullScrn : "Pilnā ekrānā (IE)", +DlgLnkPopDependent : "Atkarīgs (Netscape)", +DlgLnkPopWidth : "Platums", +DlgLnkPopHeight : "Augstums", +DlgLnkPopLeft : "Kreisā koordināte", +DlgLnkPopTop : "Augšējā koordināte", + +DlnLnkMsgNoUrl : "Lūdzu norādi hipersaiti", +DlnLnkMsgNoEMail : "Lūdzu norādi e-pasta adresi", +DlnLnkMsgNoAnchor : "Lūdzu norādi iezīmi", + +// Color Dialog +DlgColorTitle : "Izvēlies krāsu", +DlgColorBtnClear : "Dzēst", +DlgColorHighlight : "Izcelt", +DlgColorSelected : "Iezīmētais", + +// Smiley Dialog +DlgSmileyTitle : "Ievietot Smaidiņu", + +// Special Character Dialog +DlgSpecialCharTitle : "Ievietot īpašu simbolu", + +// Table Dialog +DlgTableTitle : "Tabulas īpašības", +DlgTableRows : "Rindas", +DlgTableColumns : "Kolonnas", +DlgTableBorder : "Rāmja izmērs", +DlgTableAlign : "Novietojums", +DlgTableAlignNotSet : "