var current_el1 = null;
var current_el2 = null;
var bComplete 

function getItems(input,response,sType,levelID)
{	
	if (sType == undefined)
	{
		sType = ""
	}
	if (levelID == undefined)
	{
		levelID = ""
	}
	
	if (response != '')
	{ 		
		var responseVal1,responseVal2 
		
		responseVal1 = response.substring(0,response.indexOf("</select>")+9);
		responseVal2 = response.substring(response.indexOf("</select>")+9,response.length)
		
		// Response mode	
		current_el1.innerHTML = responseVal1;
		if (current_el2 != null)
		{
			current_el2.innerHTML = responseVal2;
		}	

		if (current_el1.id == "divExclude")
		{
			if (getComboAllValues(document.getElementById("lstExclude")) == "-1" && getComboAllValues(document.getElementById("lstInclude")) == "-1")
			{
				document.getElementById("spanClientSideMessage").style.display = "";
			}
		}
	}
	else
	{
		// Input mode			
		var url  = "process_request.asp?p=" + input + "&hash=" + Math.random() + "&sType=" + sType + "&nLevel=" + levelID;
		loadXMLDoc(url);
				
	}
}

function loadItems(id,divName,sType,levelID)
{ 	
	if (divName.indexOf("_") != -1)
	{
		var tempArr = divName.split("_");
		current_el1	= document.getElementById(tempArr[0]);
		current_el2 = document.getElementById(tempArr[1]);
	}
	else
	{
		current_el1	= document.getElementById(divName);
		current_el2 = null
	}	
	getItems(id,'',sType,levelID);
	
}

//----------------------------------------------------------------------------------------------------------------------
//Ajax Logic

// global request and XML document objects
var req;

// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function loadXMLDoc(url) 
{	
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) 
    {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET",url,true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } 
    else if (window.ActiveXObject) 
    {
        //isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) 
        {
            req.onreadystatechange = processReqChange;
            req.open("GET",url,true);
            req.send();
        }
    }
}

// handle onreadystatechange event of req object
function processReqChange()
{

	// only if req shows "complete"
	if (req.readyState == 4) 
	{
		// only if "OK"
		if (req.status == 200) {		
			// ...processing statements go here...
			response  = req.responseXML.documentElement;
			method = response.getElementsByTagName('method')[0].firstChild.data;
			
			var start = req.responseText.indexOf('<result><![CDATA[') + 17
			var stop = req.responseText.indexOf(']]></result>')
			result = req.responseText.substring(start,stop);
			
			eval(method + '(\'\', result)');
		} 
		else 
		{
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}
