Mooduli dokumentatsioon

See Lua-põhise Moodul:Sporditabel stiil on mõeldud grupi- ja liigatabelite koostamiseks võit-viik-kaotus formaadis võistluste jaoks. Pange tähele, et seda moodulit kasutatakse laialdaselt, seega testige võimalikke muudatusi hoolikalt liivakastis ja veenduge enne suurte muudatuste rakendamist konsensuse olemasolu. Ülejäänud osa sellest dokumentatsioonist selgitab, kuidas seda moodulit WDL-stiiliga artiklis või mallis kasutada. Kontrollige konkreetsete üksuste sisukorda.

Kasutus

muuda

Põhikasutus

muuda

Lihtsamal kujul tuleb tabeli koostamiseks kasutada vaid mõnda parameetrit

Artiklis

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL


|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - +/- Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 +10 15
2 Team 2 5 3 1 1 3 2 +1 10
3 Team 3 5 3 0 2 3 3 0 9
4 DDD 5 1 1 3 1 4 −3 4
5  Gibraltar 5 0 0 5 0 6 −6 0
Uuendatud seisuga unknown. Allikas: [viide?]

Peamine käsk on lause {{#invoke:Sporditabel|main|style=WDL}}, mis põhimõtteliselt kutsub moodulit välja ja võimaldab teil kõike seadistada. Seejärel loetlete meeskondade positsioonid |team1=, |team2= jne nii paljude meeskondade jaoks, mida tabelis vajate. Soovi korral saate kasutada meeskonna täisnimesid ilma tühikuteta, kuid koodide kasutamine (nagu näites) võib selle lihtsamaks muuta. Nüüd saate määrata iga meeskonna võidud, viigid, kaotused, väravad ja väravad, kasutades |win_TTT=, |draw_TTT=, |loss_TTT=, |gf_TTT= ja |ga_TTT= vastavalt (koos TTT asendatakse meeskonna koodiga). Kui te neid numbreid ei määratle, eeldatakse, et see on automaatselt 0. Hea tava on siiski need kaasata ja veerud joondada sobivate tühikutega (nagu näites), et koodi oleks lihtne lugeda. Viimaseks sammuks on nüüd defineerida parameetrid |name_TTT=, mis määravad tabelis kuvatava nime. Siin saab kasutada ka wiki märgistust ja malle. Vaadake #Dating, et näha, kuidas värskendamise kuupäeva muuta.

Mallis

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL

|showteam={{{showteam}}} |only_pld_pts={{{only_pld_pts}}} |show_matches={{{show_matches}}}
|template_name=Example

|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - +/- Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 +10 15
2 Team 2 5 3 1 1 3 2 +1 10
3 Team 3 5 3 0 2 3 3 0 9
4 DDD 5 1 1 3 1 4 −3 4
5  Gibraltar 5 0 0 5 0 6 −6 0
Uuendatud seisuga unknown. Allikas: [viide?]

Märgistus on tegelikult sama, lisate ainult kaks rida. Rida |showteam={{{showteam}}} on vajalik showtiimi parameetri edastamiseks mallikutsest (vt #Meeskonna esiletõstmine ja osaline tabel); |only_pld_pts={{{only_pld_pts}}} on vajalik kärbitud tabelite edastamiseks (vt #Välimus); |show_matches={{{show_matches}}} on vajalik mängutulemuste nähtavuse edastamiseks, vt #Matches. Malllehe tegeliku nimega |template_name= loob V, T ja E nupud, mis viivad mallilehele (nii et pääsete sellele hõlpsasti igast artiklist, milles see sisaldub).

Kohandamine

muuda

Nendes tabelites saab kohandada mitmeid asju

Punktid

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL


|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0 |adjust_points_FDT=1.5
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6 |adjust_points_EEE=-1.5

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}

|winpoints=2
|drawpoints=1
|losspoints=-0.1
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - +/- Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 +10 11.5
2 Team 2 5 3 1 1 3 2 +1 6.9
3 Team 3 5 3 0 2 3 3 0 5.8
4 DDD 5 1 1 3 1 4 −3 2.7
5  Gibraltar 5 0 0 5 0 6 −6 −2
Uuendatud seisuga unknown. Allikas: [viide?]

Vaikimisi annab võit 3 punkti, viik 1 punkti ja kaotus 0 punkti, siis saab need väärtused üle kirjutada vajalikuks |winpoints=, |drawpoints= ja |kaotuspunktid=. Meeskonnad võivad hooaega alustada ka boonus- või karistuspunktidega, selle saab lisada, kasutades selle konkreetse meeskonna jaoks |adjust_points_TTT=.

Päise valikud (punktid eest/vastu ja muude kohandatud päiste eest)

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL

|for_against_style=points
|draw_header=<abbr title="Võitis lisaaja või penaltite järel">W+</abbr>
|team_header=Player
}}

