/********************
 *
 *	JAVASCRIPT_SEARCH.JS
 *	Search javascript functions for ITC
 * 
********************/


// Loop through GET query string to set the search counter
SearchCounter = null;
function setSearchCounter() {
	QueryStr      = getQueryStr();
	QueryStrArray = QueryStr.split('&');
	CounterArray  = new Array();
	 
	// Loop through query string and get the counter number from each
	for (i in QueryStrArray) {
		if (QueryStrArray[i].substr(0,12) == 'SearchField_') {
			QueryStrPart      = QueryStrArray[i].substr(12);
			QueryStrPartArray = QueryStrPart.split('=');
			
			CounterArray.push(QueryStrPartArray[0]);
		}
	}
	
	// Only if a preset counter exists, find the highest one
	if (CounterArray.length > 0) {
		Highest = CounterArray[0];
		for (i = 1; i < CounterArray.length; i++)
			Highest = Math.max(CounterArray[i], Highest);
		
		SearchCounter = Highest;
	}
	
	// No GET counter exists, set it to zero
	else
		SearchCounter = 0;
}


// Removes a search option
function removeSearchOption(ParentObjID, ChildObjID) {
	document.getElementById(ParentObjID).removeChild(document.getElementById(ChildObjID));
}

// Populates the search form from an existing search query
function populateSearchForm(FormName, DBTable) {
	
	QueryStr = getQueryStr();
	
	generateWaitDiv('Building Search Form');
	AJAX_sendRequest(true,
	
	JS_HTTPROOT + '/includes/ajax_set_search_output.php?mode=PopulateSearchForm&DBTable=' + DBTable + '&FormName=' + FormName
	+ '&' + QueryStr,
	
	"if (VarForResponseText.substr(0,7) == 'OUTPUT:') {" +
	"document.getElementById('" + FormName + "_SearchFormLinesContainer').innerHTML = VarForResponseText.substr(7); } else { " +
	"alert(VarForResponseText); } deleteWaitDiv();");
}

// Generates a new search line
function newSearchLine(FormName, DBTable) {
	SearchCounter++;
	
	generateWaitDiv('Adding Search Option', true);
	AJAX_sendRequest(true,
	
	JS_HTTPROOT + '/includes/ajax_set_search_output.php?mode=NewSearchLine&Counter=' + SearchCounter + '&DBTable=' +
	DBTable + '&FormName=' + FormName,
	
	"if (VarForResponseText.substr(0,7) == 'OUTPUT:') {" +
	"NewSubDiv = document.createElement('div'); NewSubDiv.setAttribute('id', 'SearchLineContainer_" + SearchCounter + "');" +
	"NewSubDiv.innerHTML = VarForResponseText.substr(7); document.getElementById('" + FormName + "_SearchFormLinesContainer')." +
	"appendChild(NewSubDiv); } else { alert(VarForResponseText); } deleteWaitDiv(true);");
}

// Gets the field output according the select field
function getSearchLineOutput(SelectObj, Counter, DBTable) { 
	
	generateWaitDiv('Setting Search Options', true);
 	AJAX_sendRequest(true,
	
	JS_HTTPROOT + '/includes/ajax_set_search_output.php?mode=SetLineOutput&Counter=' + Counter + '&DBTable=' + DBTable +
	'&DBField=' + SelectObj[SelectObj.selectedIndex].value,
	 
 	"if (VarForResponseText.substr(0,7) == 'OUTPUT:') { document.getElementById('SearchFieldsForSelectionContainer_" +
	Counter + "').innerHTML = VarForResponseText.substr(7); } else { alert(VarForResponseText); } deleteWaitDiv(true);");
}
