// Global variables
var sSimpleJunkChars = '?&,:;.';
var sAdvJunkChars = '?&,:;."';
var sTermSep = '&sep;';

function trim(sValue) 
{
	while(''+sValue.charAt(sValue.length-1) == ' ') // Trim trailing spaces
	{
		sValue = sValue.substring(0, sValue.length - 1);
	}	
	var i = 0; // Trim leading spaces
	while(''+sValue.charAt(i)==' ') 
	{
		sValue = sValue.substring(i + 1, sValue.length);
		i = i + 1;
	}
	return sValue;
}

function replace(sValue, cReplaced, cReplacing) 
{
	var i = 0; 
	while(i < sValue.length) 
	{
		if (sValue.charAt(i) == cReplaced) 
		{
			sValue = sValue.substring(0, i) + cReplacing + sValue.substring(i + 1, sValue.length);
		}
		i = i + 1;
	}
	return sValue;
}

function getSimpleHilightTerm(term) 
{
	term = replaceChars(term, sSimpleJunkChars, ' ');
	term = splitSearchTerm(term, ",");

	return term;
}

function replaceChars(sSearchString, sReplacedChars, cReplacing)
{
	for (var i = 0; i < sReplacedChars.length; i++)
	{
		sSearchString = replace(sSearchString, sReplacedChars.charAt(i), cReplacing);
	}
	sSearchString = trim(sSearchString);
	return sSearchString;
}

function splitSearchTerm(sSearchTerm, sSep)
{
	var i = 0; 
	var bLookQt = false;
	var sElement = "";
	var sSplitTerm = "";
	var cTmp = '';
	
	if (sSep.length < 1)
	{
		sSep = sTermSep;
	}

	while(i < sSearchTerm.length) 
	{
		cTmp = sSearchTerm.charAt(i);

		if ((cTmp == ' ') && (bLookQt == false))
		{
			sElement = sSearchTerm.substring(0, i);

			if (sElement.length > 0)
			{
				sSplitTerm = sSplitTerm + sSep + sElement;
			}
			sSearchTerm = sSearchTerm.substring(i + 1, sSearchTerm.length);

			i = 0;
			continue;
		}
		else if (cTmp == '"')
		{

			if (bLookQt == true)
			{
				sElement = sSearchTerm.substring(1, i);

				if (sElement.length > 0)
				{
					sSplitTerm = sSplitTerm + sSep + sElement;
				}
				sSearchTerm = sSearchTerm.substring(i + 1, sSearchTerm.length);

				i = 0;
				bLookQt = false;
				continue;
			}
			else
			{
     				sElement = sSearchTerm.substring(0, i);

     				if (sElement.length > 0)
     				{
     					sSplitTerm = sSplitTerm + sSep + sElement;
     				}
     				sSearchTerm = sSearchTerm.substring(i, sSearchTerm.length);

     				i = 0;
				bLookQt = true;
			}
		}
		i = i + 1;
	}
	if (sSearchTerm.length > 0)
	{
		sSplitTerm = sSplitTerm + sSep + sSearchTerm;
	}
	if (sSplitTerm.length > 0)
	{
		sSplitTerm = sSplitTerm.substring(sSep.length);
	}

	return sSplitTerm;	

}

