/*
[select]二级级联
版权归    海娃@www.51windows.Net所有
Abo Blog修改少数部分
*/

//定义分隔符，用于分割[select]变量
var TheSplit1 = "*"        //一级选项与一级选项之间的分隔符
var TheSplit2 = "|"        //一级选项与二级选项之间的分隔符
var TheSplit3 = "^"        //二级选项与二级选项之间的分隔符
var TheSplit4 = "@"        //选项文本与选项值的分隔符，可以省略[值为选项文本值]

/*
定义[select]框选项变量,这里以省市二级为例
例：一级选项一|二级选项一^二级选项二^二级选项三*一级选项二|*二级选项三|
*香港|*澳门
注:当一级选项没有二级下属时，请在后面加上TheSplit2分隔符，否帽关联将会出错，所以应该注意防止此类错误发生
如果选项文本与选项值不同时，请在选项文本后加上@值格式:[Text@Value]
如:北京@010|东城@0101^西城@0102
*/
var hwallselecttext = "北京市|北京市*天津市|天津市*上海市|上海市*重庆市|重庆市*湖南省|长沙市^娄底市^岳阳市^常德市^张家界市^怀化市^株洲市^永州市^湘潭市^湘西土家族苗族自治州^益阳市^衡阳市^邵阳市^郴州市*黑龙江省|哈尔滨市^七台河市^伊春市^佳木斯市^双鸭山市^大兴安岭地区^大庆市^牡丹江市^绥化市^鸡西市^鹤岗市^黑河市^齐齐哈尔市*云南省|昆明市^临沧市^丽江市^保山市^大理白族自治州^德宏傣族景颇族自治州^怒江傈傈族自治州^文山壮族苗族自治州^昭通市^普洱市^曲靖市^楚雄彝族自治州^玉溪市^红河哈尼族彝族自治州^西双版纳傣族自治州^迪庆藏族自治州*河南省|郑州市^三门峡市^信阳市^南阳市^周口市^商丘市^安阳市^平顶山市^开封市^新乡市^洛阳市^济源市^漯河市^濮阳市^焦作市^许昌市^驻马店市^鹤壁市*宁夏回族自治区|银川市^中卫市^吴忠市^固原市^石嘴山市*新疆维吾尔自治区|乌鲁木齐市^伊犁哈萨克自治州^克孜勒苏柯尔克孜自治州^克拉玛依市^博尔塔拉蒙古自治州^吐鲁番地区^和田地区^哈密地区^喀什地区^塔城地区^巴音郭楞蒙古自治州^昌吉回族自治州^直辖行政单位^阿克苏地区^阿勒泰地区*甘肃省|兰州市^临夏回族自治州^嘉峪关市^天水市^定西市^平凉市^庆阳市^张掖市^武威市^甘南藏族自治州^白银市^酒泉市^金昌市^陇南市*江西省|南昌市^上饶市^九江市^吉安市^宜春市^抚州市^新余市^景德镇市^萍乡市^赣州市^鹰潭市*浙江省|杭州市^丽水市^台州市^嘉兴市^宁波市^温州市^湖州市^绍兴市^舟山市^衢州市^金华市*海南省|海口市^万宁市^三亚市^东方市^临高县^乐东黎族自治县^五指山市^保亭黎族苗族自治县^儋州市^定安县^屯昌县^文昌市^昌江黎族自治县^澄迈县^琼中黎族苗族自治县^琼海市^白沙黎族自治县^西南中沙群岛办事处^陵水黎族自治县*内蒙古自治区|呼和浩特市^乌兰察布市^乌海市^兴安盟^包头市^呼伦贝尔市^巴彦淖尔市^赤峰市^通辽市^鄂尔多斯市^锡林郭勒盟^阿拉善盟*西藏自治区|拉萨市^山南地区^日喀则地区^昌都地区^林芝地区^那曲地区^阿里地区*四川省|成都市^乐山市^内江市^凉山彝族自治州^南充市^宜宾市^巴中市^广元市^广安市^德阳市^攀枝花市^泸州市^甘孜藏族自治州^眉山市^绵阳市^自贡市^资阳市^达州市^遂宁市^阿坝藏族羌族自治州^雅安市*河北省|石家庄市^保定市^唐山市^廊坊市^张家口市^承德市^沧州市^秦皇岛市^衡水市^邢台市^邯郸市*江苏省|南京市^南通市^宿迁市^常州市^徐州市^扬州市^无锡市^泰州市^淮安市^盐城市^苏州市^连云港市^镇江市*山西省|太原市^临汾市^吕梁市^大同市^忻州市^晋中市^晋城市^朔州市^运城市^长治市^阳泉市*福建省|福州市^三明市^南平市^厦门市^宁德市^泉州市^漳州市^莆田市^龙岩市*吉林省|长春市^吉林市^四平市^延边朝鲜族自治州^松原市^白城市^白山市^辽源市^通化市*湖北省|武汉市^仙桃市^十堰市^咸宁市^天门市^孝感市^宜昌市^恩施土家族苗族自治州^潜江市^神农架林区^荆州市^荆门市^襄樊市^鄂州市^随州市^黄冈市^黄石市*青海省|西宁市^果洛藏族自治州^海东地区^海北藏族自治州^海南藏族自治州^海西蒙古族藏族自治州^玉树藏族自治州^黄南藏族自治州*广西壮族自治区|南宁市^北海市^崇左市^来宾市^柳州市^桂林市^梧州市^河池市^玉林市^百色市^贵港市^贺州市^钦州市^防城港市*山东省|济南市^东营市^临沂市^威海市^德州市^日照市^枣庄市^泰安市^济宁市^淄博市^滨州市^潍坊市^烟台市^聊城市^莱芜市^菏泽市^青岛市*陕西省|西安市^咸阳市^商洛市^安康市^宝鸡市^延安市^榆林市^汉中市^渭南市^铜川市*辽宁省|沈阳市^丹东市^大连市^抚顺市^朝阳市^本溪市^盘锦市^营口市^葫芦岛市^辽阳市^铁岭市^锦州市^阜新市^鞍山市*广东省|广州市^东莞市^中山市^云浮市^佛山市^惠州市^揭阳市^梅州市^汕头市^汕尾市^江门市^河源市^深圳市^清远市^湛江市^潮州市^珠海市^肇庆市^茂名市^阳江市^韶关市*安徽省|合肥市^亳州市^六安市^安庆市^宣城市^宿州市^巢湖市^池州市^淮北市^淮南市^滁州市^芜湖市^蚌埠市^铜陵市^阜阳市^马鞍山市^黄山市*贵州省|贵阳市^六盘水市^安顺市^毕节地区^遵义市^铜仁地区*香港|香港*台湾|台湾*澳门|澳门"