Milline see välja näeb
Koht Player M W+ Ka + - +/- Pkt
Uuendatud seisuga unknown. Allikas: [viide?]

Spordialadel, kus on pigem poolt- ja vastupunkte kui väravaid, lülitab seade |for_against_style=points veerud poolt, vastu ja erinevuse asemel punktide kasutamisele. Veeru D (joonistus) sõnastust saab kohandada kasutades |draw_header= ja meeskonna veeru sõnastust saab kohandada |team_header= abil.

Veeru Grp (grupp) sõnastust saab kohandada kasutades |group_header= samamoodi nagu joonise päises.

Kaotuste ja viikide järjekord

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL|loss_before_draw=true


|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}
}}

Milline see välja näeb
Koht Võistkond M Ka Vi + - +/- Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 +10 15
2 Team 2 5 3 1 1 3 2 +1 10
3 Team 3 5 3 2 0 3 3 0 9
4 DDD 5 1 3 1 1 4 −3 4
5  Gibraltar 5 0 5 0 0 6 −6 0
Uuendatud seisuga unknown. Allikas: [viide?]

Vaikimisi on kahjud loetletud enne viike. Esmalt kaotuste loetlemiseks kasutage |loss_before_draw=true.

Väravate suhe/värava keskmine

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL

|use_goal_ratio=yes

|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - R Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 15
2 Team 2 5 3 1 1 3 2 1,500 10
3 Team 3 5 3 0 2 3 3 1,000 9
4 DDD 5 1 1 3 1 4 0,250 4
5  Gibraltar 5 0 0 5 0 6 0,000 0
Uuendatud seisuga unknown. Allikas: [viide?]

Kasutades |use_goal_ratio=yes, kasutage eesmärkide vahe asemel eesmärgi suhet (värava keskmist).

Väravaprotsent

muuda
Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL

|use_goal_percentage=yes

|team1=FDT |team2=BBB |team3=CCC |team4=DDD |team5=EEE

|win_FDT=5 |loss_FDT=0 |gf_FDT=10 |ga_FDT=0
|win_BBB=3 |draw_BBB=1 |loss_BBB=1 |gf_BBB= 3 |ga_BBB=2
|win_CCC=3 |loss_CCC=2 |gf_CCC= 3 |ga_CCC=3
|win_DDD=1 |draw_DDD=1 |loss_DDD=3 |gf_DDD= 1 |ga_DDD=4
|win_EEE=0 |loss_EEE=5 |gf_EEE= 0 |ga_EEE=6

|name_FDT=[[FIFA World Cup Dream Team]]
|name_BBB=Team 2
|name_CCC=Team 3
|name_EEE={{fb|GIB}}
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - % Pkt
1 FIFA World Cup Dream Team 5 5 0 0 10 0 15
2 Team 2 5 3 1 1 3 2 150,0 10
3 Team 3 5 3 0 2 3 3 100,0 9
4 DDD 5 1 1 3 1 4 25,0 4
5  Gibraltar 5 0 0 5 0 6 0,0 0
Uuendatud seisuga unknown. Allikas: [viide?]

Kasutades |use_goal_percentage=yes, kasutage eesmärgi erinevuse asemel eesmärgi protsenti. Moodul:Sporditabel/doc/doc

Kasutusnäidis

muuda

Mooduli parameetreid saab paigutada erinevatesse järjekorda olenevalt redaktorist ja artiklist, kuid allpool on näide kasutamise kohta, mida saab moodulitabeli loomisel kopeerida.

