# Module:Road data/strings/USA/TX

--[==[  
To inspect the content of this data module, use Special:ExpandTemplates  
and enter the following input text:  

To inspect the content of this data module when editing, enter the following  
into the Debug console:  
local util = require("Module:Road data/util")  
print(util.arrayToString(p))  
To inspect a particular route type, change `p` above to include the route type,  
e.g., `p.I` and `p["US-Hist"]`.  
]==]  

-- Texas  
local TX = {}  

local util = require("Module:Road data/util")  
local format = mw.ustring.format  
util.addAll(TX, require("Module:Road data/strings/USA"))  

local suffix = " ([dab||%dab%, |]Texas)"  
local suffix2 = " [dab||(%dab%)|]"  

-- Interstate types  
TX.I.link = {  
["2"] = "Interstate 2",  
["14"] = "Interstate 14",  
["27"] = "Interstate 27",  
["30"] = "Interstate 30",  
["35E"] = "Interstate 35E (Texas)",  
["35W"] = "Interstate 35W (Texas)",  
["37"] = "Interstate 37",  
["45"] = "Interstate 45",  
["69C"] = "Interstate 69C",  
["69E"] = "Interstate 69E",  
["69W"] = "Interstate 69W",  
["410"] = "Interstate 410",  
["820"] = "Interstate 820",  
default = {  
hook = "split",  
split = 100,  
above = "Interstate %route% (Texas)",  
below = "Interstate %route% in Texas"  
}  
}  
TX.IH = TX.I  

for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Spur", "Temp", "Toll", "Truck"}) do  
local spec = TX[" aux "][auxType]  
for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^I-") then  
v.link = "Interstate %route% " .. spec.name .. suffix  
end  
end  
end  
TX["I-Toll"].shield = "Toll Texas Interstate Highway %route%.svg"  
TX["I-Express"].shield = "%route% Express Lane free.svg"  
TX["I-Express"].banner = ""  
TX["I-Future"].shield = TX.I.shield  
TX["I-Future"].link = TX.I.link  
TX["I-Future"].banner = "Future plate blue.svg"  

TX.BL.shieldmain = "Business Interstate %route% (TX).svg"  
TX.BL.name = "Business " .. TX.I.name  
TX.BL.link = "Interstate %route% Business" .. suffix  

for k, v in pairs(TX) do if k:find ("^B%a") then  
v.shieldmain = TX.BL.shieldmain  
v.name = TX.BL.name  
v.link = TX.BL.link  
end  
end  
TX["I-Bus"]=TX.BL  
TX.BLBS.shieldmain = {TX.BL.shield, TX.BS.shield}  

-- US types  
TX.US.name = "U.S. Highway %route%"  
TX.US.link = "U.S. Route %route% in Texas"  

for k, v in pairs(TX) do if k:find ("^US %d") then  
v.name = TX.US.name  
v.link = TX.US.link  
end  
end  

for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Emerg", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do  
local spec = TX[" aux "][auxType]  
for k, v in pairs(TX) do if k:find (auxType) then if k:find ("^US") then  
v.shieldmain = TX.US.shield  
v.name = spec.name .. " " .. TX.US.name  
v.link = TX.US.base .. " " .. spec.name .. suffix  
v.abbr = TX.US.abbr .. " " .. spec.abbrsuffix  
end  
end  
end  
end  
TX.UA = TX["US-Alt"]  
TX.BU = TX["US-Bus"]  

for _,year in ipairs({'1926', '1948', '1961'}) do  
for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do  
local type = "US " .. year  
local spec = TX[" aux "][auxType]  
TX[type .. "-" .. auxType] = {  
shield = TX[type].shield,  
shieldmain = TX[type].shieldmain,  
name = spec.name .. " " .. TX[type].name,  
link = TX[type].base .. " " .. spec.name .. suffix,  
abbr = TX[type].abbr .. " " .. spec.abbrsuffix,  
banner = spec.bannerprefix .. " plate " .. year .. ".svg",  
aux = spec.aux,  
}  
end  
end  

