local p = {} --p stands for package

function p.Faktenbox( frame )
	pf = frame:getParent()
	args = pf.args
	
	-- Before you ask: No, you cant' use extensionTag here!
	tpl_bild = p.Bild( frame, args )
	tab_bild=''
	if tpl_bild:gsub("%s+", "") ~= '' then
		tab_bild='<tab name=Bild>' .. 
		tpl_bild .. '</tab>'
	end
	
	tpl_karte = p.Karte( frame, args )
	tab_karte=''
	if tpl_karte:gsub("%s+", "") ~= '' then
		tab_karte='<tab name=Karte>' .. 
		tpl_karte .. '</tab>'
	end
	
	-- The tab "Daten" is visible everytime
	tpl_daten = p.Daten( frame, args )
	tab_daten='<tab name=Daten>' .. 
	tpl_daten .. '</tab>'
	
	tpl_benennungen = p.Benennungen( frame, args )
	tab_benennungen=''
	if tpl_benennungen:gsub("%s+", "") ~= '' then
		tab_benennungen='<tab name=Benennungen>' .. 
		tpl_benennungen .. '</tab>'
	end
	
	t ='<div class=factbox><tabs>' .. 
	   tab_karte ..
	   tab_bild .. 
	   tab_daten .. 
	   tab_benennungen ..
	   '</tabs></div>'

	-- Use preprocess to render the factbox and all contens at once
	return frame:preprocess(t)
end

function p.Bild( frame, args )
	t = frame:expandTemplate{title = 'Bildertab', args={
		Bild=args.Bild}
	}
    return t
end

function p.Karte( frame, args )
	t = frame:expandTemplate{title = 'Straße.Karte', args={
        lat=args.lat,
        lon=args.lon,
        zoom=args.zoom}
	}
    return t
end

function p.Daten( frame, args )
	t = frame:expandTemplate{title = 'Straße.Daten', args={
        Strasse=args.Strasse,
        Baujahr=args.Baujahr,
        Stadtteil=args.Stadtteil,
        Abbruchjahr=args.Abbruchjahr,
        Ehemals=args.Ehemals}
	}
    return t
end

function p.Benennungen( frame, args )
	t = frame:expandTemplate{title = 'Straße.Benennungen'}
    return t
end

return p