        // used to maintain state between changes
        var currFirstLetter = "";
        var currVehicle = "";

        // object to save dd item data with postal code prefix tags
        function taggedOpt(value, text, tags)
        {
            this.value = value;
            this.text = text;
            this.tags = tags;
            this.matches = matchesTags;
        }
        
        // method for taggedOpt
        function matchesTags(tag)
        {
            return (this.tags.indexOf(tag.toUpperCase()) > -1);
        }
        
        // on change method for postal code field
        function Postalcode_chg(txt)
        {
            var firstLetter = '';
            if (txt.value.length > 0)
            {
                firstLetter = txt.value.substr(0, 1);
            }
            if (firstLetter != currFirstLetter)
            {
                currFirstLetter = firstLetter;
                Load_vehicles(firstLetter);
            }
        }
        
        // does the dirty work of changing the drop down
        function Load_vehicles(firstLetter)
        {
            var ddv = document.getElementById("dd_vehicle");
            if (ddv.selectedIndex > 0)
            {
                currVehicle = ddv.options[ddv.selectedIndex].value;
            }
            len = ddv.length;
            for (var i=len-1; i>0; i--)
            {
                ddv.remove(i);
            }
            ddv.disabled = true;
            if (firstLetter.length > 0)
            {
                for (var i=0; i<options.length; i++)
                {
                    if (options[i].matches(firstLetter))
                    {
                        AddSelectOption(ddv, options[i].text, options[i].value, (options[i].value == currVehicle))
                        ddv.disabled = false;
                    }
                }
            }
        }
        
        // utility function to manage drop down items
        function AddSelectOption(dd, text, value, isSelected) 
        {
            if (dd != null && dd.options != null)
            {
                dd.options[dd.options.length] = 
                    new Option(text, value, false, isSelected);
            }
        }


