code: function () {
  		this.resetPositioning();
  
  		var clientRect = this.getBoundingRect(this.node);
  		var innerWidth = this.getViewWidth();
  
  		//adjust horizontal positioning of the popup & nub vertical positioning
  		if (this.floating){
  			if ((this.activatorOffset.left + this.activatorOffset.width) < innerWidth/2) {
  				this.applyPosition({left: this.activatorOffset.left + this.activatorOffset.width});
  				this.addRemoveClass('left', true);
  			} else {
  				this.applyPosition({left: this.activatorOffset.left - clientRect.width});
  				this.addRemoveClass('right', true);
  			}
  		} else {
  			if (this.activatorOffset.left - clientRect.width > 0) {
  				this.applyPosition({left: this.activatorOffset.left - clientRect.left - clientRect.width});
  				this.addRemoveClass('right', true);
  			} else {
  				this.applyPosition({left: this.activatorOffset.width});
  				this.addRemoveClass('left', true);
  			}
  		}
  		this.addRemoveClass('horizontal', true);
  
  		//if moving the popup left or right of the activator puts it past the edge of the screen then horizontal won't work
  		clientRect = this.getBoundingRect(this.node);
  		if (clientRect.left < 0 || (clientRect.left + clientRect.width) > innerWidth){
  			return false;
  		}
  		return true;
  
  	}
docs: Moves the popup left or right of the activator and verifies that it fits onscreen.
  A return value of `true` is a precondition for using
  [applyHorizontalPositioning()]{@link module:onyx/ContextualPopup~ContextualPopup#applyHorizontalPositioning} and
  [applyHorizontalFlushPositioning()]{@link module:onyx/ContextualPopup~ContextualPopup#applyHorizontalFlushPositioning}.
  
  @return {Boolean} `true` if horizontal positioning can be used; otherwise, `false`.
  @private