// JavaScript File : millipore_typeahead.jsp

var g_bInitAutocomplete = false;
var g_bInitAutocompleteForTechService = false;

// Madhav : This function is used to enable typeahead for header search
function initAutocomplete() {

	if (g_bInitAutocomplete == true)
		return;

	new Ajax.Autocompleter("q", "autocomplete", "/pages/shared/typeahead.jsp",
			{
				tokens : ',',
				minChars : 2,
				callback : setCallBackParametersForSearch,
				afterUpdateElement : function() {
					searchByCat();
				}
			});
	g_bInitAutocomplete = true;
}

// Madhav : This function is used for enabling typeahead for CatalogNumber
// Note that the autocompleter constructor has no tokens element
var g_InitAutoCompleteArray = new Array();
function enableAutocompleteForCatalogNumber(form, id, nameDisplayFlag) {
	if (isAutoCompleterAlreadyInitialised(id) == true) {
		return;
	}

	new Ajax.Autocompleter(id, "autocomplete", "/pages/shared/typeahead.jsp", {
		minChars : 2,
		callback : setCallBackParametersForCatalogNumber,
		afterUpdateElement : function() {
			displaySKU(form, id, nameDisplayFlag);
		}
	});
	g_InitAutoCompleteArray.push(id);
}

function isAutoCompleterAlreadyInitialised(id) {
	var index;
	for (index in g_InitAutoCompleteArray) {
		if (g_InitAutoCompleteArray[index] == id)
			return true;
	}
	return false;
}

// Madhav : This function is used for enabling typeahead for CheckOut Page
var g_InitAutoCompleteForCheckOutPage = new Array();
function enableAutocompleteForCheckOut(form, id, nameDisplayFlag) {
	if (g_InitAutoCompleteForCheckOutPage == true)
		return;

	new Ajax.Autocompleter(id, "autocomplete", "/pages/shared/typeahead.jsp", {
		minChars : 2,
		callback : setCallBackParametersForCatalogNumber,
		afterUpdateElement : function() {
			addItem(form, id, nameDisplayFlag);
		}
	});

	g_InitAutoCompleteForCheckOutPage = true;
}

