	var allowNum = 3;
	var chooseCityLiId = "_chooseCity_li_"; 
	var checkedCityId = "_checkedCity_box_";
	var  p_index="_province_";
	var  c_index="_city_";
	var  p_over = "POPDiv_over";
	var  p_out = "";
	var  c_over = "c_over";
	var  c_out = "";
	var  prov_ul="prov_layer"; //省份ul id
	var  city_ul="city_layer"; //城市ul id
	var  prov_div="";
	var  city_div="city_div";  //城市div id
	var  big_city_class="POPDiv_areaTitle2";  
	var  checkbox_id="_checkbox_c_" //复选框id 前缀
	var  _popuDiv="_bg_popuDiv";  //遮罩div id
	var  _new_address="new_address";
	var  _address_defaultText="选择/修改";
	var  lableId = "";//页面上按钮的Id
	var  valuesId="";//一个["search_jobLocation1"]数组的值。
	
	var _address_h1="_address_h1"; //标题
	var _address_confirm_id="_address_confirm_id"; //确定按钮
	var _address_selected_id="_address_selected_id"; //已经选择的地区
	var _address_allprov_id="_address_allprov_id"; // 所有省份
	
	var _address_h1_text=""; //标题
	var _address_confirm_text="确定"; //确定按钮
	var _address_selected_text="已选择城市"; //已经选择的地区
	var _address_allprov_text="所有省份"; // 所有省份
	var _main_city = "主要城市";
	var _address_language=2;//默认为中文。
	var _address_alert_text="";//默认弹出框。
	var _address_title="";//页面上按钮外面的Div的Id。 
	
	//弹出地区层。obj：按钮的Id的值，title：外面Div层的Id的值
	function AddressDialog(obj,title,valueIds){
		//定义匿名方法，初始化省份。
		this.showDialog = initProvince;
		//定义匿名方法。
		this.setDefaultText=function(text){
			_address_defaultText=text;
		}
		//定义匿名方法，设置英文。
		this.setEnglish=setEnglish;
		//页面上按钮的Id的值。
		lableId=obj;
		//页面上按钮外面的Div的Id。
		_address_title=title;
		//允许地区的数量，此处为1。因为数组的长度为1，["search_jobLocation1"]。
		allowNum=valueIds.length;
		//将数组的值保存起来。search_jobLocation1
		valuesId=valueIds;
		/****************中文版 默认值B*********************/
			_address_h1_text = "请选择地点(您最多选择"+allowNum+"项)";
			_address_confirm_text="确定";
			_address_selected_text="已选择城市";
			_address_allprov_text="所有省份";
			_address_defaultText="选择/修改";
			_main_city = "主要城市";
			_address_language=2;
			_address_alert_text="您已经选择了"+allowNum+"个地区,不能再选择!";
		/****************中文版 默认值E*********************/
		//设置英文。
		function setEnglish(){
			var last = "options";
			if(allowNum<=1){
				last = "option";
			}
			_address_h1_text = "please selected location (No more than "+allowNum+" "+last+")";
			_address_confirm_text="confirm";
			_address_selected_text="Selected City";
			_address_defaultText="Select/Modify";
			_address_allprov_text="All Provinces";
			_main_city="Main City";
			_address_language=4;
			_address_alert_text="No more than "+allowNum+" "+last;
		}
		
		//显示遮罩层，定义遮罩层的宽和高。
		function showPopuDiv(){
			//获取遮罩层的对象。
			var d = document.getElementById(_popuDiv);
			//设置遮罩层的宽和高。
			d.style.width=document.body.scrollWidth>document.body.clientWidth?document.body.scrollWidth:document.body.clientWidth+"px";
			d.style.display="block";
			d.style.height=document.body.scrollHeight>document.body.clientHeight?document.body.scrollHeight:document.body.
			clientHeight+"px";
			
			//定义弹出来的盒子在页面中的位置，离顶部和左边的距离。=================
			var box = document.getElementById(_new_address);
			box.style.top=(document.documentElement.scrollTop+100)+"px";
			box.style.left=(document.documentElement.scrollLeft+50)+"%";
		}

		//初始化，首先弹出遮罩层，给
		function init(){
			showPopuDiv();
			id(_address_h1).innerHTML=_address_h1_text;
			id(_address_confirm_id).innerHTML=_address_confirm_text;
			id(_address_selected_id).innerHTML=_address_selected_text;
			id(_address_allprov_id).innerHTML=_address_allprov_text;
			id("main_city").innerHTML=_main_city;
			//***********************POPDiv_selectedArea。
		    document.getElementById("POPDiv_selectedArea").innerHTML="";
			var node = "";
			for(var i=0;i<allowNum;i++){
			//页面上一个隐藏域,search_jobLocation1,刚开始值为0
			  var cid = document.getElementById(valuesId[i]).value;
			  if(cid!="" && cid!="0" && cid!=0){
			  	var li_id = chooseCityLiId+cid;
				var ch_id = checkedCityId+cid;
				var txt = getTextById(cid);
				node = node + "<li id='"+li_id+"'>"+
"<input class='"+txt+"' onclick='delCheckedCityById(this.id)' checked='checked' value='"+cid+"' id='"+ch_id+"' type='checkbox'>"+
				txt+"</li>";
			  }
			}
			document.getElementById("POPDiv_selectedArea").innerHTML=node;
		}
		
		//循环遍历选中的城市
		function getTextById(id){
			var txt = "";
			for(var i=0;i<addressCount;i++){
				if(address[i][0]==id){
					txt = address[i][_address_language]; //language
					break;
				}
			}
			return txt;
		}
		//循环迭代每一个省市，来找出符合条件的城市。
		function getAllMainCity()
		{
			//先获取最外面的UL的Id
			var mainCity = id("topMainCity");
			    mainCity.innerHTML="";
			    
			var city=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
			for(var i=0;i<city.length;i++)
			{
				var flag=false;
				for(var j=0;j<addressCount;j++)
				{
					var addrs = address[j];
					if(city[i]==addrs[5]){
						flag=true;
					}
				}
				//判断当为字母A时，是否有符合条件的城市。
				if(flag)
				{
						//每一个字母都表示一个UL，所以每循环一个字母，我就首先先创建一个UL，然后再在对应的UL里面追加Li和span标签。
					    var mainC =  document.createElement("li");
					    mainC.className=""; 
					    //循环为每个字母创建一个标签，来显示这些字母。
					   	var title1 =  document.createElement("b");
					   	
					   	    title1.innerHTML=city[i]; 
					   	    title1.className="city_letter";
					   	    mainC.appendChild(title1);
					   	    
						for(var j=0;j<addressCount;j++){
					    
							var addrs = address[j];
							
							if(city[i]==addrs[5])
							{
								//循环遍历每个省市，找到符合条件的省市。
								var con =  document.createElement("a");
								//con.className="everyCity";
								//con.href="#";
								//为a标签构建Id
								con.id=checkbox_id+addrs[0];
								con.value=addrs[_address_language];
								if(isIE()){//IE
									con.onclick = function(){
										initMainCity(this);
									};
								}
								else{ //FF
									con.addEventListener("click",function(event){initMainCity(this);},false);
								}
								con.innerHTML=addrs[_address_language];
								mainC.appendChild(con);
							}
							
						}
						
					mainCity.appendChild(mainC);
				}
				/*********if(flag)方法结束*************/
				
			}
		}
		//根据传来的字母来循环加载对应字母的省。
		function getProvinceBy_A_Z(a_z,p_obj)
		{
			var reg="";
				if(a_z == "ag")
				{
					reg="A-G";
				}else if(a_z == "hj")
				{
					reg="H-J";
				}else if(a_z == "ls")
				{
					reg="L-S";
				}else if(a_z == "tz")
				{
					reg="T-Z";
				}
			for(var i=0;i<addressCount;i++){
			    
				var addrs = address[i];
				
				if(addrs[5]==reg){
					var li =  document.createElement("li"); 
					li.id=p_index+addrs[0];
					li.innerHTML = addrs[_address_language];  //language
					li.onmouseover = function(){
						this.className=p_over;
						closeCityDiv();
					}
					li.onmouseout = function(){
						this.className=p_out;
					}
					if(isIE()){  //IE
						li.onclick = function(){
							initCity(this,event || window.event);
						};
					}
					else{ //FF
						li.addEventListener("click",function(event){initCity(this,event);},false);
					}
					p_obj.appendChild(li);
				}
			}
		}
		
			
		//初始化省份
		function initProvince(){
			init();
			
			getAllMainCity();
			
			var p_obj1 = id("prov_layer_1");  
			    p_obj1.innerHTML="";    
		    var p_obj2 = id("prov_layer_2");  
		    	p_obj2.innerHTML="";    
		    var p_obj3 = id("prov_layer_3"); 
			    p_obj3.innerHTML="";   
		    var p_obj4 = id("prov_layer_4"); 
			    p_obj4.innerHTML=""; 
			
			var A_G =  document.createElement("li"); 
			    A_G.innerHTML="A-G";
			    A_G.className="area";
			    p_obj1.appendChild(A_G);
			//循环遍历每个省。
		    getProvinceBy_A_Z("ag",p_obj1);
		    
		    var H_J =  document.createElement("li"); 
			    H_J.innerHTML="H-J";
			    H_J.className="area";
			    p_obj2.appendChild(H_J);
			//循环遍历每个省。
		    getProvinceBy_A_Z("hj",p_obj2);
		    
		    var L_S =  document.createElement("li"); 
			    L_S.innerHTML="L-S";
			    L_S.className="area";
			    p_obj3.appendChild(L_S);
			//循环遍历每个省。
		    getProvinceBy_A_Z("ls",p_obj3);
		    
		    var T_Z =  document.createElement("li"); 
			    T_Z.innerHTML="T-Z";
			    T_Z.className="area";
			    p_obj4.appendChild(T_Z);
			//循环遍历每个省。
		    getProvinceBy_A_Z("tz",p_obj4);
		    
		    
			/*for(var i=0;i<addressCount;i++){
			    
				var addrs = address[i];
				
				
				if(addrs[1]==""){
					var li =  document.createElement("li"); 
					li.id=p_index+addrs[0];
					li.innerHTML = addrs[_address_language];  //language
					li.onmouseover = function(){
						this.className=p_over;
						closeCityDiv();
					}
					li.onmouseout = function(){
						this.className=p_out;
					}
					if(isIE()){  //IE
						li.onclick = function(){
							initCity(this,event || window.event);
						};
					}
					else{ //FF
						li.addEventListener("click",function(event){initCity(this,event);},false);
					}
					p_obj.appendChild(li);
				}
			}*/
			show_box();
		}
		
		//当点击某一个省的时候，会循环遍历所有的城市，找出曾经选中的城市，然后用Li标签显示出来。
		function initCity(p,event){
			
			var c_obj = id(city_ul);
				c_obj.innerHTML="";
			//获取选中的省的Id（省编号）
			var p_id = p.id.substring(p_index.length);
			var newAry = [];
			var cityId = [];
			var c =0;
			for(var i=0;i<addressCount;i++){
				//定义方法，调用下面的初始化城市的方法。	
				var city_method="initSelectCity_c";
				var checked = "";
				var addr = address[i];
				//每个省的所有的城市的前两位数是一样的，湖北省1800，武汉市：1802等。这个是获取省的编号。
				var c_id = addr[0].substring(addr[0].length-4,addr[0].length-2)+"00";
				//获取每一个对象的编号，（包括省和市）。
				var b_id = addr[0].substring(addr[0].length-4);
				
				if(c_id==p_id){
					var li = document.createElement("li");
						li.id=c_index+addr[0];
						if(b_id==c_id){
							li.className=big_city_class;
							city_method="initSelectCity_p";
						}
						var cd_city = checkedCityId+addr[0];
						//判断如果之前曾选中过改城市，那么为改城市创建了一个Li，这时可以获取到对应的Id，否则Id为null。
						if(document.getElementById(cd_city)){
						  checked="checked='checked'";
						}
						li.innerHTML="<input type='checkbox' "+checked+" id='"+(checkbox_id+addr[0])+
						"' onclick='"+city_method+"(this)' value='"+addr[_address_language]+"' />"+addr[_address_language]; //language
						
						newAry[c] = li; 
						cityId[c] = addr[0];
						c++;
						
				}
			}
			
			//排序
			 var len = cityId.length, k, d,f; 
			 for(l = 0; l<len; l++){ 
			　　for(k=0; k<len; k++){ 
				　　if(cityId[l] < cityId[k]){ 
				　	　d = cityId[k]; 
				　	  f = newAry[k];
				　	  cityId[k] = cityId[l]; 
				　	  cityId[l] = d;  
				　	  newAry[k] = newAry[l]; 
					　 newAry[l] = f;    
				　　} 
			　　} 
			　}
			 for(var s=0;s<newAry.length;s++){ 
					 c_obj.appendChild(newAry[s]);
			 } 
			 
			var e = mouseCoords(event);
			var c_div = id(city_div);
			c_div.style.position="absolute";
			c_div.style.left =e.left;
			c_div.style.top = e.top;
			c_div.style.display = "block";
		}

		

		//获取鼠标点击的坐标 IE or FF
		function mouseCoords(ev){  
			if(ev.pageX || ev.pageY){
				return {
					left:ev.pageX+"px", 
					top:ev.pageY+"px"
				};
			}
			return {
				top: event.clientY + document.documentElement.scrollTop + 'px',
			    left: event.clientX + document.documentElement.scrollLeft + 'px'
			};
		}
		
		function isIE(){  //验证是否IE
			return document.all;
		}
		function id(id){
			return document.getElementById(id);
		}
		function setAllowNum(num){
			allowNum = num;
		}
		function closeCityDiv(){
			id(city_div).style.display="none";
		}
		
		
		
		
		
	}
