/* The following function creates an XMLHttpRequest object... */var elementId="";
var loadingMesg="";
function createRequestObject(){
	var request_o; //declare the variable to hold the object.
	var browser = navigator.appName; //find the browser name
	if(browser == "Microsoft Internet Explorer"){
		/* Create the object using MSIE's method */
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		/* Create the object using other browser's method */
		request_o = new XMLHttpRequest();
	}
	return request_o; //return the object
}var http = createRequestObject();function getRequest(url,id,msg){	/* Create the request. The first argument to the open function is the method (POST/GET),
		and the second argument is the url... 
		document contains references to all items on the page
		We can reference document.form_category_select.select_category_select and we will
		be referencing the dropdown list. The selectedIndex property will give us the 
		index of the selected item. 
	*/
	elementId=id;
	loadingMesg="<div align='center'><img src='loading.gif' /></div>";
	http.open('get', url);
	/* Define a function to call once a response has been received. This will be our
		handleProductCategories function that we define below. */
	http.onreadystatechange = ManipulateRequest; 
	/* Send the data. We use something other than null when we are sending using the POST
		method. */
	http.send(null);
}function postRequest(url,id,msg){
	/* Create the request. The first argument to the open function is the method (POST/GET),
		and the second argument is the url... 
		document contains references to all items on the page
		We can reference document.form_category_select.select_category_select and we will
		be referencing the dropdown list. The selectedIndex property will give us the 
		index of the selected item. 
	*/
	elementId=id;
	loadingMesg=msg;
	http.open('get', url);
	/* Define a function to call once a response has been received. This will be our
		handleProductCategories function that we define below. */
	http.onreadystatechange = ManipulateRequest; 
	/* Send the data. We use something other than null when we are sending using the POST
		method. */
	http.send(null);
}
function ManipulateRequest(){
	/* Make sure that the transaction has finished. The XMLHttpRequest object 
		has a property called readyState with several states:
		0: Uninitialized
		1: Loading
		2: Loaded
		3: Interactive
		4: Finished */	if(loadingMesg=="") var msg="";
		else msg=loadingMesg;
	if(http.readyState == 1)
	{
	document.getElementById(elementId).innerHTML=msg;
	}
	else if(http.readyState == 4){ //Finished loading the response
		/* We have got the response from the server-side script,
			let's see just what it was. using the responseText property of 
			the XMLHttpRequest object. */
		var response = http.responseText;
		
		/* And now we want to change the product_categories <div> content.
			we do this using an ability to get/change the content of a page element 
			that we can find: innerHTML. */
			
		document.getElementById(elementId).innerHTML = response;
	}
}
