Documentation for this module may be created at Module:Πρότυπο:δείτε/τεκμηρίωση

local export = {}
local Lf = {}
local Ld = {}

Ld['σφάλμα:άλλο'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε με σφάλμα]]" -- .. '(άλλο)'
Ld['σφάλμα:διπλά'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε με διπλές παραπομπές]]" --.. '(διπλά)'
Ld['σφάλμα:ίδιο'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε με παραπομπή στον εαυτό του]]" --.. '(ίδιο)'
Ld['σφάλμα:άδειο'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε χωρίς συνδέσμους]]" --.. '(άδειο)'
Ld['σφάλμα:κενές'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε με κενές παραμέτρους]]" --.. '(κενές)'
Ld['σφάλμα:κόκκινα'] = "[[Κατηγορία:Επιτήρηση:Πρότυπο:δείτε με κόκκινους συνδέσμους]]" --.. '(κόκκινα)'

Lf['κείμενο για σφάλμα'] = function(errstring)
    return '<font color=red>' .. errstring .. '</font>[[Κατηγορία:Σελίδες με σφάλματα στο πρότυπο]]'
end

Lf['πίνακας με παραπομπές'] = function ()
	lc['νέος πίνακας'] = {}
	if #lc['παραπομπές'] == 1 then
		if lc['παραπομπές'][1] == '[[]]' then 
			lc['σφάλματα'] = lc['σφάλματα'] .. Ld['σφάλμα:κενό']
		else
			table.insert(lc['νέος πίνακας'] , lc['παραπομπές'][1])
		end
		return
	end
	lc['έχει διπλά'] = false
	lc['υπάρχει'] = false
	--lc['παραπομπές'][1]
	table.insert(lc['νέος πίνακας'] , lc['παραπομπές'][1])
	if  #lc['παραπομπές']>1 then
		--lc['κείμενο'] =  lc['παραπομπές'][1]
		for x = 2, #lc['παραπομπές'] , 1 do
			lc['δεν υπάρχει'] = true
			for y = x-1 , 1, -1 do
				if lc['παραπομπές'][y] == lc['παραπομπές'][x] then
					lc['δεν υπάρχει'] = false
					lc['έχει διπλά'] = true
				end
			end
			if lc['δεν υπάρχει'] then
				table.insert(lc['νέος πίνακας'] , lc['παραπομπές'][x])
			end
		end
	end
	if lc['έχει διπλά'] then 
		lc['σφάλματα'] = lc['σφάλματα'] .. Ld['σφάλμα:διπλά']
	end
	return 
end

export['επίσης'] = function(frame)
	lc = {}
	lc['σφάλματα'] = ''
	lc['έχει ίδια'] = false
	lc['έχει κενά'] = false
	lc['παράμετροι λήμματος'] = frame:getParent().args
	lc['τίτλος λήμματος'] = mw.title.getCurrentTitle()
	--lc['τίτλος λήμματος'] = mw.text.trim(lc['τίτλος λήμματος'])
	lc['παραπομπές'] = {}

	for i, arg in ipairs(lc['παράμετροι λήμματος']) do
		--εδώ μπορεί να γίνει και ο έλεγχος αν υπάρχει το λήμμα
		--ή αν είναι στον κύριο χώρο το λήμμα 
		--να ελέχεται αν είναι στον κύριο χώρο και η παραπομπή κλπ. κλπ.
		lc['παραμετρος'] = mw.text.trim(arg)
		if lc['παραμετρος'] ~= lc['τίτλος λήμματος'].fullText then
			if lc['παραμετρος'] ~= '' then
	    		lc['στοιχείο'] = "[[" ..lc['παραμετρος'] .. "]]"
				table.insert(lc['παραπομπές'], lc['στοιχείο'])
			else
				lc['έχει κενά'] = true
			end
		else
			lc['έχει ίδια'] = true
		end
	end
	if lc['έχει ίδια'] then
		lc['σφάλματα'] = lc['σφάλματα'] .. Ld['σφάλμα:ίδιο']
	end
	if lc['έχει κενά'] then
		lc['σφάλματα'] = lc['σφάλματα'] .. Ld['σφάλμα:κενές']
	end
	lc['κείμενο'] = ''
	if #lc['παραπομπές'] == 0 then
		lc['σφάλματα'] = lc['σφάλματα'] .. Ld['σφάλμα:άδειο']
		lc['κείμενο'] = lc['σφάλματα']
	else
		Lf['πίνακας με παραπομπές']()
		--ίσως να γίνεται εδώ και αλφαβητική ή παρόμοια ταξινόμηση
		if #lc['νέος πίνακας'] == 1 then
			lc['κείμενο'] = lc['νέος πίνακας'][1]
		else
			lc['κείμενο'] = mw.text.listToText( lc['νέος πίνακας'], ', ', ' και ' ) 
		end
		lc['κείμενο'] = lc['κείμενο'] .. lc['σφάλματα']
		lc['κείμενο'] = [=[{| class="ανακοίνωση-δείτε" style="border:1px solid #A0CCA0; background: #CCF5AA; padding: .1em; margin-bottom:1em; width:100%"
|-
| align="left" | [[Αρχείο:Noia 64 apps xeyes.png|30px|Τυπογραφικές παραλλαγές]] ''Δείτε επίσης'' : ]=] .. lc['κείμενο'] .. '\n' .. [=[
|-
|}]=]
	end
	
	return lc['κείμενο']
end
 
return export