function $AdfGecko18Agent$$($version$$19$$, $domWindow$$16$$) {
  this.Init($version$$19$$, $domWindow$$16$$)
}
$goog$exportSymbol$$("AdfGecko18Agent", $AdfGecko18Agent$$);
$AdfObject$$.$createSubclass$($AdfGecko18Agent$$, $AdfGecko19Agent$$);
$AdfGecko18Agent$$.prototype.Init = function $$AdfGecko18Agent$$$$Init$($version$$20$$, $domWindow$$17$$) {
  $AdfGecko18Agent$$.$superclass$.Init.call(this, $version$$20$$, $domWindow$$17$$)
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.Init", {Init:$AdfGecko18Agent$$.prototype.Init});
$AdfGecko18Agent$$.prototype.$getElementLeft$ = function $$AdfGecko18Agent$$$$$getElementLeft$$($boundingRect$$4_elemLeft$$2_element$$62$$) {
  $AdfAssert$$.$assertDomElement$($boundingRect$$4_elemLeft$$2_element$$62$$);
  var $ownerDocument$$6$$ = $boundingRect$$4_elemLeft$$2_element$$62$$.ownerDocument;
  if($ownerDocument$$6$$.getBoxObjectFor === $JSCompiler_alias_VOID$$) {
    return $boundingRect$$4_elemLeft$$2_element$$62$$ = $boundingRect$$4_elemLeft$$2_element$$62$$.getBoundingClientRect(), $boundingRect$$4_elemLeft$$2_element$$62$$ = Math.round($boundingRect$$4_elemLeft$$2_element$$62$$.left), $boundingRect$$4_elemLeft$$2_element$$62$$ += $ownerDocument$$6$$.documentElement.scrollLeft
  }
  var $boxObject$$ = $ownerDocument$$6$$.getBoxObjectFor($boundingRect$$4_elemLeft$$2_element$$62$$);
  $boundingRect$$4_elemLeft$$2_element$$62$$ = $boxObject$$.screenX;
  $boxObject$$ = $ownerDocument$$6$$.getBoxObjectFor($ownerDocument$$6$$.documentElement);
  return $boundingRect$$4_elemLeft$$2_element$$62$$ -= $boxObject$$.screenX
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.getElementLeft", {$getElementLeft$:$AdfGecko18Agent$$.prototype.$getElementLeft$});
$AdfGecko18Agent$$.prototype.$getElementTop$ = function $$AdfGecko18Agent$$$$$getElementTop$$($boundingRect$$5_elemTop$$2_element$$63$$) {
  $AdfAssert$$.$assertDomNode$($boundingRect$$5_elemTop$$2_element$$63$$);
  var $ownerDocument$$7$$ = $boundingRect$$5_elemTop$$2_element$$63$$.ownerDocument;
  if($ownerDocument$$7$$.getBoxObjectFor === $JSCompiler_alias_VOID$$) {
    return $boundingRect$$5_elemTop$$2_element$$63$$ = $boundingRect$$5_elemTop$$2_element$$63$$.getBoundingClientRect(), $boundingRect$$5_elemTop$$2_element$$63$$ = Math.round($boundingRect$$5_elemTop$$2_element$$63$$.top), $boundingRect$$5_elemTop$$2_element$$63$$ += $ownerDocument$$7$$.documentElement.scrollTop
  }
  var $boxObject$$1$$ = $ownerDocument$$7$$.getBoxObjectFor($boundingRect$$5_elemTop$$2_element$$63$$);
  $boundingRect$$5_elemTop$$2_element$$63$$ = $boxObject$$1$$.screenY;
  $boxObject$$1$$ = $ownerDocument$$7$$.getBoxObjectFor($ownerDocument$$7$$.documentElement);
  return $boundingRect$$5_elemTop$$2_element$$63$$ -= $boxObject$$1$$.screenY
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.getElementTop", {$getElementTop$:$AdfGecko18Agent$$.prototype.$getElementTop$});
$AdfGecko18Agent$$.prototype.$getElementPosition$ = function $$AdfGecko18Agent$$$$$getElementPosition$$($elemTop$$3_element$$64$$) {
  $AdfAssert$$.$assertDomElement$($elemTop$$3_element$$64$$);
  var $docElement$$8_ownerDocument$$8$$ = $elemTop$$3_element$$64$$.ownerDocument;
  if($docElement$$8_ownerDocument$$8$$.getBoxObjectFor === $JSCompiler_alias_VOID$$) {
    var $boundingRect$$6_elemLeft$$3$$ = $elemTop$$3_element$$64$$.getBoundingClientRect();
    $elemTop$$3_element$$64$$ = Math.round($boundingRect$$6_elemLeft$$3$$.top);
    $boundingRect$$6_elemLeft$$3$$ = Math.round($boundingRect$$6_elemLeft$$3$$.left);
    $docElement$$8_ownerDocument$$8$$ = $docElement$$8_ownerDocument$$8$$.documentElement;
    $boundingRect$$6_elemLeft$$3$$ += $docElement$$8_ownerDocument$$8$$.scrollLeft;
    $elemTop$$3_element$$64$$ += $docElement$$8_ownerDocument$$8$$.scrollTop;
    return{x:$boundingRect$$6_elemLeft$$3$$, y:$elemTop$$3_element$$64$$}
  }
  var $boxObject$$2$$ = $docElement$$8_ownerDocument$$8$$.getBoxObjectFor($elemTop$$3_element$$64$$);
  $elemTop$$3_element$$64$$ = $boxObject$$2$$.screenY;
  $boundingRect$$6_elemLeft$$3$$ = $boxObject$$2$$.screenX;
  $boxObject$$2$$ = $docElement$$8_ownerDocument$$8$$.getBoxObjectFor($docElement$$8_ownerDocument$$8$$.documentElement);
  $elemTop$$3_element$$64$$ -= $boxObject$$2$$.screenY;
  $boundingRect$$6_elemLeft$$3$$ -= $boxObject$$2$$.screenX;
  return{x:$boundingRect$$6_elemLeft$$3$$, y:$elemTop$$3_element$$64$$}
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.getElementPosition", {$getElementPosition$:$AdfGecko18Agent$$.prototype.$getElementPosition$});
$AdfGecko18Agent$$.prototype.$pointInElementBounds$ = function $$AdfGecko18Agent$$$$$pointInElementBounds$$($boxHeight_element$$65$$, $pageX$$14$$, $pageY$$14$$) {
  $AdfAssert$$.$assertDomNode$($boxHeight_element$$65$$);
  for(var $boxObject$$3_totalScrollTop$$ = 0, $boxWidth_ownerDocument$$9_totalScrollLeft$$ = 0, $currElement$$ = $boxHeight_element$$65$$;$currElement$$ != $JSCompiler_alias_NULL$$;) {
    $boxObject$$3_totalScrollTop$$ += $currElement$$.scrollTop, $boxWidth_ownerDocument$$9_totalScrollLeft$$ += $currElement$$.scrollLeft, $currElement$$ = $currElement$$.offsetParent
  }
  $pageY$$14$$ += $boxObject$$3_totalScrollTop$$;
  $pageX$$14$$ += $boxWidth_ownerDocument$$9_totalScrollLeft$$;
  $boxWidth_ownerDocument$$9_totalScrollLeft$$ = $boxHeight_element$$65$$.ownerDocument;
  $boxObject$$3_totalScrollTop$$ = $AdfGeckoAgent$$.$_getBoxObjectFor$($boxHeight_element$$65$$);
  return $pageY$$14$$ >= $boxObject$$3_totalScrollTop$$.y && $pageX$$14$$ >= $boxObject$$3_totalScrollTop$$.x ? ($boxHeight_element$$65$$ == $boxWidth_ownerDocument$$9_totalScrollLeft$$.documentElement ? ($boxWidth_ownerDocument$$9_totalScrollLeft$$ = $boxHeight_element$$65$$.clientWidth, $boxHeight_element$$65$$ = $boxHeight_element$$65$$.clientHeight) : ($boxWidth_ownerDocument$$9_totalScrollLeft$$ = $boxObject$$3_totalScrollTop$$.width, $boxHeight_element$$65$$ = $boxObject$$3_totalScrollTop$$.height), 
  $pageY$$14$$ <= $boxObject$$3_totalScrollTop$$.y + $boxHeight_element$$65$$ && $pageX$$14$$ <= $boxObject$$3_totalScrollTop$$.x + $boxWidth_ownerDocument$$9_totalScrollLeft$$) : $JSCompiler_alias_FALSE$$
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.pointInElementBounds", {$pointInElementBounds$:$AdfGecko18Agent$$.prototype.$pointInElementBounds$});
$AdfGecko18Agent$$.prototype.$getElementPageBounds$ = function $$AdfGecko18Agent$$$$$getElementPageBounds$$($boxHeight$$1_element$$66$$) {
  $AdfAssert$$.$assertDomNode$($boxHeight$$1_element$$66$$);
  for(var $boxWidth$$1_ownerDocument$$10$$ = $boxHeight$$1_element$$66$$.ownerDocument, $boxObject$$4$$ = $AdfGeckoAgent$$.$_getBoxObjectFor$($boxHeight$$1_element$$66$$), $boxTop_totalScrollTop$$1$$ = 0, $boxLeft_totalScrollLeft$$1$$ = 0, $currElement$$1$$ = $boxHeight$$1_element$$66$$;$currElement$$1$$ != $JSCompiler_alias_NULL$$;) {
    $boxTop_totalScrollTop$$1$$ += $currElement$$1$$.scrollTop, $boxLeft_totalScrollLeft$$1$$ += $currElement$$1$$.scrollLeft, $currElement$$1$$ = $currElement$$1$$.offsetParent
  }
  $boxTop_totalScrollTop$$1$$ = $boxObject$$4$$.y - $boxTop_totalScrollTop$$1$$;
  $boxLeft_totalScrollLeft$$1$$ = $boxObject$$4$$.x - $boxLeft_totalScrollLeft$$1$$;
  $boxHeight$$1_element$$66$$ == $boxWidth$$1_ownerDocument$$10$$.documentElement ? ($boxWidth$$1_ownerDocument$$10$$ = $boxHeight$$1_element$$66$$.clientWidth, $boxHeight$$1_element$$66$$ = $boxHeight$$1_element$$66$$.clientHeight) : ($boxWidth$$1_ownerDocument$$10$$ = $boxObject$$4$$.width, $boxHeight$$1_element$$66$$ = $boxObject$$4$$.height);
  return{top:$boxTop_totalScrollTop$$1$$, left:$boxLeft_totalScrollLeft$$1$$, bottom:$boxTop_totalScrollTop$$1$$ + $boxHeight$$1_element$$66$$, right:$boxLeft_totalScrollLeft$$1$$ + $boxWidth$$1_ownerDocument$$10$$}
};
$AdfObject$$.$exportPrototypeSymbol$("AdfGecko18Agent.prototype.getElementPageBounds", {$getElementPageBounds$:$AdfGecko18Agent$$.prototype.$getElementPageBounds$});
