- 'height' : panelElement.$.offsetHeight,\r
- 'width' : panelElement.$.offsetWidth\r
- };\r
+ // Flip to show on right.\r
+ if ( spaceBefore > rectWidth )\r
+ left += rectWidth;\r
+ // Align to window left.\r
+ else if ( viewportSize.width > rectWidth )\r
+ left = left - rect.left;\r
+ // Align to window right, never cutting the panel at right.\r
+ else\r
+ left = left - rect.right + viewportSize.width;\r
+ }\r
+ }\r
+ else if ( spaceAfter < rectWidth )\r
+ {\r
+ // Flip to show on left.\r
+ if ( spaceBefore > rectWidth )\r
+ left -= rectWidth;\r
+ // Align to window right.\r
+ else if ( viewportSize.width > rectWidth )\r
+ left = left - rect.right + viewportSize.width;\r
+ // Align to window left, never cutting the panel at left.\r
+ else\r
+ left = left - rect.left;\r
+ }\r
+\r