function fncProcessCachedLines() {
	if (lastFunctionAjaxCall != null) {
		var messages = lastFunctionAjaxCall.getElementsByTagName("messages");

		if (messages != null && messages.length > 0 && messages.item(0) != null) {
			messages = messages.item(0).getElementsByTagName("message");
		
			var htmlMessage = "";
			var toolsMessages = getElementById("toolsMessages");
			
			for(var i = 0; i < messages.length; i++) {
				var message = messages.item(i);
				
				htmlMessage += message.firstChild.nodeValue;
				if ((i + 1) < messages.length) {
					if (toolsMessages == null) {
						htmlMessage += "\r\n";
					} else {
						htmlMessage += "<br>";
					}
				}
			}
			
			if (toolsMessages == null) {
				alert(htmlMessage);
			} else {
				toolsMessages.innerHTML += htmlMessage;
			}
		
			scrollDown(toolsMessages);
		}
		
		lastFunctionAjaxCall = null;
	}
	
	setTimeout("doModalAjaxTimedNoWait('" + AJAX_TAIL_URL + "')",250);
	
	return true;
}

function fncUpdateSystemInfo() {
	if (lastFunctionAjaxCall != null) {
		var messages = lastFunctionAjaxCall.getElementsByTagName("messages");
		if (messages != null && messages.length > 0 && messages.item(0) != null) {
			messages = messages.item(0).getElementsByTagName("message");
			
			var usersCount		= null;
			var heapSize		= null;
			var heapMaxSize		= null;
			var heapFreeSize	= null;
			var heapUsedSize	= null;
			var mntSearchDone	= null;
			var mntItemsView	= null;
			var mntDocsDownload	= null;
			var mntDocsPreview	= null;
			
			var mntConnMax		= null;
			var mntConnIdl		= null;
			var mntConnActive	= null;
			
			var upDate			= null;
			
			for(var i = 0; i < messages.length; i++) {
				var message = messages.item(i);
				var param	= message.getAttribute("name");
				var text 	= "";
				
				if (message.firstChild != null) text = message.firstChild.nodeValue;
				
				if ("usersCount" == param) {
					usersCount = text;
				} else if ("heapSize" == param) {
					heapSize = text;
				} else if ("heapMaxSize" == param) {
					heapMaxSize = text;
				} else if ("heapFreeSize" == param) {
					heapFreeSize = text;
				} else if ("heapUsedSize" == param) {
					heapUsedSize = text;

				} else if ("mntSearchDone" == param) {
					mntSearchDone = text;
				} else if ("mntItemsView" == param) {
					mntItemsView = text;
				} else if ("mntDocsDownload" == param) {
					mntDocsDownload = text;
				} else if ("mntDocsPreview" == param) {
					mntDocsPreview = text;

				} else if ("mntConnActive" == param) {
					mntConnActive = text;
				} else if ("mntConnIdl" == param) {
					mntConnIdl = text;
				} else if ("mntConnMax" == param) {
					mntConnMax = text;
				
				} else if ("upDate" == param) {
					upDate = text;

				}
			}

			getElementById("sysInfoUpTime").value 			= returnIfNull(upDate,"n/a");
			
			getElementById("sysInfoUsers").value			= returnIfNull(usersCount	,"n/a");
			getElementById("sysInfoMemCurrent").value		= returnIfNull(heapSize		,"n/a")	+ " kb.";
			getElementById("sysInfoMemMax").value			= returnIfNull(heapMaxSize	,"n/a")	+ " kb.";
			getElementById("sysInfoMemFree").value			= returnIfNull(heapFreeSize	,"n/a")	+ " kb.";
			getElementById("sysInfoMemUsed").value			= returnIfNull(heapUsedSize	,"n/a")	+ " kb.";
			
			getElementById("sysInfoMntSearchDone").value	= returnIfNull(mntSearchDone	,"n/a");
			getElementById("sysInfoMntItemsView").value		= returnIfNull(mntItemsView		,"n/a");
			getElementById("sysInfoMntDocsDownload").value	= returnIfNull(mntDocsDownload	,"n/a");
			getElementById("sysInfoMntDocsPreview").value	= returnIfNull(mntDocsPreview	,"n/a");

			getElementById("sysInfoMntConnMax").value		= returnIfNull(mntConnMax	,"n/a");
			getElementById("sysInfoMntConnIdl").value		= returnIfNull(mntConnIdl	,"n/a");
			getElementById("sysInfoMntConnActive").value	= returnIfNull(mntConnActive,"n/a");
			
		}
		
		lastFunctionAjaxCall = null;
	}
	
	setTimeout("doModalAjaxTimedNoWait('" + AJAX_SYSTEM_INFO_URL + "')",200);
	
	return true;
}

function fncProcessProgress() {
	var doCall = true;

	if (lastFunctionAjaxCall != null) {
		var messages = lastFunctionAjaxCall.getElementsByTagName("messages");

		if (messages != null && messages.length > 0 && messages.item(0) != null) {
			messages = messages.item(0).getElementsByTagName("message");
		
			var progressMessages		= getElementById("progressMessages");
			var progressBar				= getElementById("progressBar");
			var progressBarContainer	= getElementById("progressBarContainer");
			
			var status	= null;
			var msg		= null;
			var total	= null;
			var current	= null;
			var progres	= null;
			
			for(var i = 0; i < messages.length; i++) {
				var message = messages.item(i);
				var text = "";
				
				if (message.firstChild != null) text = message.firstChild.nodeValue;
				
				if (status == null) {
					status = text;
				} else if (msg == null) {
					msg = text;
				} else if (total == null) {
					total = text;
				} else if (current == null) {
					current = text;
				} else if (progres == null) {
					progres = text;
				}
			}

			if (progressBar != null && progressBarContainer != null)	progressBar.style.width = (progressBarContainer.offsetWidth * parseInt(progres) / 100) + "px";
			if (progressMessages != null)								progressMessages.innerHTML = msg + " [" + total + " de " + current + "] " + progres + "%";
			
			doCall = status != "true";
		}
		
		lastFunctionAjaxCall = null;
	}
	
	if (doCall) {
		setTimeout("doModalAjaxTimedNoWait('" + AJAX_PROGRESS_URL + "')",500);
	} else {
		doLink(END_PROGRESS_URL);
	}
	
	return true;
}

function processLoginErrorAjax() {
	var messages = lastFunctionAjaxCall.getElementsByTagName("messages").item(0).getElementsByTagName("message");

	var htmlMessage = "";
		
	for(var i = 0; i < messages.length; i++) {
		var message = messages.item(i);
		
		htmlMessage += message.firstChild.nodeValue;
		if ((i + 1) < messages.length) {
				htmlMessage += "<br>";
		}
	}
	
	var tooltipId = createTooltipNoWait(htmlMessage,'n','l',getElementById("inputLoginUsr"),null);

	var frmLogin = getElementById("frmLogin");
	if (frmLogin != null) frmLogin.setAttribute("tooltip",tooltipId);
	
	AJAX_PANEL.closeAll();
	
	lastFunctionAjaxCall = null;
	return true;
}