var Xml;

function CreateXmlHttp()
{
	try
	{
		Xml = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			Xml = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			Xml = null;
		}
	}
	if(!Xml && typeof XMLHttpRequest != "undefined") 
	{
		Xml = new XMLHttpRequest();
	}
}

function DDLOrigenOnChange(Combo, idcat, idfam, idgru, idsub, idgam) 
{
	var DDLOrigen = document.getElementById(DDLOrgn);
	var selectedElem = DDLOrigen.options[DDLOrigen.selectedIndex].value;
	var requestUrl = "../Obtener.aspx?selectedElem=" + encodeURIComponent(selectedElem) + "&combo=" + Combo + "&idcat=" + idcat + "&idfam=" + idfam + "&idgru=" + idgru + "&idsub=" + idsub + "&idgam=" + idgam;
	CreateXmlHttp();
    
	if(Xml)
	{
		Xml.onreadystatechange = HandleResponse;
		Xml.open("GET", requestUrl,  true);	
		Xml.send(null);
	}
}

function HandleResponse()
{
	if(Xml.readyState == 4)
	{
		if(Xml.status == 200)
		{			
			ClearAndSetDDLDestItems(Xml.responseXML.documentElement);
		}
		else
		{
			alert("There was a problem retrieving data from the server." + Xml.status);
		}
	}
}

function ClearAndSetDDLDestItems(Nodes){
    var DDLDestino = document.getElementById(DDLDest);
    for (var count = DDLDestino.options.length-1; count >-1; count--){
        DDLDestino.options[count] = null;
    }
    if (Nodes==null) return;
    var subNodesId = Nodes.getElementsByTagName(DDLDest);
    var subNodesNombre = Nodes.getElementsByTagName('Nombre');
    var textValue; 
    var valueValue; 
    var optionItem;
    for (var count = 0; count < subNodesId.length; count++){
        var IsSelected = false;
        valueValue = subNodesId[count].childNodes[0].nodeValue;
        textValue = subNodesNombre[count].childNodes[0].nodeValue;
        if (valueValue==DDLDestSel) IsSelected = true;
        optionItem = new Option(textValue, valueValue, false, IsSelected);
        DDLDestino.options[DDLDestino.length] = optionItem;
    }
    Actualiza(DDLDest);
}

