<!--

function IsInteger(szStr) {
	for(var i=0; i<szStr.length; i++) {
		// dot is not allow for integer
		if("0123456789+-,".indexOf(szStr.charAt(i)) == -1)
			return false;
	}
	return true;
}

function IsDecimal(strStr, nLead, nDec) {
	for(var i=0;i<strStr.length;i++) {
		if("0123456789+-.,".indexOf(strStr.charAt(i)) == -1) {
			return false;
		}
	}
	if (CountStr(strStr, ".") > 1)
		return false;
	strStr = RemoveChars(strStr, "+-,");
	if ((i = strStr.indexOf(".")) != -1) {
		if (i > nLead)
			return false;
		if ((strStr.length - (i + 1)) > nDec)
			return false;
	}
	else {
		if (strStr.length > nLead)
			return false;
	}
	return true;
}

function IsEmail(szEmail) {
	var i;
	var strtmp = Trim(szEmail);

	for (i=0; i<strtmp.length; i++) {
		if (strtmp.charAt(i) > 'z' || strtmp.charAt(i) < '-' || ("/:;<=>?[\\]^` ".indexOf(strtmp.charAt(i)) != -1))
			return false;
	}
	if (CountStr(strtmp, "@") != 1 || strtmp.indexOf("..") != -1)
		return false;

	if (strtmp.charAt(0) == '@' || strtmp.charAt(strtmp.length - 1) == '@')
		return false;

	while ((i = strtmp.indexOf(".")) != -1) {
		if (i <= 0 || i >= (strtmp.length - 1))
			return false;
		if (strtmp.charAt(i - 1) == '@' || strtmp.charAt(i + 1) == '@')
			return false;
		strtmp = strtmp.substring(i + 1);
	}

	return true;
}

// return true if szStr contains space or empty. Otherwise, return false
function IsEmpty(szStr) {
	for(var i=0; i<szStr.length; i++) {
		if(szStr.charAt(i) == ' ')
			szStr = szStr.substring(i-- + 1, szStr.length);
		else
			break;
	}
	if(szStr.length)
		return false;
	else
		return true;
}

function IsEngString(szStr) {
	szStr = szStr.toLowerCase();
	for(var i=0; i<szStr.length; i++) {
		if(!((szStr.charAt(i) >= 'a' && szStr.charAt(i) <= 'z') || (szStr.charAt(i) >= '0' && szStr.charAt(i) <= '9') || szStr.charAt(i) == ' ' || szStr.charAt(i) == '_' || szStr.charAt(i) == '-' || szStr.charAt(i) == '.'))
			return false;
	}
	return true;
}

function IsThaiString(szStr) {
	for(var i=0; i<szStr.length; i++) {
		if(szStr.charCodeAt(i) <= 128 && szStr.charAt(i) != ' ' && szStr.charAt(i) != '_' && szStr.charAt(i) != '-' && szStr.charAt(i) != '.')
			return false;
	}
	return true;
}

function IsAlphaNumeric(szStr) {
	szStr = szStr.toLowerCase();
	for(var i=0; i<szStr.length; i++) {
		if(!((szStr.charAt(i) >= 'a' && szStr.charAt(i) <= 'z') || (szStr.charAt(i) >= '0' && szStr.charAt(i) <= '9')))
			return false;
	}
	return true;
}

function IsAlphaSymbol(szStr) {
	szStr = szStr.toLowerCase();
	for(var i=0; i<szStr.length; i++) {
		if(!(szStr.charCodeAt(i) >= 32 && szStr.charCodeAt(i) <= 127))
			return false;
	}
	return true;
}

function IsNumeric(szStr) {
	for(var i=0; i<szStr.length; i++) {
		if("0123456789+-.,".indexOf(szStr.charAt(i)) == -1)
			return false;
	}
	return true;
}

function IsLoginName(strLogin) {
	if (IsEmpty(strLogin) || (!IsEngString(strLogin) && !IsThaiString(strLogin)) || strLogin.length < 6 || ContainSpace(strLogin))
		return false;
	return true;
}

function IsPassword(strPassword) {
	if (IsEmpty(strPassword) || !IsAlphaSymbol(strPassword) || strPassword.length < 6 || ContainSpace(strPassword))
		return false;
	return true;
}

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;
}

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;
}

function RemoveChars(strStr, strChars) {
	var strtmp;
	for(var i=0; i<strStr.length; i++) {
		if(strChars.indexOf(strStr.charAt(i)) != -1) {
			strtmp = strStr.substring(0, i);
			strtmp += strStr.substring(i + 1, strStr.length);
			strStr = strtmp;
		}
	}
	return strStr;
}

// 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;
}

// is there any radio checed?
function isRadioChecked(ctrl) {
	for (var i=0; i<ctrl.length; i++) {
		if (ctrl[i].checked)
			return true;
	}
	return false;
}

// is there any radio checed?
function isListboxEmpty(ctrl) {
	return ctrl.lenght == 0;
}

// are there any checkboxlist child checked?
function isCheckboxListChecked(frm, strName) {
	for (var i=0; i<frm.elements.length; i++) {
		if (frm.elements[i].type.toLowerCase() == "checkbox") {
			if (frm.elements[i].name == strName && frm.elements[i].checked)
				return true;
		}
	}
	return false;
}

//-->