function buildString(asChr,aiLen)
{
	var lsReturn = "";
	var i = 0;

	for (i = 0; i < aiLen; i++)
	{
		lsReturn += asChr;
	}
	/*****************************************************
	asChr could be a string instead of a single character.
	make sure the return string does not exceed the specified length.
	****/
	lsReturn = (lsReturn.length > aiLen) ? lsReturn.substring(0,aiLen) : lsReturn;

	return lsReturn;
}

function padL(asValue,asPad,aiLen)
{
	var lsValue = (asValue != null) ? asValue : "";
	var lsReturn = buildString(asPad,aiLen) + lsValue;
	return lsReturn.substring(lsReturn.length - aiLen);
}

function padR(asValue,asPad,aiLen)
{
	var lsValue = (asValue != null) ? asValue : "";
	var lsReturn = lsValue + buildString(asPad,aiLen);
	return lsReturn.substring(0,aiLen);
}

function padC(asValue,asPad,aiLen)
{
	var lsValue = (asValue != null) ? asValue : "";
	var lsReturn = lsValue;

	if (lsValue.length >= aiLen)
	{
		lsReturn = lsReturn.substring(0,aiLen);
	}
	else
	{
		var pre = Math.round(((aiLen - lsValue.length) / 2) - .1);
		var post = (aiLen - (pre + lsValue.length));
		lsReturn = buildString(asPad,pre) + lsReturn + buildString(asPad,post);
	}
	return lsReturn;
}

function trim(asValue)
{
	var lsReturn = "";
	var liA;
	var liPos = 0;

	if (asValue != null)
	{
		for (liA = 0; liA < asValue.length; liA++)
		{
			if (asValue.substr(liA,1) != " ")
			{
				liPos = liA;
				break;
			}
		}
		lsReturn = asValue.substring(liPos);

		for (liA = (lsReturn.length - 1); liA >= 0; liA--)
		{
			if (lsReturn.substr(liA,1) != " ")
			{
				liPos = (liA + 1);
				break;
			}
		}
		lsReturn = lsReturn.substring(0,liPos);

	}
	return lsReturn;
}

function isEmpty(asValue)
{

	if (asValue == null ||
		trim(asValue).length <= 0)
	{
		return true;
	}

	return false;
}

function replaceString(asValue, asSearch, asReplace)
{
	var lsReturn = "";
	var liA = 0;

	if (asValue != null &&
		asSearch != null &&
		asReplace != null)
	{

		var liLen = asSearch.length;
		for (liA = 0; liA < asValue.length; liA++)
		{
			if ((liA + liLen) <= asValue.length)
			{
				var lsSub = asValue.substring(liA, liA + liLen);
				if (asSearch == lsSub)
				{
					lsReturn += asReplace;
					liA += (liLen - 1);
				}
				else
				{
					lsReturn += asValue.substring(liA, liA + 1);
				}
			}
			else
			{
				lsReturn += asValue.substring(liA, liA + 1);
			}
		}
	}

	return lsReturn;

}

function stripInvalid(asValue,asValid,abIgnoreCase)
{
	var lsReturn = "";
	asValid = (asValid != null) ? asValid : " ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	asValid = (abIgnoreCase) ? asValid.toLowerCase() : asValid;
	asValue = (asValue != null) ? asValue : "";
	var liA = 0;

	for (liA = 0; liA < asValue.length; liA++)
	{
		var lsChr = asValue.substring(liA, liA + 1);
		if (abIgnoreCase)
		{
			lsReturn += (asValid.indexOf(lsChr.toLowerCase()) >= 0) ? lsChr : "";
		}
		else
		{
			lsReturn += (asValid.indexOf(lsChr) >= 0) ? lsChr : "";
		}

	}

	return lsReturn;
}



