//默认值，当选项值有相同时有bug。
var hwdefault_value =""

var hwallselecttextarr
hwallselecttextarr = hwallselecttext.split(TheSplit1)
hwArraylength = hwallselecttextarr.length
var hwwhere = new Array(hwArraylength);
hwwhere[0]= new hw_comefrom("请选择省份@","请选择城市@");

for (var hwl=0;hwl<hwArraylength;hwl++)
{
    eval(hwwhere[hwl+1] = new hw_comefrom(hwallselecttextarr[hwl].split(TheSplit2)[0],hwallselecttextarr[hwl].split(TheSplit2)[1]))
}

function hw_comefrom(hwSelect_s1,hwSelect_s2)
{
    this.hwSelect_s1 = hwSelect_s1;
    this.hwSelect_s2 = hwSelect_s2;
} 

function hw_select(boss,underling)
{
    with(document.getElementById(boss))
    {
        var hwSelect_s12 = options[selectedIndex].value;
    }
    for(hwi = 0;hwi < hwwhere.length;hwi ++)
    {
        if (hwwhere[hwi].hwSelect_s1.indexOf(TheSplit4)!=-1)
        {
            var hwThisV = hwwhere[hwi].hwSelect_s1.split(TheSplit4)[1]
        }
        else
        {
            var hwThisV = hwwhere[hwi].hwSelect_s1
        }
        if (hwThisV == hwSelect_s12)
        {
            hwSelect_s13 = (hwwhere[hwi].hwSelect_s2).split(TheSplit3);
            for(hwj = 0;hwj < hwSelect_s13.length;hwj++)
            {
                with(document.getElementById(underling))
                {
                    length = hwSelect_s13.length;
                    if (hwSelect_s13[hwj].indexOf(TheSplit4)!=-1)
                    {
                        options[hwj].text = hwSelect_s13[hwj].split(TheSplit4)[0]
                        options[hwj].value = hwSelect_s13[hwj].split(TheSplit4)[1]
                    }
                    else
                    {
                        options[hwj].text = hwSelect_s13[hwj];
                        options[hwj].value = hwSelect_s13[hwj];
                    }
                    var hwSelect_s14=options[selectedIndex].value;
                }
            }
        break;
        }
    }
}
function hw_init(boss,underling)
{
    with(document.getElementById(boss))
    {
        length = hwwhere.length;
        var hwm = 0
        for(hwk=0;hwk<hwwhere.length;hwk++)
        {
            if (hwwhere[hwk].hwSelect_s1.indexOf(TheSplit4)!=-1)
            {
                options[hwk].text = hwwhere[hwk].hwSelect_s1.split(TheSplit4)[0];
                options[hwk].value = hwwhere[hwk].hwSelect_s1.split(TheSplit4)[1];
                if (hwdefault_value.indexOf(hwwhere[hwk].hwSelect_s1.split(TheSplit4)[1])!=-1){hwm = hwk}
            }
            else
            {
                options[hwk].text = hwwhere[hwk].hwSelect_s1;
                options[hwk].value = hwwhere[hwk].hwSelect_s1;
                if (hwdefault_value.indexOf(hwwhere[hwk].hwSelect_s1)!=-1){hwm = hwk}
            }
        }
        selectedIndex = hwm
    }
}