var ajax_element_id;
var URL;
var form_id;

function get_request_obj()
{
	var r=false;
	if(window.ActiveXObject)
		r=new ActiveXObject("Microsoft.XMLHTTP");
	else if(window.XMLHttpRequest)
		r=new XMLHttpRequest();

	return r;
}

function change_handler()
{
	if(request.readyState==4 && request.status==200)
	{
		// response data from the PHP script comes back in the var request.responseText
		//alert(request.responseText);

		//eval the response text to effectuively create the array being returned (options[])
		eval(request.responseText);

		var el;
		var parent;
		var parent_el;
		var new_node;

		if(el=document.getElementById(ajax_element_id))
		{
			parent=document.getElementById(form_id);//el.parentNode;

			el.options.length=0;

			for(var count=0;count<options.length;count++)
			{
				// append some child options
				option1=document.createElement("option");
				option1.setAttribute("value", options[count][0]);

				// create the text part of the <option>
				text1=document.createTextNode(options[count][1]);

				// attach the text now
				option1.appendChild(text1);

				el.appendChild(option1);
			}
		}
	}
}

function ajax_replace_select_content(element_id, URL,form)
{
	form_id=form;
	// disable the element whilst it's being updated
	var el=document.getElementById(element_id);
	el.disabled=true;

	ajax_element_id=element_id;

	if(request=get_request_obj())
	{
		request.open("GET", URL, true);
		request.onreadystatechange=change_handler;
		request.send(null);
	}

	el.disabled=false;
}
