function StateSuggestions() {
    this.states = [
"Acra",
"Adams",
"Addison",
"Albany",
"Albion",
"Alder Creek",
"Alexandria Bay",
"Alfred",
"Allegany",
"Altmar",
"Amagansett",
"Amenia",
"Amherst",
"Amityville",
"Amsterdam",
"Ancram",
"Andes",
"Angelica",
"Angola",
"Antwerp",
"Apalachin",
"Aquebogue",
"Arcade",
"Ardsley",
"Arkville",
"Armonk",
"Ashville",
"Astoria",
"Athens",
"Atlantic Beach",
"Attica",
"Au Sable Forks",
"Auburn",
"Aurora",
"Averill Park",
"Avoca",
"Avon",
"Bainbridge",
"Baldwinsville",
"Ballston Lake",
"Ballston Spa",
"Barneveld",
"Barryville",
"Batavia",
"Bath",
"Bay Shore",
"Bayport",
"Bayside",
"Beacon",
"Belfast",
"Bellerose",
"Bemus Point",
"Berlin",
"Bethpage",
"Big Indian",
"Binghamton",
"Black River",
"Blasdell",
"Bloomfield",
"Bloomington",
"Bloomville",
"Blue Mountain Lake",
"Bluff Point",
"Bohemia",
"Boiceville",
"Bolton Landing",
"Boonville",
"Bouckville",
"Bovina Center",
"Bowmansville",
"Brant Lake",
"Brantingham",
"Brentwood",
"Brewerton",
"Brewster",
"Bridgehampton",
"Broad Channel",
"Broadalbin",
"Brockport",
"Brocton",
"Bronx",
"Brookfield",
"Brooklyn",
"Buffalo",
"Burdett",
"Burnt Hills",
"Cairo",
"Calcium",
"Callicoon",
"Calverton",
"Cambridge",
"Camden",
"Camillus",
"Campbell Hall",
"Canaan",
"Canajoharie",
"Canandaigua",
"Canastota",
"Canton",
"Cape Vincent",
"Carle Place",
"Carmel",
"Caroga Lake",
"Carthage",
"Cassville",
"Castleton On Hudson",
"Cato",
"Catskill",
"Cazenovia",
"Centereach",
"Central Islip",
"Central Square",
"Central Valley",
"Chaffee",
"Chappaqua",
"Chateaugay",
"Chatham",
"Chautauqua",
"Cheektowaga",
"Cherry Valley",
"Chester",
"Chestertown",
"Childwold",
"Cincinnatus",
"Clarence",
"Claverack",
"Clayton",
"Clifton Park",
"Clifton Springs",
"Clinton",
"Cobleskill",
"Cohocton",
"Cohoes",
"Cold Spring",
"Colliersville",
"Commack",
"Conesus",
"Congers",
"Cooperstown",
"Copake",
"Copenhagen",
"Copiague",
"Corfu",
"Corning",
"Cornwall",
"Corona",
"Cortland",
"Cortlandt Manor",
"Coxsackie",
"Cranberry Lake",
"Craryville",
"Croton On Hudson",
"Crown Point",
"Cuba",
"Cutchogue",
"Dansville",
"Darien Center",
"De Ruyter",
"De Witt",
"Deansboro",
"Delhi",
"Depew",
"Deposit",
"Dexter",
"Diamond Point",
"Dover Plains",
"Downsville",
"Dryden",
"Dundee",
"Dunkirk",
"Durham",
"Eagle Bay",
"East Aurora",
"East Berne",
"East Durham",
"East Elmhurst",
"East Greenbush",
"East Hampton",
"East Marion",
"East Meadow",
"East Northport",
"East Patchogue",
"East Pembroke",
"East Pharsalia",
"East Quogue",
"East Rochester",
"East Rockaway",
"East Springfield",
"East Syracuse",
"Eldred",
"Elizabethtown",
"Ellenburg Center",
"Ellenville",
"Ellicottville",
"Elma",
"Elmhurst",
"Elmira",
"Elmont",
"Elmsford",
"Endicott",
"Fair Haven",
"Fairport",
"Falconer",
"Farmingdale",
"Farmington",
"Farmingville",
"Fayetteville",
"Ferndale",
"Fillmore",
"Findley Lake",
"Fishers Landing",
"Fishkill",
"Fleischmanns",
"Floral Park",
"Flushing",
"Fly Creek",
"Forest Hills",
"Forestburgh",
"Fort Ann",
"Fort Covington",
"Fort Drum",
"Fort Edward",
"Fort Montgomery",
"Frankfort",
"Franklin Square",
"Fredonia",
"Freeport",
"Frewsburg",
"Fulton",
"Fultonville",
"Gansevoort",
"Garden City",
"Gardiner",
"Garrison",
"Gasport",
"Geneseo",
"Geneva",
"Genoa",
"Getzville",
"Glen Cove",
"Glen Spey",
"Glen Wild",
"Glenmont",
"Glens Falls",
"Gloversville",
"Goshen",
"Gouverneur",
"Gowanda",
"Grand Gorge",
"Grand Island",
"Granville",
"Great Neck",
"Great Valley",
"Greene",
"Greenfield Center",
"Greenport",
"Greenville",
"Greenwich",
"Greenwood Lake",
"Guilderland",
"Hague",
"Haines Falls",
"Hamburg",
"Hamilton",
"Hammond",
"Hammondsport",
"Hampton",
"Hampton Bays",
"Hancock",
"Hannibal",
"Harrietstown",
"Harriman",
"Harrison",
"Hartford",
"Hauppauge",
"Haverstraw",
"Hawthorne",
"Henderson",
"Henderson Harbor",
"Henrietta",
"Hensonville",
"Herkimer",
"Hicksville",
"High Falls",
"Highland",
"Highland Falls",
"Highmount",
"Hillsdale",
"Himrod",
"Hobart",
"Hogansburg",
"Holbrook",
"Holley",
"Holtsville",
"Honeoye",
"Hoosick",
"Hopewell Junction",
"Hornell",
"Horseheads",
"Houghton",
"Howard Beach",
"Howes Cave",
"Hudson",
"Hunter",
"Huntington",
"Huntington Station",
"Hyde Park",
"Ilion",
"Indian Lake",
"Inlet",
"Inwood",
"Island Park",
"Islandia",
"Islip",
"Ithaca",
"Jackson Heights",
"Jamaica",
"Jamesport",
"Jamestown",
"Jamesville",
"Jay",
"Jefferson",
"Jeffersonvlle",
"Jericho",
"Johnson City",
"Johnstown",
"Keene",
"Keene Valley",
"Keeseville",
"Kenmore",
"Kent",
"Kerhonkson",
"Kew Gardens",
"Kingston",
"Kirkwood",
"Lacona",
"Lake George",
"Lake Grove",
"Lake Huntington",
"Lake Katrine",
"Lake Luzerne",
"Lake Placid",
"Lake Pleasant",
"Lakewood",
"Lancaster",
"Lansing",
"Latham",
"Lawrence",
"Le Roy",
"Leeds",
"Lewiston",
"Liberty",
"Lily Dale",
"Lima",
"Lindenhurst",
"Little Falls",
"Little Valley",
"Liverpool",
"Livingston Manor",
"Livonia",
"Lockport",
"Long Beach",
"Long Island City",
"Long Lake",
"Lowman",
"Lowville",
"Lynbrook",
"Lyons Falls",
"Madison",
"Mahopac",
"Malone",
"Malta",
"Mamaroneck",
"Manchester",
"Manhasset",
"Marathon",
"Margaretville",
"Marlboro",
"Masonville",
"Maspeth",
"Massapequa",
"Massapequa Park",
"Massena",
"Mastic",
"Mattituck",
"Mayville",
"Medford",
"Medina",
"Melville",
"Menands",
"Mendon",
"Merrick",
"Mexico",
"Middleburgh",
"Middletown",
"Milford",
"Millbrook",
"Miller Place",
"Millerton",
"Milton",
"Moira",
"Monroe",
"Montauk",
"Montezuma",
"Montgomery",
"Monticello",
"Montour Falls",
"Moravia",
"Morristown",
"Morrisville",
"Mount Kisco",
"Mount Morris",
"Mount Tremper",
"Mount Upton",
"Mount Vernon",
"Mountainville",
"Mumford",
"Munnsville",
"Nanuet",
"Nedrow",
"New City",
"New Hampton",
"New Hartford",
"New Haven",
"New Hyde Park",
"New Lebanon",
"New Paltz",
"New Rochelle",
"New Windsor",
"New York",
"Newark",
"Newburgh",
"Newcomb",
"Newfane",
"Newton Falls",
"Niagara Falls",
"North Creek",
"North Hudson",
"North Lawrence",
"North Syracuse",
"North Tonawanda",
"Northville",
"Norwich",
"Nyack",
"Ocean Beach",
"Oceanside",
"Odessa",
"Ogdensburg",
"Olcott",
"Old Forge",
"Olean",
"Oliverea",
"Oneida",
"Oneonta",
"Ontario",
"Orangeburg",
"Orchard Park",
"Oriskany",
"Oswego",
"Owego",
"Ozone Park",
"Painted Post",
"Palatine Bridge",
"Palenville",
"Palmyra",
"Parish",
"Patchogue",
"Paul Smiths",
"Pawling",
"Pearl River",
"Peekskill",
"Penn Yan",
"Pennellville",
"Perry",
"Peru",
"Phelps",
"Phoenicia",
"Phoenix",
"Pine Bush",
"Pine City",
"Pine Hill",
"Piseco",
"Pittsford",
"Plainview",
"Plattsburgh",
"Pleasant Valley",
"Poland",
"Pond Eddy",
"Port Byron",
"Port Chester",
"Port Ewen",
"Port Henry",
"Port Jefferson",
"Port Jervis",
"Port Washington",
"Potsdam",
"Pottersville",
"Poughkeepsie",
"Prattsburgh",
"Prattsville",
"Preble",
"Pulaski",
"Purchase",
"Queens Village",
"Queensbury",
"Quogue",
"Randolph",
"Ravena",
"Ray Brook",
"Red Hook",
"Redfield",
"Redwood",
"Rego Park",
"Remsen",
"Rensselaer",
"Rhinebeck",
"Rhinecliff",
"Richfield Springs",
"Richmond Hill",
"Richmondville",
"Ridgewood",
"Ripley",
"Riverhead",
"Rochester",
"Rock Hill",
"Rock Stream",
"Rockaway Park",
"Rockville Centre",
"Rome",
"Ronkonkoma",
"Roscoe",
"Rosedale",
"Roslyn",
"Round Top",
"Rouses Point",
"Roxbury",
"Rush",
"Rye",
"Rye Brook",
"Sackets Harbor",
"Sag Harbor",
"Sagaponack",
"Saint James",
"Saint Johnsville",
"Salamanca",
"Sandy Creek",
"Saranac Lake",
"Saratoga Springs",
"Sardinia",
"Saugerties",
"Sayville",
"Schenectady",
"Schoharie",
"Schroon Lake",
"Schuylerville",
"Scipio Center",
"Seneca Falls",
"Shandaken",
"Sharon Springs",
"Shelter Island",
"Shelter Island Heights",
"Shenorock",
"Sherburne",
"Sheridan",
"Sherman",
"Sherrill",
"Shirley",
"Shokan",
"Shushan",
"Sidney",
"Silver Bay",
"Silver Creek",
"Skaneateles",
"Smithtown",
"Somers",
"South Fallsburg",
"South Glens Falls",
"South Jamesport",
"South Ozone Park",
"South Salem",
"Southampton",
"Southold",
"Sparrow Bush",
"Speculator",
"Spencerport",
"Spring Glen",
"Spring Valley",
"Springfield Gardens",
"Springville",
"Stamford",
"Stanfordville",
"Staten Island",
"Stephentown",
"Sterling",
"Stone Ridge",
"Stony Brook",
"Stony Point",
"Stratford",
"Suffern",
"Sugar Loaf",
"Summit",
"Sunnyside",
"Swain",
"Swan Lake",
"Sylvan Beach",
"Syosset",
"Syracuse",
"Tannersville",
"Tarrytown",
"Thompsonville",
"Ticonderoga",
"Tivoli",
"Tonawanda",
"Troy",
"Trumansburg",
"Tuckahoe",
"Tully",
"Tupper Lake",
"Turin",
"Tuxedo Park",
"Ulster Park",
"Unadilla",
"Union Springs",
"Uniondale",
"Unionville",
"Upper Jay",
"Utica",
"Valatie",
"Valley Stream",
"Vernon",
"Vernon Center",
"Verona",
"Verona Beach",
"Vestal",
"Victor",
"Waddington",
"Wading River",
"Walden",
"Walker Valley",
"Wallkill",
"Walton",
"Wanakena",
"Wantagh",
"Wappingers Falls",
"Warners",
"Warrensburg",
"Warsaw",
"Warwick",
"Waterford",
"Waterloo",
"Watertown",
"Waterville",
"Watkins Glen",
"Waverly",
"Wayland",
"Wayne",
"Webster",
"Weedsport",
"Wellesley Island",
"Wells",
"Wellsville",
"West Babylon",
"West Coxsackie",
"West Eaton",
"West Harrison",
"West Hempstead",
"West Nyack",
"West Point",
"West Seneca",
"West Winfield",
"Westbury",
"Westfield",
"Westhampton",
"Westhampton Beach",
"Westmoreland",
"Westport",
"Westtown",
"White Lake",
"White Plains",
"Whitehall",
"Whitestone",
"Whitesville",
"Williamstown",
"Williamsville",
"Willsboro",
"Wilmington",
"Windham",
"Wingdale",
"Wolcott",
"Woodbourne",
"Woodbury",
"Woodhaven",
"Woodmere",
"Woodridge",
"Woodside",
"Woodstock",
"Wurtsboro",
"Wyoming",
"Yonkers",
"Youngstown",
"Yulan"];
}

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);
};