/*=====================此处AddressDialog（）结束=======================*/

	//初始化主要城市。(先判断是否达到允许数量，如果没有，则创建Li标签来加载选中的城市，否则弹出提示框)
	function initMainCity(a)
	{
		
		var child_id = checkedCityId+a.id.substring(checkbox_id.length);
						
		
		if(!checkCheckedBox(child_id))
		{
			delCheckedCityById(child_id);
			return ;
		}
		//if(a.id.substring(checkbox_id.length))
		if(checkChooseCount()){
			alert(_address_alert_text);
				//clearAllCheckedCity();
			return;
		}//else{
		
			var chooseCity = document.createElement("li"); 
				//城市编号
				var c_id = a.id.substring(checkbox_id.length);
				chooseCity.id=chooseCityLiId+c_id;
				var _checkedCityId=checkedCityId+c_id;
				 
				var cheboxLable = a.value;
				var chebox = "<input type='checkbox' class='"+cheboxLable+"' onclick='delCheckedCityById(this.id)'" +
				" checked='checked' value='"+c_id+"' id='"+_checkedCityId+"' >"+cheboxLable;
				chooseCity.innerHTML=chebox;
				document.getElementById("POPDiv_selectedArea").appendChild(chooseCity);
		//}
		//close_box();
	}
	//当点击主要城市时，要选判断这个城市是否曾经被选中过，如果有，则删除，否则，填上去。
	function checkCheckedBox(aid){
		var nodes = document.getElementById("POPDiv_selectedArea").getElementsByTagName("li");
		var length = nodes.length;
		if(length>0){
			for(var i=0;i<length;i++){
				var c = nodes[i].childNodes[0];
				if(c.id==aid)
				{
					return false;
				}
			}
			return true;
		}
		else{
			return true;
	 }
	 
   }
	//填充选择中城市c
	function initSelectCity_c(box){
		clearBigBox(box);
		addCheckedCity(box);
	}
	//填充选择中城市c
	function initSelectCity_p(box){
		clearCheckBox(box);
		addCheckedCity(box);
	}
	
	function addCheckedCity(box){
		if(box.checked){
			if(checkChooseCount()){
				box.checked=false;
				//
				//clearAllCheckedCity();
				document.getElementById("city_div").style.display="none";
				alert(_address_alert_text);
				return;
			}
			//else{
				var chooseCity = document.createElement("li"); 
				
				var c_id = box.id.substring(checkbox_id.length);
				chooseCity.id=chooseCityLiId+c_id;
				var _checkedCityId=checkedCityId+c_id;
				 
				var cheboxLable = box.value;
				var chebox = "<input type='checkbox' class='"+cheboxLable+"' onclick='delCheckedCityById(this.id)'" +
				" checked='checked' value='"+c_id+"' id='"+_checkedCityId+"' >"+cheboxLable;
				chooseCity.innerHTML=chebox;
				document.getElementById("POPDiv_selectedArea").appendChild(chooseCity);
			//}
			//close_box();
		}
		else{
			var ch_id=checkedCityId+box.id.substring(checkbox_id.length);
			delCheckedCityById(ch_id); //清除
		}
		
	}
	
	function clearCheckBox(obj){
		 var flag = obj.checked;
		 if(flag){
		 	var elements = document.getElementById(city_ul).getElementsByTagName("input");
			for(var i=1;i<elements.length;i++){
				var o = elements[i];
				if(o.type=="checkbox"){
					if(o.checked){
						o.checked=false;
						//选中城市Id+编号
						var child_id = checkedCityId+o.id.substring(checkbox_id.length);
						
						delCheckedCityById(child_id);
					}
				}
			}
		 }
	}
	
	function delCheckedCityById(id){
		 var che_id = checkbox_id+id.substring(checkedCityId.length)
		 var _element= document.getElementById(id);
		 if(_element){
			 var _parentElement = _element.parentNode;
			 if(_parentElement){
					_parentElement.parentNode.removeChild(_parentElement);
			 }
		 }
		 var cd_box = document.getElementById(che_id);
		 if(cd_box){
		 	cd_box.checked=false;
		 }
	}
	
	function clearBigBox(obj){
		var r_id = obj.id.substring(obj.id.length-4,obj.id.length-2)+"00";
		var b_id =checkbox_id+r_id;
		var ch_id=checkedCityId+r_id;
		
		var bigCity = document.getElementById(b_id);
		if(bigCity){
			if(bigCity.checked){
				bigCity.checked=false;
				delCheckedCityById(ch_id);
			}
		}
	}
	
	//检测多少个
	function checkChooseCount(){
		var elements = document.getElementById("POPDiv_selectedArea").getElementsByTagName("li");
		var flag = false;
		if(elements.length>allowNum-1){
			flag = true;
		}
		return flag;
	}
	
	//清空所有的选中的城市，然后添加新的城市。
	function clearAllCheckedCity(){
		
		var nodes = document.getElementById("POPDiv_selectedArea").getElementsByTagName("li");
		var length = nodes.length;
		if(length>0){
			for(var i=0;i<length;i++){
				var id = nodes[i].childNodes[0].id;
				var che_id = checkbox_id+id.substring(checkedCityId.length)
		 		var _element= document.getElementById(id);
				 if(_element){
					 var _parentElement = _element.parentNode;
					 if(_parentElement){
							_parentElement.parentNode.removeChild(_parentElement);
					 }
				 }
				 var cd_box = document.getElementById(che_id);
				 if(cd_box){
				 	cd_box.checked=false;
				 }
			}
		}
	
		 
	}
	
	function close_box(){
		document.getElementById(_popuDiv).style.display="none";
		document.getElementById(_new_address).style.display="none";
		document.getElementById(city_div).style.display="none";
		getResult();
	}
	
	function show_box(){
		document.getElementById("new_address").style.display="block";
	}
	
	function clearHiddValue(){
		for(var i=0;i<allowNum;i++){
			document.getElementById(valuesId[i]).value="";
		}
	}
	
	function getResult(){
		var nodes = document.getElementById("POPDiv_selectedArea").getElementsByTagName("li");
		var code = "";
		var text = "";
		var length = nodes.length;
		clearHiddValue();
		if(length>0){
			var txt = "";
			for(var i=0;i<length;i++){
				var c = nodes[i].childNodes[0];
				var v =document.getElementById(valuesId[i]);
				v.vlaue=""; 
				v.value=c.value;
				if(i==0){
					txt = c.className;
				}
				else{
					txt = txt+"+"+c.className;
				}
			}
			document.getElementById(lableId).value=txt;
			document.getElementById(_address_title).title=txt;
			
		}
		else{
			document.getElementById(lableId).value=_address_defaultText;
			document.getElementById(_address_title).title=_address_defaultText;
	 }
	 
   }
 
	