﻿function GetCountryNodes(sourceID)
{
	return sourceID.XMLDocument.selectNodes("//Table");
}

function GetProvinceNodes(sourceID)
{
	return sourceID.XMLDocument.selectNodes("//Table");
}

function GetCityNodes(sourceID,provID)
{
	return sourceID.XMLDocument.selectNodes("//Table[ProvID="+provID+"]");
}

function ClearOptionsAll(controlName)
{
	for(var i=controlName.length;i>0;i--){
		controlName.removeChild(controlName.options[0]);
	}	
}

function CountryPhoneCode(sourceID,CountryID)
{
	var node = sourceID.XMLDocument.selectSingleNode("//Table[ID="+CountryID+"]");
	return node.selectSingleNode("CountryPhoneCode").text.trim();
}

function CountryCBinding(CountryControlName,sourceID)
{
	var text,value,option;
	var nodes = GetCountryNodes(sourceID);
	
	for(var z=0;z<nodes.length;z++)
	{	
		text = nodes[z].selectSingleNode("CName").text.trim();
		value = nodes[z].selectSingleNode("ID").text.trim();	
		
		if(value!="29"||value!="58"||value!="92"||value!="135"||value!="121")
		{
			option = document.createElement("Option");		
			option.text = text;
			option.value = value;		
			CountryControlName.add(option);
		}
	}
}

function ProvinceCBinding(CountryControlName,sourceID)
{
	var text,value,option;
	var nodes = GetProvinceNodes(sourceID);
	
	for(var z=0;z<nodes.length;z++)
	{	
		text = nodes[z].selectSingleNode("CName").text.trim();
		value = nodes[z].selectSingleNode("ID").text.trim();	
		
		option = document.createElement("Option");		
		option.text = text;
		option.value = value;		
		CountryControlName.add(option);
	}
}

function CityCBinding(CountryControlName,sourceID,ProvID)
{
	var text,value,option;
	var nodes = GetCityNodes(sourceID,ProvID);
	
	for(var z=0;z<nodes.length;z++)
	{	
		text = nodes[z].selectSingleNode("CName").text.trim();
		value = nodes[z].selectSingleNode("ID").text.trim();	
		
		option = document.createElement("Option");		
		option.text = text;
		option.value = value;		
		CountryControlName.add(option);
	}
}

function CountryCChineseBinding(CountryControlName)
{
	var text,value,option;
	
	option = document.createElement("Option");		
	option.text = "中国";
	option.value = "29";		
	CountryControlName.add(option);
	
	option = document.createElement("Option");		
	option.text = "香港";
	option.value = "58";		
	CountryControlName.add(option);
	
	option = document.createElement("Option");		
	option.text = "澳门";
	option.value = "92";		
	CountryControlName.add(option);
	
	option = document.createElement("Option");		
	option.text = "新加坡";
	option.value = "121";		
	CountryControlName.add(option);
	
	option = document.createElement("Option");		
	option.text = "台湾";
	option.value = "135";		
	CountryControlName.add(option);
}

String.prototype.trim = function(){
//删除字符串前后空格
	return this.replace(/(^\s*)|(\s*$)/g, "")
}

function RegisterBinding()
{
	var txtCountryCName = document.all.txtCountryCName;
	var txtProvinceCName = document.all.txtProvinceCName;
	var txtCityCName = document.all.txtCityCName;
	var txtMemberCityName = document.all.txtMemberCityName;
	var panelCity = document.all.panelCity;
	var txtCity = document.all.txtCity;
	var xmlCoun = document.all.xmlCountry;
	
	if(txtCity.value.trim()=="")
	{
		panelCity.style.display = "none";
		ChinaBinding();
	}
	else
	{
		var Arr = txtCity.value.trim().split(",");
		if(Arr[0]=="29")
		{
			txtProvinceCName.style.display = "";
			txtCityCName.style.display = "";
			panelCity.style.display = "none";
			txtMemberCityName.value = "";
			ChinaBinding();
			txtProvinceCName.value = Arr[1];
			Province_onchange();
			txtCityCName.value = Arr[2];
		}
		else
		{
			ClearOptionsAll(txtCountryCName);
			CountryCChineseBinding(txtCountryCName);
			CountryCBinding(txtCountryCName,xmlCoun);
			txtCountryCName.value = Arr[0];
			txtProvinceCName.style.display = "none";
			ClearOptionsAll(txtProvinceCName);
			txtCityCName.style.display = "none";
			ClearOptionsAll(txtCityCName);
			panelCity.style.display = "";
		}
	}
	
	txtCountryCName.attachEvent("onchange",Country_onchange);
	
	txtProvinceCName.attachEvent("onchange",Province_onchange);
}
function Province_onchange()
{
	var txtProvinceCName = document.all.txtProvinceCName;
	var txtCityCName = document.all.txtCityCName;
	var xmlCity = document.all.xmlCity;
	
	var value = txtProvinceCName.value.trim();
	ClearOptionsAll(txtCityCName);
	if(value=="")return;
	CityCBinding(txtCityCName,xmlCity,value);
}

function Country_onchange()
{
	var txtCountryCName = document.all.txtCountryCName;
	var txtProvinceCName = document.all.txtProvinceCName;
	var txtCityCName = document.all.txtCityCName;
	var txtMemberCityName = document.all.txtMemberCityName;
	var xmlCoun = document.all.xmlCountry;
	var xmlProv = document.all.xmlProvince;
	
	var value = txtCountryCName.value.trim();
	if(value=="29")
	{
		txtProvinceCName.style.display = "";
		txtCityCName.style.display = "";
		panelCity.style.display = "none";
		txtMemberCityName.value = "";
		ChinaBinding();
	}
	else
	{
		txtProvinceCName.style.display = "none";
		ClearOptionsAll(txtProvinceCName);
		txtCityCName.style.display = "none";
		ClearOptionsAll(txtCityCName);
		panelCity.style.display = "";
		
		if(value=="0")
		{
			ClearOptionsAll(txtCountryCName);
			CountryCBinding(txtCountryCName,xmlCoun);
			CountryCChineseBinding(txtCountryCName);
		}
		else
		{
			var strCountryPhoneCode = CountryPhoneCode(xmlCoun,value);
			document.all.txtMemberTel_Country.value = strCountryPhoneCode;
			document.all.txtMemberFax_Country.value = strCountryPhoneCode;
		}
	}
}
	
function ChinaBinding()
{
	var txtCountryCName = document.all.txtCountryCName;
	var txtProvinceCName = document.all.txtProvinceCName;
	var txtCityCName = document.all.txtCityCName;
	
	var xmlCoun = document.all.xmlCountry;
	var xmlProv = document.all.xmlProvince;
	var xmlCity = document.all.xmlCity;
	
	ClearOptionsAll(txtCountryCName);
	CountryCChineseBinding(txtCountryCName);
	option = document.createElement("Option");		
	option.text = "其他国家/地区";
	option.value = "0";		
	txtCountryCName.add(option);
	
	ClearOptionsAll(txtProvinceCName);
	option = document.createElement("Option");		
	option.text = "--请选择--";
	option.value = "";		
	txtProvinceCName.add(option);
	ProvinceCBinding(txtProvinceCName,xmlProv);
	
	ClearOptionsAll(txtCityCName);
	option = document.createElement("Option");		
	option.text = "";
	option.value = "";		
	txtCityCName.add(option);
	
	document.all.txtMemberTel_Country.value = "0086";
	document.all.txtMemberFax_Country.value = "0086";
}