TX["US-Bus"] = {  
shield = TX.US.shield,  
name = "Business " .. TX.US.name,  
link = "U.S. Route %route% Business" .. suffix,  
abbr = "Bus. " .. TX.US.abbr,  
banner = "Business plate.svg", -- see SHSD p. 3-7 https://ftp.dot.state.tx.us/pub/txdot-info/trf/shsd/2012/section3.pdf,  
aux = TX[" aux "]  
}  
TX["Bus-US"] = TX["US-Bus"]  

TX["US-Alt-Bus"] = {  
shield = TX.US.shield,  
name = "Business " .. TX["US-Alt"].name,  
link = "U.S. Route %route% Business Alternate" .. suffix,  
abbr = "Bus. " .. TX["US-Alt"].abbr,  
banner = "Business alternate plate.svg",,  
aux = TX[" aux "].Alt  
}  

-- SH (main) types  
TX.SH = {  
shield = "Texas %route%.svg",  
shieldmain = {  
["249"] = {"Texas %route%.svg", "Tomball Tollway.svg"},  
default = "Texas %route%.svg"  
},  
base = "Texas State Highway %route%",  
name = "State Highway %route%",  
link = "Texas State Highway %route%" .. suffix2,  
abbr = "SH&nbsp;%route%"  
}  
TX.TX = TX.SH  

