// Function to trim leading and trailing spaces
function trim(strText) {
    // this will get rid of leading spaces 
    while (strText.substring(0,1)==String.fromCharCode(32)){
        strText = strText.substring(1, strText.length);
        // this will get rid of trailing spaces 
    }
    while (strText.substring(strText.length-1,strText.length)==String.fromCharCode(32)){
        strText = strText.substring(0, strText.length-1);
    }
    return strText;
}

// Function to test if a character is a letter
function isLetter(strChar) {
    var intCode = strChar.charCodeAt(0) * 1;
    if ((intCode > 64 &&
        intCode < 91) ||
        (intCode > 96 &&
        intCode < 123)) {
        return true;
    }
    else {
        return false;
    }
}

// Function to test if a character is a number
function isNumber(strChar) {
    var intCode = strChar.charCodeAt(0) * 1;
    if (intCode > 47 &&
        intCode < 58) {
        return true;
    }
    else {
        return false;
    }
}

// Function to validate userName
function verUserName(strValue) {
    var bTest = false;
    strValue = trim(strValue);
	if (strValue != "") {
        for (var i=0; i<strValue.length; i++) {
            if ((!isNumber(strValue.charAt(i)) && 
                !isLetter(strValue.charAt(i))) ||
                strValue.length < 4 ||
                strValue.length > 16) {
                strMsg = " ชื่อสมาชิกต้องมีความยาวตั้งแต่ 4-16 ตัวอักษร\n" + 
                         " เป็นภาษาอังกฤษหรือตัวเลขเท่านั้น\n" + 
                         " กรุณากรอกข้อมูล ชื่อสมาชิกให้ถูกต้อง\n";
                return bTest;
            }
        }
        bTest = true;
	}
    return bTest;
}

function verPasswd(strValue) {
    var bTest = false;
    strValue = trim(strValue);
	if (strValue != "") {
        for (var i=0; i<strValue.length; i++) {
            if ((!isNumber(strValue.charAt(i)) && 
                !isLetter(strValue.charAt(i))) ||
                strValue.length < 4 ||
                strValue.length > 16) {
                strMsg = " รหัสผ่านต้องมีความยาวตั้งแต่ 4-16 ตัวอักษร\n" + 
                         " เป็นภาษาอังกฤษหรือตัวเลขเท่านั้น\n" + 
                         " กรุณากรอกข้อมูล รหัสผ่านให้ถูกต้อง\n";
                return bTest;
            }
        }
        bTest = true;
	}
    return bTest;
}

function comparePW(strPassword, strConfirm) {
	b = true;
    if (strPassword != strConfirm) {
        strMsg = "  รหัสผ่านกับยืนยันรหัสผ่านไม่ตรงกัน\n";
		return b;
    }else{
		return false;
	}
}

// Function to validate e-mail addresses
function verEmail(strValue) {
    var bTest = false;
    strValue = trim(strValue);
    if (strValue != "") {
        if (strValue.length <= 50) {
            if (strValue.indexOf("@") != -1 && 
                strValue.indexOf("@") > 0 &&                 
                strValue.indexOf(".") != -1 &&
                (strValue.length - strValue.lastIndexOf(".") > 2 &&
                strValue.length - strValue.lastIndexOf(".") < 5)) { // test for general format
                
                // test username portion
                for(var i=0; i<strValue.indexOf("@"); i++) {
                    if (strValue.charAt(i) != "!" &&
                        strValue.charAt(i) != "%" && 
                        strValue.charAt(i) != "&" && 
                        strValue.charAt(i) != "=" && 
                        strValue.charAt(i) != "'" && 
                        strValue.charAt(i) != "+" && 
                        strValue.charAt(i) != "_" && 
                        strValue.charAt(i) != "." && 
                        strValue.charAt(i) != "-") {
                        if (!isNumber(strValue.charAt(i)) && 
                            !isLetter(strValue.charAt(i))) { // is not a letter or number?
                            strMsg = "กรุณากรอกอีเมล์ให้ถูกต้อง";
                            return bTest;
                        }
                    }
                }
            
                // test sld portion
                for(var i=strValue.indexOf("@")+1; i<strValue.lastIndexOf("."); i++) {
                    if (strValue.charAt(i) != "." &&
                        strValue.charAt(i) != "-") {
                        if (!isNumber(strValue.charAt(i)) && 
                            !isLetter(strValue.charAt(i))) { // is not a letter or number?
                            strMsg = "กรุณากรอกอีเมล์ให้ถูกต้อง";
                            return bTest;
                        }
                    }
                }
            
                // test tld portion
                var strTld = strValue.substring(strValue.lastIndexOf(".")+1).toLowerCase();
                if (strTld != "com" &&
                    strTld != "net" &&
                    strTld != "org" &&
                    strTld != "edu" &&
                    strTld != "mil" &&
                    strTld != "gov") { // is not a valid three-letter tld
                    for(var i=0; i<strTld.length; i++) {
                        if (!isLetter(strTld.charAt(i)) ||
                            strTld.length > 2) {
                            strMsg = "กรุณากรอกอีเมล์ให้ถูกต้อง";
                            return bTest;
                        }
                    }
                }
                bTest = true;
            }
            else {
                strMsg = "กรุณากรอกอีเมล์ให้ถูกต้อง";
            }
        }
        else {
            strMsg = "กรุณากรอกอีเมล์ให้ถูกต้อง";
        }
    }
    return bTest;
}

function stateChecker(rd) {   
	var result=false;
	for (var i =0; i < rd.length; i++) {
		if (rd[i].checked) {
			result=true;
			break;
		}   
	}
	return result;
}

function stateSelected(rd) {
	var result=false;
	for (var i =1; i < rd.options.length; i++) {
		if (rd.options[i].selected) {
			result=true;
			break;
		}   
	}
	return result;
}

function LTrim(str) {
	for (var i=0; str.charAt(i)==" "; i++);
		return str.substring(i,str.length);
}
function RTrim(str) {
	for (var i=str.length-1; str.charAt(i)==" "; i--);
		return str.substring(0,i+1);
}
function Trim(str) {
	return LTrim(RTrim(str));
}

function isEmpty(str) {   
	var str1=Trim(str);
	if (str1 != "")
		return false;
	else
		return true;
}

function isInt(str) {   
	if ((parseInt(str) >= 0 && parseInt(str) <= 9) && (str != ""))
		return true;
	else
		return false;
}

function validate_123(a) {
	var n_count=0;
	var result=true;
	var val = new Array();
	for (i=0;i< a.length; i++){
		var str= a[i].value.replace(" ", "");
		if (str != "") {
			if (is1_3(str) == false) {
				result = false;
				break;
			} else {
				n_count++;
				if (n_count > 3) {
					result = false;
					break;
				} else {
					val[n_count-1] = parseInt(str);
				}
			}
		}
	}
	if (val.length != 3) {
		result = false;
	} else {
		for (i=0;i< val.length; i++){
			var x = val[i];
			for (j=0;j< val.length; j++){
				if (val[j] == x && j != i)
					result = false;
			}
		}
	}
	return result;
}

function is1_3(str) {
	if ((parseInt(str) >= 1 && parseInt(str) <= 3) && (str != ""))
		return true;
	else
		return false;
}