| 263 | // If IE is in RTL, we have troubles with absolute |
| 264 | // position and horizontal scrolls. Here we have a |
| 265 | // series of hacks to workaround it. (#6146) |
| 266 | if ( CKEDITOR.env.ie ) |
| 267 | { |
| 268 | var offsetParent = new CKEDITOR.dom.element( element.$.offsetParent ), |
| 269 | scrollParent = offsetParent; |
| 270 | |
| 271 | // Quirks returns <body>, but standards returns <html>. |
| 272 | if ( scrollParent.getName() == 'html' ) |
| 273 | scrollParent = scrollParent.getDocument().getBody(); |
| 274 | |
| 275 | if ( scrollParent.getComputedStyle( 'direction' ) == 'rtl' ) |
| 276 | { |
| 277 | // For IE8, there is not much logic on this, but it works. |
| 278 | if ( CKEDITOR.env.ie8Compat ) |
| 279 | left -= element.getDocument().getDocumentElement().$.scrollLeft * 2; |
| 280 | else |
| 281 | left -= ( offsetParent.$.scrollWidth - offsetParent.$.clientWidth ); |
| 282 | } |
| 283 | } |
| 284 | |