﻿//显示输入信息的提示
function ShowTips(n) {
    document.getElementById("check_username_info").display = "none";
    document.getElementById("check_password_info").display = "none";
    document.getElementById("confirm_password_info").display = "none";
    document.getElementById("check_email_info").display = "none";
    document.getElementById("check_truename_info").display = "none";
    document.getElementById("check_pid_info").display = "none";
    document.getElementById("check_checkcode_info").display = "none";

    switch (n) {
        case 1:
            document.getElementById("username_info").innerHTML = "通行证即游戏账号，可用于登录亿佳旗下所有游戏产品，即可用此通行证登录《2061》。账号由6-15个字符(包括小写字母、数字、下划线)。注册成功后不能修改。"; break;
        case 2:
            document.getElementById("password_info").innerHTML = '密码由6-15个字符组成，请使用英文字母加数字或符号的组合密码。'; break;
        case 3:
            document.getElementById("email_info").innerHTML = '没有电子邮件？推荐使用<a href="http://mail.qq.com/cgi-bin/loginpage" target="blank" style="text-decoration:underline">QQ邮箱</a>(你的QQ号码加上@QQ.com就是你的QQ邮箱地址),<a href="http://mail.163.com/" target="blank" style="text-decoration:underline">163邮箱</a>!'; break;
        case 4:
            document.getElementById("truename_info").innerHTML = '请填写您输入的证件上面的姓名，此信息将用于防沉迷验证！'; break;
        case 5:
            document.getElementById("pid_info").innerHTML = '请输入您注册账号时的身份证号码。 '; break;
        case 6:
            document.getElementById("checkcode_info").innerHTML = '请输入左侧字符。'; break;
        default: break;
    }
}
var flag = 0;
//提交表单时作的一系列验证
function submitForm() {
    //    var input = new Array(document.getElementById("check_username_info"),
    //                          document.getElementById("confirm_password_info"),
    //                          document.getElementById("check_email_info"),
    //                          document.getElementById("check_truename_info"),
    //                          document.getElementById("check_pid_info"),
    //                          document.getElementById("checkcode_info")
    //                             );
    var tag = 0;
    var input1 = document.getElementById("check_username_info");
    var input2 = document.getElementById("check_password_info");
    var input3 = document.getElementById("confirm_password_info");
    var input4 = document.getElementById("check_email_info");
    var input5 = document.getElementById("check_truename_info");
    var input6 = document.getElementById("check_pid_info");
    var input7 = document.getElementById("check_checkcode_info");
    input1.style.color = "red";
    input2.style.color = "red";
    input3.style.color = "red";
    input4.style.color = "red";
    input5.style.color = "red";
    input6.style.color = "red";
    input7.style.color = "red";

    document.getElementById("username_info").style.display = "none";
    document.getElementById("password_info").style.display = "none";
    document.getElementById("email_info").style.display = "none";
    document.getElementById("truename_info").style.display = "none";
    document.getElementById("pid_info").style.display = "none";
    document.getElementById("checkcode_info").style.display = "none";

    if (Form1.username.value.replace(/\s/g, "") == "") {
        input1.innerHTML = "此项为必填项。<br \/>账号应该由6-15个字符(包括大小写字母、数字、下划线)。注册成功后不能修改。";
        Form1.username.focus();
        tag = 1;
    }
    else if (!checkbadname(Form1.username.value.replace(/(^\s*)|(\s*$)/g, ""))) {
        input1.innerHTML = "您填写的会员名禁止注册!";
        Form1.username.focus();
        tag = 1;
    }
    else if (!checkUserName(Form1.username.value.replace(/(^\s*)|(\s*$)/g, ""))) {
        input1.innerHTML = "您填写的会员名有误。会员名应该由6-15个字符组成，不能为汉字，首个字符必须为字母，不要使用特殊符号。";
        Form1.username.focus();
        tag = 1;
    }
    else if (flag == 0) {
        input1.style.color = "green";
        input1.innerHTML = "填写正确。";
    }

    if (Form1.password.value == "") {
        input2.innerHTML = "此项为必填项。<br \/>密码由6-15个字符组成，请使用英文字母加数字或符号的组合密码。";
        Form1.password.focus();
        tag = 1; 
    }
    else if (!checkPasswd(Form1.password.value)) {
        input2.innerHTML = "您设置的密码有误，密码应该由6-15个英文字母、数字或符号组成,不能包含中文。";
        Form1.password.focus();
        tag = 1; 
     }
    else {
        var Errors = new Array(
		                            "填写正确。",
		                            "请不要设置与会员名相同的密码，为了您的帐户安全，建议使用大小写字母与数字混合设置密码。",
		                            "请不要使用同一个字符来设置密码，为了您的帐户安全，建议使用大小写字母与数字混合设置密码。",
		                            "请不要使用连续的数字设置密码，为了您的帐户安全，建议使用大小写字母与数字混合设置密码 。",
		                            "请不要使用连续的小写字母设置密码，为了您的帐户安全，建议使用大小写字母与数字混合设置密码。",
                                    "请不要使用连续的大写字母设置密码，为了您的帐户安全，建议使用大小写字母与数字混合设置密码。"
		                          );
        var temp = Form1.password.value.replace(/(^\s*)|(\s*$)/g, "");
        var result = checkSafePassword(temp);
        if (result != 0) {
            input2.innerHTML = Errors[result];
            Form1.password.focus();
            tag = 1;
        }
        else {
            input2.style.color = "green";
            input2.innerHTML = Errors[0];
        }
    }

    if (Form1.confirm_password.value == "") {
        input3.innerHTML = "请再输入一遍您上面输入的密码。";
        Form1.confirm_password.focus();
        tag = 1; 
    }
    else if (Form1.password.value != Form1.confirm_password.value) {
        input3.innerHTML = "两次输入的密码不一致，请重新输入。";
        Form1.confirm_password.focus();
        tag = 1; 
     }
    else {
        input3.style.color = "green";
        input3.innerHTML = "填写正确。";
    }

    if (Form1.email.value.replace(/\s/g, "") == "") {
        input4.innerHTML = "此项为必填项。<br \/>没有电子邮箱？推荐使用<a href='http://mail.qq.com/cgi-bin/loginpage' target='blank' style='text-decoration:underline'>QQ邮箱</a>(你的QQ号码加上@QQ.com就是你的QQ邮箱地址),<a href='http://mail.163.com/' target='blank' style='text-decoration:underline'>163邮箱</a>!";
        Form1.email.focus();
        tag = 1;
     }
    else if (!checkEmail(Form1.email.value.replace(/(^\s*)|(\s*$)/g, ""))) {
        input4.innerHTML = "电子邮件格式不正确,请输入正确的电子邮件地址。正确的例子如：123456@QQ.com。没有电子邮件？推荐使用<a href='http://mail.qq.com/cgi-bin/loginpage' target='blank' style='text-decoration:underline'>QQ邮箱</a>(你的QQ号码加上@QQ.com就是你的QQ邮箱地址),<a href='http://mail.163.com/' target='blank' style='text-decoration:underline'>163邮箱</a>!";
        Form1.email.focus();
        tag = 1;
    }
    else {
        input4.style.color = "green";
        input4.innerHTML = "填写正确。";
    }

    if (!Form1.submit_type.checked) {
        if (Form1.truename.value.replace(/\s/g, "") == "") {
            input5.innerHTML = "此项为必填项。<br \/>请填写您输入的证件上面的姓名，此信息将用于防沉迷验证。";
            Form1.truename.focus();
            tag = 1; 
         }
        else {
            input5.style.color = "green";
            input5.innerHTML = "姓名填写正确。";
            }

        if (Form1.pid.value.replace(/\s/g, "") == "") {
            input6.innerHTML = "请输入您注册账号时的身份证号码。";
            Form1.pid.focus();
            tag = 1;
          }
        else {
            var Errors = new Array(
		                            "验证通过。",
		                            "身份证号码位数不对!",
		                            "身份证号码出生日期超出范围或含有非法字符!",
		                            "身份证号码校验错误!",
		                            "身份证地区非法!"
		                          );
            var temp = Form1.pid.value.replace(/(^\s*)|(\s*$)/g, "");
            var result = checkIdcard(temp);
            if (result != 0) {
                input6.innerHTML = Errors[result];
                Form1.pid.focus();
                tag = 1;
            }
            else {
                input6.style.color = "green";
                input6.innerHTML = Errors[0];
            }
        }
    }
//    else {
//        Form1.truename.readOnly = true;
//        Form1.pid.readOnly = true;
//        input6.innerHTML = "由于您没有身份证，你将被纳入防沉迷。";
//    }
    if (!Form1.agreement.checked) {
        document.getElementById("agree_Info").innerHTML = "请阅读亿佳通行证用户协议，并在前面打钩!";
        tag = 1;
      }
    if (tag == 1 || flag == 1)
        return false;
    else {
        Form1.submitbtn.disabled = true;
        return true;
    }
}


