Module:Tcartprice

Documentation for this module may be created at Module:Tcartprice/doc

local p = {}

function p.tprice(frame)
	local price = frame.args["price"]
	local separator = frame.args["separator"]
	local gold = frame.args["gold"]
	local space = string.lower(frame.args["spacearoundseparator"])
	local ulang = string.upper(mw.language.getContentLanguage():getCode())

	local formattedprice = "[[File:Gold.png|18px|link=]]"

	if (string.lower(price) == "furniture") then
		formattedprice = formattedprice .. "250"
		
		if space == "true" then formattedprice = formattedprice .. " " .. separator .. " "
		else formattedprice = formattedprice .. separator
		end

		if (ulang ~= "ES") then
			formattedprice = formattedprice .. tostring(mw.language.getContentLanguage():formatNum(2500))
		else
			formattedprice = formattedprice .. "2.500"
		end
	else
		local lowprice = tonumber(price) * 3
		local highprice = tonumber(price) * 5
		local fmlowprice = tostring(mw.language.getContentLanguage():formatNum(lowprice))
		local fmhighprice = tostring(mw.language.getContentLanguage():formatNum(highprice))
		
		if (lowprice <= 100) then
			formattedprice = formattedprice .. "100"		
		elseif (ulang ~= "ES") then 	
			formattedprice = formattedprice .. fmlowprice
		else
			--Spanish
			if (lowprice < 1000) then
				formattedprice = formattedprice .. fmlowprice			
			elseif (lowprice < 10000) then
				local length = #(fmlowprice)
				local temp = string.sub(fmlowprice, -3)
				formattedprice = formattedprice .. string.sub(fmlowprice, 1, (length-3)) .. "." .. temp
			else				
				local temp = {mw.ustring.gsub(tostring(fmlowprice), "%s" , ".")}
				formattedprice = formattedprice .. temp[1]
			end
		end
			
		if space == "true" then formattedprice = formattedprice .. " " .. separator .. " "
		else formattedprice = formattedprice .. separator
		end
		
		if (highprice <= 1000) then
			if (ulang ~= "ES") then 
				formattedprice = formattedprice .. tostring(mw.language.getContentLanguage():formatNum(1000))
			else formattedprice = formattedprice .. "1.000"
			end		
		elseif (ulang ~= "ES") then 	
			formattedprice = formattedprice .. fmhighprice
		else
			--Spanish and highprice > 1000			
			if (highprice < 10000) then
				local length = #(fmhighprice)
				local temp = string.sub(fmhighprice, -3)
				formattedprice = formattedprice .. string.sub(fmhighprice, 1, (length-3)) .. "." .. temp
			else				
				local temp = {mw.ustring.gsub(tostring(fmhighprice), "%s" , ".")}
				formattedprice = formattedprice .. temp[1]
			end
		end
	end
	
	return formattedprice .. gold
end

return p