/*
*根据传入的值,得到数据源(分为两种格式,地级市(1),和县级市(2))
*由于主要是考虑到中国的需要,所以默认为传递数组的0,这就要求数级第一位,必须是中国的对象
*在DataMy.js中可以更改,这是数据源
*/
function GetDataSourceCountry(Ar_country,Gur_ve){
	var selIndex=0;
	var DataSource=null;
	for(var i=0;i<Ar_country.length;i++){
		var ve=""+Ar_country[i].id
			if(ve==Gur_ve){DataSource=Ar_country[i].Data;}
	}
	if(DataSource == null){
		return false
	}else{
	    return DataSource
	}
}
function GetDataSourceCity(BaseSource,Gur_ve){
	var obj=BaseSource,Gur_ve=""+Gur_ve;
	for(var i=0;i<obj.length;i++){
		var Temp_id=""+obj[i].id
		var Temp_citys=obj[i].citys
		   if(Gur_ve==Temp_id){
			  return Temp_citys;
			  break
		   }
	}//EndFor
	return false;
}
function GetDataSourceTown(BaseSource,Gur_ve){
	var obj=BaseSource,Gur_ve=""+Gur_ve;
	for(var i=0;i<obj.length;i++){
		var Temp_id=""+obj[i].id
		var Temp_citys=obj[i].child
		   if(Gur_ve==Temp_id){
			  return Temp_citys;
			  break
		   }
	}//EndFor
	return false;
}
/*
*绑定国家
*/

function InitCountry(Obj,Data,Gur_ve){
	var selIndex=0;
	Gur_ve=""+Gur_ve;
	var DataSource=Data[0].Data
	for(var i=0;i<Data.length;i++){
		var ve=""+Data[i].id
			if(ve.length ==2){ve="0"+ve;}
		var txt=Data[i].name
			if(ve==Gur_ve){selIndex=i;DataSource=Data[i].Data;}
        Obj.options[i]=new Option(txt,ve)
	}
	Obj.selectedIndex=selIndex;
	Obj.length=Data.length
	return DataSource
}
function Init2Length(Obj,Data,Gur_ve){
	var selIndex=0;
	Gur_ve=""+Gur_ve;
	var DataSource=Data[0].Data
	for(var i=0;i<Data.length;i++){
		var ve=""+Data[i].id
			if(ve.length ==1){ve="0"+ve;}
		var txt=Data[i].name
			if(ve==Gur_ve){selIndex=i;DataSource=Data[i].Data;}
        Obj.options[i]=new Option(txt,ve)
	}
	Obj.selectedIndex=selIndex;
	Obj.length=Data.length
	return DataSource
}
/*
*指定数据源的段落来绑定
*/
function InitCountry_ByStarAndEnd(Obj,Data,Gur_ve,StarI,EndI){
	var selIndex=0;
	
	if(IsNull(StarI)){StarI=0}
	if(IsNull(EndI)){EndI=Data.length}
	if(EndI > Data.length){EndI=Data.length}

	var DataSource=Data[StarI].Data
    
	var Count_I=0;
	for(StarI;StarI<EndI;StarI++){
		var ve=""+Data[StarI].id
		var txt=Data[StarI].name
			if(ve==Gur_ve){selIndex=Count_I;DataSource=Data[StarI].Data;}
        Obj.options[Count_I]=new Option(txt,ve)
		Count_I += 1;
	}
	Obj.selectedIndex=selIndex;
	Obj.length=Count_I	
	return DataSource
}
/*
*根据传入的 对象,数据源,当前值,以及父对象的值,来确定,要绑定的数据---------
*/
function InitProvince(Obj,Data,Gur_ve,ParentObj,Reload){
	var ParentValue=""+getSelectIndex(ParentObj,"value")
	var selIndex=0;Gur_ve=""+Gur_ve;
	
	if(Data ==null || (""+Data)==""){
		setSelectNull(Obj)
		return "";
	}else{
		Obj.style.display=""
	}

	if(IsNull(Reload)){
		Reload=true;
	}

	var LenOBJlen=getObjLen(Obj);
	var ObjValue=""+getSelectIndex(Obj,"value")
		if(ObjValue == "-1" || ObjValue == ""){LenOBJlen=0}

	var returnObj=Data[0].citys;

	for(var i=0;i<Data.length;i++){
       var id=""+Data[i].id
	   var ParentID=""+Data[i].ParentID
	   var name=""+Data[i].name;//下面以前是ParentID=Gur_ve
		   if(id==Gur_ve){selIndex=i;returnObj=Data[i].citys;}
       if(LenOBJlen == 0 || Reload)
	   Obj.options[i]=new Option(name,id);
	}
    if(LenOBJlen == 0 || Reload){
	Obj.selectedIndex=selIndex;
	Obj.length=Data.length
	}
	return returnObj;
}//EndFunction

