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
	
	-- The tab "Daten" is visible everytime
	tpl_daten = p.Daten( frame, args )
	tab_daten='<tab name=Daten>' .. 
	tpl_daten .. '</tab>'
	
	tpl_karte = p.Karte( frame, args )
	tab_karte=''
	if tpl_karte:gsub("%s+", "") ~= '' then
		tab_karte='<tab name=Karte>' .. 
		tpl_karte .. '</tab>'
	end
	
	tpl_folge = p.Folge( frame, args )
	tab_folge=''
	if tpl_angebot:gsub("%s+", "") ~= '' then
		tab_folge='<tab name=Folge>' .. 
		tpl_folge .. '</tab>'
	end
	
	tpl_angebot = p.Angebot( frame, args )
	tab_angebot=''
	if tpl_angebot:gsub("%s+", "") ~= '' then
		tab_angebot='<tab name=Angebot>' .. 
		tpl_angebot .. '</tab>'
	end
	
	t ='<div class=factbox><tabs>' .. 
	   tab_bild .. 
	   tab_daten .. 
	   tab_karte ..
	   tab_angebot ..
	   '</tabs></div>'

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

function p.Folge( frame, args)
	t = '<p>Funktioniert ned</p>'
	return t
end 

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

function p.Daten( frame, args )
	t = frame:expandTemplate{title = 'Gaststätte.Daten', args={
        Name=args.Name,
        Gebaeude=args.Gebaeude,
        GastroGenre=args.GastroGenre,
        Plaetze=args.Plaetze,
        HatAussenplaetze=args.HatAussenplaetze,
        HatNebenraum=args.HatNebenraum,
        Telefon=args.Telefon,
        Webseite=args.Webseite,
        Email=args.Email,
        GastroBetreiber=args.GastroBetreiber,
        Eroeffnungsdatum=args.Eroeffnungsdatum,
        Schliessungsdatum=args.Schliessungsdatum,
        Ehemals=args.Ehemals,
        Vorgaenger=args.Vorgaenger,
        Nachfolger=args.Nachfolger,
        Besonderheit=args.Besonderheit}
	}
    return t
end

function p.Karte ( frame, args )
	t = frame:expandTemplate{title = 'Gaststätte.Karte', args={
		lat=args.lat,
		lon=args.lon}
	}
	return t
end

function p.Angebot ( frame, args )
	t = frame:expandTemplate{title = 'Gaststätte.Angebot', args={
        Kueche=args.Kueche,
        Biere=args.Biere,
        HatFassbier=args.HatFassbier,
        Spezialitaeten=args.Spezialitaeten,
        AngebotVegetarisch=args.AngebotVegetarisch,
        Barrierefrei=args.Barrierefrei,
        BietetKartenzahlung=args.BietetKartenzahlung}
    }
	return t
end

return p