﻿var xmlPath="js/world.xml"; 

//加载xml文件
  	function   loadXML(xmlFile) 
    { 
        var isSuccess; 
		var xmlDoc;
			if(window.ActiveXObject) { 
				xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
				xmlDoc.async=false;
				isSuccess=xmlDoc.load(xmlFile);
			}
			else if(document.implementation&&document.implementation.createDocument){ 
				xmlDoc=document.implementation.createDocument( "", "",null); 
				xmlDoc.async=false;
				isSuccess=xmlDoc.load(xmlFile);
			} else{
				alert('Your   browser   cannot   handle   this   script'); 
			}
			
			if(isSuccess){}
			else
			{
			    alert("加载xml文件出错"+xmlDoc.parseError.reason	 );
			}
			
		return xmlDoc;
	}


///////////////////////
//加载一级 国家
function LoadControl(dropDownList)
{

	var xmlDoc = loadXML(xmlPath);
	
	//获取国家
	var countryList=xmlDoc.documentElement.childNodes;
	 
	 //获取国家
	//var dropDownList=document.getElementById("Select1");
	
	bindList(dropDownList,countryList);
  }
  
  //加载二级 省份
  function loadProvice(id,dropDownList,divCity)
  {
 
    var xmlDoc = loadXML(xmlPath);
	 
	//获取省
	var countryList=xmlDoc.selectNodes("//Country[@Name='"+id+"']/CountryRegion");
	
		//var dropDownList=document.getElementById("Select2");
		
		bindList(dropDownList,countryList);
		
		loadCity(dropDownList.value,divCity);
  }
 
//加载三级 市
function loadCity(id,divCity)
{
 
  
      var xmlDoc = loadXML(xmlPath);
	 
	//获取省
	var countryList=xmlDoc.selectNodes("//Country/CountryRegion[@Name='"+id+"']/State");
	
  //var divCity= document.getElementById("divCity");
		
		AddControl2Base(divCity,countryList);
   
} 
  
  ///////////////////////////////////////////////////
  //绑定集合到下拉框
  function bindList(select,list)
  {
  select.options.length=0;
  
    for(var i=0;i<list.length;i++)
	{
	    var node=list[i];
	
	    var option=new Option();
	    option.text=node.getAttribute("Name");
	    option.value=node.getAttribute("Name");
	    
	    select.add(option);
	}
  }
  
//  绑定到某个div中的checkbox中
  function AddControl2Base(base,list)
  {
    base.innerHTML="";
  
    for(var i=0;i<list.length;i++)
	{
	
	    var node=list[i];	    
	    
	    //外层包裹的span
	    var span=document.createElement("div");
	    span.id="div"+node.getAttribute("Name");
	    //样式
	    span.className="spanCitySingle";
	  //  span.style.width="400";
	    
	    
	    var childControl=document.createElement("input");
	    childControl.type="checkbox";
	    childControl.id=node.getAttribute("Name");
	    childControl.value=node.getAttribute("Name");
	    //给复选框附加事件
 	    childControl.onclick=function(){ clientCityClick(this)};
 	  //  addEvent2Control(childControl,"click","clientCityClick");
// 	    if(window.addEventListener)
// 	    { // Mozilla, Netscape, Firefox   
//         childControl.addEventListener("click", clientCityClick(node.getAttribute("Name")), false);               
//          }
//           else
//           { // IE   
//              childControl.attachEvent("onclick",  function(){clientCityClick(node.getAttribute("Name"));});              
//          }  
 	    
	    span.appendChild(childControl);
	    
	    var lab=document.createElement("label");
	    lab.innerHTML=node.getAttribute("Name");
	    lab.htmlFor=node.getAttribute("Name");
	    
	    
	      span.appendChild(lab);
	      
	      
   base.appendChild(span);
	    
	    if(i%5==0&&i!=0)
	    {
//添加换行标签
	              var br=document.createElement("<div style='height:1px;' class='divBR'>");
	                 base.appendChild(br);
	    }
	    
	    
	}
  } 
  
  ///////////////////////////////////
  
  
  //初始化
  function initXMLCity(firstControl,secondControl,threeControl)
  {
    LoadControl(firstControl);
   loadProvice(firstControl.value,secondControl,threeControl)
     loadCity(secondControl.value,threeControl) 
  }
  
  
  
  

  

