<!--
/****************************************************/
//		### String Function ###
//		1.   Left(szStr, nChar)
//		2.   Right(szStr, nChar)
//		3.   RemoveStr(szStr, szRemove)
//		4.   Trim(szStr)
//		5.   TrimLeft(szStr)
//		6.   TrimRight(szStr)
//		7.   ContainSpace(szStr)
//		8.   CompactSpace(szStr)
//		9.   ReverseString(szInput)
//	 	10. CountStr(strSrc, strFind)
//		11. GetCurrency(szInput)
/****************************************************/

function strReplace(strSource, strRpl, strWith )
{
	while(strSource.indexOf(strRpl)!= -1)
		strSource=strSource.replace(strRpl,strWith);
	return strSource
}
function Left(szStr, nChar)
{
	if(szStr.length > nChar)
		return szStr.substring(0, nChar);
	else
		return szStr
}

function Right(szStr, nChar)
{
	if(szStr.length > nChar)
		return szStr.substring(szStr.length - nChar, szStr.length);
	else
		return szStr;
}

// Because of the build-in function ".replace" cannot replace any string with the empty string
// the only way we can do is the following...
function RemoveStr(szStr, szRemove)
{
	var sztmp, i;

	while((i = szStr.indexOf(szRemove)) != -1) {
		sztmp = szStr.substring(0, i);
		sztmp += szStr.substring(i + szRemove.length, szStr.length);
		szStr = sztmp;
	}

	return szStr;
}

// Remove white space on the both side;
function Trim(szStr) 
{
	return TrimLeft(TrimRight(szStr));
}

// Remove white space on the left side;
function TrimLeft(szStr) 
{
	for(var i=0; i<szStr.length; i++) {
		if(szStr.charAt(i) == ' ')
			szStr = szStr.substring(i-- + 1, szStr.length);
		else
			break;
	}
	return szStr;
}

// Remove white space on the right side;
function TrimRight(szStr) 
{
	for(var i=szStr.length - 1; i>=0; i--) {
		if(szStr.charAt(i) == ' ')
			szStr = szStr.substring(0, i);
		else
			break;
	}
	return szStr;
}

// Is there the szStr contain any space ?
function ContainSpace(szStr) 
{
	if(szStr.indexOf(' ') != -1)
		return true;
	return false;
}

// Conver two or more space to the single space
function CompactSpace(szStr) 
{
	var nSpace = 0;
	var sztmp;
	for(var i=0; i<szStr.length; i++) {
		if(szStr.charAt(i) == ' ') {
			nSpace++;
		}
		else
			nSpace = 0;

		if(nSpace >= 2) {
			nSpace = 0;
			sztmp = szStr.substring(0, i);
			szStr = sztmp + szStr.substring(i + 1, szStr.length);
			i--;
		}
	}
	return szStr;
}

/*
just reverse the given string (GetCurrency's helper function)
*/
function ReverseString(szInput) 
{
	var sztmp;
	var i;

	i = 0;
	sztmp = "";
	for(i = szInput.length; i>=0; i--)
		sztmp += szInput.substring(i - 1, i);

	return sztmp;
}

function CountStr(strSrc, strFind) 
{
	var i, nCount = 0;

	while ((i = strSrc.indexOf(strFind)) != -1) {
		nCount++;
		strSrc = strSrc.substring(i + strFind.length, strSrc.length);
	}

	return nCount;
}

/*
format the given data in currency format ex. xx,xxx,xxx.xxx
*/
function GetCurrency(szInput) 
{
	var sztmp;
	var szSubfix;
	var i, n;
	var bDot;

	if(szInput.length <= 3 || szInput.indexOf(",") != -1)
		return szInput;

	szSubfix = "";
	if((i = szInput.indexOf(".")) != -1) {
		bDot = true;
		szSubfix = szInput.substring(i + 1);
		szInput = szInput.substring(0, i);
		if(szSubfix.length >= 2)
			szSubfix = szSubfix.substring(0, 2);
		else
			szSubfix += "0";
	}
	else
		bDot = false;

	sztmp = "";
	n = szInput.length - 1;
	i = 0;
	while(n >= 0) {
		sztmp += szInput.charAt(n--);
		if(++i >= 3 && n >= 0) {
			sztmp += ",";
			i = 0;
		}
	}
	if(bDot)
		sztmp = ReverseString(sztmp) + "." + szSubfix;
	else
		sztmp = ReverseString(sztmp);
	return sztmp;
}

function SwapItem(objLList, objRList, clickMode)
{
	// checking item has selected.
	if(clickMode == "1")	// click move to right
	{
		var objList1 = objLList;
		var objList2 = objRList;

		if(objLList.selectedIndex == -1)
		{
			//alert("Please select user(s) in available user list first.");
			objLList.focus();
			return false;
		}
	}
	else	 // click move to left
	{
		var objList1 = objRList;
		var objList2 = objLList;

		if(objRList.selectedIndex == -1)
		{
			//alert("Please select user(s) in user group list first.");
			objRList.focus();
			return false;
		}
	}

	// move selected item to another list
	var strUnSelect = "";
	for(var i = 0; i < objList1.length; i++)
	{
		if(objList1[i].selected)
		{
			var listindex = objList2.length;
			var newitem = Option(objList1[i].text, objList1[i].value);
			objList2[listindex] = newitem;
		}
		else
			strUnSelect += objList1[i].text + "|" + objList1[i].value + "^";
	}

	// delete all selected list 
	objList1.length = 0;
	
	// put unselect item into list
	while(1)
	{
		nPos = strUnSelect.indexOf("^") + 1;
		if(nPos < 1) break;
		strItem = Left(strUnSelect, nPos - 1);
		strUnSelect = Right(strUnSelect, strUnSelect.length - nPos);

		nPos = strItem.indexOf("|") + 1;
		strText = Left(strItem, nPos - 1);
		strValue = Right(strItem, strItem.length - nPos);

		var listindex = objList1.length;
		var newitem = Option(strText, strValue);
		objList1[listindex] = newitem;
	}
}

--->