
var xmlDoc;
var browserName=navigator.appName; 
function fill()
{
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
	xmlDoc.onreadystatechange=verify;
    xmlDoc.load("XMLDoc/CountryAndStates.xml");
    
 	var contr=document.getElementById("ddlCountry"); 
	var city=document.getElementById("ddlState");
	var treenodes ;
	treenodes= xmlDoc.getElementsByTagName("C");
	for(var i = 0; i < treenodes.length; i++) 
    {
		var e = treenodes[i];
		if (e.getAttribute("CN")!= null)
		{
			var id = e.getAttribute("CN");
			AddList(contr,id,id);
		} 
    }
     countryfill();
 }

function verify() 
{ 
	if(xmlDoc.readyState!=4)
		return false; 
}
 
function countryfill()
{	
 	var contr=document.getElementById("ddlCountry"); 
	var city=document.getElementById("ddlState");
    var contrsel=contr.value
	var f1;
	var f2;
	var total1;
	total1=city.length;
	
	for (var i=total1-1;i>=0;i=i-1)
	{
		DelListItem(city,i);                       
	}
	
	//{Original Code
	//*xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	//*xmlDoc.async="false";
	//*xmlDoc.onreadystatechange=verify;
	//*xmlDoc.load("XMLDoc/CountryAndStates.xml");
    //*treenodes= xmlDoc.getElementsByTagName("C");
    //}
    
//Code By Zia Haider -----Checking Browsers To Load XML document    
	if (browserName=="Microsoft Internet Explorer")
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load("XMLDoc/CountryAndStates.xml");
	}
	else if (navigator.vendor=="Google Inc.")
	{
		var http =new XMLHttpRequest();
		
		
		http.onreadystatechange=function()
		{
		if (http.readyState==4 && http.status==200)
			{
				xmlDoc= http.responseXML;
			}
		}	
		http.open("GET", "XMLDoc/CountryAndStates.xml", false);
		http.send(null);	
					
	}
	else if (document.implementation && document.implementation.createDocument)
	{	
		xmlDoc= document.implementation.createDocument("","",null);
		xmlDoc.async=false;
		xmlDoc.load("XMLDoc/CountryAndStates.xml");
	}	
	else
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load("XMLDoc/CountryAndStates.xml");
	}
//Code By Zia Haider -----Checking Browsers To Load XML document    	
	treenodes= xmlDoc.getElementsByTagName("C");    
	
    
	for(var i = 0; i < treenodes.length; i++) 
	{
		var e = treenodes[i];
		if (e.getAttribute("CN")== contrsel)
		{
			fillStates(e);
		} 
	}	
}

 function fillStates(tree)
 {
 	var city=document.getElementById("ddlState");  
    if(tree.hasChildNodes()) 
    {
        var nodes=tree.childNodes.length;
        for(var i=0; i<tree.childNodes.length; i++)
        {    
            //{Original Code
            //*var valat= tree.childNodes(i).getAttribute("SN");
            //}
            
			//Code By Zia Haider -----Checking Browsers To Load ChildNodes Value
			if (browserName=="Microsoft Internet Explorer")
			{
				var valat= tree.childNodes(i).getAttribute("SN");
			}
			else if (document.implementation && document.implementation.createDocument)
			{
				i++;
				var valat= tree.childNodes[i].getAttribute("SN");
			}
			else
			{
				var valat= tree.childNodes(i).getAttribute("SN");
			}                                 
			//Code By Zia Haider -----Checking Browsers To Load ChildNodes Value
            AddList(city,valat,valat);
            
        }       
    }
 }

function AddList(Objectname,ItemValue,DisplayText)
{
	   	var listcount = Objectname.length;
      	Objectname.options[Number(listcount)] = new Option(DisplayText,ItemValue);
    	var AddList = 'true'; 
    	return AddList; 
}    

function DelListItem(Objectname,ItemValue)
{         
    		Objectname.options[ItemValue] = null; 
    		var DelListItem = 'true'; 
    		return DelListItem; 	
}