+ // If IE is in RTL, we have troubles with absolute\r
+ // position and horizontal scrolls. Here we have a\r
+ // series of hacks to workaround it. (#6146)\r
+ if ( CKEDITOR.env.ie )\r
+ {\r
+ var offsetParent = new CKEDITOR.dom.element( element.$.offsetParent ),\r
+ scrollParent = offsetParent;\r
+\r
+ // Quirks returns <body>, but standards returns <html>.\r
+ if ( scrollParent.getName() == 'html' )\r
+ scrollParent = scrollParent.getDocument().getBody();\r
+\r
+ if ( scrollParent.getComputedStyle( 'direction' ) == 'rtl' )\r
+ {\r
+ // For IE8, there is not much logic on this, but it works.\r
+ if ( CKEDITOR.env.ie8Compat )\r
+ left -= element.getDocument().getDocumentElement().$.scrollLeft * 2;\r
+ else\r
+ left -= ( offsetParent.$.scrollWidth - offsetParent.$.clientWidth );\r
+ }\r
+ }\r
+\r
+ // Trigger the onHide event of the previously active panel to prevent\r
+ // incorrect styles from being applied (#6170)\r
+ var innerElement = element.getFirst(),\r
+ activePanel;\r
+ if ( ( activePanel = innerElement.getCustomData( 'activePanel' ) ) )\r
+ activePanel.onHide && activePanel.onHide.call( this, 1 );\r
+ innerElement.setCustomData( 'activePanel', this );\r
+\r