// State lists
var states = new Array();

states['United States'] = new Array('Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','Washington DC','West Virginia','Wisconsin','Wyoming');

// City lists
var cities = new Array();

cities['United States'] = new Array();
cities['United States']['Alabama'] = new Array('Anniston-Oxford','Auburn-Opelika','Birmingham','Decatur','Dothan','Florence-Muscle Shoals','Gadsden','Huntsville','Mobile','Montgomery','Tuscaloosa');
cities['United States']['Alaska'] = new Array('Anchorage','Fairbanks','Juneau');
cities['United States']['Arizona'] = new Array('Flagstaff','Lake Havasu','Phoenix','Prescott','Scottsdale','Tucson','Yuma');
cities['United States']['Arkansas'] = new Array('Fayetteville','Fort Smith','Hot Springs','Jonesboro','Little Rock','Pine Bluff','Texarkana');
cities['United States']['California'] = new Array('Bakersfield','Chico','El Centro','Fresno','Hanford-Corcoran','Los Angeles-Beverly Hills','Los Angeles-Downtown-Mid-Cities','Los Angeles-San Fernando Valley/Burbank','Los Angeles-San Gabriel Valley/Pasadena','Los Angeles-Santa Clarita-Antelope Valley','Los Angeles-South Bay-Torrance-Long Beach','Los Angeles-West LA-Santa Monica-Malibu','Madera','Marin County-North Bay','Merced','Modesto','Monterrey-Santa Cruz-Salinas','Napa','Oakland-East Bay','Orange County','Palo Alto-The Peninsula','Redding','Riverside-San Bernardino-Ontario-Palm Springs','Sacramento','Salinas','San Diego','San Francisco','San Jose-Silicon Valley-Sunnyvale-Santa Clara','San Luis Obispo-Paso Robles','Santa Barbara-Santa Maria-Goleta','Santa Cruz-Watsonville','Santa Rosa-Petaluma','Stockton','Vallejo-Fairfield','Ventura','Visalia-Porterville','Yuba City');
cities['United States']['Colorado'] = new Array('Aspen/Vail','Boulder','Colorado Springs','Denver','Fort Collins-Loveland','Grand Junction','Greeley','Pueblo');
cities['United States']['Connecticut'] = new Array('Bridgeport-Fairfield-Stamford-Norwalk','Hartford-West Hartford-East Hartford','New Haven-Milford','Norwich-New London','Waterbury');
cities['United States']['Delaware'] = new Array('Dover','Wilmington');
cities['United States']['Florida'] = new Array('Boca Raton','Brevard County-Melbourne-Titusville-Palm Bay','Deltona-Daytona Beach-Ormond Beach','Fort Lauderdale','Fort Myers-Cape Coral','Fort Pierce-Port St. Lucie','Fort Walton Beach-Crestview-Destin','Gainesville','Jacksonville','Lakeland-Winter Haven','Miami','Naples-Marco Island',' New Port Richey','Ocala','Orlando-Kissimmee','Palm Coast','Panama City-Lynn Haven','Pensacola-Ferry Pass-Brent','Port St. Lucie','Punta Gorda','Sarasota-Bradenton-Venice','Sebastian-Vero Beach','St. Petersburg-Clearwater','Tallahassee','Tampa','West Palm Beach');
cities['United States']['Georgia'] = new Array('Albany','Athens-Clarke County','Atlanta','Augusta-Richmond County','Brunswick','Columbus','Dalton','Gainesville','Hinesville-Fort Stewart','Macon','Rome','Savannah','Valdosta','Warner Robins');
cities['United States']['Hawaii'] = new Array('Hawaii','Kauai','Maui','Molokai','Oahu');
cities['United States']['Idaho'] = new Array('Boise City-Nampa','Coeur d Alene','Idaho Falls','Twin Falls-Pocatello');
cities['United States']['Illinois'] = new Array('Bloomington-Normal','Champaign-Urbana','Chicago','Danville','Decatur','East St. Louis-Granite City','Kankakee-Bradley','Moline-Rock Island','Peoria-Pekin','Rockford','Springfield');
cities['United States']['Indiana'] = new Array('Anderson','Bloomington','Elkhart-Goshen','Evansville','Fort Wayne','Indianapolis','Kokomo','Lafayette','Michigan City-La Porte','Muncie','South Bend','Terre Haute');
cities['United States']['Iowa'] = new Array('Ames','Cedar Rapids','Davenport','Des Moines','Dubuque','Iowa City','Sioux City','Waterloo-Cedar Falls');
cities['United States']['Kansas'] = new Array('Lawrence','Topeka','Wichita');
cities['United States']['Kentucky'] = new Array('Ashland','Bowling Green','Elizabethtown','Lexington-Fayette','Louisville/Jefferson County','Owensboro');
cities['United States']['Louisiana'] = new Array('Alexandria','Baton Rouge','Houma-Bayou Cane-Thibodaux','Lafayette','Lake Charles','Monroe','New Orleans','Shreveport-Bossier City');
cities['United States']['Maine'] = new Array('Bangor','Lewiston-Auburn','Portland-South Portland-Biddeford');
cities['United States']['Maryland'] = new Array('Annapolis','Baltimore','Frederick-Hagerstown','Montgomery County','Prince Georges County','Salisbury','Towson');
cities['United States']['Massachusetts'] = new Array('Boston','Fall River-Attleboro','Fitchburg-Leominster','Pittsfield','Springfield','Worcester');
cities['United States']['Michigan'] = new Array('Ann Arbor','Battle Creek','Bay City','Detroit','Flint-Saginaw','Grand Rapids','Holland-Grand Haven','Jackson','Kalamazoo-Portage','Lansing-East Lansing','Monroe','Muskegon-Norton Shores','Niles-Benton Harbor');
cities['United States']['Minnesota'] = new Array('Duluth','Minneapolis','St. Paul','Rochester','St. Cloud');
cities['United States']['Mississippi'] = new Array('Biloxi-Gulfport','Hattiesburg','Jackson','Pascagoula');
cities['United States']['Missouri'] = new Array('Columbia','Kansas City','Jefferson City','Joplin','Springfield','St. Joseph','St. Louis');
cities['United States']['Montana'] = new Array('Billings','Great Falls','Missoula');
cities['United States']['Nebraska'] = new Array('Lincoln','Omaha','Western');
cities['United States']['Nevada'] = new Array('Las Vegas','Reno');
cities['United States']['New Hampshire'] = new Array('Lawrence','Manchester','Nashua','Portsmouth-Rochester');
cities['United States']['New Jersey'] = new Array('Central Jersey','Northern Jersey','Southern Jersey');
cities['United States']['New Mexico'] = new Array('Albuquerque','Farmington','Las Cruces','Santa Fe');
cities['United States']['New York'] = new Array('Albany-Schenectady-Troy','Binghamton','Bronx','Brooklyn','Buffalo-Niagara Falls','Elmira','Glens Falls','Jamestown','Ithaca','Kingston',' Long Island','Manhattan','Nassau-Suffolk','Queens','Poughkeepsie-Newburgh-Middletown',' Rochester','Staten Island','Syracuse','Utica-Rome','Westchester');
cities['United States']['North Carolina'] = new Array('Asheville','Burlington','Charlotte','Durham','Fayetteville','Goldsboro','Greensboro-High Point','Greenville','Hickory-Morganton-Lenoir','Jacksonville','Raleigh-Cary','Rocky Mount','Wilmington','Winston-Salem');
cities['United States']['North Dakota'] = new Array('Bismarck','Fargo','Grand Forks');
cities['United States']['Ohio'] = new Array('Akron','Canton-Massillon','Cincinnati','Cleveland','Columbus','Dayton','Lima','Mansfield','Marietta-Lawrence','Sandusky','Springfield','Steubenville','Toledo','Youngstown-Warren');
cities['United States']['Oklahoma'] = new Array('Lawton','Oklahoma City','Tulsa');
cities['United States']['Oregon'] = new Array('Bend','Corvallis','Eugene-Springfield','Medford','Portland','Salem');
cities['United States']['Pennsylvania'] = new Array('Allentown-Bethlehem','Altoona','Erie','Harrisburg-Carlisle','Johnstown','Lancaster','Lebanon','Lehigh Valley','Main Line','Philadelphia','Pittsburgh','Reading','Scranton--Wilkes-Barre','State College','Williamsport','York-Hanover');
cities['United States']['Rhode Island'] = new Array('Providence');
cities['United States']['South Carolina'] = new Array('Anderson','Charleston-North Charleston','Columbia','Florence','Greenville-Mauldin-Easley','Spartanburg','Myrtle Beach-Conway-North Myrtle Beach','Sumter');
cities['United States']['South Dakota'] = new Array('Rapid City','Sioux Falls');
cities['United States']['Tennessee'] = new Array('Chattanooga','Clarksville','Jackson','Johnson City','Kingsport-Bristol','Knoxville','Memphis','Morristown','Nashville');
cities['United States']['Texas'] = new Array('Abilene','Amarillo','Arlington','Austin-Round Rock','Beaumont-Port Arthur','Brownsville-Harlingen','Bryan-College Station','Corpus Christi','Dallas','El Paso','Fort Worth','Houston','Killeen-Temple-Fort Hood','Laredo','Longview','Lubbock','Mcallen-Edinburg-Mission','Midland','Odessa','San Angelo','San Antonio','Sherman-Denison','Texarkana','Tyler','Victoria','Waco','Wichita Falls');
cities['United States']['Utah'] = new Array('Provo-Orem','Salt Lake City','Ogden-Clearfield','St. George','Logan');
cities['United States']['Vermont'] = new Array('Burlington-South Burlington');
cities['United States']['Virginia'] = new Array('Charlottesville','Danville','Lynchburg','Virginia Beach-Norfolk-Newport News','Richmond','Harrisonburg','Roanoke','Blacksburg-Christiansburg-Radford','Northern Virginia-Fairfax-Arlington-Alexandria','Winchester');
cities['United States']['Washington'] = new Array('Bellingham','Bremerton-Silverdale','Longview','Mount Vernon-Anacortes',' Olympia','Richland-Kennewick-Pasco','Seattle','Spokane','Tacoma','Yakima','Vancouver','Wenatchee');
cities['United States']['Washington DC'] = new Array('Washington DC');
cities['United States']['West Virginia'] = new Array('Charleston','Huntington','Martinsburg','Morgantown','Parkersburg','Wheeling','Weirton');
cities['United States']['Wisconsin'] = new Array('Appleton','Eau Claire','Fond du Lac','Green Bay','Janesville','La Crosse','Madison','Milwaukee','Oshkosh-Neenah','Racine','Sheboygan','Wausau','Superior');
cities['United States']['Wyoming'] = new Array('Casper','Cheyenne');



function setStates() {
  cntrySel = document.getElementById('country');
  stateList = states[cntrySel.value];
  changeSelect('state', stateList, stateList);
  setCities();
}

function setCities() {
  cntrySel = document.getElementById('country');
  stateSel = document.getElementById('state');
  cityList = cities[cntrySel.value][stateSel.value];
  changeSelect('city', cityList, cityList);
}

function changeSelect(fieldID, newOptions, newValues) {
  selectField = document.getElementById(fieldID);
  selectField.options.length = 0;
  for (i=0; i<newOptions.length; i++) {
    selectField.options[selectField.length] = new Option(newOptions[i], newValues[i]);
  }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  setStates();
});