function Dsy()
{
    this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
    this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
    if(typeof(this.Items[id]) == "undefined") 
        return false;
    return true;
}

function change(v)
{
    var str = "0";
    for(i = 0; i < v; i++)
    { 
        str += ("_" + (document.getElementById(s[i]).selectedIndex-1));
    }
    var ss = document.getElementById(s[v]);
    with(ss)
    {
        length = 0;
        options[0] = new Option(opt0[v], opt0[v]);
        if(v && document.getElementById(s[v-1]).selectedIndex > 0 || !v)
        {
            if(dsy.Exists(str))
            {
                ar = dsy.Items[str];
                for(i = 0; i < ar.length; i++)
                    options[length] = new Option(ar[i],ar[i]);
                //  if(v)options[1].selected = true;
                if(v)
                    options[0].selected = true;
            }
        }
        if(++v < s.length)
            change(v);
    }
}

var dsy = new Dsy();

dsy.add("0",["安徽","北京","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","天津","西藏","新疆","云南","浙江","重庆","香港","澳门","台湾"]);

dsy.add("0_0",["合肥","安庆","蚌埠","巢湖","池州","滁州","阜阳","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"]);
dsy.add("0_1",["北京"]);
dsy.add("0_2",["福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州"]);
dsy.add("0_3",["兰州","白银","定西","甘南","嘉峪关","金昌","酒泉","临夏","陇南","平凉","庆阳","天水","武威","张掖"]);
dsy.add("0_4",["广州","潮州","东莞","佛山","河源","惠州","江门","揭阳","茂名","梅州","清远","汕头","汕尾","韶关","深圳","阳江","云浮","湛江","肇庆","中山","珠海"]);
dsy.add("0_5",["南宁","百色","北海","崇左","防城港","桂林","贵港","河池","贺州","来宾","柳州","钦州","梧州","玉林"]);
dsy.add("0_6",["贵阳","安顺","毕节","六盘水","黔东南州","黔南州","黔西南州","铜仁","遵义"]);
dsy.add("0_7",["海口","白沙","保亭","昌江","澄迈","定安","东方","乐东","临高","陵水","琼海","琼中","三亚","屯昌","万宁","文昌","五指山","儋州"]);
dsy.add("0_8",["石家庄","保定","沧州","承德","邯郸","衡水","廊坊","秦皇岛","唐山","邢台","张家口"]);
dsy.add("0_9",["郑州","安阳","鹤壁","济源","焦作","开封","洛阳","南阳","平顶山","三门峡","商丘","新乡","信阳","许昌","周口","驻马店","漯河","濮阳"]);
dsy.add("0_10",["哈尔滨","大庆","大兴安岭","鹤岗","黑河","鸡西","佳木斯","牡丹江","七台河","齐齐哈尔","双鸭山","绥化","伊春"]);
dsy.add("0_11",["武汉","鄂州","恩施","黄冈","黄石","荆门","荆州","潜江","老河口","十堰","随州","天门","仙桃","咸宁","襄樊","孝感","宜昌"]);
dsy.add("0_12",["长沙","常德","郴州","衡阳","怀化","娄底","邵阳","湘潭","湘西","益阳","永州","岳阳","张家界","株洲"]);
dsy.add("0_13",["长春","白城","白山","吉林","辽源","四平","松原","通化","延边"]);
dsy.add("0_14",["南京","常州","淮安","连云港","南通","苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江"]);
dsy.add("0_15",["南昌","抚州","赣州","吉安","景德镇","九江","萍乡","上饶","新余","宜春","鹰潭"]);
dsy.add("0_16",["沈阳","鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦岛","锦州","辽阳","盘锦","铁岭","营口"]);
dsy.add("0_17",["呼和浩特","阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟"]);
dsy.add("0_18",["银川","固原","石嘴山","吴忠"]);
dsy.add("0_19",["西宁","果洛","海北","海东","海南","海西","黄南","玉树"]);
dsy.add("0_20",["济南","滨州","德州","东营","菏泽","济宁","莱芜","聊城","临沂","青岛","日照","泰安","威海","潍坊","烟台","枣庄","淄博"]);
dsy.add("0_21",["太原","长治","大同","晋城","晋中","临汾","吕梁","朔州","忻州","阳泉","运城"]);
dsy.add("0_22",["西安","安康","宝鸡","汉中","商洛","铜川","渭南","咸阳","延安","榆林"]);
dsy.add("0_23",["上海"]);
dsy.add("0_24",["成都","阿坝","巴中","达川","德阳","甘孜","广安","广元","乐山","凉山","眉山","绵阳","南充","内江","攀枝花","遂宁","雅安","宜宾","资阳","自贡","泸州"]);
dsy.add("0_25",["天津"]);
dsy.add("0_26",["拉萨","阿里","昌都","林芝","那曲","日喀则","山南"]);
dsy.add("0_27",["乌鲁木齐","阿克苏","阿拉尔","巴音郭勒","博尔塔勒","昌吉","哈密","和田","喀什","克拉玛依","克孜勒苏州","石河子","吐鲁番","伊犁"]);
dsy.add("0_28",["昆明","保山","楚雄","大理","德宏","迪庆","红河","丽江","临沧","怒江","曲靖","思茅","文山","西双版纳","玉溪","昭通"]);
dsy.add("0_29",["杭州","湖州","嘉兴","金华","丽水","宁波","绍兴","台州","温州","舟山","衢州"]);
dsy.add("0_30",["重庆"]);
dsy.add("0_31",["香港"]);
dsy.add("0_32",["澳门"]);
dsy.add("0_33",["台北","高雄","基隆","台中","台南","新竹","嘉义"]);

var opt0 = ["请选择","请选择"];
var s = ["province","city"];

function setup()
{
    for(i = 0; i < s.length-1; i++)
    {
        /*$(s[i]).onchange = function(){
             change(i+1);
        };*/
        $(s[i]).onchange = new Function("change("+(i+1)+")");
    }
    change(0);
}
