﻿        function ChkKeyPressForID(e){
            var keyCode;
            keyCode = (e.keyCode)? e.keyCode: (e.which)? e.which: e.charCode;
        	if ((keyCode!=9) && (keyCode!=8) && (keyCode<37||keyCode>40) && (keyCode<13 || (keyCode>13 && keyCode<48) || (keyCode>57 && keyCode<65) || (keyCode>90 && keyCode<97) || keyCode>122) && (keyCode != 95  && keyCode != 46 && keyCode != 45)) {
		        if (window.event) //IE
                    e.returnValue = false;
                else //Firefox
                    e.preventDefault();
	        }
        }
        
        function ChkID(strID){
            if(strID.length<5)
                alert('กรุณาใส่ชื่อ ID ที่มีความยาวไม่ต่ำว่า 5 ตัวอักษร');
            else {
                var x = strID
                var filter  = /^([a-zA-Z0-9_\.\-])+$/;
	            if (filter.test(x)){
                    if(hasNoBadWord(x))
                        window.open('UserCheckedResult.aspx?userID='+strID,'CheckID','toolbar=0, menubar=0, scrollbar=0, width=300px, height=100px');
                    else
                        alert('กรุณาอย่าใช้คำที่ไม่สุภาพ หรือ คำที่เกี่ยวข้องกับ GM หรือ TOT');
                } else {
                    alert('ท่านใส่ ID ไม่ถูกต้อง');
                }
            }
        }
        
        function ChkEmail(strID){
            if(strID.length<6)
            {
                alert('กรุณาใส่ Email ที่มีความยาวไม่ต่ำว่า 6 ตัวอักษร');
            }
            else
            {
                var x = strID
	            var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	            if (filter.test(x)) window.open('EmailCheckedResult.aspx?Email='+strID,'CheckID','toolbar=0, menubar=0, scrollbar=0, width=300px, height=100px,');
	            else alert('ท่านใส่ Email ไม่ถูกต้อง');                
            }
        }
        
        function ChkIDCardNo(strID){
            if(strID.length<13)
                alert('รหัสบัตรประชาชน ต้องมีความยาว 13 ตัวอักษร');
            else
            {
                if (IsIDCardNo(strID))
                    window.open('IDCheckedResult.aspx?IDCardNo='+strID,'CheckID','toolbar=0, menubar=0, scrollbar=0, width=330px, height=100px');
                else
                    alert('ท่านใส่รหัสบัตรประชาชนไม่ถูกต้อง');
            }
        }
        
        function IsIDCardNo(strTmp)
        {
            var bFlag = true;
            var iSumDigit = 0; 
	        var iCheckDigit = 0;
	        var invalidIDCard = new Array("1111111111119","2222222222227","3333333333335","4444444444443","5555555555551","6666666666660","7777777777778","8888888888886");
	        
	        if ( strTmp.length != 13 ){ bFlag = false; }
	        else if ((strTmp.charCodeAt(0) == 48) || (strTmp.charCodeAt(0) == 57) ){ bFlag = false; }
	        else {
	            for( var i = 0; i < invalidIDCard.length; i++ ) {
	                if (strTmp == invalidIDCard[i]) {
	                    bFlag = false;
	                    break;
                    }
	            }
	        }

        	if (bFlag == true) {
	            for( var i = 0; i < strTmp.length - 1; i++ ) { 
		            if (((strTmp.charCodeAt(i)<48) || (strTmp.charCodeAt(i)>57)) ){
			            bFlag = false;
			            break;
		            }
		            if (i != 12) {
			            iSumDigit += parseInt(strTmp.charAt(i),10) * (13 - i); 
		            }
	            }

				if (bFlag == true) {    	        
					iCheckDigit = parseInt(strTmp.charAt(12),10); 
					iSumDigit = (iSumDigit % 11);
					
					iSumDigit = (11 - iSumDigit)
					if (iSumDigit == 11) 
						iSumDigit = 1;
					else if (iSumDigit == 10) 
						iSumDigit = 0;
					
					if (iCheckDigit == iSumDigit)
						bFlag = true;
					else
						bFlag = false;
				}
			}
	        return bFlag;
        }
        
        function hasNoBadWord(str)
        {
            str = str.toLowerCase()
            var badWords = new Array("จัญไร", "สถุล", "กู", "มึง", "ไอ้", "หำ", "เจี๊ยว", "หี", "ควย", "เย็ด", "หมอย", "ห่า", "ชาติชั่ว", "ระยำ", "เหี้ย", "ไอ้สัตว์", "ไอ้สัด", "ไอ้เวร", "สัด", "จู๋", "จิ๋ม", "ล่อกัน", "เอากัน", "แทงกัน", "ปี้กัน", "ส้นตีน", "ตีน", "shit", "piss", "fuck", "cunt", "cocksucker", "motherfucker", "tits", "kuy", "_gm", "gm_", "gamemaster", "tot");
                        
            for( var i = 0; i < badWords.length; i++ ) {
	            if (str.indexOf(badWords[i])>=0) {
	                return false;
                }
	        }	        
	        return true;
        }
        
        function validateIDCard(source, clientside_arguments){            
	        var strTmp = new String(clientside_arguments.Value);
            clientside_arguments.IsValid = IsIDCardNo(strTmp);
	        return;  
        }
        
        function validateBadWord(source, clientside_arguments){
            var strTmp = new String(clientside_arguments.Value);
            clientside_arguments.IsValid = hasNoBadWord(strTmp);
	        return;
        }
        
        function validateMobilePhone(source, clientside_arguments){            
	        var strTmp = new String(clientside_arguments.Value);
	        
	        if(document.getElementById('chkReceiveSMS').checked) {
	            var filter  = /^08\d{8}$/;
	            if (filter.test(strTmp)) clientside_arguments.IsValid = true;
	            else clientside_arguments.IsValid = false;
	        } else {
	            clientside_arguments.IsValid = true;
	        }
	        return;  
        }
