function XHTTPRequest_Stores (url, handler) {
//--- Send an HTTP request

	if (window.XMLHttpRequest) {

		storeReq = new XMLHttpRequest ();
		storeReq.onreadystatechange = handler;
		storeReq.open ("GET", url, true);
		storeReq.send (null);

    } else if (window.ActiveXObject) {

		storeReq = new ActiveXObject ("Microsoft.XMLHTTP");
		if (storeReq) {
			storeReq.onreadystatechange = handler;
			storeReq.open ("GET", url, true);
			storeReq.send ();
        } else {
    		storeReq=new ActiveXObject("Microsoft.XMLHTTP");
    		storeReq.onreadystatechange = handler;
			storeReq.open ("GET", url, true);
			storeReq.send ();
    	}

    } else {
    	//--- AJAX is not supported
    }

}

function ClearList (whichFormElement, loadingMessage) {
//--- Clears a drop-down selection list

	while (whichFormElement[0]) {
		whichFormElement[0] = null;
	}

	//--- Initiate a new list?
	if (loadingMessage) {
		whichFormElement[0] = new Option (loadingMessage, '');
	}

}

function BuildList () {
//--- Loads the most recent posts from the server

	if (storeReq.readyState == 4) {

		switch (storeReq.status) {
			case 200:	//--- Display response text
						var hasError = storeReq.responseXML.getElementsByTagName ("error");
						if (hasError.length) {
							alert ('An error occured while downloading options for this form. Please click Back and try again.');
						} else {
							var stores = storeReq.responseXML.getElementsByTagName ("area")[0].getElementsByTagName ("store");
						}
						var field = storeReq.responseXML.getElementsByTagName ("area")[0].getAttribute ('field');
						var formN = storeReq.responseXML.getElementsByTagName ("area")[0].getAttribute ('form');
						if (stores.length) {
							document.forms[formN].elements[field][0] = new Option ('-- Please select --', '', false);
							for (i = 0; i < stores.length; i++) {
								id = (stores[i].getElementsByTagName ('id')[0].firstChild ? stores[i].getElementsByTagName ('id')[0].firstChild.nodeValue : '');
								name = (stores[i].getElementsByTagName ('name')[0].firstChild ? stores[i].getElementsByTagName ('name')[0].firstChild.nodeValue : '');
								document.forms[formN].elements[field][i + 1] = new Option (name, id, false, false);
							}
						}
						break;
			default:	break;
		}

	}

}
