/*---------------------------------------------------------------------------*\
|  Subject:       JavaScript联动菜单                                      |
|  Created:       Wainman www.PopTech.cn                                  |
\*---------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------*\
*                     1.变量定义　　　　　　　　　　　　　　　　　　　　　　 *
/*---------------------------------------------------------------------------*/　　　　　

//定义分隔符：splitchar1,splitchar2
var splitchar1,splitchar2 ;

splitchar1 = "|";
splitchar2 = "#";

//定义菜单级别MenuClass,菜单长度数组MenuLenArr,菜单名称数组MenuArr,下级菜单数组SubMenuArr，菜单ID数组MenuIdArr
var MenuLenArr,  SubMenuArr, SubMenuTxt
var MenuClass, MenuArr, MenuTxt
var MenuIdArr ;

//定义临时数组,子数组,数组长度,
var arr,txt,subarr,subtxt ;

MenuLenArr = new Array() ;
SubMenuArr = new Array() ;
SubMenuTxt = new Array() ;
MenuArr = new Array() ;
MenuTxt = new Array() ;
MenuIdArr  = new Array() ;

var SelectMenu ;

SelectMenu = new Array() ;


/*---------------------------------------------------------------------------*\
*                     2.变量赋值　(可通过程序写的代码)　  　　　　　　　　　 *
/*---------------------------------------------------------------------------*/



MenuClass = 2 ; //n级菜单


MenuIdArr[1] =	"Dis_Province";
MenuArr[1]   =	"11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65|71|81|82|90|91|92|93|94|95"
MenuTxt[1]   =	"北京市|天津市|河北省|山西省|内蒙古|辽宁省|吉林省|黑龙江|上海市|江苏省|浙江省|安徽省|福建省|江西省|山东省|河南省|湖北省|湖南省|广东省|广西省|海南省|重庆市|四川省|贵州省|云南省|西　藏|陕西省|甘肃省|青海省|宁夏省|新　疆|台湾省|香　港|澳　门|亚　洲|欧　洲|北美洲|南美洲|大洋洲|非　洲"

