﻿/******************************************************************************
* filename: Register.js
* Register Modul Scripting
* (C) MasterLi(masterljf#hotmail.com),Oran Day(likecode#qq.com)
* (C) NSW(http://www.nsw88.com)
*******************************************************************************/
function checkEmail(src, fmtOnly) {
    if (fmtOnly == null)
        fmtOnly = false;

    var jIcoOk = $j("imgEmOk").hide();
    var jIcoErr = $j("imgEmErr").show();
    var jO2 = $j("spEmailMsg2").hide();
    var jO = $j("spEmailMsg").show();

    var _email = $.trim($(src).attr("value"));
    var ptn = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
    if (_email.length == 0) {
        jO.html("E-Mail 不可为空");
        return false;
    }
    if (!ptn.test(_email)) {
        jO.html("E-Mail 格式错误");
        return false;
    }

    jIcoOk.hide();
    jO2.hide();
    jIcoErr.hide();
    jO.hide();
    if (fmtOnly)
        return true;
    $.post("/ajax.ashx?action=checkemail&t=" + Math.random(), { email: _email }, function(msg) {
        if (msg == "1") {
            jO.html("对不起<br/>" + _email + " 已存在，请换其它 E-Mail。", "spMsgEmail").css({ color: "red", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoErr.show();
            return false;
        } else if (msg == "0") {
            jO2.html("恭喜您<br/>" + _email + " 可用。", "spMsgEmail", "spMsgEmail").css({ color: "#2971C1", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoOk.show();
            return true;
        }
        else {
            jO.hide();
            $a(msg, "spMsgEmail");
            return false;
        }
    });
    return true;
}
/********************
* 检查用户名
* src : 触发事件的源对象
* fmtOnly : (可选)是否只检查格式默认为false
********************/
function checkUsername(src, fmtOnly) {
    if (fmtOnly == null)
        fmtOnly == false;

    var jIcoOk = $j("imgUnOk").hide();
    var jO2 = $j("spUsernameMsg2").hide();
    var jIcoErr = $j("imgUnErr").show();
    var jO = $j("spUsernameMsg").show();
    var _email = $.trim($(src).attr("value"));
    var ptn = /\w{3,16}/;
    if (_email.length == 0) {
        jO.html("用户名不可为空");
        return false;
    }
    if (!ptn.test(_email)) {
        jO.html("用户名格式错误");
        return false;
    }

    jIcoOk.hide();
    jO2.hide();
    jIcoErr.hide();
    jO.hide();
    if (fmtOnly)
        return true;

    $.post("/ajax.ashx?action=checkusername&t=" + Math.random(), { username: _email }, function(msg) {
        if (msg == "1") {
            jO2.html("对不起<br/>" + _email + " 已存在，请换其它用户名。").css({ color: "red", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoErr.show();
            return false;
        }
        else if (msg == "0") {
            jO2.html("恭喜您<br/>" + _email + " 可用。").css({ color: "#2971C1", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoOk.show();
            return true;
        }
        else {
            jO2.hide();
            $a(msg);
            return false;
        }
    });
    return true;
}
function checkPin(src) {
    var jIcoOk = $j("imgPwdOk").hide();
    var jIcoErr = $j("imgPwdErr").show();
    var jO = $j("msgPin");
    var pin = src.value;
    var ptn = /.{6,16}/;
    if (pin.length == 0) {
        jO.html("密码不可为空").show();
        return false;
    } else if (pin == "" || !ptn.test(pin)) {
        jO.html("密码长度必须为 6 到 16 位").show();
        return false;
    } else {
        jIcoOk.show();
        jIcoErr.hide();
        jO.hide();
        return true;
    }
}
function checkConfirmPin(src) {
    var jIcoOk = $j("imgCPwdOk").hide();
    var jIcoErr = $j("imgCPwdErr").show();
    var jO = $j("msgConfirmPin");
    var pin = $v("txtPin");
    var cPin = src.value;
    if (pin != cPin) {
        jO.html("两次密码不一致").show();
        return false;
    } else if (cPin.length > 0 && pin == cPin) {
        jIcoOk.show();
        jIcoErr.hide();
        jO.hide();
        return true;
    }
}
function checkSecQus(src) {
    var jO = $j("msgSecQus");
    var val = src.value;
    if (val.length == 0) {
        jO.html("安全提问问题不可为空").show();
        return false;
    } else {
        jO.html("<img src='img/ok.gif' alt='格式正确' />").show();
        return true;
    }
}
function checkSecAsr(src) {
    var jO = $j("msgSecAsr").show();
    var val = src.value;
    if (val.length == 0) {
        jO.html("安全提问答案不可为空");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function checkVerCode(src) {
    var jIcoOk = $j("imgVcOk").hide();
    var jIcoErr = $j("imgVcErr").show();
    var jO = $j("msgVerCode");
    var val = src.value;
    if (val.length == 0) {
        jO.html("验证码不可为空");
        return false;
    } else {
        jO.hide();
        jIcoOk.show();
        jIcoErr.hide();
        return true;
    }
}
function checkMobile(src) {
    var jIcoOk = $j("imgMmOk").hide();
    var jIcoErr = $j("imgMmErr").show();
    var jO = $j("msgMobile").show();
    var val = src.value;
    var ptn = /^\d{11,13}$/;

    if (val.length == 0) {
        jO.html("手机号码不可为空");
        return false;
    } else {
        jO.hide();
        jIcoOk.show();
        jIcoErr.hide();
        return true;
    }
    
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("格式错误");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function checkD(src, msgElmId) {
    var jO = $j(msgElmId);
    var val = src.value;
    var ptn = /^\d*$/;
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("格式错误，必须为纯数字").addClass("reg_err").show();
        return false;
    } else {
        jO.removeClass("error").html("<img src='img/ok.gif' alt='格式正确' />").show();
        return true;
    }
}
function checkZipCode(src) {
    var jO = $j("msgZipCode").show();
    var val = src.value;
    var ptn = /^\d{6}$/;
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("格式错误");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function checkTel(src) {
    var jO = $j("msgTel").show();
    var val = src.value;
    var ptn = /^\d{3,4}-\d{7,8}(-\d{1,5})?$/;
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("格式错误");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function checkFax(src) {
    var jO = $j("msgFax").show();
    var val = src.value;
    var ptn = /^\d{3,4}-\d{7,8}(-\d{1,5})?$/;
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("格式错误");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function signUp(src) {
    showBgProc(true, "正在注册，请稍候...");
    var b1 = checkEmail($g("txtEmail"), true);
    var b2 = checkUsername($g("txtUsername"), true);
    var b3 = checkPin($g("txtPin"));
    var b4 = checkConfirmPin($g("txtConfirmPin"));
    //    var b5 = checkSecQus($g("txtSecQus"));
    //    var b6 = checkSecAsr($g("txtSecAsr"));
    var b8 = checkMobile($g("txtMobile"));
    var b9 = checkTel($g("txtTel"));
    var b10 = checkFax($g("txtFax"));
    var b11 = checkZipCode($g("txtZipCode"));



    if (b1 && b2 && b3 && b4 && b8 && b9 && b10 && b11) {
        if (!$j('chkAgreed').attr('checked')) {
            $a('您必须同意本站会员注册协议才能注册成为会员', 2);
            showBgProc(false);
            return false;
        }

        var s_username = $tv("txtUsername");
        var s_pin = $tv("txtPin");
        var s_email = $tv("txtEmail");
        var s_verCode = $tv("txtVerCode");
        var s_cusername = $tv("txtCUsername");
        var s_secQus = $tv("txtSecQus");
        var s_secAsr = $tv("txtSecAsr");
        var s_realName = $v("txtRealName");
        var s_sex = getChecked("rdoMale") ? "1" : getChecked("rdoFemale") ? "0" : "-1";
        var s_birth = $tv("txtBirth");
        var s_edu = $tv("ddlEducational");
        var s_compName = $tv("txtCompName");
        var s_industry = $tv("ddlIndustry");
        var s_position = $tv("ddlPositions");
        var s_mobile = $tv("txtMobile");
        var s_tel = $tv("txtTel");
        var s_fax = $tv("txtFax");
        var s_province = $tv("_hdnPrtRegion");
        var s_city = $tv("_hdnChdRegion");
        var s_zipCode = $tv("txtZipCode");
        var s_addr = $tv("txtAddr");
        var s_hobby = $tv("txtHobby");
        $.post("/ajax.ashx?action=register&t=" + Math.random(), {
            _username: s_username,
            _pin: s_pin,
            _email: s_email,
            _verCode: s_verCode,
            _cusername: s_cusername,

            _secQus: s_secQus,
            _secAsr: s_secAsr,
            _realName: s_realName,
            _sex: s_sex,
            _birth: s_birth,

            _edu: s_edu,
            _compName: s_compName,
            _industry: s_industry,
            _position: s_position,

            _mobile: s_mobile,
            _tel: s_tel,
            _fax: s_fax,
            _province: s_province,
            _city: s_city,

            _zipCode: s_zipCode,
            _addr: s_addr,
            _hobby: s_hobby
        }, function(msg) {
            if (gav(msg, "state") == "1") {
                $j("registerNotify").html(gav(msg, "msg"));
                $j("divForm").slideUp(80);
                $j("divNotify").slideDown(80);
                $j("spNotifyUsername").html(gav(msg, "username"));
                $j("spNotifyEmail").html(gav(msg, "email"));
            } else {
                $a(gav(msg, "msg"));
            }
            showBgProc(false);
        });
    } else {
        $a("表单填写不完整或格式错误，请检查并重新填写。", 2);
        showBgProc(false);
    }
}
