﻿/******************************************************************************
* 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 Can not be empty");
        return false;
    }
    if (!ptn.test(_email)) {
        jO.html("E-Mail Format error");
        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("Sorry<br/>" + _email + "Already exists, please change to other E-Mail", "spMsgEmail").css({ color: "red", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoErr.show();
            return false;
        } else if (msg == "0") {
        jO2.html("Congratulations<br/>" + _email + " Available.", "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("User name can not be empty!");
        return false;
    }
    if (!ptn.test(_email)) {
        jO.html("User name format error!");
        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("Sorry<br/>" + _email + " Already exists, please change to other E-Mail").css({ color: "red", fontSize: "16px", fontWeight: "bold" }).show();
            jIcoErr.show();
            return false;
        }
        else if (msg == "0") {
        jO2.html("Congratulations<br/>" + _email + " Available").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("Password can not be empty").show();
        return false;
    } else if (pin == "" || !ptn.test(pin)) {
    jO.html("Password length must be 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("Inconsistent password twice").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("Safety questions can not be empty!").show();
        return false;
    } else {
    jO.html("<img src='img/ok.gif' alt='Right format' />").show();
        return true;
    }
}
function checkSecAsr(src) {
    var jO = $j("msgSecAsr").show();
    var val = src.value;
    if (val.length == 0) {
        jO.html("The answer safety questions can not be empty");
        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("Verification Code can not be empty");
        return false;
    } else {
        jO.hide();
        jIcoOk.show();
        jIcoErr.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("Format errors, the need for pure figure!").addClass("reg_err").show();
        return false;
    } else {
    jO.removeClass("error").html("<img src='img/ok.gif' alt='Right format' />").show();
        return true;
    }
}
function checkMobile(src) {
    var jO = $j("msgMobile").show();
    var val = src.value;
    var ptn = /^\d{11,13}$/;
    if (val.length > 0 && !ptn.test(val)) {
        jO.html("Format Error");
        return false;
    } else {
        jO.hide();
        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("Format Error");
        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("Format Error");
        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("Format Error");
        return false;
    } else {
        jO.hide();
        return true;
    }
}
function signUp(src) {
    showBgProc(true, "Are registered, please wait...");
    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('Members site you must agree to register in order to register to become a member protocol!', 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("Fill out the form is incomplete or the wrong format, please check and re-fill!", 2);
        showBgProc(false);
    }
}
