		var XHRAnalyse = new xHttpRequest();
    	function doAjaxAnalyse() {
			showPleaseWaitAnalyzing();
			var dataObj = new dataContainer('resultsFormTabPanel');
			var query = 'handleAnalysis=true';
			XHRAnalyse.send('POST', applicationUrl+'/search/semanticAnalysis.jspx', query, 1200000,'rnd',false,dataObj,onAnalyseReponse);
    		return false; 
    	}

		function onAnalyseReponse(req, status, obj) {
			hidePleaseWaitSearching();
			hidePleaseWaitAnalyzing();
			onResponse(req, status, obj);
			executeJavascript(obj.id);
			
			searchinprocess = false;
		}

		
    	function analyisAdd(conceptID) {
    		var analyseCollexionAndThesaurusField = xGetElementById('collexionAndThesaurus');
    		if (analyseCollexionAndThesaurusField) {
	    		if (analyseCollexionAndThesaurusField.value === '') {
					alert("No collexion and thesaurus selected.");
				  	return false;
				}
			}
	    	showPleaseWaitSearching();
			var dataObj = new dataContainer('resultsFormTabPanel');
			var query = '';
			if (conceptID) {
				query = 'handleAddConcept&conceptID=' + escape(conceptID) + '&';
			}
			if (analyseCollexionAndThesaurusField) {
				query += 'collexionAndThesaurus='+escape(analyseCollexionAndThesaurusField.value);
			}
			XHRAnalyse.send('POST',	applicationUrl+'/search/semanticAnalysis.jspx',	query,1200000,'rnd',false,dataObj,onAnalyisAdd);
    		return false; 
    	}

		function onAnalyisAdd(req, status, obj) {
			onResponse(req, status, obj);
			executeJavascript(obj.id);
			
			doAjaxSearchWithFingerprint();
		}
		
		function onSAResponseSearchWithFingerprint() {
			var dataObj = new dataContainer('panelSemanticAnalysis', onSAResponseResults);
			XHRsearching.send('POST',applicationUrl+'/search/ajaxresults.jspx','',60000,'rnd',false,dataObj,onSASearchingResponse);
		}
		function onSASearchingResponse(req, status, obj) {
			hidePleaseWaitSearching();
			onResponse(req, status, obj);
			executeJavascript(obj.id);
			executeCallback(obj);
			
			doAjaxAnalyse();
		}



		function onSAResponseResults() {
			var dataObj = new dataContainer('proposedConceptsCloudDiv');
			XHRproposedconcepts.send('POST',applicationUrl+'/search/ajaxproposedconcepts.jspx','',30000,'rnd',false,dataObj,onProposedConceptsResponse);
		}

		
		
		window.onload = function()	{}

/* Note: In Opera 9.01, if onunload is defined, the script stops executing 
window.onunload = function() {}
*/

var ldUnitsAnalyzing, ldIndexAnalyzing = 0, ldStateAnalyzing = 0, ldTimerAnalyzing;

function showAnalyzingBarAnalyzing(sId) {
	if ( ldTimerAnalyzing ) {
		//timer procedure allready started, return
		return;
	}
	
	if (document.getElementById) {
	    var bar = document.getElementById(sId);
		if (bar && bar.style && bar.getElementsByTagName) {
			ldUnitsAnalyzing = bar.getElementsByTagName('div');
			bar.style.visibility = 'visible';
			ldTimerAnalyzing = window.setInterval(ldBarOnTimerAnalyzing, 70);
		}
	}
}

function ldBarOnTimerAnalyzing() {
	switch (ldStateAnalyzing) {
		case 0:
			ldUnitsAnalyzing[ldIndexAnalyzing].style.visibility = 'visible';
			++ldIndexAnalyzing;
			if (ldIndexAnalyzing == ldUnitsAnalyzing.length) {
				++ldStateAnalyzing;
				ldIndexAnalyzing = 0;
			}
			break;
		case 1:
			ldUnitsAnalyzing[ldIndexAnalyzing].style.visibility = 'hidden';
			++ldIndexAnalyzing;
			if (ldIndexAnalyzing == ldUnitsAnalyzing.length) {
				++ldStateAnalyzing;
				ldIndexAnalyzing = ldUnitsAnalyzing.length - 1;
			}
			break;
		case 2:
			ldUnitsAnalyzing[ldIndexAnalyzing].style.visibility = 'visible';
			--ldIndexAnalyzing;
			if (ldIndexAnalyzing == -1) {
				++ldStateAnalyzing;
				ldIndexAnalyzing = ldUnitsAnalyzing.length - 1;
			}
			break;
		case 3:
			ldUnitsAnalyzing[ldIndexAnalyzing].style.visibility = 'hidden';
			--ldIndexAnalyzing;
			if (ldIndexAnalyzing == -1) {
				ldStateAnalyzing = 0;
				ldIndexAnalyzing = 0;
			}
			break;
	}
}

function showPleaseWaitAnalyzing() {
		document.getElementById("panelSemanticAnalysis").style.visibility="hidden";
		document.getElementById("panelSemanticAnalysis").style.display="none";
		
		document.getElementById("semanticAnalysisWait").style.visibility="visible";
		document.getElementById("semanticAnalysisWait").style.display="block";
		
		document.getElementById("pleaseWaitSemanticAnalyzing").style.visibility="visible";
		document.getElementById("pleaseWaitSemanticAnalyzing").style.display="block";

   	showAnalyzingBarAnalyzing('pleaseWaitSemanticAnalyzingBarId');
}

function hidePleaseWaitAnalyzing() {
		document.getElementById("panelSemanticAnalysis").style.visibility="visible";
		document.getElementById("panelSemanticAnalysis").style.display="block";

		document.getElementById("semanticAnalysisWait").style.visibility="hidden";
		document.getElementById("semanticAnalysisWait").style.display="none";

		document.getElementById("pleaseWaitSemanticAnalyzing").style.visibility="hidden";
		document.getElementById("pleaseWaitSemanticAnalyzing").style.display="none";
	
	window.clearInterval(ldTimerAnalyzing);
	ldTimerAnalyzing = null;
}