public static function canAutoApprovalDocumentWhenEdit($documentId, $newMainCategoryId)
	{
		$documentObject = JUDownloadHelper::getDocumentById($documentId);

		if ($documentObject->approved == 1)
		{
			$originalDocumentId     = $documentObject->id;
			$originalDocumentObject = $documentObject;
			$mainCategoryId         = JUDownloadFrontHelperCategory::getMainCategoryId($originalDocumentObject->id);
			$params                 = JUDownloadHelper::getParams($newMainCategoryId);
		}
		elseif ($documentObject->approved < 0)
		{
			$tempDocumentObject     = $documentObject;
			$originalDocumentId     = abs($documentObject->approved);
			$originalDocumentObject = JUDownloadHelper::getDocumentById($originalDocumentId);
			$mainCategoryId         = JUDownloadFrontHelperCategory::getMainCategoryId($originalDocumentObject->id);
			$params                 = JUDownloadHelper::getParams($newMainCategoryId);
		}
		else
		{
			return false;
		}

		
		$isDocumentOwner              = JUDownloadFrontHelperPermission::isDocumentOwner($originalDocumentObject->id);
		$autoApprovalForDocumentOwner = $params->get('document_owner_can_edit_document_auto_approval', 1);
		if ($isDocumentOwner && $autoApprovalForDocumentOwner)
		{
			return true;
		}

		$user = JFactory::getUser();

		
		if ($mainCategoryId == $newMainCategoryId)
		{
			if ($user->authorise('judl.document.edit.auto_approval', 'com_judownload.category.' . $mainCategoryId))
			{
				return true;
			}
		}
		else
		{
			if ($user->authorise('judl.document.create.auto_approval', 'com_judownload.category.' . $newMainCategoryId))
			{
				return true;
			}
		}

		
		
		if (!$user->get('guest'))
		{
			$autoApprovalDocumentThreshold = (int) $params->get('auto_approval_document_threshold', 0);
			if ($autoApprovalDocumentThreshold > 0)
			{
				$totalApprovedDocumentsOfUser = JUDownloadFrontHelperDocument::getTotalDocumentsOfUserApprovedByMod($user->id);
				if ($totalApprovedDocumentsOfUser >= $autoApprovalDocumentThreshold)
				{
					return true;
				}
			}
		}

		return false;
	}