'**** HEADER ************************************************************
'GEOLIB.PF3

'This program is the CONFIDENTIAL and PROPRIETARY property of Applied
'Resource Technologies, Inc.  Any unauthorized use, reproduction or
'transfer of this program is strictly prohibited.  This is an unpublished
'work, and is subject to limited distribution and restricted disclosure
'only.  ALL RIGHTS RESERVED.

'Copyright (c) 1990-1991 Applied Resource Technologies, Inc.
'2305 Cedar Springs Road, Suite 150, Dallas, Texas 75201 U.S.A.
'Voice: (214) 855-0449  FAX: (214) 969-7506  BBS: (214) 855-1347

'Description: geographical related accessory functions

'**** FUNCTION DECLARATIONS *********************************************
'library
'core
public   state2abrv()'  state abbreviation from name
public   abrv2state()'  state name from abbreviation
public   country2abrv() '  country abbreviation from name
public   abrv2country() '  country name from abbreviation
'**** VARIABLE DECLARATIONS *********************************************
'library
public ptstr currlib
'core
'**** CODE **************************************************************


MAIN
local ptpsl
ptpsl = "geolib"
'screen clear box scrheight-3 1 scrheight-3 scrwidth 0 0 no-border
'screen print scrheight-3 1 bginvpleasing bgstandard \
'             "Pop-Tools(tm)"&upper(ptpsl)& \
'             "(Copyright 1990-1991 Applied Resource Technologies, Inc.)"

if currlib = 0
     currlib = ptpsl
     lock module currlib
else
     if chr(32)|lower(currlib)|chr(32) !! chr(32)|ptpsl|chr(32)
          currlib = currlib & ptpsl
     end if
end if
if ptstr = 0
     ptstr = NULL
     lock module ptstr
end if
END MAIN


function abrv2state(abrv)
local state r
ptstr = NULL
r = 0
abrv=upper(abrv)
state = case abrv \
("AK","Alaska")("AL","Alabama")("AR","Arkansas")("AZ","Arizona") \
("CA","California")("CO","Colorado")("CT","Connecticut") \
("DC","Washington D. C.")("DE","Delaware")("FL","Florida")("GA","Georgia") \
("HI","Hawaii")("IA","Iowa")("ID","Idaho")("IL","Illinois")("IN","Indiana") \
("KS","Kansas")("KY","Kentucky")("LA","Louisiana")("MA","Massachusetts") \
("MD","Maryland")("ME","Maine")("MI","Michigan")("MN","Minnesota") \
("MO","Missouri")("MS","Mississippi")("MT","Montana")("NC","North Carolina") \
("ND","North Dakota")("NE","Nebraska")("NH","New Hampshire")("NJ","New Jersey") \
("NM","New Mexico")("NV","Nevada")("NY","New York")("OH","Ohio")("OK","Oklahoma") \
("OR","Oregon")("PA","Pennsylvania")("PR","Puerto Rico")("RI","Rhode Island") \
("SC","South Carolina")("SD","South Dakota")("TN","Tennessee")("TX","Texas") \
("UT","Utah")("VA","Virginia")("VI","Virgin Islands")("VT","Vermont") \
("WA","Washington")("WI","Wisconsin")("WV","West Virginia")("WY","Wyoming") \
else NULL
if state = NULL
     r = -1
else
     ptstr = state
end if
return (r)
end function'abrv2state()


function state2abrv(state)
local abrv r
r = 0
ptstr = NULL
abrv = case state \
("Alaska","AK")("Alabama","AL")("Arkansas","AR")("Arizona","AZ") \
("California","CA")("Colorado","CO")("Connecticut","CT") \
("Washington D.C.","DC")("Delaware","DE")("Florida","FL") \
("Georgia","GA")("Hawaii","HI")("Iowa","IA")("Idaho","ID") \
("Illinois","IL")("Indiana","IN")("Kansas","KS")("Kentucky","KY") \
("Louisiana","LA")("Massachusetts","MA")("Maryland","MD") \
("Maine","ME")("Michigan","MI")("Minnesota","MN")("Missouri","MO") \
("Mississippi","MS")("Montana","MT")("North Carolina","NC") \
("North Dakota","ND")("Nebraska","NE")("New Hampshire","NH") \
("New Jersey","NJ")("New Mexico","NM")("Nevada","NV") \
("New York","NY")("Ohio","OH")("Oklahoma","OK")("Oregon","OR") \
("Pennsylvania","PA")("Puerto Rico","PR")("Rhode Island","RI") \
("South Carolina","SC")("South Dakota","SD")("Tennessee","TN") \
("Texas","TX")("Utah","UT")("Virginia","VA")("Virgin Islands","VI") \
("Vermont","VT")("Washington","WA")("Wisconsin","WI") \
("West Virginia","WV")("Wyoming","WY") \
else NULL
if abrv = NULL
     r = -1