MenuIdArr[2] =	"Dis_City";
MenuArr[2]   =	"11#1101|12#1201|13#1301|13#1302|13#1303|13#1304|13#1305|13#1306|13#1307|13#1308|13#1309|13#1310|14#1401|14#1402|14#1403|14#1404|14#1405|14#1406|14#1407|14#1408|14#1409|14#1410|14#1411|15#1501|15#1502|15#1503|15#1504|15#1505|15#1506|15#1507|15#1508|15#1509|15#1522|15#1525|15#1529|21#2101|21#2102|21#2103|21#2104|21#2105|21#2106|21#2107|21#2108|21#2109|21#2110|21#2111|21#2112|21#2113|21#2114|22#2201|22#2202|22#2203|22#2204|22#2205|22#2206|22#2207|22#2208|22#2224|23#2301|23#2302|23#2303|23#2304|23#2305|23#2306|23#2307|23#2308|23#2309|23#2310|23#2311|23#2312|23#2327|31#3101|32#3201|32#3202|32#3203|32#3204|32#3205|32#3206|32#3207|32#3208|32#3209|32#3210|32#3211|32#3212|32#3213|33#3301|33#3302|33#3303|33#3304|33#3305|33#3306|33#3307|33#3308|33#3309|33#3310|33#3311|34#3401|34#3402|34#3403|34#3404|34#3405|34#3406|34#3407|34#3408|34#3410|34#3411|34#3412|34#3413|34#3414|34#3415|34#3416|34#3417|34#3418|35#3501|35#3502|35#3503|35#3504|35#3505|35#3506|35#3507|35#3508|35#3509|36#3601|36#3602|36#3603|36#3604|36#3605|36#3606|36#3607|36#3608|36#3609|36#3610|36#3611|37#3701|37#3702|37#3703|37#3704|37#3705|37#3706|37#3707|37#3708|37#3709|37#3710|37#3711|37#3712|37#3713|37#3714|37#3715|37#3716|37#3717|41#4101|41#4102|41#4103|41#4104|41#4105|41#4106|41#4107|41#4108|41#4109|41#4110|41#4111|41#4112|41#4113|41#4114|41#4115|41#4116|41#4117|42#4201|42#4202|42#4203|42#4205|42#4206|42#4207|42#4208|42#4209|42#4210|42#4211|42#4212|42#4213|42#4228|42#4290|43#4301|43#4302|43#4303|43#4304|43#4305|43#4306|43#4307|43#4308|43#4309|43#4310|43#4311|43#4312|43#4313|43#4331|44#4401|44#4402|44#4403|44#4404|44#4405|44#4406|44#4407|44#4408|44#4409|44#4412|44#4413|44#4414|44#4415|44#4416|44#4417|44#4418|44#4419|44#4420|44#4451|44#4452|44#4453|45#4501|45#4502|45#4503|45#4504|45#4505|45#4506|45#4507|45#4508|45#4509|45#4510|45#4511|45#4512|45#4513|45#4514|46#4601|46#4602|46#4690|50#5001|51#5101|51#5103|51#5104|51#5105|51#5106|51#5107|51#5108|51#5109|51#5110|51#5111|51#5113|51#5114|51#5115|51#5116|51#5117|51#5118|51#5119|51#5120|51#5132|51#5133|51#5134|52#5201|52#5202|52#5203|52#5204|52#5222|52#5223|52#5224|52#5226|52#5227|53#5301|53#5303|53#5304|53#5305|53#5306|53#5307|53#5308|53#5309|53#5323|53#5325|53#5326|53#5328|53#5329|53#5331|53#5333|53#5334|54#5401|54#5421|54#5422|54#5423|54#5424|54#5425|54#5426|61#6101|61#6102|61#6103|61#6104|61#6105|61#6106|61#6107|61#6108|61#6109|61#6110|62#6201|62#6202|62#6203|62#6204|62#6205|62#6206|62#6207|62#6208|62#6209|62#6210|62#6211|62#6212|62#6229|62#6230|63#6301|63#6321|63#6322|63#6323|63#6325|63#6326|63#6327|63#6328|64#6401|64#6402|64#6403|64#6404|64#6405|65#6501|65#6502|65#6521|65#6522|65#6523|65#6527|65#6528|65#6529|65#6530|65#6531|65#6532|65#6540|65#6542|65#6543|65#6590|71#7101|81#8101|82#8201|90#9001|90#9002|90#9003|90#9004|90#9005|90#9006|91#9101|91#9102|91#9103|92#9201|92#9202|93#9301|94#9401|95#9501"
MenuTxt[2]   =	"11#北京市|12#天津市|13#石家庄市|13#唐山市|13#秦皇岛市|13#邯郸市|13#邢台市|13#保定市|13#张家口市|13#承德市|13#沧州市|13#廊坊市|14#太原市|14#大同市|14#阳泉市|14#长治市|14#晋城市|14#朔州市|14#晋中市|14#运城市|14#忻州市|14#临汾市|14#吕梁市|15#呼和浩特市|15#包头市|15#乌海市|15#赤峰市|15#通辽市|15#鄂尔多斯市|15#呼伦贝尔市|15#巴彦淖尔市|15#乌兰察布市|15#兴安盟|15#锡林郭勒盟|15#阿拉善盟|21#沈阳市|21#大连市|21#鞍山市|21#抚顺市|21#本溪市|21#丹东市|21#锦州市|21#营口市|21#阜新市|21#辽阳市|21#盘锦市|21#铁岭市|21#朝阳市|21#葫芦岛市|22#长春市|22#吉林市|22#四平市|22#辽源市|22#通化市|22#白山市|22#松原市|22#白城市|22#延边朝鲜族自治州|23#哈尔滨市|23#齐齐哈尔市|23#鸡西市|23#鹤岗市|23#双鸭山市|23#大庆市|23#伊春市|23#佳木斯市|23#七台河市|23#牡丹江市|23#黑河市|23#绥化市|23#大兴安岭地区|31#上海市|32#南京市|32#无锡市|32#徐州市|32#常州市|32#苏州市|32#南通市|32#连云港市|32#淮安市|32#盐城市|32#扬州市|32#镇江市|32#泰州市|32#宿迁市|33#杭州市|33#宁波市|33#温州市|33#嘉兴市|33#湖州市|33#绍兴市|33#金华市|33#衢州市|33#舟山市|33#台州市|33#丽水市|34#合肥市|34#芜湖市|34#蚌埠市|34#淮南市|34#马鞍山市|34#淮北市|34#铜陵市|34#安庆市|34#黄山市|34#滁州市|34#阜阳市|34#宿州市|34#巢湖市|34#六安市|34#亳州市|34#池州市|34#宣城市|35#福州市|35#厦门市|35#莆田市|35#三明市|35#泉州市|35#漳州市|35#南平市|35#龙岩市|35#宁德市|36#南昌市|36#景德镇市|36#萍乡市|36#九江市|36#新余市|36#鹰潭市|36#赣州市|36#吉安市|36#宜春市|36#抚州市|36#上饶市|37#济南市|37#青岛市|37#淄博市|37#枣庄市|37#东营市|37#烟台市|37#潍坊市|37#济宁市|37#泰安市|37#威海市|37#日照市|37#莱芜市|37#临沂市|37#德州市|37#聊城市|37#滨州市|37#荷泽市|41#郑州市|41#开封市|41#洛阳市|41#平顶山市|41#安阳市|41#鹤壁市|41#新乡市|41#焦作市|41#濮阳市|41#许昌市|41#漯河市|41#三门峡市|41#南阳市|41#商丘市|41#信阳市|41#周口市|41#驻马店市|42#武汉市|42#黄石市|42#十堰市|42#宜昌市|42#襄樊市|42#鄂州市|42#荆门市|42#孝感市|42#荆州市|42#黄冈市|42#咸宁市|42#随州市|42#恩施土家族苗族自治州|42#省直辖行政单位|43#长沙市|43#株洲市|43#湘潭市|43#衡阳市|43#邵阳市|43#岳阳市|43#常德市|43#张家界市|43#益阳市|43#郴州市|43#永州市|43#怀化市|43#娄底市|43#湘西土家族苗族自治州|44#广州市|44#韶关市|44#深圳市|44#珠海市|44#汕头市|44#佛山市|44#江门市|44#湛江市|44#茂名市|44#肇庆市|44#惠州市|44#梅州市|44#汕尾市|44#河源市|44#阳江市|44#清远市|44#东莞市|44#中山市|44#潮州市|44#揭阳市|44#云浮市|45#南宁市|45#柳州市|45#桂林市|45#梧州市|45#北海市|45#防城港市|45#钦州市|45#贵港市|45#玉林市|45#百色市|45#贺州市|45#河池市|45#来宾市|45#崇左市|46#海口市|46#三亚市|46#省直辖县级行政单位|50#重庆市|51#成都市|51#自贡市|51#攀枝花市|51#泸州市|51#德阳市|51#绵阳市|51#广元市|51#遂宁市|51#内江市|51#乐山市|51#南充市|51#眉山市|51#宜宾市|51#广安市|51#达州市|51#雅安市|51#巴中市|51#资阳市|51#阿坝藏族羌族自治州|51#甘孜藏族自治州|51#凉山彝族自治州|52#贵阳市|52#六盘水市|52#遵义市|52#安顺市|52#铜仁地区|52#黔西南布依族苗族自治州|52#毕节地区|52#黔东南苗族侗族自治州|52#黔南布依族苗族自治州|53#昆明市|53#曲靖市|53#玉溪市|53#保山市|53#昭通市|53#丽江市|53#思茅市|53#临沧市|53#楚雄彝族自治州|53#红河哈尼族彝族自治州|53#文山壮族苗族自治州|53#西双版纳傣族自治州|53#大理白族自治州|53#德宏傣族景颇族自治州|53#怒江傈僳族自治州|53#迪庆藏族自治州|54#拉萨市|54#昌都地区|54#山南地区|54#日喀则地区|54#那曲地区|54#阿里地区|54#林芝地区|61#西安市|61#铜川市|61#宝鸡市|61#咸阳市|61#渭南市|61#延安市|61#汉中市|61#榆林市|61#安康市|61#商洛市|62#兰州市|62#嘉峪关市|62#金昌市|62#白银市|62#天水市|62#武威市|62#张掖市|62#平凉市|62#酒泉市|62#庆阳市|62#定西市|62#陇南市|62#临夏回族自治州|62#甘南藏族自治州|63#西宁市|63#海东地区|63#海北藏族自治州|63#黄南藏族自治州|63#海南藏族自治州|63#果洛藏族自治州|63#玉树藏族自治州|63#海西蒙古族藏族自治州|64#银川市|64#石嘴山市|64#吴忠市|64#固原市|64#中卫市|65#乌鲁木齐市|65#克拉玛依市|65#吐鲁番地区|65#哈密地区|65#昌吉回族自治州|65#博尔塔拉蒙古自治州|65#巴音郭楞蒙古自治州|65#阿克苏地区|65#克孜勒苏柯尔克孜自治州|65#喀什地区|65#和田地区|65#伊犁哈萨克自治州|65#塔城地区|65#阿勒泰地区|65#省直辖行政单位|71#台湾省|81#香港|82#澳门特别行政区|90#亚洲|90#东京|90#新加坡|90#迪拜|90#新德里|90#首尔|91#欧洲|91#柏林|91#科隆|92#北美洲|92#拉斯维加斯|93#南美洲|94#大洋洲|95#非洲"