//检查用户名的格式
function checkUserName(s) {
    var patrn = /^[a-zA-Z]{1}[a-zA-Z0-9\-_]{5,15}$/;
    if (patrn.test(s)) {
        return true
    }
    else {
        return false
    }
}
//检查用户名的格式
function checkbadname(s) {
    var badname = new Array("admin", "administrator");

    for (var i = 0; i < badname.length; i++) {
        if (s.toString().toLowerCase() == badname[i]) {
            break;
        }
    }
    if (i == badname.length)
    { return true }
    else
    { return false}
}

//检查密码的长度要求
function checkPasswd(s) {

    var patrn = /.{6,15}/;
    if (patrn.test(s)) {
        return true
    }
    else {
        return false
    }
}

//检查密码的格式要求
function checkSafePassword(str) {
    if (str == document.getElementById("username").value)
        return 1;
    for (var i = 0; i < str.length; i++) {
        if (str.charAt(0) != str.charAt(i))
            break;
    }
    if (i == str.length) return 2;

    var seqStr = "01234567890";
    if (seqStr.indexOf(str) != -1) return 3;

    var seqStr = "9876543210";
    if (seqStr.indexOf(str) != -1) return 3;

    var seqStr = "abcdefghijklmnopqrstuvwxyz";
    if (seqStr.indexOf(str) != -1) return 4;

    var seqStr = "zyxwvutsrqponmlkjihgfedcba";
    if (seqStr.indexOf(str) != -1) return 4;

    var seqStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    if (seqStr.indexOf(str) != -1) return 5;

    var seqStr = "ZYXWVUTSRQPONMLKJIHGFEDCBA";
    if (seqStr.indexOf(str) != -1) return 5;

    return 0;
}