else
     ptstr = abrv
end if
return (r)
end function  'state2abrv()



function abrv2country(abrv)
local country r
r = 0
ptstr = NULL
abrv = upper(abrv)
country = case abrv \
("AFG","Afganistan")("ALB","Albania")("ALG","Algeria")("AMS","American Samoa") \
("AND","Andorra")("ANG","Angola")("AGL","Anguilla")("ANT","Antigua and Barbuda") \
("ARG","Argentina")("AUS","Austria")("AUT","Australia")("BAH","Bahamas") \
("BHR","Bahrain")("BAN","Bangladesh")("BAR","Barbados")("BLG","Belgium") \
("BLZ","Belize")("BEN","Benin")("BER","Bermuda")("BHU","Bhutan")("BOL","Bolivia") \
("BOP","Bophuthatswana")("BOT","Botswana")("BRZ","Brazil")("BRU","Brunei") \
("BUL","Bulgaria")("BRF","Burkina Faso")("BUR","Burma")("BRD","Burundi") \
("CMB","Cambodia")("CMR","Cameroon")("CAN","Canada")("CPV","Cape Verde") \
("CAR","Caroline Islands")("CAY","Cayman Islands")("CFR","Central African Republic") \
("CHD","Chad")("CNI","Channel Islands")("CHL","Chile")("CHN","China")("CIS","Ciskei") \
else NULL

if country = NULL
country = case abrv \
("CLB","Colombia")("CMR","Comoros")("CNG","Congo")("CSR","Costa Rica")("CUB","Cuba") \
("CYP","Cyprus")("CZK","Czechoslovakia")("DEN","Denmark")("DJI","Djibouti") \
("DMC","Dominica")("DMR","Dominican Republic")("ECU","Ecuador")("EGY","Egypt") \
("ELS","El Salvador")("EQG","Equatorial Guinea")("ETH","Ethiopia")("FAI","Faeroe Islands") \
("FLK","Falkland Islands")("FIJ","Fiji")("FIN","Finland")("FRA","France") \
("FRG","French Guiana")("FRP","French Polynesia")("GAB","Gabon")("GAM","Gambia") \
("GER","Germany")("GHA","Ghana")("GIB","Gibraltar")("GLB","Gilbert Islands") \
("GRE","Greece")("GRN","Greenland")("GRD","Grenada")("GDP","Guadeloupe")("GUA","Guam") \
("GTM","Guatemala")("GUB","Guinea-Bissau")("GUI","Guinea")("GUY","Guyana")("HAI","Haiti") \
("HON","Honduras")("HKG","Hong Kong")("HUN","Hungary")("ICE","Iceland")("IND","India") \
else NULL
end if

if country = NULL
country = case abrv \
("IDN","Indonesia")("IRA","Iran")("IRQ","Iraq")("IRE","Ireland")("ISM","Isle of Man") \
("ISR","Israel")("ITA","Italy")("IVC","Ivory Coast")("JAM","Jamaica")("JAP","Japan") \
("JOR","Jordan")("CMB","Kampuchea")("KEN","Kenya")("KIR","Kiribati")("KUW","Kuwait") \
("LAO","Laos")("LEB","Lebanon")("LES","Lesotho")("LIB","Liberia")("LYA","Libya") \
("LIC","Liechtenstein")("LUX","Luxemburg")("MAC","Macao")("MAD","Madagascar") \
("MAW","Malawi")("MAL","Malaysia")("MDV","Maldives")("MLI","Mali")("MTA","Malta") \
("MRN","Mariana Islands")("MAR","Marshall Islands")("MRQ","Martinique")("MAU","Mauritania") \
("MRT","Mauritius")("MAY","Mayotte")("MEX","Mexico")("MIC","Micronesia")("MON","Monaco") \
("MNG","Mongolia")("MTS","Montserrat")("MOR","Morocco")("MOZ","Mozambique")("SWA","Namibia") \
("NAU","Nauru")("NEP","Nepal")("NTA","Netherlands Antilles")("NCD","New Caledonia") \
else NULL
end if

