update address standardization for cust_location changes
[freeside.git] / rt / share / html / NoAuth / RichText / FCKeditor / editor / plugins / dragresizetable / fckplugin.js
diff --git a/rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/dragresizetable/fckplugin.js b/rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/dragresizetable/fckplugin.js
deleted file mode 100644 (file)
index 87061ff..0000000
+++ /dev/null
@@ -1,529 +0,0 @@
-var FCKDragTableHandler =\r
-{\r
-       "_DragState" : 0,\r
-       "_LeftCell" : null,\r
-       "_RightCell" : null,\r
-       "_MouseMoveMode" : 0,   // 0 - find candidate cells for resizing, 1 - drag to resize\r
-       "_ResizeBar" : null,\r
-       "_OriginalX" : null,\r
-       "_MinimumX" : null,\r
-       "_MaximumX" : null,\r
-       "_LastX" : null,\r
-       "_TableMap" : null,\r
-       "_doc" : document,\r
-       "_IsInsideNode" : function( w, domNode, pos )\r
-       {\r
-               var myCoords = FCKTools.GetWindowPosition( w, domNode ) ;\r
-               var xMin = myCoords.x ;\r
-               var yMin = myCoords.y ;\r
-               var xMax = parseInt( xMin, 10 ) + parseInt( domNode.offsetWidth, 10 ) ;\r
-               var yMax = parseInt( yMin, 10 ) + parseInt( domNode.offsetHeight, 10 ) ;\r
-               if ( pos.x >= xMin && pos.x <= xMax && pos.y >= yMin && pos.y <= yMax )\r
-                       return true;\r
-               return false;\r
-       },\r
-       "_GetBorderCells" : function( w, tableNode, tableMap, mouse )\r
-       {\r
-               // Enumerate all the cells in the table.\r
-               var cells = [] ;\r
-               for ( var i = 0 ; i < tableNode.rows.length ; i++ )\r
-               {\r
-                       var r = tableNode.rows[i] ;\r
-                       for ( var j = 0 ; j < r.cells.length ; j++ )\r
-                               cells.push( r.cells[j] ) ;\r
-               }\r
-\r
-               if ( cells.length < 1 )\r
-                       return null ;\r
-\r
-               // Get the cells whose right or left border is nearest to the mouse cursor's x coordinate.\r
-               var minRxDist = null ;\r
-               var lxDist = null ;\r
-               var minYDist = null ;\r
-               var rbCell = null ;\r
-               var lbCell = null ;\r
-               for ( var i = 0 ; i < cells.length ; i++ )\r
-               {\r
-                       var pos = FCKTools.GetWindowPosition( w, cells[i] ) ;\r
-                       var rightX = pos.x + parseInt( cells[i].clientWidth, 10 ) ;\r
-                       var rxDist = mouse.x - rightX ;\r
-                       var yDist = mouse.y - ( pos.y + ( cells[i].clientHeight / 2 ) ) ;\r
-                       if ( minRxDist == null ||\r
-                                       ( Math.abs( rxDist ) <= Math.abs( minRxDist ) &&\r
-                                         ( minYDist == null || Math.abs( yDist ) <= Math.abs( minYDist ) ) ) )\r
-                       {\r
-                               minRxDist = rxDist ;\r
-                               minYDist = yDist ;\r
-                               rbCell = cells[i] ;\r
-                       }\r
-               }\r
-               /*\r
-               var rowNode = FCKTools.GetElementAscensor( rbCell, "tr" ) ;\r
-               var cellIndex = rbCell.cellIndex + 1 ;\r
-               if ( cellIndex >= rowNode.cells.length )\r
-                       return null ;\r
-               lbCell = rowNode.cells.item( cellIndex ) ;\r
-               */\r
-               var rowIdx = rbCell.parentNode.rowIndex ;\r
-               var colIdx = FCKTableHandler._GetCellIndexSpan( tableMap, rowIdx, rbCell ) ;\r
-               var colSpan = isNaN( rbCell.colSpan ) ? 1 : rbCell.colSpan ;\r
-               lbCell = tableMap[rowIdx][colIdx + colSpan] ;\r
-\r
-               if ( ! lbCell )\r
-                       return null ;\r
-\r
-               // Abort if too far from the border.\r
-               lxDist = mouse.x - FCKTools.GetWindowPosition( w, lbCell ).x ;\r
-               if ( lxDist < 0 && minRxDist < 0 && minRxDist < -2 )\r
-                       return null ;\r
-               if ( lxDist > 0 && minRxDist > 0 && lxDist > 3 )\r
-                       return null ;\r
-\r
-               return { "leftCell" : rbCell, "rightCell" : lbCell } ;\r
-       },\r
-       "_GetResizeBarPosition" : function()\r
-       {\r
-               var row = FCKTools.GetElementAscensor( this._RightCell, "tr" ) ;\r
-               return FCKTableHandler._GetCellIndexSpan( this._TableMap, row.rowIndex, this._RightCell ) ;\r
-       },\r
-       "_ResizeBarMouseDownListener" : function( evt )\r
-       {\r
-               if ( FCKDragTableHandler._LeftCell )\r
-                       FCKDragTableHandler._MouseMoveMode = 1 ;\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       FCKDragTableHandler._ResizeBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 50 ;\r
-               else\r
-                       FCKDragTableHandler._ResizeBar.style.opacity = 0.5 ;\r
-               FCKDragTableHandler._OriginalX = evt.clientX ;\r
-\r
-               // Calculate maximum and minimum x-coordinate delta.\r
-               var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
-               var offset = FCKDragTableHandler._GetIframeOffset();\r
-               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" );\r
-               var minX = null ;\r
-               var maxX = null ;\r
-               for ( var r = 0 ; r < FCKDragTableHandler._TableMap.length ; r++ )\r
-               {\r
-                       var leftCell = FCKDragTableHandler._TableMap[r][borderIndex - 1] ;\r
-                       var rightCell = FCKDragTableHandler._TableMap[r][borderIndex] ;\r
-                       var leftPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, leftCell ) ;\r
-                       var rightPosition = FCKTools.GetWindowPosition( FCK.EditorWindow, rightCell ) ;\r
-                       var leftPadding = FCKDragTableHandler._GetCellPadding( table, leftCell ) ;\r
-                       var rightPadding = FCKDragTableHandler._GetCellPadding( table, rightCell ) ;\r
-                       if ( minX == null || leftPosition.x + leftPadding > minX )\r
-                               minX = leftPosition.x + leftPadding ;\r
-                       if ( maxX == null || rightPosition.x + rightCell.clientWidth - rightPadding < maxX )\r
-                               maxX = rightPosition.x + rightCell.clientWidth - rightPadding ;\r
-               }\r
-\r
-               FCKDragTableHandler._MinimumX = minX + offset.x ;\r
-               FCKDragTableHandler._MaximumX = maxX + offset.x ;\r
-               FCKDragTableHandler._LastX = null ;\r
-\r
-               if (evt.preventDefault)\r
-                       evt.preventDefault();\r
-               else\r
-                       evt.returnValue = false;\r
-       },\r
-       "_ResizeBarMouseUpListener" : function( evt )\r
-       {\r
-               FCKDragTableHandler._MouseMoveMode = 0 ;\r
-               FCKDragTableHandler._HideResizeBar() ;\r
-\r
-               if ( FCKDragTableHandler._LastX == null )\r
-                       return ;\r
-\r
-               // Calculate the delta value.\r
-               var deltaX = FCKDragTableHandler._LastX - FCKDragTableHandler._OriginalX ;\r
-\r
-               // Then, build an array of current column width values.\r
-               // This algorithm can be very slow if the cells have insane colSpan values. (e.g. colSpan=1000).\r
-               var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" ) ;\r
-               var colArray = [] ;\r
-               var tableMap = FCKDragTableHandler._TableMap ;\r
-               for ( var i = 0 ; i < tableMap.length ; i++ )\r
-               {\r
-                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
-                       {\r
-                               var cell = tableMap[i][j] ;\r
-                               var width = FCKDragTableHandler._GetCellWidth( table, cell ) ;\r
-                               var colSpan = isNaN( cell.colSpan) ? 1 : cell.colSpan ;\r
-                               if ( colArray.length <= j )\r
-                                       colArray.push( { width : width / colSpan, colSpan : colSpan } ) ;\r
-                               else\r
-                               {\r
-                                       var guessItem = colArray[j] ;\r
-                                       if ( guessItem.colSpan > colSpan )\r
-                                       {\r
-                                               guessItem.width = width / colSpan ;\r
-                                               guessItem.colSpan = colSpan ;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // Find out the equivalent column index of the two cells selected for resizing.\r
-               colIndex = FCKDragTableHandler._GetResizeBarPosition() ;\r
-\r
-               // Note that colIndex must be at least 1 here, so it's safe to subtract 1 from it.\r
-               colIndex-- ;\r
-\r
-               // Modify the widths in the colArray according to the mouse coordinate delta value.\r
-               colArray[colIndex].width += deltaX ;\r
-               colArray[colIndex + 1].width -= deltaX ;\r
-\r
-               // Clear all cell widths, delete all <col> elements from the table.\r
-               for ( var r = 0 ; r < table.rows.length ; r++ )\r
-               {\r
-                       var row = table.rows.item( r ) ;\r
-                       for ( var c = 0 ; c < row.cells.length ; c++ )\r
-                       {\r
-                               var cell = row.cells.item( c ) ;\r
-                               cell.width = "" ;\r
-                               cell.style.width = "" ;\r
-                       }\r
-               }\r
-               var colElements = table.getElementsByTagName( "col" ) ;\r
-               for ( var i = colElements.length - 1 ; i >= 0 ; i-- )\r
-                       colElements[i].parentNode.removeChild( colElements[i] ) ;\r
-\r
-               // Set new cell widths.\r
-               var processedCells = [] ;\r
-               for ( var i = 0 ; i < tableMap.length ; i++ )\r
-               {\r
-                       for ( var j = 0 ; j < tableMap[i].length ; j++ )\r
-                       {\r
-                               var cell = tableMap[i][j] ;\r
-                               if ( cell._Processed )\r
-                                       continue ;\r
-                               if ( tableMap[i][j-1] != cell )\r
-                                       cell.width = colArray[j].width ;\r
-                               else\r
-                                       cell.width = parseInt( cell.width, 10 ) + parseInt( colArray[j].width, 10 ) ;\r
-                               if ( tableMap[i][j+1] != cell )\r
-                               {\r
-                                       processedCells.push( cell ) ;\r
-                                       cell._Processed = true ;\r
-                               }\r
-                       }\r
-               }\r
-               for ( var i = 0 ; i < processedCells.length ; i++ )\r
-               {\r
-                       if ( FCKBrowserInfo.IsIE )\r
-                               processedCells[i].removeAttribute( '_Processed' ) ;\r
-                       else\r
-                               delete processedCells[i]._Processed ;\r
-               }\r
-\r
-               FCKDragTableHandler._LastX = null ;\r
-       },\r
-       "_ResizeBarMouseMoveListener" : function( evt )\r
-       {\r
-               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
-                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
-               else\r
-                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
-       },\r
-       // Calculate the padding of a table cell.\r
-       // It returns the value of paddingLeft + paddingRight of a table cell.\r
-       // This function is used, in part, to calculate the width parameter that should be used for setting cell widths.\r
-       // The equation in question is clientWidth = paddingLeft + paddingRight + width.\r
-       // So that width = clientWidth - paddingLeft - paddingRight.\r
-       // The return value of this function must be pixel accurate acorss all supported browsers, so be careful if you need to modify it.\r
-       "_GetCellPadding" : function( table, cell )\r
-       {\r
-               var attrGuess = parseInt( table.cellPadding, 10 ) * 2 ;\r
-               var cssGuess = null ;\r
-               if ( typeof( window.getComputedStyle ) == "function" )\r
-               {\r
-                       var styleObj = window.getComputedStyle( cell, null ) ;\r
-                       cssGuess = parseInt( styleObj.getPropertyValue( "padding-left" ), 10 ) +\r
-                               parseInt( styleObj.getPropertyValue( "padding-right" ), 10 ) ;\r
-               }\r
-               else\r
-                       cssGuess = parseInt( cell.currentStyle.paddingLeft, 10 ) + parseInt (cell.currentStyle.paddingRight, 10 ) ;\r
-\r
-               var cssRuntime = cell.style.padding ;\r
-               if ( isFinite( cssRuntime ) )\r
-                       cssGuess = parseInt( cssRuntime, 10 ) * 2 ;\r
-               else\r
-               {\r
-                       cssRuntime = cell.style.paddingLeft ;\r
-                       if ( isFinite( cssRuntime ) )\r
-                               cssGuess = parseInt( cssRuntime, 10 ) ;\r
-                       cssRuntime = cell.style.paddingRight ;\r
-                       if ( isFinite( cssRuntime ) )\r
-                               cssGuess += parseInt( cssRuntime, 10 ) ;\r
-               }\r
-\r
-               attrGuess = parseInt( attrGuess, 10 ) ;\r
-               cssGuess = parseInt( cssGuess, 10 ) ;\r
-               if ( isNaN( attrGuess ) )\r
-                       attrGuess = 0 ;\r
-               if ( isNaN( cssGuess ) )\r
-                       cssGuess = 0 ;\r
-               return Math.max( attrGuess, cssGuess ) ;\r
-       },\r
-       // Calculate the real width of the table cell.\r
-       // The real width of the table cell is the pixel width that you can set to the width attribute of the table cell and after\r
-       // that, the table cell should be of exactly the same width as before.\r
-       // The real width of a table cell can be calculated as:\r
-       // width = clientWidth - paddingLeft - paddingRight.\r
-       "_GetCellWidth" : function( table, cell )\r
-       {\r
-               var clientWidth = cell.clientWidth ;\r
-               if ( isNaN( clientWidth ) )\r
-                       clientWidth = 0 ;\r
-               return clientWidth - this._GetCellPadding( table, cell ) ;\r
-       },\r
-       "MouseMoveListener" : function( FCK, evt )\r
-       {\r
-               if ( FCKDragTableHandler._MouseMoveMode == 0 )\r
-                       return FCKDragTableHandler._MouseFindHandler( FCK, evt ) ;\r
-               else\r
-                       return FCKDragTableHandler._MouseDragHandler( FCK, evt ) ;\r
-       },\r
-       "_MouseFindHandler" : function( FCK, evt )\r
-       {\r
-               if ( FCK.MouseDownFlag )\r
-                       return ;\r
-               var node = evt.srcElement || evt.target ;\r
-               try\r
-               {\r
-                       if ( ! node || node.nodeType != 1 )\r
-                       {\r
-                               this._HideResizeBar() ;\r
-                               return ;\r
-                       }\r
-               }\r
-               catch ( e )\r
-               {\r
-                       this._HideResizeBar() ;\r
-                       return ;\r
-               }\r
-\r
-               // Since this function might be called from the editing area iframe or the outer fckeditor iframe,\r
-               // the mouse point coordinates from evt.clientX/Y can have different reference points.\r
-               // We need to resolve the mouse pointer position relative to the editing area iframe.\r
-               var mouseX = evt.clientX ;\r
-               var mouseY = evt.clientY ;\r
-               if ( FCKTools.GetElementDocument( node ) == document )\r
-               {\r
-                       var offset = this._GetIframeOffset() ;\r
-                       mouseX -= offset.x ;\r
-                       mouseY -= offset.y ;\r
-               }\r
-\r
-\r
-               if ( this._ResizeBar && this._LeftCell )\r
-               {\r
-                       var leftPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._LeftCell ) ;\r
-                       var rightPos = FCKTools.GetWindowPosition( FCK.EditorWindow, this._RightCell ) ;\r
-                       var rxDist = mouseX - ( leftPos.x + this._LeftCell.clientWidth ) ;\r
-                       var lxDist = mouseX - rightPos.x ;\r
-                       var inRangeFlag = false ;\r
-                       if ( lxDist >= 0 && rxDist <= 0 )\r
-                               inRangeFlag = true ;\r
-                       else if ( rxDist > 0 && lxDist <= 3 )\r
-                               inRangeFlag = true ;\r
-                       else if ( lxDist < 0 && rxDist >= -2 )\r
-                               inRangeFlag = true ;\r
-                       if ( inRangeFlag )\r
-                       {\r
-                               this._ShowResizeBar( FCK.EditorWindow,\r
-                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
-                                       { "x" : mouseX, "y" : mouseY } ) ;\r
-                               return ;\r
-                       }\r
-               }\r
-\r
-               var tagName = node.tagName.toLowerCase() ;\r
-               if ( tagName != "table" && tagName != "td" && tagName != "th" )\r
-               {\r
-                       if ( this._LeftCell )\r
-                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
-                       this._HideResizeBar() ;\r
-                       return ;\r
-               }\r
-               node = FCKTools.GetElementAscensor( node, "table" ) ;\r
-               var tableMap = FCKTableHandler._CreateTableMap( node ) ;\r
-               var cellTuple = this._GetBorderCells( FCK.EditorWindow, node, tableMap, { "x" : mouseX, "y" : mouseY } ) ;\r
-\r
-               if ( cellTuple == null )\r
-               {\r
-                       if ( this._LeftCell )\r
-                               this._LeftCell = this._RightCell = this._TableMap = null ;\r
-                       this._HideResizeBar() ;\r
-               }\r
-               else\r
-               {\r
-                       this._LeftCell = cellTuple["leftCell"] ;\r
-                       this._RightCell = cellTuple["rightCell"] ;\r
-                       this._TableMap = tableMap ;\r
-                       this._ShowResizeBar( FCK.EditorWindow,\r
-                                       FCKTools.GetElementAscensor( this._LeftCell, "table" ),\r
-                                       { "x" : mouseX, "y" : mouseY } ) ;\r
-               }\r
-       },\r
-       "_MouseDragHandler" : function( FCK, evt )\r
-       {\r
-               var mouse = { "x" : evt.clientX, "y" : evt.clientY } ;\r
-\r
-               // Convert mouse coordinates in reference to the outer iframe.\r
-               var node = evt.srcElement || evt.target ;\r
-               if ( FCKTools.GetElementDocument( node ) == FCK.EditorDocument )\r
-               {\r
-                       var offset = this._GetIframeOffset() ;\r
-                       mouse.x += offset.x ;\r
-                       mouse.y += offset.y ;\r
-               }\r
-\r
-               // Calculate the mouse position delta and see if we've gone out of range.\r
-               if ( mouse.x >= this._MaximumX - 5 )\r
-                       mouse.x = this._MaximumX - 5 ;\r
-               if ( mouse.x <= this._MinimumX + 5 )\r
-                       mouse.x = this._MinimumX + 5 ;\r
-\r
-               var docX = mouse.x + FCKTools.GetScrollPosition( window ).X ;\r
-               this._ResizeBar.style.left = ( docX - this._ResizeBar.offsetWidth / 2 ) + "px" ;\r
-               this._LastX = mouse.x ;\r
-       },\r
-       "_ShowResizeBar" : function( w, table, mouse )\r
-       {\r
-               if ( this._ResizeBar == null )\r
-               {\r
-                       this._ResizeBar = this._doc.createElement( "div" ) ;\r
-                       var paddingBar = this._ResizeBar ;\r
-                       var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ;\r
-                       if ( FCKBrowserInfo.IsIE )\r
-                               paddingStyles.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10,enabled=true)" ;\r
-                       else\r
-                               paddingStyles.opacity = 0.10 ;\r
-                       FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
-                       this._avoidStyles( paddingBar );\r
-                       paddingBar.setAttribute('_fcktemp', true);\r
-                       this._doc.body.appendChild( paddingBar ) ;\r
-                       FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ;\r
-                       FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ;\r
-                       FCKTools.AddEventListener( document, "mouseup", this._ResizeBarMouseUpListener ) ;\r
-                       FCKTools.AddEventListener( FCK.EditorDocument, "mouseup", this._ResizeBarMouseUpListener ) ;\r
-\r
-                       // IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside.\r
-                       // So we need to create a spacer image to fill the block up.\r
-                       var filler = this._doc.createElement( "img" ) ;\r
-                       filler.setAttribute('_fcktemp', true);\r
-                       filler.border = 0 ;\r
-                       filler.src = FCKConfig.BasePath + "images/spacer.gif" ;\r
-                       filler.style.position = "absolute" ;\r
-                       paddingBar.appendChild( filler ) ;\r
-\r
-                       // Disable drag and drop, and selection for the filler image.\r
-                       var disabledListener = function( evt )\r
-                       {\r
-                               if ( evt.preventDefault )\r
-                                       evt.preventDefault() ;\r
-                               else\r
-                                       evt.returnValue = false ;\r
-                       }\r
-                       FCKTools.AddEventListener( filler, "dragstart", disabledListener ) ;\r
-                       FCKTools.AddEventListener( filler, "selectstart", disabledListener ) ;\r
-               }\r
-\r
-               var paddingBar = this._ResizeBar ;\r
-               var offset = this._GetIframeOffset() ;\r
-               var tablePos = this._GetTablePosition( w, table ) ;\r
-               var barHeight = table.offsetHeight ;\r
-               var barTop = offset.y + tablePos.y ;\r
-               // Do not let the resize bar intrude into the toolbar area.\r
-               if ( tablePos.y < 0 )\r
-               {\r
-                       barHeight += tablePos.y ;\r
-                       barTop -= tablePos.y ;\r
-               }\r
-               var bw = parseInt( table.border, 10 ) ;\r
-               if ( isNaN( bw ) )\r
-                       bw = 0 ;\r
-               var cs = parseInt( table.cellSpacing, 10 ) ;\r
-               if ( isNaN( cs ) )\r
-                       cs = 0 ;\r
-               var barWidth = Math.max( bw+100, cs+100 ) ;\r
-               var paddingStyles =\r
-               {\r
-                       'top'           : barTop + 'px',\r
-                       'height'        : barHeight + 'px',\r
-                       'width'         : barWidth + 'px',\r
-                       'left'          : ( offset.x + mouse.x + FCKTools.GetScrollPosition( w ).X - barWidth / 2 ) + 'px'\r
-               } ;\r
-               if ( FCKBrowserInfo.IsIE )\r
-                       paddingBar.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 10 ;\r
-               else\r
-                       paddingStyles.opacity = 0.1 ;\r
-\r
-               FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ;\r
-               var filler = paddingBar.getElementsByTagName( "img" )[0] ;\r
-\r
-               FCKDomTools.SetElementStyles( filler,\r
-                       {\r
-                               width   : paddingBar.offsetWidth + 'px',\r
-                               height  : barHeight + 'px'\r
-                       } ) ;\r
-\r
-               barWidth = Math.max( bw, cs, 3 ) ;\r
-               var visibleBar = null ;\r
-               if ( paddingBar.getElementsByTagName( "div" ).length < 1 )\r
-               {\r
-                       visibleBar = this._doc.createElement( "div" ) ;\r
-                       this._avoidStyles( visibleBar );\r
-                       visibleBar.setAttribute('_fcktemp', true);\r
-                       paddingBar.appendChild( visibleBar ) ;\r
-               }\r
-               else\r
-                       visibleBar = paddingBar.getElementsByTagName( "div" )[0] ;\r
-\r
-               FCKDomTools.SetElementStyles( visibleBar,\r
-                       {\r
-                               position                : 'absolute',\r
-                               backgroundColor : 'blue',\r
-                               width                   : barWidth + 'px',\r
-                               height                  : barHeight + 'px',\r
-                               left                    : '50px',\r
-                               top                             : '0px'\r
-                       } ) ;\r
-       },\r
-       "_HideResizeBar" : function()\r
-       {\r
-               if ( this._ResizeBar )\r
-                       // IE bug: display : none does not hide the resize bar for some reason.\r
-                       // so set the position to somewhere invisible.\r
-                       FCKDomTools.SetElementStyles( this._ResizeBar,\r
-                               {\r
-                                       top             : '-100000px',\r
-                                       left    : '-100000px'\r
-                               } ) ;\r
-       },\r
-       "_GetIframeOffset" : function ()\r
-       {\r
-               return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;\r
-       },\r
-       "_GetTablePosition" : function ( w, table )\r
-       {\r
-               return FCKTools.GetWindowPosition( w, table ) ;\r
-       },\r
-       "_avoidStyles" : function( element )\r
-       {\r
-               FCKDomTools.SetElementStyles( element,\r
-                       {\r
-                               padding         : '0',\r
-                               backgroundImage : 'none',\r
-                               border          : '0'\r
-                       } ) ;\r
-       },\r
-       "Reset" : function()\r
-       {\r
-               FCKDragTableHandler._LeftCell = FCKDragTableHandler._RightCell = FCKDragTableHandler._TableMap = null ;\r
-       }\r
-\r
-};\r
-\r
-FCK.Events.AttachEvent( "OnMouseMove", FCKDragTableHandler.MouseMoveListener ) ;\r
-FCK.Events.AttachEvent( "OnAfterSetHTML", FCKDragTableHandler.Reset ) ;\r