﻿/* Country / States comboboxes */
function CountryChanged(country, stateControl)
{
    stateControl.BeginUpdate () ;
    try
    {
        while (stateControl.GetItemCount () > 0)
            stateControl.RemoveItem (0) ;

        AddOption(stateControl, "--None--", "") ;
        var selectedState = stateControl.GetValue() ;
        var selectedIndex = 0 ;

        if (country != "" && states[country])
            for (var i = 0; i < states[country].length; ++i)
            {
                var state = states[country][i] ;
                AddOption(stateControl, state, state);
                if (state == selectedState)
                    selectedIndex = i + 1 ;
            }
        stateControl.SetSelectedIndex (selectedIndex) ;
    }
    finally
    {
        stateControl.EndUpdate () ;
    }
}

function AddOption(control, text, value)
{
    control.AddItem(text, value);
}

/* States */
var states = new Object;

states["Australia"] = Array();
states["Canada"] = Array();
states["United States"] = Array();

states["Australia"].push("Australian Capital Territory");
states["Australia"].push("New South Wales");
states["Australia"].push("Northern Territory");
states["Australia"].push("Queensland");
states["Australia"].push("South Australia");
states["Australia"].push("Tasmania");
states["Australia"].push("Victoria");
states["Australia"].push("Western Australia");

states["United States"].push("AK");
states["United States"].push("AL");
states["United States"].push("AR");
states["United States"].push("AZ");
states["United States"].push("CA");
states["United States"].push("CO");
states["United States"].push("CT");
states["United States"].push("DC");
states["United States"].push("DE");
states["United States"].push("FL");
states["United States"].push("GA");
states["United States"].push("HI");
states["United States"].push("IA");
states["United States"].push("ID");
states["United States"].push("IL");
states["United States"].push("IN");
states["United States"].push("KS");
states["United States"].push("KY");
states["United States"].push("LA");
states["United States"].push("MA");
states["United States"].push("MD");
states["United States"].push("ME");
states["United States"].push("MI");
states["United States"].push("MN");
states["United States"].push("MO");
states["United States"].push("MS");
states["United States"].push("MT");
states["United States"].push("NC");
states["United States"].push("ND");
states["United States"].push("NE");
states["United States"].push("NH");
states["United States"].push("NJ");
states["United States"].push("NM");
states["United States"].push("NV");
states["United States"].push("NY");
states["United States"].push("OH");
states["United States"].push("OK");
states["United States"].push("OR");
states["United States"].push("PA");
states["United States"].push("RI");
states["United States"].push("SC");
states["United States"].push("SD");
states["United States"].push("TN");
states["United States"].push("TX");
states["United States"].push("UT");
states["United States"].push("VA");
states["United States"].push("VT");
states["United States"].push("WA");
states["United States"].push("WI");
states["United States"].push("WV");
states["United States"].push("WY");

states["Canada"].push("Alberta");
states["Canada"].push("British Columbia");
states["Canada"].push("Manitoba");
states["Canada"].push("New Brunswick");
states["Canada"].push("Newfoundland");
states["Canada"].push("Northwest Territories");
states["Canada"].push("Nova Scotia");
states["Canada"].push("Nunavut");
states["Canada"].push("Ontario");
states["Canada"].push("Prince Edward Island");
states["Canada"].push("Quebec");
states["Canada"].push("Saskatchewan");
states["Canada"].push("Yukon Territory");
