
var req = new Array();
var counter = 0;

function makeRequest(reqid, userid, action, params, reqtype) {
	var dt = new Date;

	var tyear = dt.getFullYear();
	var tmonth = "0" + (Number(dt.getMonth()) + 1);
	var tday = "0" + dt.getDate();
	var thour = "0" + dt.getHours();
	var tminute = "0" + dt.getMinutes();
	var tsecond = "0" + dt.getSeconds();

	reqt = tyear;
	if(tmonth.length > 2){ reqt += tmonth.substr(1,2); } else { reqt += tmonth; }
	if(tday.length > 2){ reqt += tday.substr(1,2); } else { reqt += tday; }
	if(thour.length > 2){ reqt += thour.substr(1,2); } else { reqt += thour; }
	if(tminute.length > 2){ reqt += tminute.substr(1,2); } else { reqt += tminute; }
	if(tsecond.length > 2){ reqt += tsecond.substr(1,2); } else { reqt += tsecond; }

	if(!reqtype) reqtype = 2;

	if(reqtype == 2){
		var url = "../ajax.php?reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
		var param = "";
	} else {
		var url = "../ajax.php";
		var param = "reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
	}

	//var url = "../ajax.php?reqt=" + encodeURI(reqt) + "&reqid=" + encodeURI(reqid) + "&userid=" + encodeURI(userid) + "&action=" + action + "&params=" + params;
	executeXhr(reqtype, url, param);
}

function executeXhr(type, url, param) {
	// branch for native XMLHttpRequest object
	var reqc = req.length;
	if (window.XMLHttpRequest) {
		req[reqc] = new XMLHttpRequest();
		req[reqc].onreadystatechange = processAjaxResponse;
		if(type == 1){
			req[reqc].open("POST", url, true);
			req[reqc].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		req[reqc].send(param);
		} else {
			req[reqc].open("GET", url, true);
			req[reqc].send(null);
		}

	} // branch for IE/Windows ActiveX version
	else if (window.ActiveXObject) {
		req[reqc] = new ActiveXObject("Microsoft.XMLHTTP");
		if (req[reqc]) {
    		req[reqc].onreadystatechange = processAjaxResponse;
    		if(type == 1){
    			req[reqc].open("POST", url, true);
    			req[reqc].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    			req[reqc].send(param);
    		} else {
    			req[reqc].open("GET", url, true);
    			req[reqc].send(null);
    		}
		}
	}
}


function processAjaxResponse() {
	// only if req shows "loaded"
	for(k=0;k<req.length;k++){
		if(req[k]){
			if (req[k].readyState == 4) {
				// only if "OK"
				if (req[k].status == 200) {
					parseAjaxResponse(k);
				} else {
		    		//alert("There was a problem retrieving the XML data:\n" +
		        	//req[k].statusText);
				}
			}
		}
	}
}

function parseAjaxResponse(k){

	var separator = "<|>";

	var responseArray = new Array();
	responseArray = req[k].responseText.split(separator);
	req[k] = null;


	if(responseArray[2] == 'system_fields_content_show_selection'){
		document.getElementById(responseArray[1]).innerHTML = responseArray[4];
	}

	if(responseArray[2] == 'mmlib_get_preview_picture'){
		if(parent.parent.document.getElementById(responseArray[1])){
			parent.parent.document.getElementById(responseArray[1]).innerHTML = responseArray[4];
		} else if(window.document.getElementById(responseArray[1])){
			window.document.getElementById(responseArray[1]).innerHTML = responseArray[4];
		}
	}

	if(responseArray[2] == 'setup_set_field_as_filter'){
		if(document.getElementById(responseArray[1]).checked){
			document.getElementById(responseArray[1]).checked = false;
		} else {
			document.getElementById(responseArray[1]).checked = true;
		}
		counter++;
		document.getElementById('process_stack_' + responseArray[1]).innerHTML += '<b>DONE</b>';
		document.getElementById('process_stack_' + responseArray[1]).style.color='#65A574';
		document.getElementById('process_stack_' + responseArray[1]).id='done_process_stack_' + responseArray[1];
		setTimeout("document.getElementById('done_process_stack_" + responseArray[1] + "').style.display='none';document.getElementById('done_process_stack_" + responseArray[1] + "').innerHTML='';document.getElementById('done_process_stack_" + responseArray[1] + "').id='';hideProccessStackBox();",4000);
	}

}


function hideProccessStackBox(){
	counter--;
	if(counter == 0){
		document.getElementById('floatLayer').style.display='none';
	}
}