outline/userInput.js
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 }
      }
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 }
      }
/ /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