# Module:Road data/strings/USA/VA

--[==[  
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"]`.  
]==]  

-- Virginia  
local VA = {}  

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

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

VA.I.link = "Interstate %route% (Virginia)"  

for k, v in pairs(VA) do if k:find ("^I") then  
v.link = VA.I.link  
end  
end  
VA["I-Express"].link = "Interstate %route% Express (Virginia)"  

VA.US.link = "U.S. Route %route% in Virginia"  

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

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

for _,type in ipairs({'US 1961'}) do  
for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Spur", "Toll"}) do  
local spec = VA[" aux "][auxType]  
VA[type .. "-" .. auxType] = {  
shield = VA[type].shield,  
name = VA[type].name .. " " .. spec.name,  
link = VA[type].base .. " " .. spec.name .. suffix,  
abbr = VA[type].abbr .. " " .. spec.abbrsuffix,  
banner = spec.bannerprefix .. " plate.svg",  
aux = spec.aux,  
width = VA[type].width  
}  
end  
end  

VA["US-Alt-Bus"] = {  
shield = VA.US.shield,  
name = VA["US-Alt"].name .. " Business",  
link = "U.S. Route %route% Alternate Business ([dab||%dab%, |]Virginia)",  
abbr = "US&nbsp;%route% Alt. Bus.",  
banner = "Business alternate plate.svg",,  
aux = VA[" aux "].Bus,  
}  

VA["US-Old"] = {  
shield = VA.US.shield,  
name = VA.US.name .. " Business",  
link = VA.US.link,  
abbr = VA.US.abbr,  
banner = "Old plate.svg",  
}  

VA.SR = {  
shield = {  
default = "Virginia %route%.svg",  
["90000"] = "",  
["90004"] = ""  
},  
shieldmain = {  
default = "Virginia %route%.svg",  
["102"] = {"Virginia %route%.svg", "WV-%route%.svg"},  
["311"] = {"Virginia %route%.svg", "WV-%route%.svg"},  
["90000"] = "",  
["90004"] = ""  
},  
base = "Virginia State Route %route%",  
name = {  
default = "State Route %route%",  
["102"] = "Virginia State Route %route% and  
West Virginia Route %route%",  
["311"] = "Virginia State Route %route% and  
West Virginia Route %route%"  
},  
link = "Virginia State Route %route%[dab|| (%dab%)|]",  
abbr = "SR&nbsp;%route%",  

}  
VA.VA = VA.SR  

VA.Sec = {  
shield = "Circle sign %route%.svg",  
name = VA.SR.name.default,  
link = {  
ifexists = true,  
arg = "county",  
default = "Virginia State Route %route% (%county% County)",  
otherwise = VA.SR.link  
},  
abbr = VA.SR.abbr  
}  

for _,type in ipairs({'SR', 'VA'}) do  
for _,auxType in ipairs({"Alt", "Bus", "Byp", "Truck", "Toll"}) do  
local spec = VA[" aux "][auxType]  
VA[type .. "-" .. auxType] = {  
shield = VA.SR.shield.default,  
name = VA.SR.name.default .. " " .. spec.name,  
link = VA.SR.base .. " " .. spec.name .. suffix2,  
abbr = VA.SR.abbr .. " " .. spec.abbrsuffix,  
banner = spec.bannerprefix .. " plate.svg",  
aux = spec.aux,  
width = VA.SR.width  
}  
end  
end  
VA["SR-Toll"].banner = "Toll plate yellow.svg"  
VA["VA-Toll"].banner = VA["SR-Toll"].banner  

for _,year in ipairs({"1918", "1924", "1956"}) do -- add 1980 when shields are made  
VA["SR " .. year] = {  
shield = format("Virginia %%route%% (%s).svg", year),  
base = VA.SR.base,  
name = VA.SR.name.default,  
link = VA.SR.link,  
abbr = VA.SR.abbr,,  
}  
end  
VA["VA 1924"] = VA["SR 1924"]  

VA.GWMP = {  
shield = "",  
name = "George Washington Memorial Parkway",  
link = "George Washington Memorial Parkway",  
abbr = "George Washington Parkway"  
}  

VA.Bike = {  
shield = "US Bike %route% (M1-8).svg",  
name = "%route%",  
link = "",  
abbr = "%route%"  
}  

VA.Byway = {  
shield = "Virginia D6-V1.svg",  
name = "Virginia Byway",  
link = "Virginia Byway",  
abbr = "Virginia Byway"  
}  

VA.ISR = {  
shield = {VA.I.shield, VA.SR.shield},  
shieldmain = {VA.I.shieldmain, VA.SR.shield},  
name = VA.I.name .. " and " .. VA.SR.name.default,  
link = "Interstate %route% and State Route %route% (Virginia)",  
abbr = "Route %route%",  
bannersuffix = {"blue", ""}  
}  

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

VA.KY = {alias = {module = "USA/KY", type = "KY"}}  
VA.MD = {alias = {module = "USA/MD", type = "MD"}}  
VA["I-MD"] = {alias = {module = "USA/MD", type = "I"}}  
VA.NC = {alias = {module = "USA/NC", type = "NC"}}  
VA.TN = {alias = {module = "USA/TN", type = "SR"}}  
VA["TN-Sec"] = {alias = {module = "USA/TN", type = "Sec"}}  
VA.WV = {alias = {module = "USA/WV", type = "WV"}}  
VA["US-WV"] = {alias = {module = "USA/WV", type = "US"}}  

return VA