+function clearnext(Arr)
{
	for (var i = 0; i < Arr.length; i++) 
	{
	element = Arr[i];
	CurName = document.getElementById(element);
	CurName.options.length = 0;
	CurName.options[0]=new Option('<--');
	CurName.options[0].value = '';
	}
}
function freerequest(f,name,response)
{   
	if (response != '')
		{ 
		// Response mode				
		} 
			
	else
		{
			// Input mode
			if (name != '')
				CurName = document.getElementById(name);
			url = '/freerequest.php?'+f;
			loadfreeXMLDoc(url);
		}

};

function xmlfreeprocessReqChange() 
{
    // only if req shows "complete"
    if (xmlreq.readyState == 4) 
	{
        // only if "OK"
		if (xmlreq.status == 200) 
		{
			// ...processing statements go here...
			xmlresponse  = xmlreq.responseXML.documentElement;
			
			// *********************************************************************************************//
			if (CurName != null)
				{
					if (xmlresponse.getElementsByTagName('XMLGSELECT').length > 0) 
						{
						for (i=1; i < xmlresponse.getElementsByTagName('XMLGSELECT').length+1; i++)
							{
								XML_text = xmlresponse.getElementsByTagName('XMLGSELECT')[i-1].firstChild.data;
								XML_id = xmlresponse.getElementsByTagName('XMLGSELECT')[i-1].attributes.getNamedItem('xmlid').value;
								CurName.options[i]=new Option(XML_text);
								CurName.options[i].value = XML_id;
							}
						}
						
					eval('freerequest("","","true");');		
				}	
			// *********************************************************************************************//
        } 
		else 
		{
            alert("There was a problem retrieving the XML data:\n" + xmlreq.statusText);
        }
    }
}

var xmlreq;

function loadfreeXMLDoc(url) 
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        xmlreq = new XMLHttpRequest();
        xmlreq.onreadystatechange = xmlfreeprocessReqChange;
        xmlreq.open("GET", url, true);
        xmlreq.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
        if (xmlreq) {
            xmlreq.onreadystatechange = xmlfreeprocessReqChange;
            xmlreq.open("GET", url, true);
			xmlreq.setRequestHeader("If-Modified-Since", Math.random());
            xmlreq.send(null);
        }
    }
}
CurName = null;