for _,type in ipairs({"SH", "TX"}) do  
for _,auxType in ipairs({"Alt", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do  
local spec = TX[" aux "][auxType]  
TX[type .. "-" .. auxType] = {  
shield = TX.SH.shield,  
name = spec.name .. " " .. TX.SH.name,  
link = TX.SH.base .. " " .. spec.name .. suffix2,  
abbr = TX.SH.abbr .. " " .. spec.abbrsuffix,  
banner = spec.bannerprefix .. " plate.svg",  
aux = spec.aux,  
}  
end  
end  

TX["SH-Bus"] = {  
shield = "Texas %route%.svg",  
name = "Business&nbsp;" .. TX.SH.name,  
link = "Texas State Highway %route% Business" .. suffix2,  
abbr = "Bus.&nbsp;" .. TX.SH.abbr,  
banner = "Business plate.svg",  
aux = TX[" aux "],  
}  
TX["TX-Bus"] = TX["SH-Bus"]  
TX["Bus-SH"] = TX["SH-Bus"]  
TX["Bus-TX"] = TX["SH-Bus"]  

TX["SH-Bus 1969"] = {  
shield = "Texas Business %route%.svg",  
name = TX["SH-Bus"].name,  
link = TX["SH-Bus"].link,  
abbr = TX["SH-Bus"].abbr,  
}  
TX["TX-Bus 1969"] = TX["SH-Bus 1969"]  

for _,type in ipairs({"SH", "TX"}) do  
for _,year in ipairs({"1917", "1935", "old"}) do  
TX[type .. "-" .. year] = {  
shield = format("Texas %%route%% %s.svg", year),  
name = TX.SH.name,  
link = TX.SH.link,  
abbr = TX.SH.abbr,  
}  
end  
end  
end  
TX["SH-old"].shield = "Old Texas %route%.svg"  
TX["TX-old"].shield = TX["SH-old"].shield  

-- Loop/Spur types  
TX.Beltway = {  
shield = "Texas Beltway %route%.svg",  
shieldmain = {  
hook = "pagename",  
article = "Texas State Highway Beltway 8",  
iftrue = {"Texas Beltway %route%.svg", "Sam Houston Tollway.svg"},  
default = "Texas Beltway %route%.svg"  
},  
name = "State Highway Beltway %route%",  
link = "Texas State Highway Beltway %route%",  
abbr = "Beltway&nbsp;%route%"  
}  
TX.BW = TX.Beltway  

TX.Loop = {  
shield = "Texas Loop %route%.svg",  
base = "Texas State Highway Loop %route%",  
name = "State Highway Loop %route%",  
link = {  
default = "Texas State Highway Loop %route%" .. suffix2,  
["1910"] = "Andrews Loop 1910"  
},  
abbr = "Loop&nbsp;%route%"}  
TX.SL = TX.Loop  

TX.Spur = {  
shield = "Texas Spur %route%.svg",  
base = "Texas State Highway Spur %route%",  
name = "State Highway Spur %route%",  
link = "Texas State Highway Spur %route%" .. suffix2,  
abbr = "Spur&nbsp;%route%"  
}  
TX.SS = TX.Spur  

-- FM/RM types  
TX.FM = {  
shield = "Texas FM %route%.svg",  
name = "Farm to Market Road %route%",  
base = "Farm to Market Road %route%",  
link = "Farm to Market Road %route%",  
abbr = "FM&nbsp;%route%"  
}  
TX.Farm = TX.FM  

TX.RM = {  
shield = "Texas RM %route%.svg",  
base = "Ranch to Market Road %route%",  
name = "Ranch to Market Road %route%",  
link = "Ranch to Market Road %route%",  
abbr = "RM&nbsp;%route%"  
}  
TX.Ranch = TX.RM  

for _,type in ipairs({"FM", "RM"}) do  
for _,year in ipairs({"1956"}) do  
TX[type .. "-" .. year] = {  
shield = format("Texas %s %%route%% (%s).svg", type, year),  
name = TX[type].name,  
link = TX[type].link,  
abbr = TX[type].abbr,  
}  
end  
end  
TX["FM 1956"] = TX["FM-1956"]  

for _,type in ipairs({"FM", "RM"}) do  
for _,auxType in ipairs({"Bus", "Loop", "Spur"}) do  
local spec = TX[" aux "][auxType]  
TX[type .. "-" .. auxType] = {  
name = TX[type].name .. " " .. spec.name,  
link = TX[type].base .. " " .. spec.name .. suffix2,  
abbr = type .. " " .. spec.abbrsuffix .. " %route%",  
aux = spec.aux,  
}  
end  
end  
TX["FM-Bus"].shield = "Texas Business FM %route%.svg"  
TX["FM-Loop"].shield = TX.Loop.shield  
TX["FM-Spur"].shield = TX.Spur.shield  

-- Misc SH types --  
TX.Park = {  
shield = "Texas Park Road %route%.svg",  
link = "Texas Park Road %route%",  
abbr = "PR&nbsp;%route%",  
color = "hist"  
}  
TX.PR = TX.Park  

TX.NASA = {  
shield = "Texas NASA Road %route%.svg",  
name = "NASA Road %route%",  
link = "NASA Road %route%",  
abbr = "NASA&nbsp;%route%"  
}  

TX.RR = {  
shield = "Texas RM %route%.svg",  
name = "Ranch Road %route%",  
link = "Ranch Road %route%",  
abbr = "RR&nbsp;%route%"  
}  

TX.RE = {  
shield = "Texas Recreational Road %route%.svg",  
name = "Recreational Road %route%",  
link = "Texas Recreational Road %route%",  
abbr = "RE&nbsp;%route%",  
color = "hist",  
bannersuffix = "brown"  
}  

TX["RE-Spur"] = {  
shield = TX.Spur.shield,  
name = TX.RE.name .. " Spur",  
link = TX.RE.name .. " Spur",  
abbr = "RE Spur&nbsp;%route%",  
color = "hist",  
aux = TX[" aux "].Spur,  
}  

TX.PA = {  
shield = {  
ifexists = true,  
default = "Texas PA %route%.svg",  
otherwise = ""  
},  
name = "Principal Arterial Road %route%",  
link = "Texas Principal Arterial Road %route%",  
abbr = "PA&nbsp;%route%"  
}  

-- add new types above this line if you want it to have the state highway browse and maint  
for k, v in pairs(TX) do if k:find ("^%a") then  
v.maint = "TxDOT"  
end  
end  

for k, v in pairs(TX) do if k:find ("%d") then  
v.maint = "Texas State Highway Department"  
end  
end  

TX.INTL = {  
shield = "Texas Spur 97.svg",  
name = "International Parkway",  
link = "International Parkway",  
abbr = "International Parkway"  
}  
TX.IP = TX.INTL  

local tollAbbrs = {  
default = TX.SH.abbr .. " Toll",  
Hardy = "Hardy Toll Road",  
HTR = "Hardy Toll Road",  
["Sam Houston"] = "Sam Houston Tollway",  
SHT = "Sam Houston Tollway",  
Tomball = "Tomball Tollway",  
TBT = "Tomball Tollway",  
Westpark = "Westpark Tollway",  
WPT = "Westpark Tollway",  
CTP = "Chisholm Trail Parkway",  
DNT = "Dallas North Tollway",  
PGBT = "Pres. George Bush Turnpike",  
SRT = "Sam Rayburn Tollway",  
FBT = "Fort Bend Tollway",  
FBPTR = "Fort Bend Parkway Toll Road", --is Tollroad one word as signed on SH 6?  
["Fort Bend Westpark"] = "Fort Bend Westpark Tollway",  
FBWPT = "Fort Bend Westpark Tollway",  
KFML = "I-10 Toll (Katy Tollway)",  
["1"] = "Loop %route% Toll",  
["49"] = "Loop %route% Toll",  
["71"] = "71 Toll Lanes",  
["183"] = "183 Toll Road",  
["183A"] = "183A Toll Road",  
["290"] = "290 Toll Road"  
}  

--Toll maint  
local BCTRA = "Brazoria County Toll Road Authority"  
local CTRMA = "Central Texas Regional Mobility Authority"  
local CTTP = "Central Texas Turnpike Project"  
local FBCTRA = "Fort Bend County Toll Road Authority"  
local HCTRA = "Harris County Toll Road Authority"  
local MCTRA = "Montgomery County Toll Road Authority"  
local NETRMA = "North East Texas Regional Mobility Authority"  
local NTTA = "North Texas Tollway Authority"  

-- Toll types  
TX.Toll = {  
shield = {  
default = "Toll Texas %route% new.svg",  
Hardy = "Hardy Toll Road.svg",  
HTR = "Hardy Toll Road.svg",  
["Sam Houston"] = "Sam Houston Tollway.svg",  
SHT = "Sam Houston Tollway.svg",  
Tomball = "Tomball Tollway.svg",  
TBT = "Tomball Tollway.svg",  
Westpark = "Westpark Tollway.svg",  
WPT = "Westpark Tollway.svg",  
FBT = "Fort Bend Toll Road.svg",  
FBPTR = "",  
["Fort Bend Westpark"] = "",  
FBWPT = "",  
KFML= "Toll Texas Interstate Highway 10.svg",  
["71"] = "71 Toll Lane free.svg",  
["183"] = "183 Toll Road free.svg",  
["183A"] = "183A Toll Road free.svg",  
["290"] = "290 Toll Road free.svg"  
},  
shieldmain = {  
default = "Toll Texas %route% new.svg",  
Hardy = "Hardy Toll Road.svg",  
HTR = "Hardy Toll Road.svg",  
["Sam Houston"] = "Sam Houston Tollway.svg",  
SHT = "Sam Houston Tollway.svg",  
Tomball = "Tomball Tollway.svg",  
TBT = "Tomball Tollway.svg",  
Westpark = {  
hook = "pagename",  
article = "Westpark Tollway",  
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},  
default = "Westpark Tollway.svg"  
},  
WPT = {  
hook = "pagename",  
article = "Westpark Tollway",  
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},  
default = "Westpark Tollway.svg"  
},  
FBT = {  
hook = "pagename",  
article = "Fort Bend Parkway",  
iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"},  
default = "Fort Bend Toll Road.svg"  
},  
FBPTR = {  
hook = "pagename",  
article = "Fort Bend Parkway",  
iftrue = {"Fort Bend Parkway Toll Road logo.png", "Fort Bend Toll Road.svg"},  
default = "Fort Bend Toll Road.svg"  
},  
["Fort Bend Westpark"] = {  
hook = "pagename",  
article = "Westpark Tollway",  
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},  
default = "Westpark Tollway.svg"  
},  
FBWPT = {  
hook = "pagename",  
article = "Westpark Tollway",  
iftrue = {"Fort Bend Westpark Tollway logo.png", "Westpark Tollway.svg"},  
default = "Westpark Tollway.svg"  
},  
CTP = "Toll Texas Chisholm Trail Parkway.svg",  
DNT = "Toll Texas Dallas North Tollway.svg",  
PGBT = "Toll Texas President George Bush Turnpike.svg",  
SRT = "Toll Texas Sam Rayburn Tollway.svg",  
KFML= "Toll Texas Interstate Highway 10.svg",  
["71"] = "71 Toll Lane.svg", -- also has free version  
["183"] = "183 Toll Road.svg", -- also has free version  
["183A"] = "183A Toll Road.svg", -- also has free version  
["290"] = "290 Toll Road.svg" -- also has free version  
},  
name = tollAbbrs,  
link = {  
default = TX.SH.link,  
Hardy = "Hardy Toll Road",  
HTR = "Hardy Toll Road",  
["Sam Houston"] = "Sam Houston Tollway",  
SHT = "Sam Houston Tollway",  
Tomball = "Tomball Tollway",  
TBT = "Tomball Tollway",  
Westpark = "Westpark Tollway",  
WPT = "Westpark Tollway",  
CTP = "Chisholm Trail Parkway",  
DNT = "Dallas North Tollway",  
PGBT = "President George Bush Turnpike",  
SRT = "Sam Rayburn Tollway",  
FBT = "Fort Bend Tollway",  
FBPTR = "Fort Bend Parkway Toll Road",  
["Fort Bend Westpark"] = "Fort Bend Westpark Tollway",  
FBWPT = "Fort Bend Westpark Tollway",  
KFML = "Katy Tollway",  
["1"] = TX.Loop.link,  
["49"] = TX.Loop.link,  
["71"] = "71 Toll Lanes",  
["183"] = "183 Toll Road",  
["183A"] = "183A Toll Road",  
["290"] = "290 Toll Road"  
},  
abbr = tollAbbrs,  
bannersuffix = {  
default = "blue",  
["Sam Houston"] = "HCTRA",  
SHT = "HCTRA",  
Westpark = "HCTRA",  
WPT = "HCTRA",  
Tomball = "HCTRA",  
TBT = "HCTRA",  
["Fort Bend Westpark"] = "HCTRA",  
FBWPT = "HCTRA",  
Hardy = "HCTRA",  
HTR = "HCTRA",  
FBT = "HCTRA",  
FBPTR = "HCTRA"  
},  
orientation = "upright",  
maint = {  
default = "",  
Hardy = HCTRA,  
HTR = HCTRA,  
["Sam Houston"] = HCTRA,  
SHT = HCTRA,  
Tomball = HCTRA,  
TBT = HCTRA,  
Westpark = FBCTRA .. " and " .. HCTRA,  
WPT = FBCTRA .. " and " .. HCTRA,  
CTP = NTTA,  
DNT = NTTA,  
PGBT = NTTA,  
SRT = NTTA,  
FBT = FBCTRA .. " and " .. HCTRA,  
FBPTR = FBCTRA .. " and " .. HCTRA,  
["Fort Bend Westpark"] = FBCTRA .. " and " .. HCTRA,  
FBWPT = FBCTRA .. " and " .. HCTRA,  
KFML = HCTRA,  
["1"] = CTTP,  
["45"] = CTTP,  
["49"] = NETRMA,  
["71"] = CTRMA,  
["130"] = CTTP,  
["183"] = CTRMA,  
["183A"] = CTRMA,  
["249"] = MCTRA,  
["288"] = BCTRA .. " and " .. TX.SH.maint,  
["290"] = CTRMA,  
["360"] = NTTA,  
["375"] = "Camino Real Regional Mobility Authority",  
["550"] = "Cameron County Regional Mobility Authority",  
}  
}  