Mida sa kirjutad {{#invoke:Sporditabel|main|style=WDL

|showteam = {{{showteam|}}} <!--Malli kasutamiseks edasiviimisel, milline meeskond tuleb esile tõsta-->
|template_name = <!--Kui seda kasutatakse mallina, lisage siia malli nimi (ilma mallita: kõigepealt) -->
|update = future <!--Kui turniir algas, värskendage värskenduse parameetrit viimase värskenduse kuupäevaga ja eemaldage alguskuupäev-->
|start_date = Unknown <!-- Vormil 24. aprill 2165. Kui turniir algas, eemalda start_date-->
|source = Unknown <!-- Lisage tabeli allikas siia ühekordsete sulgudega [veebiaadressi teave] -->

<!--Värskenda meeskonna positsioone siin-->
|team1=AAA |team2=BBB |team3=CCC |team4=DDD |team5=EEE |team6=FFF |team7=GGG |team8=HHH |team9=III |team10=JJJ |team11=KKK |team12=LLL

<!--Värskenda siin meeskonna kvalifikatsiooni (määratletud allpool)-->
|result1=PRO |result2=CLG |result3=KO |result4=CLPO |result5=ELPO |result8=ELG |result11=RPO |result12=REL

<!--Värskendage meeskonna tulemusi siin ja seejärel (vajadusel) positsioone ülal. Ärge unustage ülaltoodud kuupäeva värskendada (värskenda parameetrit)-->
|win_AAA=0 |draw_AAA=0 |loss_AAA=0 |gf_AAA=0 |ga_AAA=0 |status_AAA=CQ <!-- Team A -->
|win_BBB=0 |draw_BBB=0 |loss_BBB=0 |gf_BBB=0 |ga_BBB=0 |status_BBB=C <!-- Team B -->
|win_CCC=0 |draw_CCC=0 |loss_CCC=0 |gf_CCC=0 |ga_CCC=0 |status_CCC=A <!-- Team C -->
|win_DDD=0 |draw_DDD=0 |loss_DDD=0 |gf_DDD=0 |ga_DDD=0 |status_DDD=T <!-- Team D -->
|win_EEE=0 |draw_EEE=0 |loss_EEE=0 |gf_EEE=0 |ga_EEE=0 |status_EEE= <!-- Team E -->
|win_FFF=0 |draw_FFF=0 |loss_FFF=0 |gf_FFF=0 |ga_FFF=0 |status_FFF= <!-- Team F -->
|win_GGG=0 |draw_GGG=0 |loss_GGG=0 |gf_GGG=0 |ga_GGG=0 |status_GGG= <!-- Team G -->
|win_HHH=0 |draw_HHH=0 |loss_HHH=0 |gf_HHH=0 |ga_HHH=0 |status_HHH= <!-- Team H -->
|win_III=0 |draw_III=0 |loss_III=0 |gf_III=0 |ga_III=0 |status_III= <!-- Team I -->
|win_JJJ=0 |draw_JJJ=0 |loss_JJJ=0 |gf_JJJ=0 |ga_JJJ=0 |status_JJJ= <!-- Team J -->
|win_KKK=0 |draw_KKK=0 |loss_KKK=0 |gf_KKK=0 |ga_KKK=0 |status_KKK= <!-- Team K -->
|win_LLL=0 |draw_LLL=0 |loss_LLL=0 |gf_LLL=0 |ga_LLL=0 |status_LLL=R <!-- Team L -->

<!--Meeskonna määratlused (wikilingid tabelis)-->
|name_AAA = <!-- Lisa siia A-meeskonna wikilink-->
|name_BBB = <!-- Lisa siia B-meeskonna wikilink -->
|name_CCC = <!-- Lisa siia C-meeskonna wikilink -->
|name_DDD = <!-- Lisa siia D-meeskonna wikilink -->
|name_EEE = <!-- Lisa siia E-meeskonna wikilink -->
|name_FFF = <!-- Lisa siia F-meeskonna wikilink -->
|name_GGG = <!-- Lisa siia G-meeskonna wikilink -->
|name_HHH = <!-- Lisa siia H-meeskonna wikilink -->
|name_III = <!-- Lisa siia I-meeskonna wikilink -->
|name_JJJ = <!-- Lisa siia J-meeskonna wikilink -->
|name_KKK = <!-- Lisa siia K-meeskonna wikilink -->
|name_LLL = <!-- Lisa siia L-meeskonna wikilink -->

<!--Table settings and rules-->
|show_limit = <!-- Liigatabelite ja muude suurte tabelite jaoks kasutage showlimit = 5 (standard konsensuse kohta, et näidata ainult viit meeskonda üksikute artiklite puhul) -->
|class_rules =1) punktid; 2) Väravate vahe; 3) löödud väravate arv;<!-- Lisa siia klassifitseerimise reeglid-->