/*---------------------------------------------------------------------------*\
*                     3.生成数组　　　　　　　　　　　　　　　　　　　　　　 *
/*---------------------------------------------------------------------------*/
for(iii=1;iii<=MenuClass;iii++)
{
	arr=MenuArr[iii].split(splitchar1);
	txt=MenuTxt[iii].split(splitchar1);
	
	len=arr.length;
//alert(iii) ;

	subarr=new Array();
	subtxt=new Array();

	for (i=0;i<len;i++)
	{
		  subarr[i]=arr[i].split(splitchar2);
		  subtxt[i]=txt[i].split(splitchar2);
		  
//	 	 alert(subarr[i]+subtxt[i]) ;
	
	}
	
	len = subarr.length;

//alert(subtxt.length) ;

	SubMenuArr[iii]=subarr ;
	SubMenuTxt[iii]=subtxt ;
	
	MenuLenArr[iii]=len ;

//	alert(SubMenuArr[iii]) ;

}


function  Menu(theform, menuid) {
	
	
	if (menuid >= MenuClass) return ; //假如没有下级菜单，则退出
	
	
	var self,submenu,thislen,thisarr,thistxt;

//============更改下级菜单======================
//self本级菜单
//submenu子菜单
//theform:所在表单对象[type:object]
//menuid:本级菜单级别ID，如1级菜单则为1

	self=eval("document."+theform.name+"."+MenuIdArr[menuid])	;
	submenu=eval("document."+theform.name+"."+MenuIdArr[menuid+1])	;
	

	thislen=MenuLenArr[menuid+1];
	thisarr=SubMenuArr[menuid+1];
	thistxt=SubMenuTxt[menuid+1];
	
	submenu.length=0;
	submenu.options.add(new Option( "-选择城市-",""));     
	  for  (i=0;i<thislen;i++)  
	  { 
	    if  (thisarr[i][0]  ==  self.value) 
		{
		 submenu.options.add(new Option(thistxt[i][1],  thisarr[i][1]));    
	    }    
	  } 
  	submenu.options[0].selected=true;

//============更改下级以下菜单==============
	var kkk
	for(kkk=menuid+2;kkk<=MenuClass;kkk++)
	{		
		submenu=eval("document."+theform.name+"."+MenuIdArr[kkk])	
		submenu.length=0;
		submenu.options.add(new Option( "--请选择--",""));     	
		submenu.options[0].selected=true;
	}
}