TX.Both = {  
shield = {"Texas %route%.svg", "Toll Texas %route% new.svg"},  
name = TX.SH.name,  
link = TX.SH.link,  
abbr = TX.SH.abbr,  
width = 40,  
bannersuffix = {"", "blue"}  
}  

TX.AATT = {  
shield = "Toll Texas AATT new.svg",  
shieldmain = "Toll Texas Addison Airport Toll Tunnel.svg",  
name = "Addison Airport Toll Tunnel",  
link = "Addison Airport Toll Tunnel",  
abbr = "Addison Airport Toll Tunnel",  
orientation = "upright",  
bannersuffix = "blue",  
maint = NTTA  
}  

TX.DFW = {  
shield = "DFW Turnpike Shield.svg",  
name = "Dallas-Fort Worth Turnpike",  
link = "Dallas-Fort Worth Turnpike",  
abbr = "D/FW Turnpike"  
}  

TX.LLTB = {  
shield = "Toll Texas LLTB new.svg",  
shieldmain = "Toll Texas Lewisville Lake Toll Bridge.svg",  
name = "Lewisville Lake Toll Bridge",  
link = "Lewisville Lake Toll Bridge",  
abbr = "Lewisville Lake Toll Bridge",  
orientation = "upright",  
bannersuffix = "blue",  
maint = NTTA  
}  