<!--Kvalifikatsiooni ja väljalangemise veeru määratlused, tippturniiri jaoks kasutage rohelist, seejärel sinist, millele järgneb kollane, punane on väljalangemine. Samade võistluste erinevatel tasemetel peaks olema erinevad värvitoonid, näiteks roheline1, roheline2 jne.-->
|res_col_header = PQR <!-- Kõiki neid ei pruugi vaja minna, edutamine (E), kvalifikatsioon (K) ja väljalangemine (L) -->
|col_PRO = roheline1 |text_PRO = Edutamine <!-- Wikilink kõrgemale tasemele -->
|col_KO = roheline1 |text_KO = Pääsemine <!-- Wikilink järgmisele etapile, näiteks väljalangemismängude etapp (KO) -->
|col_CLG = roheline1 |text_CLG = Kvalifitseerumine <!-- Wikilink turniiri etapile -->
|col_CLPO= roheline2 |text_CLPO= Kvalifitseerumine <!-- Wikilink turniiri etapile-->
|col_ELG = sinine1 |text_ELG = Kvalifitseerumine <!-- Wikilink turniiri etapile-->
|col_ELPO= sinine2 |text_ELPO= Kvalifitseerumine <!--Wikilink turniiri etapile- -->
|col_RPO = punane2 |text_RPO = Kvalifitseerumine <!-- Wikilink väljalangemismängudele -->
|col_REL = punane1 |text_REL = Langemine <!--Wikilink madalama taseme-->
}}

Milline see välja näeb
Koht Võistkond M Vi Ka + - +/- Pkt Tõusmine, Kvalifitseerumine või langemine
1 (C, Q) 0 0 0 0 0 0 0 0 Edutamine
2 (Q) 0 0 0 0 0 0 0 0
3 (A) 0 0 0 0 0 0 0 0
4 (T) 0 0 0 0 0 0 0 0 Kvalifitseerumine
5 0 0 0 0 0 0 0 0 Kvalifitseerumine
6 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 Kvalifitseerumine
9 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 Kvalifitseerumine
12 (R) 0 0 0 0 0 0 0 0 Langemine
Uuendatud seisuga tulevik. Allikas: teadmata
Klassifikatsiooni reeglid: 1) punktid; 2) Väravate vahe; 3) löödud väravate arv;
(A) Edenes järgmisesse vooru; (C) Meister; (Q) Qualified to the phase indicated; (R) Langes välja; (T) Qualified, but not yet to the particular phase indicated.
-- Style for football tables
local pp = {}

