function isScrolledPast(el, elSide, parentSide) {
    var parent = getParentAutoScrollElement(el, true),
      elSideVal = getRect(el)[elSide];

    /* jshint boss:true */
    while (parent) {
      var parentSideVal = getRect(parent)[parentSide],
        visible = void 0;
      if (parentSide === 'top' || parentSide === 'left') {
        visible = elSideVal >= parentSideVal;
      } else {
        visible = elSideVal <= parentSideVal;
      }
      if (!visible) return parent;
      if (parent === getWindowScrollingElement()) break;
      parent = getParentAutoScrollElement(parent, false);
    }
    return false;
  }
Checks if a side of an element is scrolled past a side of its parents
@param  {HTMLElement}  el           The element who's side being scrolled out of view is in question
@param  {String}       elSide       Side of the element in question ('top', 'left', 'right', 'bottom')
@param  {String}       parentSide   Side of the parent in question ('top', 'left', 'right', 'bottom')
@return {HTMLElement}               The parent scroll element that the el's side is scrolled past, or null if there is no such element