//校验身份证
function checkIdcard(idcard) {
    var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }

    var idcard, Y, JYM;
    var S, M;
    var idcard_array = new Array();
    idcard_array = idcard.split("");
    //地区检验
    if (area[parseInt(idcard.substr(0, 2))] == null) return 4;
    //身份号码位数及格式检验
    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 0;
            else return 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 0; //检测ID的校验位
                else return 3;
            }
            else return 2;
            break;
        default:
            return 1;
            break;
    }
}

//检查邮箱格式   
function checkEmail(s) {
    //alert("s："+s);
    var patrn = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (patrn.test(s)) {
        return true
    }
    else {
        return false
    }
}


function showStrength() {

    Form1.password.value = Form1.password.value.replace(/\s/g, "");
    var strength = checkPwdStrength(Form1.password.value);
    var show = document.getElementById("password_level");
    switch (strength) {
        case 2:
            show.innerHTML = "中"; break;
        case 3:
            show.innerHTML = "强"; break;
        case 4:
            show.innerHTML = "很强"; break;
        default:
            show.innerHTML = "弱"; break;
    }

}

//判断密码强度
function checkPwdStrength(pwd) {

    var strength = 0;
    var str1 = "0123456789";
    var str2 = "abcdefghijklmnopqrstuvwxyz";
    var str3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    if (pwd.length > 5) {
        document.getElementById("div_password_level").style.display = "block";
        for (var i = 0; i < pwd.length; i++) {
            if (str1.indexOf(pwd.charAt(i)) > -1) {
                strength++;
                break;
            }
        }
        for (var i = 0; i < pwd.length; i++) {
            if (str2.indexOf(pwd.charAt(i)) > -1) {
                strength++;
                break;
            }
        }
        for (var i = 0; i < pwd.length; i++) {
            if (str3.indexOf(pwd.charAt(i)) > -1) {
                strength++;
                break;
            }
        }
        for (var i = 0; i < pwd.length; i++) {
            if ((str1 + str2 + str3).indexOf(pwd.charAt(i)) == -1) {
                strength++;
                break;
            }
        }
    }
    return strength;
}
function checkname(username) {
    var Data;
    Data = username;

    document.getElementById("username_info").style.display = "none";
    
    var unlen = username.replace(/[^\x00-\xff]/g, "**").length;
    if(unlen < 6 || unlen > 15) {
	    document.getElementById("check_username_info").innerHTML =(unlen < 6 ? "用户名太短!" : "用户名太长!");
	    return;
	}
	if (Form1.username.value.replace(/\s/g, "") == "")
	{ document.getElementById("check_username_info").innerHTML = "此项为必填项。<br \/>账号应该由6-15个字符(包括大小写字母、数字、下划线)。注册成功后不能修改。"; return; }
	if (!checkbadname(Form1.username.value.replace(/(^\s*)|(\s*$)/g, "")))
	{ document.getElementById("check_username_info").innerHTML = "您填写的会员名禁止注册!"; return; }
	if (!checkUserName(Form1.username.value.replace(/(^\s*)|(\s*$)/g, "")))
	{ document.getElementById("check_username_info").innerHTML = "您填写的会员名有误。会员名应该由6-15个字符组成，不能为汉字，首个字符必须为字母，不要使用特殊符号。"; return; }
	
    var Request = new XmlHttpRequest();
    Request.send("tools/AjaxData.aspx", "post", "Type=1&Data=" + Data, Back);
}
function Back(status, res) {
    flag = 0;
    if (status == "ok") {
        var IsExists = res.responseText;
        if (IsExists == "YES") {
            document.getElementById("username_info").style.display = "none";
            document.getElementById("check_username_info").style.color = "red";
            document.getElementById("check_username_info").innerHTML = "很抱歉您的用户名已经被注册!";
            flag = 1;
        }
        else {
            document.getElementById("username_info").style.display = "none";
            document.getElementById("check_username_info").style.color = "green";
            document.getElementById("check_username_info").innerHTML = "您的用户名可以使用!";
        }
    }
}

