docs: function placeDropdown(eventType) {
          // Check for simultaneous focus and click events.
          if (eventType === 'focus') {
            isFocused = true;
          }
  
          // Check html data attributes
          updateOptions();
  
          // Set Dropdown state
          activates.addClass('active');
          origin.addClass('active');
  
          // Constrain width
          if (curr_options.constrainWidth === true) {
            activates.css('width', origin.outerWidth());
  
          } else {
            activates.css('white-space', 'nowrap');
          }
  
          // Offscreen detection
          var windowHeight = window.innerHeight;
          var originHeight = origin.innerHeight();
          var offsetLeft = origin.offset().left;
          var offsetTop = origin.offset().top - $(window).scrollTop();
          var currAlignment = curr_options.alignment;
          var gutterSpacing = 0;
          var leftPosition = 0;
  
          // Below Origin
          var verticalOffset = 0;
          if (curr_options.belowOrigin === true) {
            verticalOffset = originHeight;
          }
  
          // Check for scrolling positioned container.
          var scrollYOffset = 0;
          var scrollXOffset = 0;
          var wrapper = origin.parent();
          if (!wrapper.is('body')) {
            if (wrapper[0].scrollHeight > wrapper[0].clientHeight) {
              scrollYOffset = wrapper[0].scrollTop;
            }
            if (wrapper[0].scrollWidth > wrapper[0].clientWidth) {
              scrollXOffset = wrapper[0].scrollLeft;
            }
          }
  
  
          if (offsetLeft + activates.innerWidth() > $(window).width()) {
            // Dropdown goes past screen on right, force right alignment
            currAlignment = 'right';
  
          } else if (offsetLeft - activates.innerWidth() + origin.innerWidth() < 0) {
            // Dropdown goes past screen on left, force left alignment
            currAlignment = 'left';
          }
          // Vertical bottom offscreen detection
          if (offsetTop + activates.innerHeight() > windowHeight) {
            // If going upwards still goes offscreen, just crop height of dropdown.
            if (offsetTop + originHeight - activates.innerHeight() < 0) {
              var adjustedHeight = windowHeight - offsetTop - verticalOffset;
              activates.css('max-height', adjustedHeight);
            } else {
              // Flow upwards.
              if (!verticalOffset) {
                verticalOffset += originHeight;
              }
              verticalOffset -= activates.innerHeight();
            }
          }
  
          // Handle edge alignment
          if (currAlignment === 'left') {
            gutterSpacing = curr_options.gutter;
            leftPosition = origin.position().left + gutterSpacing;
          }
          else if (currAlignment === 'right') {
            var offsetRight = origin.position().left + origin.outerWidth() - activates.outerWidth();
            gutterSpacing = -curr_options.gutter;
            leftPosition =  offsetRight + gutterSpacing;
          }
  
          // Position dropdown
          activates.css({
            position: 'absolute',
            top: origin.position().top + verticalOffset + scrollYOffset,
            left: leftPosition + scrollXOffset
          });
  
  
          // Show dropdown
          activates.stop(true, true).css('opacity', 0)
            .slideDown({
              queue: false,
              duration: curr_options.inDuration,
              easing: 'easeOutCubic',
              complete: function() {
                $(this).css('height', '');
              }
            })
            .animate( {opacity: 1}, {queue: false, duration: curr_options.inDuration, easing: 'easeOutSine'});
  
          // Add click close handler to document
          setTimeout(function() {
            $(document).bind('click.'+ activates.attr('id'), function (e) {
              hideDropdown();
              $(document).unbind('click.'+ activates.attr('id'));
            });
          }, 0);
        }