if country = NULL
country = case abrv \
("NGU","New Guinea")("NWZ","New Zealand")("NIC","Nicaragua")("NGA","Nigeria")("NGR","Niger") \
("NIU","Niue")("NKO","North Korea")("NIR","Northern Ireland")("NOR","Norway")("OMA","Oman") \
("PAK","Pakistan")("PAN","Panama")("PNG","Papua New Guinea")("PAR","Paraguay")("PER","Peru") \
("PTI","Pitcairn Island")("POL","Poland")("POR","Portugal")("PUR","Puerto Rico") \
("QAT","Qatar")("REU","Reunion")("ROM","Romania")("RWA","Rwanda")("SMR","San Marino") \
("STP","Sao Tome and Principe")("SAU","Saudi Arabia")("SEN","Senegal")("SEY","Seychelles") \
("SIE","Sierra Leone")("SNG","Singapore")("SOL","Solomon Islands")("SOM","Somalia") \
("SAF","South Africa")("SKO","South Korea")("SWA","South-west Africa")("USR","Soviet Union") \
("SPA","Spain")("SRI","Sri Lanka")("SKN","St. Kitts and Nevis") \
("SVG","St. Vincent and the Grenadines")("STH","St. Helena")("SLC","St. Lucia") \
else NULL
end if

if country = NULL
country = case abrv \
("SMQ","St. Pierre and Miquelon")("SUD","Sudan")("SUR","Suriname")("SWA","Swaziland") \
("SWE","Sweden")("SWI","Switzerland")("SYR","Syria")("TWN","Taiwan")("TAN","Tanzania") \
("THA","Thailand")("NET","The Netherlands")("PHI","The Philippines")("TOG","Togo") \
("TOK","Tokelau")("TON","Tonga")("TSK","Transkei")("TRI","Trinidad and Tobago") \
("TUN","Tunisia")("TUR","Turkey")("TCI","Turks and Caicos Islands")("TUV","Tuvalu") \
("UGA","Uganda")("UAE","United Arab Emirates")("UKG","United Kingdom")("USA","United States") \
("URU","Uruguay")("VAN","Vanuatu")("VAT","Vatican")("VDA","Venda")("VEN","Venezuela") \
("VIE","Vietnam")("VIB","Virgin Islands, British")("VIU","Virgin Islands, U.S.") \
("WFI","Wallis and Futuna Islands")("WSM","Western Samoa")("YEM","Yemen") \
("YAR","Yemen Arab republic")("YUG","Yugoslavia")("ZAI","Zaire")("ZAM","Zambia") \
("ZIM","Zimbabwe") \
else NULL
end if
if country = NULL
     r = -1
else
     ptstr = country
end if
return (r)
end function



function country2abrv(country)
local abrv r
r = 0
ptstr = NULL
country = lower(country)
abrv = case country \
("afganistan","AFG")("albania","ALB")("algeria","ALG")("american samoa","AMS") \
("andorra","AND")("angola","ANG")("anguilla","AGL")("antigua and barbuda","ANT") \
("argentina","ARG")("austria","AUS")("australia","AUT")("bahamas","BAH") \
("bahrain","BHR")("bangladesh","BAN")("barbados","BAR")("belgium","BLG") \
("belize","BLZ")("benin","BEN")("bermuda","BER")("bhutan","BHU")("bolivia","BOL") \
("bophuthatswana","BOP")("botswana","BOT")("brazil","BRZ")("brunei","BRU") \
("bulgaria","BUL")("burkina faso","BRF")("burma","BUR")("burundi","BRD") \
("cambodia","CMB")("cameroon","CMR")("canada","CAN")("cape verde","CPV") \
("caroline islands","CAR")("cayman islands","CAY")("central african republic","CFR") \
("chad","CHD")("channel islands","CNI")("chile","CHL")("china","CHN") \
else NULL