/*
* 根据现在的值,自动绑定地级市和县级市----
*/
function InitCity(Obj,Data,Gur_ve,ParentObj){
	var ParentValue=""+getSelectIndex(ParentObj,"value")
	var selIndex=0;Gur_ve=""+Gur_ve;

	if(Data ==null || (""+Data)==""){
		setSelectNull(Obj)
		Obj.style.display="none"
		return "";
	}else{
		Obj.style.display=""
	}

	var returnObj=Data[0].child;

	for(var i=0;i<Data.length;i++){
       var id=""+Data[i].id
	   var name=""+Data[i].name
		   if(id==Gur_ve){selIndex=i;returnObj=Data[i].child;}
	   Obj.options[i]=new Option(name,id)
	}
	Obj.selectedIndex=selIndex;
	Obj.length=Data.length
	return returnObj;
}


/*
* 改变省份后的动作
*/
function ChangeProvince(Obj,Form){
	var temp=""+getSelectIndex(Obj,"value")
	var Ar_province=GetDataSourceCountry(Ar_country,getSelectIndex(Form.Scountry,"value"))
	var re=GetDataSourceCity(Ar_province,temp)
		if(re != false){
		       var b=InitCity(Form.Scity,re,"",Form.Sprovince)
               InitCity(Form.Stown,b,"",Form.Scity)			   
	    }
}
/*
*根据不同的ID
*/
function ChangeProvinceByID(Obj,FormScountry,FormSprovince,FormScity,FormStown){
	var temp=""+getSelectIndex(Obj,"value")
	var Ar_province=GetDataSourceCountry(Ar_country,getSelectIndex(FormScountry,"value"))
	var re=GetDataSourceCity(Ar_province,temp)
		if(re != false){
		       var b=InitCity(FormScity,re,"",FormSprovince)
               InitCity(FormStown,b,"",FormScity)			   
	    }
}
/*
*必变市后的动作
*/
function ChangeCity(Obj,Form){
   var ParendId=""+getSelectIndex(Form.Sprovince,"value")
	   var temp=""+getSelectIndex(Obj,"value")
	   var ProvinceData=GetDataSourceCity(Ar_province,ParendId)
	   var Towns=GetDataSourceTown(ProvinceData,temp)
	   if(Towns != false){
	   InitCity(Form.Stown,Towns,"",Form.Scity)		
       }
}
/*
*根据不同的ID
*/
function ChangeCityByID(Obj,FormSprovince,FormScity,FormStown){
   var ParendId=""+getSelectIndex(FormSprovince,"value")
	   var temp=""+getSelectIndex(Obj,"value")
	   var ProvinceData=GetDataSourceCity(Ar_province,ParendId)
	   var Towns=GetDataSourceTown(ProvinceData,temp)
	   if(Towns != false){
	   InitCity(FormStown,Towns,"",FormScity)		
       }
}

/*
将现在的区号,以数组的形式展现出来
*/
function WriteAreaCode(){
   var a=""
   for(var i=0;i<Ar_province.length;i++){
		var ve=""+Ar_province[i].id
		var txt=Ar_province[i].name
			var DataSource=Ar_province[i].citys;
			for(var j=0;j<DataSource.length;j++){
			   var code2=DataSource[j].id
			   var quhao=DataSource[j].code
			   var n=DataSource[j].name
			   var ve2=n+"ArAreaCode['"+ve+code2+"']='"+quhao+"'<br>"
			   document.write(ve2)
			}
   }
}
