function CheckIdcard(idcard) {
    var Errors = new Array("ok", "身份证号码位数不对", "身份证号码出生日期超出范围或含有非法字符'", "身份证号码校验错误!", "'身份证地区非法!");
    var v_idcard, Y, JYM;
    var S, M;
    var idcard_array = new Array();
    idcard_array = idcard.split(""); //身份号码位数及格式检验 
    switch (idcard.length) {
    case 15:
        if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
            ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性 
        } else {
            ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性 
        }
        if (ereg.test(idcard)) return Errors[0];
        else {
           // document.aspnetForm.txtCardNo.select();
            //document.aspnetForm.txtCardNo.focus();
            return Errors[2];
        }
        break;
    case 18:
        //18位身份号码检测 
        //出生日期的合法性检查  
        //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)     //|02(0[1-9]|[1-2][0-9])) 
        //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)     //|02(0[1-9]|1[0-9]|2[0-8])) 
        if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
            ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式 
        } else {
            ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式 
        }
        if (ereg.test(idcard)) { //测试出生日期的合法性 
            //计算校验位 
            S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3;
            Y = S % 11;
            M = "F";
            JYM = "10X98765432";
            M = JYM.substr(Y, 1); //判断校验位 
            if (M == idcard_array[17]) return Errors[0]; //检测ID的校验位 
            else {
                //document.aspnetForm.txtCardNo.focus();
                return Errors[3];
            }
        } else {
            //document.aspnetForm.txtCardNo.focus();
            return Errors[2];
        }
        break;
    default:
        //document.aspnetForm.txtCardNo.focus();
        return Errors[1];
        break;
    }
}

function IsUserExisted(userName) {
    var lblUserMessage = document.getElementById("ctl00_ContentPlaceHolderRight_lblUserMessage");
    if (userName != "") {
        if (userName.length < 6 || userName.length > 20) {
            lblUserMessage.innerHTML = '<span style="font-size:12px;" > 6到20位，又英文字母，数字构成</span>';
            return false;
        } else {
            lblUserMessage.innerText = "正在验证通行证...";
            var axobj = new ActiveXObject("Microsoft.XMLHTTP");
            axobj.open("Get", "IsUserExisted.aspx?user=" + userName, false);
            axobj.send();
            var strResult = axobj.responseText;
            if (strResult == "0") {
                lblUserMessage.innerHTML = '<img src="resources/images/regite_yes.gif" />';
            } else {
                lblUserMessage.innerHTML = '<span style="font-size:12px;" >此通行证已被使用</span>';
            }
        }
    } else {
        lblUserMessage.innerHTML = "";
    }
}

