var ajaxWorking = false;
var ajaxPool = new Array();
function addToAjaxPool(div_id, query, args) {
	var ajaxQuery = new Array();
	ajaxQuery["div"] = div_id;
	ajaxQuery["query"] = query;
	ajaxQuery["args"] = args;
	ajaxPool.push(ajaxQuery);
	nextAjaxQuery();
};
function nextAjaxQuery() {
	if (ajaxPool.length < 1) return;
	if (!ajaxWorking) {
		var ajaxQuery = ajaxPool.shift();
		sendAjaxData(ajaxQuery["div"], ajaxQuery["query"], ajaxQuery["args"]);
	} else return;
};
function sendAjaxData(div_id, query, args) {
	if (!ajaxWorking) {
		if (!this.http) {
			if (window.XMLHttpRequest) this.http = new XMLHttpRequest();
			else if (window.ActiveXObject) this.http = new ActiveXObject("Microsoft.XMLHTTP");
			if (!this.http) this.http = new ActiveXObject("Msxml2.XMLHTTP");
		}
		if (!this.http) {
			alert("Ваш браузер не поддерживает современные методы передачи данных. Обновите свое программное обеспечение. В противном случае вы не сможете воспользоваться корзиной для добавления выбранных позиций лабораторной мебели. Приносим свои извинения.");
			return;
		}
		var http = this.http;
		this.http.open("POST", "/system/server.php", true);
		var post = "";
		post += encodeURIComponent("query") + "=" + encodeURIComponent(query);
		for (var i = 0; i < args.length; i++) { 
			post += "&" + encodeURIComponent("attr" + (i + 1)) + "=" + encodeURIComponent(args[i]);
		}
		this.http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		this.http.send(post);
		ajaxWorking = true;
		this.http.onreadystatechange = function() {
			if (http.readyState == 4) {
				fillAjaxData(div_id, http.responseText);
			}
		};
	} else return; 
};
function fillAjaxData (div_id, data){
	ajaxWorking = false;
	nextAjaxQuery();
	if (data == "done; empty result") {
		return;
	}
	var selected = document.getElementById(div_id);
	var inner = document.createElement("div");
	inner.innerHTML = data;
	while (selected.childNodes.length > 0) selected.removeChild(selected.lastChild);
	selected.appendChild(inner, selected.lastChild);
	//selected.innerHTML = data;
};
