// JavaScript Document
    function formValid(frmID, filter_array, valid){
    
            min_pass = 6;
            spec_chars = "? | / > < \ : * \" \'";
            //filter_array = new Array('password','cpassword');
            //valid = new Array('pass','confirm');
            inform = false;

            for(i=0;i<filter_array.length;i++)
            {
                name = filter_array[i];
                if (name.indexOf(":")>0){ //has custom alert
                    __name = name.split(":");
                    name = __name[0];
                    __alert = __name[1];
                }else{
                    __alert = '';
                }
                
                value = $(frmID).find('#'+name).val();
                switch (valid[i])
                {
                    case 'email':
                        if (!isValidEmailAddress($(frmID).find('#'+name).val()))
                        {
                            inform = true;
                            _focus = name;
                            if (__alert == '')
                                msg = "Vui lòng nhập email hợp lệ";
                            else
                                msg = __alert;
                        }
                        break;
                    case 'number':
                        if(isNaN($(frmID).find('#'+name).val()) || $(frmID).find('#'+name).val() == '' )
                        {
                            inform = true;
                            _focus = name;
                            if (__alert == '')
                                msg = "Vui lòng nhập số điện thoại";
                            else
                                msg = __alert;                            
                        }
                        break;
                    case 'required':
                        if ($(frmID).find('#'+name).val() == '')
                        {
                            _focus = name;                            
                            if (__alert == '')
                                msg = "Bạn chưa điền đủ thông tin bắt buộc";
                            else
                                msg = __alert;
                            
                            inform = true;
                        }
                        break;
                    case 'alert-email':
                        if (!isValidEmailAddress($(frmID).find('#'+name).val()) && $(frmID).find('#'+name).val() != '')
                        {
                            inform = true;
                            _focus = name;
                            if (__alert == '')
                                msg = "Vui lòng nhập email hợp lệ";
                            else
                                msg = __alert;
                        }
                        break;
                    case 'confirm':
                            original = name.substr(1,name.length);
                            
                            if (value != $(frmID).find('#'+original).val()){
                                _focus = name;
                                if (__alert == '')
                                    msg = "Xác nhận không đúng.";
                                else
                                    msg = __alert;

                                inform = true;
                            }
                    break;
                    case 'password':
                            isPass = validup(value);
                            if ( value.length < min_pass || !isPass ){
                                    _focus = name;
                                    if (__alert == '')
                                        msg = "Vui lòng nhập mật khẩu chiều dài tối thiểu "+min_pass+" ký tự và không bao gồm các ký tự đặc biệt " + spec_chars;
                                    else
                                        msg = __alert;
                                    
                                    inform = true;
                            }
                    break;
                    case 'captcha':
                        if ($(frmID).find('#'+name).val() == '')
                        {
                            _focus = name;
                                if (__alert == '')
                                    msg = "Vui lòng nhập mã an toàn";
                                else
                                    msg = __alert;
                            
                            inform = true;
                        }
                    break;
                }
                if (inform)
                {
                    break;
                }
            }
            if (inform)
            {
                $(frmID).find('#'+_focus).focus();
                alert(msg);
                return false;
            }
            else
            {
                return true;
            }
    }
    
    function isValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    }
    // valid user name password with none illealCharacters
    function validup(){
            // ? | / > < \ : * " '
            var illegalChars = /(\?|\/|>|<|\\|\:|\*|\"|\'|\s)/g;
            if (illegalChars.test(value))
                    return false;
            return true;
    }
