docs: function(e, ui) {
  					var dst    = $(this),
  						helper = ui.helper,
  						cl     = hover+' '+dropover,
  						hash, status;
  					e.stopPropagation();
  					helper.data('dropover', helper.data('dropover') + 1);
  					dst.data('dropover', true);
  					if (ui.helper.data('namespace') !== fm.namespace || ! insideNavbar(e.clientX) || ! fm.insideWorkzone(e.pageX, e.pageY)) {
  						dst.removeClass(cl);
  						helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus');
  						return;
  					}
  					dst.addClass(hover);
  					if (dst.is('.'+collapsed+':not(.'+expanded+')')) {
  						dst.data('expandTimer', setTimeout(function() {
  							dst.is('.'+collapsed+'.'+hover) && dst.children('.'+arrow).trigger('click');
  						}, 500));
  					}
  					if (dst.is('.elfinder-ro,.elfinder-na')) {
  						dst.removeClass(dropover);
  						helper.removeClass('elfinder-drag-helper-move elfinder-drag-helper-plus');
  						return;
  					}
  					hash = fm.navId2Hash(dst.attr('id'));
  					dst.data('dropover', hash);
  					$.each(ui.helper.data('files'), function(i, h) {
  						if (h === hash || (fm.file(h).phash === hash && !ui.helper.hasClass('elfinder-drag-helper-plus'))) {
  							dst.removeClass(cl);
  							return false; // break $.each
  						}
  					});
  					if (helper.data('locked')) {
  						status = 'elfinder-drag-helper-plus';
  					} else {
  						status = 'elfinder-drag-helper-move';
  						if (e.shiftKey || e.ctrlKey || e.metaKey) {
  							status += ' elfinder-drag-helper-plus';
  						}
  					}
  					dst.hasClass(dropover) && helper.addClass(status);
  					requestAnimationFrame(function(){ dst.hasClass(dropover) && helper.addClass(status); });
  				}