function $AdfInputSearchScrollManager$$($clientId$$487$$, $collection$$8$$, $container$$69$$, $dataBody$$154$$, $domFragmentGeneratorFunc$$2$$, $options$$50$$) {
  this.Init($clientId$$487$$, $collection$$8$$, $container$$69$$, $dataBody$$154$$, $domFragmentGeneratorFunc$$2$$, $options$$50$$);
}
$goog$exportSymbol$$("AdfInputSearchScrollManager", $AdfInputSearchScrollManager$$);
$AdfObject$$.$createSubclass$($AdfInputSearchScrollManager$$);
$AdfInputSearchScrollManager$$.$InitClass$ = function $$AdfInputSearchScrollManager$$$$InitClass$$() {
  this.$_SCROLLER_SUB_ID$ = "scroller";
  this.$_SCROLL_TOP_EXPANDO$ = "data-afr-scrollTop";
  this.$_SUGGESTIONS_SCROLLER_STYLE_CLASS$ = "af|inputSearch::suggestions-scroller";
  this.$_SUGGESTIONS_STATUS_MESSAGE_STYLE_CLASS$ = "af|inputSearch::suggestions-status-message";
  this.$_LABEL_FETCHING$ = "af_inputSearch.LABEL_FETCHING";
};
$goog$exportSymbol$$("AdfInputSearchScrollManager.InitClass", $AdfInputSearchScrollManager$$.$InitClass$);
$AdfInputSearchScrollManager$$.prototype.Init = function $$AdfInputSearchScrollManager$$$$Init$($clientId$$488$$, $collection$$9$$, $container$$70$$, $dataBody$$155$$, $domFragmentGeneratorFunc$$3$$, $options$$51$$) {
  $AdfInputSearchScrollManager$$.$superclass$.Init.call(this);
  this.$_clientId$ = $clientId$$488$$;
  this.$_collection$ = $collection$$9$$;
  this.$_container$ = $container$$70$$;
  this.$_dataBody$ = $dataBody$$155$$;
  this.$_domFragmentGeneratorFunc$ = $domFragmentGeneratorFunc$$3$$;
  this.$_options$ = $options$$51$$;
  this.$_headerHeight$ = $options$$51$$.$headerHeight$ ? $options$$51$$.$headerHeight$ : 0;
  this.$_idPrefix$ = $AdfRichUIPeer$$.$createSubId$($clientId$$488$$, $AdfDhtmlInputSearchPeer$$.$__SUGGEST_ITEM_SUB_ID$);
  this.$_setupScroller$();
};
$AdfObject$$.$exportPrototypeSymbol$("AdfInputSearchScrollManager.prototype.Init", {Init:$AdfInputSearchScrollManager$$.prototype.Init});
$AdfInputSearchScrollManager$$.prototype.release = function $$AdfInputSearchScrollManager$$$$release$() {
  if (this.$_scroller$) {
    this.$_container$.removeEventListener("scroll", this.$_arrowKeyNavigationHandle$);
    this.$_dataBody$.removeEventListener("wheel", this.$_mouseWheelHandle$);
    this.$_scroller$.removeEventListener("scroll", this.$_scrollHandle$);
    this.$_scrollHandle$ = this.$_mouseWheelHandle$ = this.$_arrowKeyNavigationHandle$ = null;
    var $paddingEnd$$2$$ = $AdfPage$$.$PAGE$.$getLocaleContext$().$isRightToLeft$() ? "padding-left" : "padding-right", $containerStyle$$3$$ = this.$_container$.style;
    $containerStyle$$3$$.removeProperty($paddingEnd$$2$$);
    $containerStyle$$3$$.removeProperty("overflow");
    this.$_swipeMgr$.release();
    this.$_swipeMgr$ = null;
  } else {
    this.$_infiniteScrollHandle$ && (this.$_container$.removeEventListener("scroll", this.$_infiniteScrollHandle$), this.$_infiniteScrollHandle$ = null);
  }
  this.$_container$.scrollTop = 0;
  this.$_container$.removeAttribute($AdfInputSearchScrollManager$$.$_SCROLL_TOP_EXPANDO$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfInputSearchScrollManager.prototype.release", {release:$AdfInputSearchScrollManager$$.prototype.release});
$AdfInputSearchScrollManager$$.prototype.$updateCollection$ = function $$AdfInputSearchScrollManager$$$$$updateCollection$$($collection$$10_scrollTop$$49$$) {
  this.$_collection$ = $collection$$10_scrollTop$$49$$;
  $collection$$10_scrollTop$$49$$ = this.$_scroller$ ? this.$_scroller$.scrollTop : this.$_container$.scrollTop;
  var $notionalTopDisplayedItemIndex$$4$$ = this.$_getNotionalDataIndexFromScrollTop$($collection$$10_scrollTop$$49$$);
  100 > this.$_getDataIndexFromElem$(this.$_getLastDisplayedItem$()) - $notionalTopDisplayedItemIndex$$4$$ && this.$_addMoreElements$($AdfDhtmlInputSearchPeer$$.$__SUGGESTIONS_RENDERING_CHUNK_SIZE$);
  this.$_infiniteScrollHandle$ || (this.$_isDefaultScroller$() && (this.release(), this.$_setupScroller$()), this.$_isDefaultScroller$() || this.$_restoreScrollPos$($notionalTopDisplayedItemIndex$$4$$, $collection$$10_scrollTop$$49$$));
};
$AdfObject$$.$exportPrototypeSymbol$("AdfInputSearchScrollManager.prototype.updateCollection", {$updateCollection$:$AdfInputSearchScrollManager$$.prototype.$updateCollection$});
$AdfInputSearchScrollManager$$.prototype.$isElementHidden$ = function $$AdfInputSearchScrollManager$$$$$isElementHidden$$($element$$375$$) {
  var $container$$71$$ = this.$_container$, $isBelowScrollableRegion$$1$$ = $container$$71$$.scrollTop + $container$$71$$.offsetTop + $container$$71$$.offsetHeight < $element$$375$$.offsetTop + $element$$375$$.offsetHeight;
  return $container$$71$$.scrollTop + $container$$71$$.offsetTop + this.$_headerHeight$ > $element$$375$$.offsetTop || $isBelowScrollableRegion$$1$$;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfInputSearchScrollManager.prototype.isElementHidden", {$isElementHidden$:$AdfInputSearchScrollManager$$.prototype.$isElementHidden$});
$AdfInputSearchScrollManager$$.prototype.scrollIntoView = function $$AdfInputSearchScrollManager$$$$scrollIntoView$($element$$376$$, $alignToTop$$1$$) {
  var $container$$72$$ = this.$_container$;
  $container$$72$$.scrollTop = $alignToTop$$1$$ ? $element$$376$$.offsetTop - $container$$72$$.offsetTop - this.$_headerHeight$ : $element$$376$$.offsetTop + $element$$376$$.offsetHeight - $container$$72$$.offsetTop - $container$$72$$.clientHeight;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfInputSearchScrollManager.prototype.scrollIntoView", {scrollIntoView:$AdfInputSearchScrollManager$$.prototype.scrollIntoView});
$JSCompiler_prototypeAlias$$ = $AdfInputSearchScrollManager$$.prototype;
$JSCompiler_prototypeAlias$$.$_addMoreElements$ = function $$JSCompiler_prototypeAlias$$$$_addMoreElements$$($size$$71$$, $atTop$$1$$) {
  $AdfAssert$$.$assertNumber$($size$$71$$);
  var $newElements$$1_newItemStartIndex$$1$$;
  if ($atTop$$1$$) {
    var $firstElemInDom$$1_lastElemInDom$$1$$ = this.$_getFirstDisplayedItem$(), $firstItemIndex$$1$$ = this.$_getDataIndexFromElem$($firstElemInDom$$1_lastElemInDom$$1$$);
    0 >= $firstItemIndex$$1$$ || ($newElements$$1_newItemStartIndex$$1$$ = $firstItemIndex$$1$$ - $size$$71$$, 0 > $newElements$$1_newItemStartIndex$$1$$ && ($newElements$$1_newItemStartIndex$$1$$ = 0, $size$$71$$ = $firstItemIndex$$1$$), $newElements$$1_newItemStartIndex$$1$$ = this.$_domFragmentGeneratorFunc$(this.$_collection$, this.$_options$, !1, $newElements$$1_newItemStartIndex$$1$$, $size$$71$$), this.$_dataBody$.insertBefore($newElements$$1_newItemStartIndex$$1$$, $firstElemInDom$$1_lastElemInDom$$1$$));
  } else {
    $firstElemInDom$$1_lastElemInDom$$1$$ = this.$_getLastDisplayedItem$(), $newElements$$1_newItemStartIndex$$1$$ = this.$_getDataIndexFromElem$($firstElemInDom$$1_lastElemInDom$$1$$) + 1, $newElements$$1_newItemStartIndex$$1$$ = this.$_domFragmentGeneratorFunc$(this.$_collection$, this.$_options$, !1, $newElements$$1_newItemStartIndex$$1$$, $size$$71$$), this.$_dataBody$.appendChild($newElements$$1_newItemStartIndex$$1$$);
  }
};
$JSCompiler_prototypeAlias$$.$_adjustScrollHeight$ = function $$JSCompiler_prototypeAlias$$$$_adjustScrollHeight$$($notionalTopDisplayedItemIndex$$5$$) {
  var $perItemHeight$$2$$ = this.$_getPerItemHeight$(), $totalHeight$$1$$ = this.$_getScrollerHeightInPx$($perItemHeight$$2$$);
  this.$_scroller$.firstChild.style.height = $totalHeight$$1$$;
  $AdfLogger$$.$LOGGER$.fine("Total height of the scroller adjusted to ", $totalHeight$$1$$);
  this.$_preventScrollerScrollEvent$ = $notionalTopDisplayedItemIndex$$5$$ * $perItemHeight$$2$$;
  this.$_preventScrollerScrollEvent$ = 0 > this.$_preventScrollerScrollEvent$ ? 0 : Math.round(this.$_preventScrollerScrollEvent$);
};
$JSCompiler_prototypeAlias$$.$_adjustScrollPos$ = function $$JSCompiler_prototypeAlias$$$$_adjustScrollPos$$($notionalTopDisplayedItemIndex$$6$$) {
  $AdfLogger$$.$LOGGER$.fine("Adjusting the scroll position to item index ", $notionalTopDisplayedItemIndex$$6$$);
  this.$_adjustScrollHeight$($notionalTopDisplayedItemIndex$$6$$);
  $AdfLogger$$.$LOGGER$.fine("Scroll top adjusted to ", this.$_preventScrollerScrollEvent$);
  this.$_scroller$.scrollTop = this.$_preventScrollerScrollEvent$;
};
$JSCompiler_prototypeAlias$$.$_restoreScrollPos$ = function $$JSCompiler_prototypeAlias$$$$_restoreScrollPos$$($notionalTopDisplayedItemIndex$$7$$, $scrollPos$$5$$) {
  this.$_adjustScrollHeight$($notionalTopDisplayedItemIndex$$7$$);
  this.$_scroller$.scrollTop = $scrollPos$$5$$;
};
$JSCompiler_prototypeAlias$$.$_arrowKeyNavigation$ = function $$JSCompiler_prototypeAlias$$$$_arrowKeyNavigation$$() {
  var $deltaScroll$$3_newScrollTop$$6$$ = this.$_container$.scrollTop, $oldScrollTop$$4$$ = this.$_container$.getAttribute($AdfInputSearchScrollManager$$.$_SCROLL_TOP_EXPANDO$), $oldScrollTop$$4$$ = $oldScrollTop$$4$$ ? $oldScrollTop$$4$$ : 0;
  this.$_container$.setAttribute($AdfInputSearchScrollManager$$.$_SCROLL_TOP_EXPANDO$, $deltaScroll$$3_newScrollTop$$6$$);
  var $topDisplayedElement$$2_topDisplayedElementIndex$$1$$;
  this.$_preventContainerScrollEvent$ && $deltaScroll$$3_newScrollTop$$6$$ == this.$_preventContainerScrollEvent$.$containerScrollTop$ && ($topDisplayedElement$$2_topDisplayedElementIndex$$1$$ = this.$_preventContainerScrollEvent$.$notionalTopDisplayedItemIndex$, this.$_preventContainerScrollEvent$ = null);
  if (null == $topDisplayedElement$$2_topDisplayedElementIndex$$1$$) {
    $topDisplayedElement$$2_topDisplayedElementIndex$$1$$ = this.$_dataBody$.querySelector("." + $AdfRichUIPeer$$.$SELECTED_STYLECLASS$);
    if (!$topDisplayedElement$$2_topDisplayedElementIndex$$1$$) {
      return;
    }
    $topDisplayedElement$$2_topDisplayedElementIndex$$1$$ = this.$_getDataIndexFromElem$($topDisplayedElement$$2_topDisplayedElementIndex$$1$$);
  }
  $AdfAssert$$.assert(null != $topDisplayedElement$$2_topDisplayedElementIndex$$1$$);
  $AdfLogger$$.$LOGGER$.fine("Scrolled into view of element with index ", $topDisplayedElement$$2_topDisplayedElementIndex$$1$$);
  $deltaScroll$$3_newScrollTop$$6$$ -= $oldScrollTop$$4$$;
  100 > (0 < $deltaScroll$$3_newScrollTop$$6$$ ? this.$_getDataIndexFromElem$(this.$_getLastDisplayedItem$()) - $topDisplayedElement$$2_topDisplayedElementIndex$$1$$ : $topDisplayedElement$$2_topDisplayedElementIndex$$1$$ - this.$_getDataIndexFromElem$(this.$_getFirstDisplayedItem$())) && this.$_addMoreElements$($AdfDhtmlInputSearchPeer$$.$__SUGGESTIONS_RENDERING_CHUNK_SIZE$, 0 > $deltaScroll$$3_newScrollTop$$6$$);
  this.$_adjustScrollPos$($topDisplayedElement$$2_topDisplayedElementIndex$$1$$);
};
$JSCompiler_prototypeAlias$$.$_delayedCallback$ = function $$JSCompiler_prototypeAlias$$$$_delayedCallback$$($callback$$124$$, $param$$8$$) {
  var $page$$225$$ = $AdfPage$$.$PAGE$;
  this.$_isScrolling$ ? $page$$225$$.$rescheduleTimer$(this.$_isScrolling$, 150) : this.$_isScrolling$ = $page$$225$$.$scheduleTimer$(this, $callback$$124$$, $param$$8$$, 150, {isSynchronized:!0});
};
$JSCompiler_prototypeAlias$$.$_getDataIndexFromElem$ = function $$JSCompiler_prototypeAlias$$$$_getDataIndexFromElem$$($element$$377$$) {
  $AdfAssert$$.$assertDomElement$($element$$377$$);
  return parseInt($element$$377$$.id.substring(this.$_idPrefix$.length));
};
$JSCompiler_prototypeAlias$$.$_isHeaderOrSuggestItem$ = function $$JSCompiler_prototypeAlias$$$$_isHeaderOrSuggestItem$$($elem$$60_id$$373$$) {
  return ($elem$$60_id$$373$$ = $elem$$60_id$$373$$.getAttribute("id")) && 0 === $elem$$60_id$$373$$.indexOf(this.$_idPrefix$);
};
$JSCompiler_prototypeAlias$$.$_getFirstDisplayedItem$ = function $$JSCompiler_prototypeAlias$$$$_getFirstDisplayedItem$$() {
  for (var $firstChild$$16$$ = this.$_dataBody$.firstElementChild;!this.$_isHeaderOrSuggestItem$($firstChild$$16$$);) {
    $firstChild$$16$$ = $firstChild$$16$$.nextElementSibling;
  }
  return $firstChild$$16$$;
};
$JSCompiler_prototypeAlias$$.$_getLastDisplayedItem$ = function $$JSCompiler_prototypeAlias$$$$_getLastDisplayedItem$$() {
  for (var $lastChild$$5$$ = this.$_dataBody$.lastElementChild;!this.$_isHeaderOrSuggestItem$($lastChild$$5$$);) {
    $lastChild$$5$$ = $lastChild$$5$$.previousElementSibling;
  }
  return $lastChild$$5$$;
};
$JSCompiler_prototypeAlias$$.$_getNotionalDataIndexFromScrollTop$ = function $$JSCompiler_prototypeAlias$$$$_getNotionalDataIndexFromScrollTop$$($scrollTop$$50$$) {
  var $dataIndex$$1$$ = Math.round($scrollTop$$50$$ / this.$_getPerItemHeight$());
  if ($dataIndex$$1$$ > this.$_collection$.$inclusiveHeaderLength$ || this.$_scroller$ && $scrollTop$$50$$ + this.$_scroller$.offsetHeight == this.$_scroller$.scrollHeight) {
    $dataIndex$$1$$ = this.$_collection$.$inclusiveHeaderLength$ - 1;
  }
  return $dataIndex$$1$$;
};
$JSCompiler_prototypeAlias$$.$_getNotionalElemCountFromScrollChange$ = function $$JSCompiler_prototypeAlias$$$$_getNotionalElemCountFromScrollChange$$($deltaScroll$$4$$) {
  return Math.round($deltaScroll$$4$$ / this.$_getPerItemHeight$());
};
$JSCompiler_prototypeAlias$$.$_getElementFromDataIndex$ = function $$JSCompiler_prototypeAlias$$$$_getElementFromDataIndex$$($index$$219$$) {
  0 > $index$$219$$ ? $index$$219$$ = 0 : $index$$219$$ > this.$_collection$.$inclusiveHeaderLength$ && ($index$$219$$ = this.$_collection$.$inclusiveHeaderLength$ - 1);
  return document.getElementById(this.$_idPrefix$ + $index$$219$$);
};
$JSCompiler_prototypeAlias$$.$_getPerItemHeight$ = function $$JSCompiler_prototypeAlias$$$$_getPerItemHeight$$() {
  var $childCount$$37$$ = this.$_dataBody$.children.length, $childCount$$37$$ = 0 === this.$_headerHeight$ ? $childCount$$37$$ : $childCount$$37$$ - 1;
  return (this.$_dataBody$.offsetHeight - this.$_headerHeight$) / $childCount$$37$$;
};
$JSCompiler_prototypeAlias$$.$_getScrollerHeightInPx$ = function $$JSCompiler_prototypeAlias$$$$_getScrollerHeightInPx$$($perItemHeight$$3$$) {
  $perItemHeight$$3$$ = $perItemHeight$$3$$ ? $perItemHeight$$3$$ : this.$_getPerItemHeight$();
  return $perItemHeight$$3$$ * this.$_collection$.$inclusiveHeaderLength$ + this.$_headerHeight$ + "px";
};
$JSCompiler_prototypeAlias$$.$_infiniteScroll$ = function $$JSCompiler_prototypeAlias$$$$_infiniteScroll$$() {
  this.$_delayedCallback$(this.$_infiniteScrollComplete$);
};
$JSCompiler_prototypeAlias$$.$_infiniteScrollComplete$ = function $$JSCompiler_prototypeAlias$$$$_infiniteScrollComplete$$() {
  this.$_isScrolling$ = null;
  var $deltaScroll$$5_oldScrollTop$$5$$ = this.$_container$.getAttribute($AdfInputSearchScrollManager$$.$_SCROLL_TOP_EXPANDO$), $deltaScroll$$5_oldScrollTop$$5$$ = $deltaScroll$$5_oldScrollTop$$5$$ ? $deltaScroll$$5_oldScrollTop$$5$$ : 0, $newScrollTop$$7$$ = this.$_container$.scrollTop;
  this.$_container$.setAttribute($AdfInputSearchScrollManager$$.$_SCROLL_TOP_EXPANDO$, $newScrollTop$$7$$);
  $deltaScroll$$5_oldScrollTop$$5$$ = $newScrollTop$$7$$ - $deltaScroll$$5_oldScrollTop$$5$$;
  0 < $deltaScroll$$5_oldScrollTop$$5$$ && this.$_addMoreElements$(this.$_getNotionalElemCountFromScrollChange$($deltaScroll$$5_oldScrollTop$$5$$));
};
$JSCompiler_prototypeAlias$$.$_longJump$ = function $$JSCompiler_prototypeAlias$$$$_longJump$$() {
  this.$_isScrolling$ = null;
  this.$_scrollMessage$.style.display = "none";
  if (0 != this.$_dataBody$.offsetHeight) {
    var $element$$378_itemsFragment$$1_scrollTop$$51$$ = this.$_scroller$.scrollTop, $newNotionalItemIndex$$2$$ = this.$_getNotionalDataIndexFromScrollTop$($element$$378_itemsFragment$$1_scrollTop$$51$$);
    $AdfLogger$$.$LOGGER$.fine("Long Jump, the item index is ", $newNotionalItemIndex$$2$$, ", derived from the scroll top ", $element$$378_itemsFragment$$1_scrollTop$$51$$);
    var $element$$378_itemsFragment$$1_scrollTop$$51$$ = this.$_domFragmentGeneratorFunc$(this.$_collection$, this.$_options$, !0, $newNotionalItemIndex$$2$$ - $AdfDhtmlInputSearchPeer$$.$__SUGGESTIONS_RENDERING_CHUNK_SIZE$ / 2), $newDataBody$$1$$ = this.$_dataBody$.cloneNode(!1);
    $newDataBody$$1$$.appendChild($element$$378_itemsFragment$$1_scrollTop$$51$$);
    this.$_container$.replaceChild($newDataBody$$1$$, this.$_dataBody$);
    this.$_dataBody$.removeEventListener("wheel", this.$_mouseWheelHandle$);
    this.$_dataBody$ = $newDataBody$$1$$;
    this.$_dataBody$.addEventListener("wheel", this.$_mouseWheelHandle$);
    if ($element$$378_itemsFragment$$1_scrollTop$$51$$ = this.$_getElementFromDataIndex$($newNotionalItemIndex$$2$$)) {
      this.$_preventContainerScrollEvent$ = {}, this.$_preventContainerScrollEvent$.$notionalTopDisplayedItemIndex$ = $newNotionalItemIndex$$2$$, this.scrollIntoView($element$$378_itemsFragment$$1_scrollTop$$51$$, !0), this.$_preventContainerScrollEvent$.$containerScrollTop$ = this.$_container$.scrollTop;
    }
  }
};
$JSCompiler_prototypeAlias$$.$_mouseWheel$ = function $$JSCompiler_prototypeAlias$$$$_mouseWheel$$($event$$315$$) {
  $AdfAgent$$.$AGENT$.$eatEvent$($event$$315$$);
  $AdfLogger$$.$LOGGER$.fine("Mouse wheel triggered with deltaY ", $event$$315$$.deltaY);
  this.$_scroller$.scrollTop += $event$$315$$.deltaY;
};
$JSCompiler_prototypeAlias$$.$_panning$ = function $$JSCompiler_prototypeAlias$$$$_panning$$($event$$316$$) {
  this.$_scroller$.scrollTop += -1 * $event$$316$$.deltaY;
};
$JSCompiler_prototypeAlias$$.$_swipe$ = function $$JSCompiler_prototypeAlias$$$$_swipe$$($event$$317$$) {
  function $velocityScroll$$1$$() {
    0 < $count$$39$$-- && $self$$73$$.$_scroller$ && ($self$$73$$.$_scroller$.scrollTop += $chunkedDelta$$1$$, requestAnimationFrame($velocityScroll$$1$$));
  }
  var $count$$39$$ = 20, $chunkedDelta$$1$$ = -1 * $event$$317$$.deltaY * $event$$317$$.$velocity$ / $count$$39$$, $self$$73$$ = this;
  requestAnimationFrame($velocityScroll$$1$$);
};
$JSCompiler_prototypeAlias$$.$_scroll$ = function $$JSCompiler_prototypeAlias$$$$_scroll$$() {
  var $newScrollTop$$8$$ = this.$_scroller$.scrollTop;
  if ($newScrollTop$$8$$ != this.$_preventScrollerScrollEvent$) {
    var $newNotionalItemIndex$$3$$ = this.$_getNotionalDataIndexFromScrollTop$($newScrollTop$$8$$), $topDisplayedElement$$3$$ = this.$_getElementFromDataIndex$($newNotionalItemIndex$$3$$);
    $topDisplayedElement$$3$$ ? ($AdfLogger$$.$LOGGER$.fine("Small scroll, the item index is ", $newNotionalItemIndex$$3$$, ", derived from the scroll top ", $newScrollTop$$8$$, ". The corresponding element is ", $topDisplayedElement$$3$$.id), this.$_preventContainerScrollEvent$ = {}, this.$_preventContainerScrollEvent$.$notionalTopDisplayedItemIndex$ = $newNotionalItemIndex$$3$$, this.scrollIntoView($topDisplayedElement$$3$$, !0), this.$_preventContainerScrollEvent$.$containerScrollTop$ = this.$_container$.scrollTop) : 
    (this.$_scrollMessage$.style.display = "block", this.$_delayedCallback$(this.$_longJump$));
  }
};
$JSCompiler_prototypeAlias$$.$_isDefaultScroller$ = function $$JSCompiler_prototypeAlias$$$$_isDefaultScroller$$() {
  return null == this.$_scroller$;
};
$JSCompiler_prototypeAlias$$.$_setupScroller$ = function $$JSCompiler_prototypeAlias$$$$_setupScroller$$() {
  if ($AdfAgent$$.$AGENT$.$isTouchFirstDevice$()) {
    this.$_infiniteScrollHandle$ = this.$createCallback$(this.$_infiniteScroll$), this.$_container$.addEventListener("scroll", this.$_infiniteScrollHandle$);
  } else {
    if (this.$_container$.clientHeight < this.$_dataBody$.offsetHeight && this.$_collection$.length > $AdfDhtmlInputSearchPeer$$.$__SUGGESTIONS_RENDERING_CHUNK_SIZE$) {
      this.$_container$.scrollTop = 0;
      var $callbacks$$7_paddingEnd$$3_page$$226$$ = $AdfPage$$.$PAGE$, $containerStyle$$4_laf$$148_options$$52$$ = $callbacks$$7_paddingEnd$$3_page$$226$$.$getLookAndFeel$();
      this.$_scroller$ = document.createElement("div");
      this.$_scroller$.setAttribute("id", $AdfRichUIPeer$$.$createSubId$(this.$_clientId$, $AdfInputSearchScrollManager$$.$_SCROLLER_SUB_ID$));
      $AdfDomUtils$$.$addCSSClassName$(this.$_scroller$, $containerStyle$$4_laf$$148_options$$52$$.getStyleClass($AdfInputSearchScrollManager$$.$_SUGGESTIONS_SCROLLER_STYLE_CLASS$));
      var $fakeContent$$1$$ = document.createElement("div");
      $AdfDomUtils$$.$addInlineStyle$($fakeContent$$1$$, "visibility: hidden");
      $fakeContent$$1$$.style.height = this.$_getScrollerHeightInPx$();
      this.$_scrollMessage$ = document.createElement("div");
      $AdfDomUtils$$.$addCSSClassName$(this.$_scrollMessage$, $containerStyle$$4_laf$$148_options$$52$$.getStyleClass($AdfInputSearchScrollManager$$.$_SUGGESTIONS_STATUS_MESSAGE_STYLE_CLASS$));
      this.$_scrollMessage$.textContent = $containerStyle$$4_laf$$148_options$$52$$.$getTranslatedString$($AdfInputSearchScrollManager$$.$_LABEL_FETCHING$);
      this.$_scroller$.appendChild($fakeContent$$1$$);
      this.$_container$.appendChild(this.$_scroller$);
      this.$_container$.appendChild(this.$_scrollMessage$);
      $callbacks$$7_paddingEnd$$3_page$$226$$ = $callbacks$$7_paddingEnd$$3_page$$226$$.$getLocaleContext$().$isRightToLeft$() ? "padding-left" : "padding-right";
      $containerStyle$$4_laf$$148_options$$52$$ = this.$_container$.style;
      $containerStyle$$4_laf$$148_options$$52$$.setProperty($callbacks$$7_paddingEnd$$3_page$$226$$, this.$_scroller$.offsetWidth - this.$_scroller$.clientWidth + "px");
      $containerStyle$$4_laf$$148_options$$52$$.setProperty("overflow", "hidden");
      this.$_arrowKeyNavigationHandle$ = this.$createCallback$(this.$_arrowKeyNavigation$);
      this.$_mouseWheelHandle$ = this.$createCallback$(this.$_mouseWheel$);
      this.$_scrollHandle$ = this.$createCallback$(this.$_scroll$);
      this.$_container$.addEventListener("scroll", this.$_arrowKeyNavigationHandle$);
      this.$_dataBody$.addEventListener("wheel", this.$_mouseWheelHandle$);
      this.$_scroller$.addEventListener("scroll", this.$_scrollHandle$);
      $callbacks$$7_paddingEnd$$3_page$$226$$ = {};
      $callbacks$$7_paddingEnd$$3_page$$226$$[$AdfSwipeSupport$$.$PANNING_CALLBACK$] = this.$createCallback$(this.$_panning$);
      $callbacks$$7_paddingEnd$$3_page$$226$$[$AdfSwipeSupport$$.$SWIPE_CALLBACK$] = this.$createCallback$(this.$_swipe$);
      $containerStyle$$4_laf$$148_options$$52$$ = {};
      $containerStyle$$4_laf$$148_options$$52$$[$AdfSwipeSupport$$.MODE] = $AdfSwipeSupport$$.$MODE_VERTICAL$;
      this.$_swipeMgr$ = new $AdfSwipeSupport$$(this.$_container$, $callbacks$$7_paddingEnd$$3_page$$226$$, $containerStyle$$4_laf$$148_options$$52$$);
    }
  }
};