function SetSelect(theform, SelectMenu)
{
	if (SelectMenu.length < 2) return ;
	
	var SelectIndex, tt ;
	SelectIndex = new Array() ;
	
	
	
	for (ii = 1; ii < SelectMenu.length ; ii ++)
	{
		if (ii == 1)
		{
			
			for (kk = 0; kk < MenuLenArr[ii]; kk ++)
			{
				if ( SubMenuArr[ii][kk][0] == SelectMenu[ii] )
				{
					//alert(SubMenuTxt[ii][kk][tt]) ;
					SelectIndex[ii] = kk + 1 ;
//					alert(SelectIndex[ii]) ;
				}
			}
			
		}
		else
		{
			tt = 0 ;
			
			for (kk = 0; kk < MenuLenArr[ii]; kk ++)
			{
				if ( SubMenuArr[ii][kk][0] == SelectMenu[ii - 1] )
				{
					tt = tt + 1 ;
					if (SubMenuArr[ii][kk][1] == SelectMenu[ii] )
					{
						SelectIndex[ii] = tt ;
					}
				}
			}

		}
		
//		alert(SelectIndex[ii]) ;
		
	}

	for (ii = 1 ; ii < SelectMenu.length ; ii ++)
	{
		eval("document."+theform.name+"." + MenuIdArr[ii]).selectedIndex = SelectIndex[ii] ;
		Menu(eval("document." + theform.name), ii) ;
	}
}	

