local mRedirect = require('Module:Redirect')
local getArgs = require('Module:Arguments').getArgs
local isIPOrRange = require('Module:IPAddress').isIpOrRange

local p = {}

-- function p.checkIfSPIMayNeedRename(frame)
--	 local args = getArgs(frame)
--	 return p._checkIfSPIMayNeedRename(args)
-- end

function p.checkIfSPIMayNeedRename(frame)
	local args = getArgs(frame)
	-- Fix capitlisation of the username
	args[1] = mw.ustring.upper(args[1]:sub(1, 1)) .. args[1]:sub(2)
	if (isIPOrRange(frame) ~= '') then
		return 'no'
	elseif (mw.title.new('User talk:' .. args[1]):getContent() == nil and mw.title.new('User:' .. args[1]):getContent() == nil) then
		return 'yes_no_user_content'
	else
		local redirectTarget = mRedirect.getTarget('User talk:' .. args[1])
		if (redirectTarget ~= nil) then
			if (mw.ustring.find(redirectTarget, '^User:' .. args[1]) or mw.ustring.find(redirectTarget, '^User talk:' .. args[1])) then
				return 'no'
			else
				return 'yes_redirected_elsewhere'
			end
		else
			return 'no'	
		end
	end
end

return p