code: function() {
  
          //use cached value if we have it
          var contentDivPadding = this._contentDivPadding;
          if (!contentDivPadding) {
  
              if (this.div.parentNode == null) {
                  //make the div invisible and add it to the page        
                  this.div.style.display = "none";
                  document.body.appendChild(this.div);
              }
                      
              //read the padding settings from css, put them in an OL.Bounds        
              contentDivPadding = new OpenLayers.Bounds(
                  OpenLayers.Element.getStyle(this.contentDiv, "padding-left"),
                  OpenLayers.Element.getStyle(this.contentDiv, "padding-bottom"),
                  OpenLayers.Element.getStyle(this.contentDiv, "padding-right"),
                  OpenLayers.Element.getStyle(this.contentDiv, "padding-top")
              );
      
              //cache the value
              this._contentDivPadding = contentDivPadding;
  
              if (this.div.parentNode == document.body) {
                  //remove the div from the page and make it visible again
                  document.body.removeChild(this.div);
                  this.div.style.display = "";
              }
          }
          return contentDivPadding;
      }
docs: Method: getContentDivPadding
  Glorious, oh glorious hack in order to determine the css 'padding' of
  the contentDiv. IE/Opera return null here unless we actually add the
  popup's main 'div' element (which contains contentDiv) to the DOM.
  So we make it invisible and then add it to the document temporarily.
  
  Once we've taken the padding readings we need, we then remove it
  from the DOM (it will actually get added to the DOM in
  Map.js's addPopup)
  
  Returns:
  {<OpenLayers.Bounds>}