function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt)
	-- Load relevant modules
	local yesno = require('Module:Yesno')
	
	-- Create table header
	-- Pre stuff
	local team_width = Args['teamwidth'] or '190'
	local sort_text = ''
	local sort_table_val = Args['sortable_table'] 	or 'no'
	if yesno(sort_table_val) then sort_text = 'sortable' end
	table.insert(t,'{|class="wikitable '..sort_text..'" style="text-align:center;"\n')            			-- Open table
	
	-- Custom header options
	local draw_head_text = Args['draw_header'] or '<abbr title="Viigid">Vi</abbr>'
	local group_head_text = Args['group_header'] or '<abbr title="Grupp">Grp</abbr>'
	local team_head_text = Args['team_header'] or 'Võistkond'
	local loss_first = Args['loss_before_draw'] or false
	-- What to rank the teams by
	local ranking_style = Args['ranking_style'] or 'Pkt'
	local show_points, show_perc = false
	ranking_style = string.lower(ranking_style)
	if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then
		-- Based on wins
	elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then
		-- Based on percentage
		show_perc = true
	else
		-- Based on points
		show_points = true
	end
	-- Use points instead of goals for/against
	local for_against_style = Args['for_against_style'] 	or 'väravaid'
	local fa_letter, fa_word_sing, fa_word_plur
	local hide_for_against = false
	-- First convert to lower case if it is a string
	for_against_style = string.lower(for_against_style)
	if for_against_style=='v' or for_against_style=='väravate' or for_against_style=='väravaid' then
		fa_letter = ''
		fa_word_sing = 'Väravate'
		fa_word_plur = 'Väravaid'
	elseif for_against_style=='p' or for_against_style=='punkt' or for_against_style=='punktid' then
		fa_letter = 'P'
		fa_word_sing = 'Punkt'
		fa_word_plur = 'Punktid'
	elseif for_against_style=='none' then
		hide_for_against = true
	else
		fa_letter = ''
		fa_word_sing = 'Väravate'
		fa_word_plur = 'Väravaid'
	end
	-- Whether to use goal ratio (goal average) instead
	local use_ratio_val = Args['use_goal_ratio'] 	or 'no'
	local do_ratio = false
	-- True if exist, false otherwise
	if yesno(use_ratio_val) then do_ratio = true end
	
	-- Whether to use goal percentage instead
	local use_percentage_val = Args['use_goal_percentage'] 	or 'no'
	local do_percentage = false
	-- True if exist, false otherwise
	if yesno(use_percentage_val) then do_percentage = true end
	
	-- Initialize
	local tt = {}
	tt.count = 0 		-- Up by one after every call
	tt.tab_text = t		-- Actual text
	-- Actual headers
	tt = p_sub.colhead(tt,28,pos_label)										-- Positsioon col
	-- Add group header
	if full_table and group_col then
		tt = p_sub.colhead(tt,28,group_head_text)			-- Group col
	end
	tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text)				-- Team col
	tt = p_sub.colhead(tt,28,'<abbr title="Mänge">M</abbr>')				-- Matches played col
	if full_table then
		tt = p_sub.colhead(tt,28,'<abbr title="Võidud">Võ</abbr>')				-- Win col
		if loss_first then
			tt = p_sub.colhead(tt,28,'<abbr title="Kaotused">Ka</abbr>')			-- Loss col
			tt = p_sub.colhead(tt,28,draw_head_text)						-- Draw col
		else
			tt = p_sub.colhead(tt,28,draw_head_text)						-- Draw col
			tt = p_sub.colhead(tt,28,'<abbr title="Kaotused">Ka</abbr>')			-- Loss col
		end
		if not hide_for_against then
			tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' löödud">'..fa_letter..'+</abbr>')		-- For col
			tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' lastud">'..fa_letter..'-</abbr>')	-- Against col
			if do_ratio then
				tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' suhe">'..fa_letter..'R</abbr>')	-- Ratio col
			elseif do_percentage then
				tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' protsent">%</abbr>')			-- Percentage col
			else
				tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' vahe">'..fa_letter..'+/-</abbr>')	-- Difference col
			end
		end
	end
	if show_points then
		tt = p_sub.colhead(tt,28,'<abbr title="Punktid">Pkt</abbr>')					-- Points col
	elseif show_perc then
		tt = p_sub.colhead(tt,36,'<abbr title="Võidu protsent">PRT</abbr>')			-- Win percentage col
	end
	if full_table then
		tt.count = tt.count+1
		table.insert(tt.tab_text,results_header_txt)
	end
	
	return tt
end

