function getHTTPObject()
{
 if (typeof XMLHttpRequest != 'undefined') 
	{ return new XMLHttpRequest(); } 
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } 
	catch (e) 
	{ try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } 
return false; 
}

function getXMLDOMObject()
{
 if (document.implementation && document.implementation.createDocument){		
		return document.implementation.createDocument("","",null);}try{
		return new ActiveXObject("Msxml2.XMLDOM");}catch (e){try{
			 return new ActiveXObject("Microsoft.XMLDOM");}catch (e){
			 alert("Your browser is not able to run the Ajax.");}} 
return false; 
}

function LoadList(URL, DDown, SelName)
{	
var xmlDoc =getHTTPObject();	
//var url="daclstxml.asp?OrderBy=CNAME";
xmlDoc.open("get",URL,true);
xmlDoc.onreadystatechange = function (){
								if (xmlDoc.readyState == 4){							
									ComboLoadList(xmlDoc,DDown,SelName);
								}	
							}
xmlDoc.send(null);
return true; 
}

function ComboLoadList(xmlDocNew, fm, SName){

	xmlDoc=xmlDocNew;
//	var fm=document.forms.frmEditContact;
	if (xmlDoc.responseText==null || xmlDoc.responseText==""){
		alert("Data not found.");
		fm.focus();
		return false;
	}
	
	var MyRoot = xmlDoc.responseXML.documentElement;
	var MyInfo=MyRoot.getElementsByTagName("Option")

	fm.options.length = 0;
	fm.options[fm.options.length]=null;
	if(xmlDoc.responseText=="" || xmlDoc.responseText ==null){
		fm.options[0]=new Option("Not Found","Not Found",false,true);
	}	
	fm.options[0]=new Option(SName,0);
		for(var i=0 ; i < MyInfo.length; i++){	
			var CurrentChild=MyInfo[i].firstChild;	
			while(CurrentChild){
			var MyID;
			var MyVal;
				switch(CurrentChild.nodeName){
					case "Value" :
						MyID  = RemoveNoData(CurrentChild.childNodes[0].nodeValue) ;//CurrentChild.text;
						break;							
					case "Name" :
						MyVal  = RemoveNoData(CurrentChild.childNodes[0].nodeValue);	
						fm.options[i+1]=new Option(MyVal,MyID);			
						break;	
				}
				CurrentChild=CurrentChild.nextSibling;
			}
				
		}
}

function RemoveNoData(NData){
	if(NData=='nodata')
		return "";
	else
		return NData; 
}