code: function getOffset (el) {
          var _lf = 0
          var _tp = 0
          var oldlf = 0
          var oldtp = 0
          var newlf = 0
          var newtp = 0
  
              // repeatedly get ancestor's positions
              // TODO: STILL a small offset/bug
          while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
            newlf = el.offsetLeft
            newtp = el.offsetTop
  
                  // only change if the new parent's offset is different
            if (newlf !== oldlf) {
              _lf += el.offsetLeft - el.scrollLeft
            }
            if (newtp !== oldtp) {
              _tp += el.offsetTop - el.scrollTop
            }
  
            oldlf = newlf
            oldtp = newtp
  
            el = el.parentNode
          }
              // there is a constant offset
          return { top: _tp + 54, left: _lf - 38 }
        }
docs: / /For pubsPane This is for setting the location of the dropdown menu, because JournalTitleAutoComplete is called with a keypress, and not mouse actions Get Offset of an HTML element