if abrv = NULL
abrv = case country \
("ciskei","CIS")("colombia","CLB")("comoros","CMR")("congo","CNG")("costa rica","CSR") \
("cuba","CUB")("cyprus","CYP")("czechoslovakia","CZK")("denmark","DEN") \
("djibouti","DJI")("dominica","DMC")("dominican republic","DMR")("ecuador","ECU") \
("egypt","EGY")("el salvador","ELS")("equatorial guinea","EQG") \
("ethiopia","ETH")("faeroe islands","FAI")("falkland islands","FLK")("fiji","FIJ") \
("finland","FIN")("france","FRA")("french guiana","FRG")("french polynesia","FRP") \
("gabon","GAB")("gambia","GAM")("germany","GER")("ghana","GHA")("gibraltar","GIB") \
("gilbert islands","GLB")("greece","GRE")("greenland","GRN")("grenada","GRD") \
("guadeloupe","GDP")("guam","GUA")("guatemala","GTM")("guinea-bissau","GUB") \
("guinea","GUI")("guyana","GUY")("haiti","HAI")("honduras","HON")("hong kong","HKG") \
else NULL
end if

if abrv = NULL
abrv = case country \
("hungary","HUN")("iceland","ICE")("india","IND")("indonesia","IDN")("iran","IRA") \
("iraq","IRQ")("ireland","IRE")("isle of man","ISM")("israel","ISR")("italy","ITA") \
("ivory coast","IVC")("jamaica","JAM")("japan","JAP")("jordan","JOR")("kampuchea","CMB") \
("kenya","KEN")("kiribati","KIR")("kuwait","KUW")("laos","LAO")("lebanon","LEB") \
("lesotho","LES")("liberia","LIB")("libya","LYA")("liechtenstein","LIC") \
("luxemburg","LUX")("macao","MAC")("madagascar","MAD")("malawi","MAW")("malaysia","MAL") \
("maldives","MDV")("mali","MLI")("malta","MTA")("mariana islands","MRN") \
("marshall islands","MAR")("martinique","MRQ")("mauritania","MAU")("mauritius","MRT") \
("mayotte","MAY")("mexico","MEX")("micronesia","MIC")("monaco","MON")("mongolia","MNG") \
("montserrat","MTS")("morocco","MOR")("mozambique","MOZ")("namibia","SWA") \
else NULL
end if

if abrv = NULL
abrv = case country \
("nauru","NAU")("nepal","NEP")("netherlands antilles","NTA")("new caledonia","NCD") \
("new guinea","NGU")("new zealand","NWZ")("nicaragua","NIC")("nigeria","NGA") \
("niger","NGR")("niue","NIU")("north korea","NKO")("northern ireland","NIR") \
("norway","NOR")("oman","OMA")("pakistan","PAK")("panama","PAN") \
("papua new guinea","PNG")("paraguay","PAR")("peru","PER")("pitcairn island","PTI") \
("poland","POL")("portugal","POR")("puerto rico","PUR")("quatar","QAT") \
("reunion","REU")("romania","ROM")("rwanda","RWA")("san marino","SMR") \
("sao tome and principe","STP")("saudi arabia","SAU")("senegal","SEN") \
("seychelles","SEY")("sierra leone","SIE")("singapore","SNG")("solomon islands","SOL") \
("somalia","SOM")("south africa","SAF")("south korea","SKO")("south-west africa","SWA") \
("soviet union","USR")("spain","SPA")("sri lanka","SRI")("st. kitts and nevis","SKN") \
else NULL
end if


if abrv = NULL
abrv = case country \
("st. vincent and the grenadines","SVG")("st. helena","STH")("st. lucia","SLC") \
("st. pierre and miquelon","SMQ")("sudan","SUD")("suriname","SUR")("swaziland","SWA") \
("sweden","SWE")("switzerland","SWI")("syria","SYR")("taiwan","TAIWAN") \
("tanzania","TAN")("thailand","THA")("the netherlands","NET")("the philippines","PHI") \
("togo","TOG")("tokelau","TOK")("tonga","TON")("transkei","TSK") \
("trinidad and tobago","TRI")("tunisia","TUN")("turkey","TUR") \
("turks and caicos islands","TCI")("tuvalu","TUV")("uganda","UGA") \
("united arab emirates","UAE")("united kingdom","UKG")("united states","USA") \
("upper volta","BRF")("uruguay","URU")("vanuatu","VAN")("vatican","VAT")("venda","VDA") \
("venezuela","VEN")("vietnam","VIE")("virgin islands, british","VIB") \
("virgin islands, u.s.","VIU")("wallis and futuna islands","WFI")("western samoa","WSM") \
("yemen","YEM")("yemen arab republic","YAR")("yugoslavia","YUG")("zaire","ZAI") \
("zambia","ZAM")("zimbabwe","ZIM") \
else NULL
end if
if abrv = NULL
     r = -1
else
     ptstr = abrv
end if
return (r)
end function



