-- This is an module to implement "TOCgen", a TOC template inspired by TOCStyle, ppoem and esWS's Módulo:ICP
require('strict')

local p = {} --p stands for package

local getArgs = require('Module:Arguments').getArgs

local altparams = {

}

local presets = {
	['3'] = {
		['class'] = minimal
	}
}

local rowmodels = {
	['CD.P'] = {
		-- put something here
	}
}

function p.generate_row(rowargs)
	-- pass
end

function p.generate_chapter_link(prefix,suffix,disp)
	return "[[" .. prefix .. "/" .. suffix .. "|" .. disp .. "]]"
end

function p.generate_page_link_raw(rawpagenum,label)
	return "[[Page:{{#titleparts:{{PAGENAME}}|1|1}}/" .. rawpagenum .. "|" .. label .. "]]"
end

function p.generate_page_link_offset(pagenum,offset)
	return p.generate_page_link_raw(pagenum + offset,pagenum)
end

function p._TOCgen(args)
	-- handle start and end
	local open = args['start'] == "open" or not args['start']
	local close = args['end'] == "close" or not args['end']
	
	local isPageNs = mw.title.getCurrentTitle():inNamespace(104)
	
	-- in Page namespace, we always open a fresh environment and close it at the end
	if isPageNs then
		open = true
		close = true
	end
	
	local ret_html = mw.html.create()
	
	
end

function p.TOCgen(frame)
	local args = getArgs(frame)
	-- handle argument aliases here
	for k,v in pairs(altparams) do
		if args[k] and not args[v] then
			args[v] = args[k]
		end
	end
	return p._TOCgen(args)
end


return p