TX.MCLB = {  
shield = "Toll Texas MCLB new.svg",  
shieldmain = "Toll Texas Mountain Creek Lake Bridge.svg",  
name = "Mountain Creek Lake Bridge",  
link = "Mountain Creek Lake Bridge",  
abbr = "Mountain Creek Lake Bridge",  
orientation = "upright",  
bannersuffix = "blue",  
maint = NTTA  
}  

TX["SH-Express"] = {  
shield = "%route% Express Lane free.svg",  
name = TX.SH.name .. " Express ",  
link = TX.SH.base .. " Express ".. suffix2,  
abbr = TX.SH.abbr .. " Express",  
banner = "",  
maint = {  
default = NTTA,  
["1"] = CTTP  
}  
}  

TX["Loop Dual"] = {  
shield = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"},  
shieldmain = {"Texas Loop %route%.svg", "Toll Texas %route% new.svg"},  
name = TX.Loop.name,  
link = TX.Loop.link,  
abbr = TX.Loop.abbr  
}  

TX["Loop-Express"] = {  
shield = {  
default = TX.Loop.shield, --actually has a special variant of the toll shield http://maps.google.com/maps?ll=32.820965,-97.201688&spn=0.012929,0.024784&t=m&z=16&layer=c&cbll=32.820896,-97.205511&panoid=coL0_PX6xfY9Ia3Rkrr8cA&cbp=12,353.63,,1,-8.72  
["1"] = "1 Express Lane free.svg"  
},  
name = "Loop %route% Express",  
link = TX.Loop.base .. " Express ".. suffix2,  
abbr = TX.Loop.abbr .. " Express",  
banner = "",  
bannersuffix = "blue",  
maint = {  
default = "",  
["1"] = CTRMA  
}  
}  

TX["SL-Express"] = TX["Loop-Express"]  

TX.CR.shield = {  
arg = "county",  
default = "",  
Brazoria = "Generic green square county %route%.svg"  
}  
TX.CR.maint = ""  
TX.CR.browse = ""  
TX.CR.browselinks = ""  

TX.MEX = {alias = {module = "MEX", type = "FH"}}  
TX["I-AR"] = {alias = {module = "USA/AR", type = "I"}}  
TX["US-AR"] = {alias = {module = "USA/AR", type = "US"}}  
TX.AR = {alias = {module = "USA/AR", type = "AR"}}  
TX.LA = {alias = {module = "USA/LA", type = "LA"}}  
TX.OK = {alias = {module = "USA/OK", type = "SH"}}  
TX.NM = {alias = {module = "USA/NM", type = "NM"}}  

return TX