function checkboxclick(obj)
{
    Form1.truename.disabled=obj.checked;if (obj.checked) Form1.truename.value='';
    Form1.pid.disabled=obj.checked;if (obj.checked) Form1.pid.value='';
}
////检测用户名
//function checkname(username) {
//    var unlen = username.replace(/[^\x00-\xff]/g, "**").length;
//    if (unlen < 6 || unlen > 15) {
//        return;
//    }
//    ajaxRead("tools/ajax.aspx?t=checkusername&username=" + escape(username), "showcheckresult(obj,'" + username + "');");
//}
//function htmlEncode(source, display, tabs) {
//    function special(source) {
//        var result = '';
//        for (var i = 0; i < source.length; i++) {
//            var c = source.charAt(i);
//            if (c < ' ' || c > '~') {
//                c = '&#' + c.charCodeAt() + ';';
//            }
//            result += c;
//        }
//        return result;
//    }

//    function format(source) {
//        // Use only integer part of tabs, and default to 4
//        tabs = (tabs >= 0) ? Math.floor(tabs) : 4;

//        // split along line breaks
//        var lines = source.split(/\r\n|\r|\n/);

//        // expand tabs
//        for (var i = 0; i < lines.length; i++) {
//            var line = lines[i];
//            var newLine = '';
//            for (var p = 0; p < line.length; p++) {
//                var c = line.charAt(p);
//                if (c === '\t') {
//                    var spaces = tabs - (newLine.length % tabs);
//                    for (var s = 0; s < spaces; s++) {
//                        newLine += ' ';
//                    }
//                }
//                else {
//                    newLine += c;
//                }
//            }
//            // If a line starts or ends with a space, it evaporates in html
//            // unless it's an nbsp.
//            newLine = newLine.replace(/(^ )|( $)/g, '&nbsp;');
//            lines[i] = newLine;
//        }

//        // re-join lines
//        var result = lines.join('<br />');

//        // break up contiguous blocks of spaces with non-breaking spaces
//        result = result.replace(/  /g, ' &nbsp;');

//        // tada!
//        return result;
//    }

//    var result = source;

//    // ampersands (&)
//    result = result.replace(/\&/g, '&amp;');

//    // less-thans (<)
//    result = result.replace(/\</g, '&lt;');

//    // greater-thans (>)
//    result = result.replace(/\>/g, '&gt;');

//    if (display) {
//        // format for display
//        result = format(result);
//    }
//    else {
//        // Replace quotes if it isn't for display,
//        // since it's probably going in an html attribute.
//        result = result.replace(new RegExp('"', 'g'), '&quot;');
//    }

//    // special characters
//    result = special(result);

//    // tada!
//    return result;
//}
//function showcheckresult(obj, username) {
//    var res = obj.getElementsByTagName('result');

//    var result = "";
//    if (res[0] != null && res[0] != undefined) {
//        if (res[0].childNodes.length > 1) {
//            result = res[0].childNodes[1].nodeValue;
//        } else {
//            result = res[0].firstChild.nodeValue;
//        }
//    }
//    if (result == "1") {
//        document.getElementById("username_info").style.display = "none";
//        document.getElementById("check_username_info").innerHTML = "对不起，您输入的用户名 \"" + htmlEncode(username, true, 4) + "\" 已经被他人使用或被禁用，请选择其他名字后再试。</font>";
//    }
//    else {
//        document.getElementById("username_info").style.display = "none";
//        document.getElementById("check_username_info").innerHTML = "恭喜用户名可以使用。";
//    }
//}

