code: function PanelCollection(postfix) {
          this.buttonBar = doc.getElementById("wmd-button-bar" + postfix);
          this.preview = doc.getElementById("wmd-preview" + postfix);
          this.input = doc.getElementById("wmd-input" + postfix);
      }
docs: A collection of the important regions on the page. Cached so we don't have to keep traversing the DOM. Also holds ieCachedRange and ieCachedScrollTop, where necessary; working around this issue: Internet explorer has problems with CSS sprite buttons that use HTML lists.  When you click on the background image "button", IE will select the non-existent link text and discard the selection in the textarea.  The solution to this is to cache the textarea selection on the button's mousedown event and set a flag.  In the part of the code where we need to grab the selection, we check for the flag and, if it's set, use the cached area instead of querying the textarea.  This ONLY affects Internet Explorer (tested on versions 6, 7 and 8) and ONLY on button clicks.  Keyboard shortcuts work normally since the focus never leaves the textarea.