var http_request = false;

function makePOSTRequestNEW(url, parameters) {


	document.getElementById('ajax_msg').style.display = 'block';
	document.getElementById('ajax_msg').innerHTML = "Please wait...";

	http_request = false;
		
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}



	http_request.onreadystatechange = alertContentsNEW;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	
	

}

function alertContentsNEW() {

	if (http_request.readyState == 4)
	{
		document.getElementById('ajax_content').innerHTML = http_request.responseText;

		document.getElementById('ajax_msg').style.display='none';
		document.getElementById('ajax_msg').innerHTML='';


		//document.getElementById('ajax_msg').innerHTML=http_request.responseText;
		//window.alert(http_request.responseText);
	}
}

var ajax_running = 0;

function ajax(this_page, action, display_div, form_id, post_args, auto)
{

	// if a request is already being processed, terminate this one, delaying it 2 seconds.
	if(ajax_running == 1)
	{
		setTimeout("ajax('"+this_page+"','"+action+"','"+display_div+"','"+form_id+"','"+post_args+"',"+auto+");", 1000);
		//window.alert(ajax_running);
		return false;
	}


	if(display_div == undefined || display_div == '')
	{
		display_div = 'ajax_msg';
	}

	ajax_running = 1;

	var poststr = "";

	if(post_args == undefined)
	{post_args ='';}


	if(form_id != undefined && form_id != '')
	{
		var form_data = document.getElementById(form_id);
		//window.alert(form_id);

		for(i=0; i<form_data.elements.length; i++)
		{
			if(form_data.elements[i].id)
			{
			poststr = poststr + "&" + form_data.elements[i].id + "=" + form_data.elements[i].value;
			//window.alert(form_data.elements[i].value);
			}
		}
		window.alert(poststr);
	}


	makePOSTRequestNEW('/'+this_page+"/action="+action, poststr+"&"+post_args);

	ajax_display(display_div);

	if (auto != undefined && auto != '')
	{
		//setTimeout("document.getElementById('ajax_msg').style.display='none'", 1000);
		document.getElementById('ajax_msg').style.display='none';
		setTimeout("ajax('"+this_page+"','"+action+"','"+display_div+"','"+form_id+"','"+post_args+"',"+auto+");", auto);
	}


}


function ajax_display(div_id)
{
	//window.alert(ajax_running);
	var ajax_content = document.getElementById("ajax_content").innerHTML;
	var ajax_msg = document.getElementById('ajax_msg').innerHTML;


	if(ajax_msg == "Please wait...")
	{
		setTimeout('ajax_display("'+div_id+'");', 500);
	}

	else
	{
		document.getElementById(div_id).style.display='inline';
		if(ajax_content != document.getElementById(div_id).innerHTML)
		{
			document.getElementById(div_id).innerHTML = ajax_content;
		}
		document.getElementById("ajax_content").innerHTML = '';
		ajax_running = 0;
		//document.getElementById("ajax_msg").innerHTML = "content loaded...";
	}
}