function CheckUserName() {
    var userName = $("#ctl00_ContentPlaceHolderRight_txtUserName").val();
    var msgUserName = $(".msgUserName");
    if (userName != "") {
        if (userName.length < 6 || userName.length > 20 || /^\w+$/.test(userName) == false) {
            msgUserName.html('<span style="font-size:12px; color:red;">用户名 6到20位，由英文字母，数字下划线构成</span>');
            $("#ctl00_ContentPlaceHolderRight_txtUserName").focus();
            return false;
        } else {
            msgUserName.innerText = "正在验证通行证...";
            var axobj = new ActiveXObject("Microsoft.XMLHTTP");
            axobj.open("Get", "../IsUserExisted.aspx?user=" + userName, false);
            axobj.send();
            var strResult = axobj.responseText;
            if (strResult == "0") {
               msgUserName.html('<span style="font-size:12px;>此通行证可以使用</span>');
                return true;
            } else {
                msgUserName.html('<span style="font-size:12px; color:red;" >此通行证已被使用</span>');
                $("#ctl00_ContentPlaceHolderRight_txtUserName").focus;
                return false;
            }
        }
    } else {
        msgUserName.html('<span style="font-size:12px; color:red;">用户名 6到20位，由英文字母，数字构成</span>');
        $("#ctl00_ContentPlaceHolderRight_txtUserName").focus;
        return false;
    }
}
function CheckPassword() {
    var passWord = $("#ctl00_ContentPlaceHolderRight_txtPassword").val();
    var msgPassword = $(".msgPassword");
    if (passWord != "") {
        if (passWord.length < 6 || passWord.length > 20 || /^\w+$/.test(passWord) == false) {
            msgPassword.html('<span style="font-size:12px; color:red;">密码 6到20位，由英文字母，数字下划线构成</span>');
            $("#ctl00_ContentPlaceHolderRight_txtPassword").focus;
            return false;
        } else {
           msgPassword.html('');
            return true;
        }
    } else {
        msgPassword.html('<span style="font-size:12px; color:red;">密码 6到20位，由英文字母，数字下划线构成</span>');
        $("#ctl00_ContentPlaceHolderRight_txtUserName").focus;
        return false;
    }
}
function CheckPassword2() {
    var msgPassword = $(".msgPassword2");
    if ($("#ctl00_ContentPlaceHolderRight_txtPassword2").val() != "") {
        if ($("#ctl00_ContentPlaceHolderRight_txtPassword").val() != $("#ctl00_ContentPlaceHolderRight_txtPassword2").val()) {
            msgPassword.html('<span style="font-size:12px; color:red;">两次输入的密码不一致</span>');
            $("#ctl00_ContentPlaceHolderRight_txtPassword2").focus;
            return false;
        } else {
            msgPassword.html('');
            return true;
        }
    } else {
        msgPassword.html('<span style="font-size:12px; color:red;">请输入确认密码</span>');
        $("#ctl00_ContentPlaceHolderRight_txtPassword2").focus;
        return false;
    }
}
function CheckEmail() {
    var email = $("#ctl00_ContentPlaceHolderRight_txtEmail").val();
    var msgEmail = $(".msgEmail");
    if (email != "") {
        var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
        if (reg.test(email) == false) {
            msgEmail.html('<span style="font-size:12px; color:red;">电子邮件格式不正确</span>');
            $("#ctl00_ContentPlaceHolderRight_txtEmail").focus;
            return false;
        } else {
            msgEmail.html('');
            return true;
        }
    } else {
        msgEmail.html('<span style="font-size:12px; color:red;">电子邮件格式不正确</span>');
        $("#ctl00_ContentPlaceHolderRight_txtEmail").focus;
        return false;
    }
}
function CheckRealName() {    
    var realName = $("#ctl00_ContentPlaceHolderRight_txtRealName").val();
    var msgRealName = $(".msgRealName");
    if (realName != "") {
         if(realName.length>=2) {
          msgRealName.html('');
         return true;
         }else {
             msgRealName.html('<span style="font-size:12px; color:red;">姓名不能小于两个字符</span>');
            $("#ctl00_ContentPlaceHolderRight_txtRealName").focus;
             return false;
        }
    } else {
        msgRealName.html('<span style="font-size:12px; color:red;">请输入您的姓名</span>');
        $("#ctl00_ContentPlaceHolderRight_txtRealName").focus;
        return false;
    }
}
function CheckIDCard() {
    var idCard = $("#ctl00_ContentPlaceHolderRight_txtIDCard").val();
    var msgIdCard = $(".msgIDCard");
    if (idCard != "") {
        var msg= CheckIdcard(idCard);
        if (msg != "ok") {
            msgIdCard.html('<span style="font-size:12px; color:red;">'+msg+'</span>');
            $("#ctl00_ContentPlaceHolderRight_txtIDCard").focus;
            return false;
        } else {
           msgIdCard.html('');
            return true;
        }
    } else {
        msgIdCard.html('<span style="font-size:12px; color:red;">请输入您的身份证号码</span>');
        $("#ctl00_ContentPlaceHolderRight_txtIDCard").focus;
        return false;
    }
}
function CheckRegister() {
    return CheckUserName() && CheckPassword() && CheckPassword2() && CheckEmail()&&CheckRealName()&&CheckIDCard();
}

//CharMode函数  
 //测试某个字符是属于哪一类.  
 function CharMode(iN){  
     if (iN>=48 && iN <=57) //数字  
     return 1;  
     if (iN>=65 && iN <=90) //大写字母  
     return 2;  
     if (iN>=97 && iN <=122) //小写  
     return 4;  
     else  
     return 8; //特殊字符  
 }  
 //bitTotal函数  
 //计算出当前密码当中一共有多少种模式  
 function bitTotal(num){  
     modes=0;  
     for (i=0;i<4;i++){  
     if (num & 1) modes++;  
     num>>>=1;  
     }  
     return modes;  
 }  
 //checkStrong函数  
 //返回密码的强度级别  

 function checkStrong(sPW){  
     if (sPW.length<=4)  
     return 0; //密码太短  
     Modes=0;  
     for (i=0;i<sPW.length;i++){  
     //测试每一个字符的类别并统计一共有多少种模式.  
     Modes|=CharMode(sPW.charCodeAt(i));  
     }  
     return bitTotal(Modes);  
 } 
 //pwStrength函数  
 //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色  
 function pwStrength(pwd){  
     var obj= document.getElementById("strength_L"); 
     if (pwd==null || pwd==''){  
         obj.src="resources/images/img/safe_00.gif"; 
     }  
     else
     {  
         S_level=checkStrong(pwd);  
         switch(S_level) 
         {  
             case 0:  
              obj.src="resources/images/img/safe_00.gif"; 
             case 1:  
              obj.src="resources/images/img/safe_01.gif";
             break;  
             case 2:  
              obj.src="resources/images/img/safe_02.gif"; 
             break;  
             default:  
            obj.src="resources/images/img/safe_03.gif";
         }  
     } 
 }  