docs: function (element, property) {
                  // In IE, element.currentStyle.width might be empty; element.offsetWidth is not;
                  // moreover, if maxWidth is present and lower than width, we would get the incorrect value.
                  // Same applies to height.
                  // Sadly, if borders or paddings were given in other units than pixels, IE returns unchanged values
                  // in contrary to W3C browsers which normalize that to pixels in getComputedStyle. However,
                  // `offsetWidth` is always unit-less, which means pixels.
  
                  var left = "Left", right = "Right", top = "Top", bottom = "Bottom";
                  if (property == "width") {
                      var padLeft = this.__getPadding(element, left);
                      var padRight = this.__getPadding(element, right);
                      var borderLeft = this.__getBorderWidth(element, left);
                      var borderRight = this.__getBorderWidth(element, right);
                      return (element.offsetWidth - padLeft - padRight - borderLeft - borderRight) + "px";
                  } else if (property == "height") {
                      var padTop = this.__getPadding(element, top);
                      var padBottom = this.__getPadding(element, bottom);
                      var borderTop = this.__getBorderWidth(element, top);
                      var borderBottom = this.__getBorderWidth(element, bottom);
                      return (element.offsetHeight - padTop - padBottom - borderTop - borderBottom) + "px";
                  }
              }