function StateSuggestions() {
    this.states = [
"Abilene",
"Addison",
"Alamo",
"Alba",
"Albany",
"Aledo",
"Alice",
"Allen",
"Alpine",
"Alvarado",
"Alvin",
"Alvord",
"Amarillo",
"Anahuac",
"Andrews",
"Angleton",
"Anson",
"Anthony",
"Aransas Pass",
"Archer City",
"Arlington",
"Aspermont",
"Athens",
"Atlanta",
"Aubrey",
"Austin",
"Avinger",
"Azle",
"Bacliff",
"Balch Springs",
"Ballinger",
"Balmorhea",
"Bandera",
"Barksdale",
"Bastrop",
"Bay City",
"Baytown",
"Beaumont",
"Bedford",
"Beeville",
"Bellaire",
"Bellmead",
"Bellville",
"Belton",
"Ben Wheeler",
"Benbrook",
"Big Lake",
"Big Spring",
"Bishop",
"Blackwell",
"Blanco",
"Blessing",
"Blooming Grove",
"Boerne",
"Bonham",
"Booker",
"Borger",
"Bowie",
"Brackettville",
"Brady",
"Breckenridge",
"Brenham",
"Bridge City",
"Bridgeport",
"Broaddus",
"Bronte",
"Brookshire",
"Brownfield",
"Brownsboro",
"Brownsville",
"Brownwood",
"Bryan",
"Buchanan Dam",
"Buda",
"Buffalo",
"Buffalo Gap",
"Bullard",
"Burkburnett",
"Burkeville",
"Burleson",
"Burnet",
"Burton",
"Caldwell",
"Calvert",
"Cameron",
"Camp Wood",
"Canadian",
"Canton",
"Canyon",
"Canyon Lake",
"Carmine",
"Carrizo Springs",
"Carrollton",
"Carthage",
"Castroville",
"Cedar Creek",
"Cedar Hill",
"Cedar Park",
"Center",
"Center Point",
"Centerville",
"Channelview",
"Childress",
"Cisco",
"Clarendon",
"Clarksville",
"Claude",
"Cleburne",
"Cleveland",
"Clifton",
"Clute",
"Coldspring",
"Coleman",
"College Station",
"Colorado City",
"Columbus",
"Comanche",
"Comfort",
"Commerce",
"Concan",
"Conroe",
"Converse",
"Copperas Cove",
"Corpus Christi",
"Corsicana",
"Cotulla",
"Crockett",
"Crosby",
"Crosbyton",
"Crowell",
"Crystal City",
"Cuero",
"D Hanis",
"Daingerfield",
"Dalhart",
"Dallas",
"Dayton",
"De Leon",
"Deanville",
"Decatur",
"Deer Park",
"Del Rio",
"Del Valle",
"Denison",
"Denton",
"Denver City",
"Desoto",
"Devine",
"DFW Airport",
"Diboll",
"Dickens",
"Dickinson",
"Dilley",
"Dimmitt",
"Donna",
"Dripping Springs",
"Dublin",
"Dumas",
"Duncanville",
"Eagle Lake",
"Eagle Pass",
"Early",
"Eastland",
"Edinburg",
"Edna",
"El Campo",
"El Paso",
"Eldorado",
"Electra",
"Elgin",
"Elmendorf",
"Emory",
"Ennis",
"Euless",
"Evadale",
"Fabens",
"Fairfield",
"Falcon Heights",
"Falfurrias",
"Farmers Branch",
"Fayetteville",
"Fentress",
"Flatonia",
"Floresville",
"Flower Mound",
"Floydada",
"Forest Hill",
"Forney",
"Fort Davis",
"Fort Stockton",
"Fort Worth",
"Franklin",
"Frankston",
"Fredericksbg",
"Fredericksbrg",
"Fredericksburg",
"Freeport",
"Freer",
"Fresno",
"Friendswood",
"Friona",
"Frisco",
"Fulton",
"Gainesville",
"Galveston",
"Garland",
"Garrison",
"Gatesville",
"George West",
"Georgetown",
"Giddings",
"Gilmer",
"Gladewater",
"Glen Rose",
"Goldthwaite",
"Goliad",
"Gonzales",
"Gordon",
"Graford",
"Graham",
"Granbury",
"Grand Prairie",
"Grand Saline",
"Granite Shoals",
"Grapevine",
"Greenville",
"Groesbeck",
"Groom",
"Groves",
"Gruver",
"Gun Barrel City",
"Hallettsville",
"Haltom City",
"Hamilton",
"Hamlin",
"Hankamer",
"Harker Heights",
"Harleton",
"Harlingen",
"Haskell",
"Hawkins",
"Hearne",
"Hebbronville",
"Hemphill",
"Hempstead",
"Henderson",
"Henrietta",
"Hereford",
"Hewitt",
"Hico",
"Hidalgo",
"Higgins",
"High Island",
"Hillister",
"Hillsboro",
"Hitchcock",
"Hondo",
"Horseshoe Bay",
"Houston",
"Hubbard",
"Hughes Springs",
"Humble",
"Hunt",
"Huntsville",
"Hurst",
"Hutchins",
"Industry",
"Ingleside",
"Ingram",
"Iola",
"Iraan",
"Iredell",
"Irving",
"Jacksboro",
"Jacksonville",
"Jasper",
"Jefferson",
"Jewett",
"Johnson City",
"Jonesboro",
"Jourdanton",
"Junction",
"Justiceburg",
"Justin",
"Karnack",
"Karnes City",
"Katy",
"Kaufman",
"Kemah",
"Kemp",
"Kendalia",
"Kenedy",
"Kennedale",
"Kermit",
"Kerrville",
"Kilgore",
"Killeen",
"Kingsland",
"Kingsville",
"Kingwood",
"Kirbyville",
"Klondike",
"Knox City",
"Kountze",
"Kyle",
"La Feria",
"La Grange",
"La Joya",
"La Marque",
"La Porte",
"Lago Vista",
"Lajitas",
"Lake Dallas",
"Lake Jackson",
"Lake Worth",
"Lakeway",
"Lamesa",
"Lampasas",
"Lancaster",
"Laredo",
"Las Colinas",
"League City",
"Leakey",
"Leander",
"Leon Valley",
"Levelland",
"Lewisville",
"Liberty",
"Lindale",
"Lindsay",
"Littlefield",
"Live Oak",
"Livingston",
"Llano",
"Lockhart",
"Lone Star",
"Longview",
"Los Fresnos",
"Lost Pines",
"Lubbock",
"Lufkin",
"Luling",
"Lumberton",
"Lytle",
"Mabank",
"Madisonville",
"Magnolia",
"Malakoff",
"Manchaca",
"Manor",
"Mansfield",
"Manvel",
"Marathon",
"Marble Falls",
"Marfa",
"Marlin",
"Marshall",
"Mart",
"Mason",
"Matador",
"Matagorda",
"Mathis",
"Mc Camey",
"Mc Gregor",
"Mc Kinney",
"Mcallen",
"Mckinney",
"Mclean",
"Medina",
"Memphis",
"Menard",
"Mercedes",
"Meridian",
"Merkel",
"Mesquite",
"Mexia",
"Midland",
"Midlothian",
"Milam",
"Milano",
"Mineola",
"Mineral Wells",
"Mission",
"Monahans",
"Montgomery",
"Mount Pleasant",
"Mount Vernon",
"Muenster",
"Muleshoe",
"Nacogdoches",
"Navasota",
"Nederland",
"New Boston",
"New Braunfels",
"New Ulm",
"Newton",
"Nocona",
"North Richland Hills",
"Odem",
"Odessa",
"Oglesby",
"Olmito",
"Olney",
"Olton",
"Omaha",
"Onalaska",
"Orange",
"Orange Grove",
"Ore City",
"Ozona",
"Paducah",
"Palacios",
"Palestine",
"Palmer",
"Palo Pinto",
"Pampa",
"Panhandle",
"Pantego",
"Paradise",
"Paris",
"Pasadena",
"Pearland",
"Pearsall",
"Pecos",
"Penitas",
"Perryton",
"Pharr",
"Pilot Point",
"Pittsburg",
"Plainview",
"Plano",
"Pleasanton",
"Point",
"Port Aransas",
"Port Arthur",
"Port Bolivar",
"Port Isabel",
"Port Lavaca",
"Port Mansfield",
"Port O Connor",
"Porter",
"Portland",
"Post",
"Pottsboro",
"Prairie View",
"Premont",
"Presidio",
"Proctor",
"Prosper",
"Quanah",
"Quitman",
"Rancho Viejo",
"Ranger",
"Rankin",
"Raymondville",
"Red Oak",
"Refugio",
"Reno",
"Rhome",
"Richardson",
"Richmond",
"Rio Grande City",
"River Oaks",
"Riviera",
"Roanoke",
"Robert Lee",
"Robstown",
"Rockdale",
"Rockport",
"Rocksprings",
"Rockwall",
"Roma",
"Rosenberg",
"Rotan",
"Round Rock",
"Round Top",
"Rowlett",
"Royse City",
"Rule",
"Rusk",
"Sabinal",
"Saginaw",
"Saint Jo",
"Salado",
"San Angelo",
"San Antonio",
"San Augustine",
"San Benito",
"San Elizario",
"San Juan",
"San Marcos",
"San Saba",
"San Ygnacio",
"Sanderson",
"Sanger",
"Santa Anna",
"Sarita",
"Schertz",
"Schulenburg",
"Scroggins",
"Seabrook",
"Seadrift",
"Seagoville",
"Seagraves",
"Sealy",
"Seguin",
"Selma",
"Seminole",
"Seymour",
"Shamrock",
"Shavano Park",
"Shepherd",
"Sherman",
"Shiner",
"Sierra Blanca",
"Silsbee",
"Sinton",
"Slaton",
"Smithville",
"Snyder",
"Somerville",
"Sonora",
"Sour Lake",
"South Houston",
"South Padre Island",
"Southlake",
"Spearman",
"Spring",
"Spring Branch",
"Spur",
"Stafford",
"Stamford",
"Stephenville",
"Stinnett",
"Stonewall",
"Stratford",
"Strawn",
"Sugar Land",
"Sulphur Springs",
"Sunnyvale",
"Sunrise Beach",
"Sunset Valley",
"Surfside Beach",
"Sweetwater",
"Taft",
"Tahoka",
"Talco",
"Tatum",
"Taylor",
"Teague",
"Temple",
"Tenaha",
"Terlingua",
"Terrell",
"Texarkana",
"Texas City",
"Texline",
"The Colony",
"The Woodlands",
"Three Rivers",
"Tilden",
"Tivoli",
"Tomball",
"Trinity",
"Tulia",
"Tuscola",
"Tyler",
"Universal City",
"Utopia",
"Uvalde",
"Valera",
"Van",
"Van Horn",
"Vega",
"Vernon",
"Victoria",
"Vidor",
"Voss",
"Waco",
"Waller",
"Waxahachie",
"Weatherford",
"Webster",
"Weimar",
"Wellington",
"Weslaco",
"West",
"West Columbia",
"West Lake Hills",
"Westlake",
"Wharton",
"Wheeler",
"White Oak",
"White Settlement",
"Whitesboro",
"Whitney",
"Wichita Falls",
"Wildorado",
"Willis",
"Willow Park",
"Wills Point",
"Wimberley",
"Winnie",
"Winnsboro",
"Winters",
"Wolfe City",
"Woodville",
"Woodway",
"Yantis",
"Yoakum",
"Yorktown",
"Zapata",
"Zavalla"];
}

StateSuggestions.prototype.requestSuggestions = function (oAutoSuggestControl /*:AutoSuggestControl*/,
                                                          bTypeAhead /*:boolean*/) {
    var aSuggestions = [];
    var sTextboxValue = oAutoSuggestControl.textbox.value;
    
    if (sTextboxValue.length > 0){
    	topsuggestion = null;
        for (var i=0; i < this.states.length; i++) { 
            if (this.states[i].toLowerCase().indexOf(sTextboxValue.toLowerCase()) == 0) {
                aSuggestions.push(this.states[i]);
		if (!topsuggestion) {topsuggestion = this.states[i];}
            } 
        }
    }

    oAutoSuggestControl.autosuggest(aSuggestions, bTypeAhead);
};

