local export = {}
	
local sin = math.sin
local cos = math.cos

-- image: name of image.
-- x: function that takes lat,long (degrees °N, °E respectively) and returns 0-100% (from left to right on the map).
-- y: function that takes lat,long (degrees °N, °E respectively) and returns 0-100% (from top to bottom on the map).
local parameters = {
	["image"] = "Finnish dialect location map.svg",
	["x"] = function (lat, lon) return (lon - 12) * 100 / 20.5 end,
	["y"] = function (lat, lon) return (lat - 70.5) * -100 / 11.5 end
}

function export.show(args)
	local frame = args.frame
	local parishes = args.parishes
	local peg = args.peg
	
	local size = args.size and "|" .. args.size or ""
	
	local pegs = {}
	
	for _, parish in ipairs(parishes) do
		local lat, lon = parish:getCoordinates()
		local x = parameters.x(lat, lon)
		local y = parameters.y(lat, lon)
		table.insert(pegs, peg(parish, y .. "%", x .. "%"))
	end
	
	return '<div style="position:relative;display:inline-block;">' .. frame:preprocess("[[File:" .. parameters.image .. size .. "|link=|class=fi-dial-map-map]]") .. table.concat(pegs, "") .. "</div>"
end

return export