function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show)
	-- Build the inner parts of individual rows
	
	-- Sub-module usage
	local mm = require('Module:Math')
	local yesno = require('Module:Yesno')
	
	-- Get custom/default options for in table
	local win_points = tonumber(Args['winpoints'])				or 3
	local draw_points = tonumber(Args['drawpoints'])			or 1
	local loss_points = tonumber(Args['losspoints'])			or 0
	
	-- Order of draws and losses --
	local loss_first = Args['loss_before_draw']                 or false	
	
	-- Get some input
	local wins = tonumber(Args['win_'..team_code_ii])			or 0
	local draws = tonumber(Args['draw_'..team_code_ii]) 		or 0
	local losses = tonumber(Args['loss_'..team_code_ii])		or 0
	local gfor = tonumber(Args['gf_'..team_code_ii]) or	tonumber(Args['pf_'..team_code_ii]) or 0
	local gaig = tonumber(Args['ga_'..team_code_ii]) or	tonumber(Args['pa_'..team_code_ii]) or 0
	local s_pts = tonumber(Args['adjust_points_'..team_code_ii]) or tonumber(Args['startpoints_'..team_code_ii]) or 0
	local hth_local = Args['hth_'..team_code_ii]				or nil
	-- Then calculate some values
	local matches = wins + draws + losses
	local points = win_points*wins + draw_points*draws + loss_points*losses + s_pts
	
	-- Show for/against
	local for_against_style = Args['for_against_style'] 	or 'goals'
	local hide_for_against = false
	for_against_style = string.lower(for_against_style)
	if for_against_style=='none' then
		hide_for_against = true
	end
	
	-- Comparison of for against
	local gcomp
	-- Whether to use goal ratio (goal average) or goal percentage instead
	local use_ratio_val = Args['use_goal_ratio'] 	or 'no'
	local use_percentage_val = Args['use_goal_percentage'] 	or 'no'
	local skip_sign
	if yesno(use_ratio_val) then
		-- Now it is the goal ratio/goal average
		if gaig == 0 then
			gcomp = '&mdash;'
		else
			gcomp = mm._precision_format(gfor / gaig, 3)
		end
	elseif yesno(use_percentage_val) then
		-- Now it is the percentage
		if gaig == 0 then
			gcomp = '&mdash;'
		else
			gcomp = mm._precision_format(100 * gfor / gaig , 1)
		end
	else
		-- It's goal difference
		gcomp = gfor - gaig
		-- Formatting with signs
		if gcomp>0 then
			gcomp='+'..gcomp
		elseif gcomp < 0 then
			gcomp='&minus;'..-gcomp
		end
	end
	
	-- Some local vars	
	local hth_string
	local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val)
	hth_string = tt_return.str
	hth_id_list = tt_return.list
	notes_exist = tt_return.notes_exist
	
	-- What to rank the teams by
	local ranking_style = Args['ranking_style'] or 'pts'
	local rank_points, rank_perc = false
	local win_fw, win_string
	ranking_style = string.lower(ranking_style)
	if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then
		-- Based on wins
		win_fw = 'font-weight: bold;'
		win_string = hth_string
	elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then
		-- Based on percentage
		rank_perc = true
		win_fw=ii_fw
		win_string = ''
	else
		-- Based on points
		rank_points = true
		win_fw=ii_fw
		win_string = ''
	end
	
	-- Row building
	table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches..'\n') 		-- Mängitud
	if full_table then
		table.insert(t,'| style="'..win_fw..bg_col..'" |'..wins..win_string..'\n') 			-- Võidud
		
		if loss_first then
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..losses..'\n') 	-- Kaotused
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..draws..'\n') 		-- Viigid
		else
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..draws..'\n') 		-- Viigid
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..losses..'\n') 	-- Kaotused
		end
		
		if not hide_for_against then
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gfor..'\n') 		-- +
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gaig..'\n')		-- -
			table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n')      -- +/-
		end
		
	end
	if rank_points then
		-- Add &minus; for negative point totals
		if points<0 then
			table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..-points..hth_string..'\n')
		else
			table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..points..hth_string..'\n')
		end
	elseif rank_perc then
		table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n')
	end
	return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list}
end

function pp.status(Args)
	-- Declare status options
	-- ------------------------------------------------------------
	-- NOTE: If you add to status_code, also add to status_called and status_letters!!
	-- Or functionality will be compromised
	-- ------------------------------------------------------------
	local status_code, status_called = {}
	status_code = {	A='Edenes järgmisesse vooru', C='Meister', D='Diskvalifitseeritud', 
		E='Elimineeritud', G='Külaline', H='Võõrustaja', O='Väljalangemismängude võitja', P='Edutatud', Q='Qualified to the phase indicated',
		R='Langes välja', T='Qualified, but not yet to the particular phase indicated',
		X='?', Y='?', Z='?'}
	status_called = {	A=false, C=false, D=false, E=false, G=false, H=false, O=false, P=false,
		Q=false, R=false, T=false, X=false, Y=false, Z=false}
	local status_letters = 'ACDEGHOPQRTXYZ'
	
	-- Status position (before or after read and default)
	local stat_pos_val = Args['status_pos'] or ''
	local status_position = 'after' 	-- Default location
	stat_pos_val = string.lower(stat_pos_val)
	if stat_pos_val=='before' then
		status_position = 'before'
	elseif stat_pos_val=='after' then
		status_position = 'after'
	end
	
	-- Read in custom status options
	if Args['status_text_X'] then status_code.X = Args['status_text_X'] end
	if Args['status_text_Y'] then status_code.Y = Args['status_text_Y'] end
	if Args['status_text_Z'] then status_code.Z = Args['status_text_Z'] end
	
	return {code=status_code, called=status_called, letters=status_letters, position=status_position}
end

return pp