﻿/// <reference path="jquery-1[1].3.2-vsdoc2.js" />

function tip(obj)
{
    obj.className = "focusOn";
    var spanTip = $("#" + obj.id).parent("span").next("span");
    if (spanTip.attr("className") == "tt")
    {
        spanTip.show();
    }
    if (obj.id == "password")
    {
        var password = $("#password").val().trim();
        var repassword = $("#repassword").val().trim();
        if (password.length == 0)
        {
            $("#repassword").val(""); 
            notip($("#repassword")[0], "<p>请再输入一次密码！</p>");
        }
    }
}
function notip(obj, tipHtml)
{
    obj.className = "blurOn";
    $(obj).parent().next().attr("className", "tt").html(tipHtml).hide().next().hide();
}
function successTip(inputId, tipSpanId)
{
    $("#" + inputId).attr("className", "blurOn");
    $("#" + tipSpanId + "1").html("").attr("className", "pass");
    $("#" + tipSpanId + "2").html("").hide();
}
function errorTip(inputId, tipSpanId, tipHtml)
{
    $("#" + inputId).attr("className", "rError");
    $("#" + tipSpanId + "1").html("").attr("className", "nopass");
    $("#" + tipSpanId + "2").html(tipHtml).show();
}
//保存注册信息（昵称、性别）
function saveRegisterInfo()
{
    var nickName = $("#nickname").val().trim();
    var sex = 1;
    if ($("#female").attr("checked"))
    {
        sex = 2;
    }
    $.ajax({
            async: false,
            cache: false,
            type: "POST",
            url: "/Ajax/Register.ashx",
            data: "nickName=" + nickName + "&sex=" + sex + "&ajaxMethod=saveRegisterInfo"
          });
}
//选择注册类型
function setRegisterType(type)
{
    $("#ptType").val(type);
    switch (type)
    {
        case 0:
            $("#liType1").css("background-position", "0 0");
            $("#liType2").css("background-position", "-208px -63px");
            $("#liType3").css("background-position", "-417px -63px");
            $("#divType1,#divNickName,#divSex").show();
            $("#divType2,#divType3,#divEmail,#divMobile").hide();
            break;
        case 1:
            $("#liType1").css("background-position", "0 -63px");
            $("#liType2").css("background-position", "-208px 0");
            $("#liType3").css("background-position", "-417px -63px");
            $("#divType2").show();
            $("#divType1,#divType3,#divEmail,#divMobile,#divNickName,#divSex").hide();
            break;
        case 2:
            $("#liType1").css("background-position", "0 -63px");
            $("#liType2").css("background-position", "-208px -63px");
            $("#liType3").css("background-position", "-417px 0");
            $("#divType3").show();
            $("#divType1,#divType2,#divEmail,#divMobile,#divNickName,#divSex").hide();
            break;
        default:
            break;
    }
}
//检查邮箱格式
function checkEmailFormat(email)
{
    if (email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    {
        return true;
    }
    else
    {
        return false
    }
}
//设置推荐帐号
function selectRecommendedUserName(index)
{
    $("#username").val($("#lblRecommendedUserName" + index).html());
    $("#rdoRecommendedUserName1,#rdoRecommendedUserName2").attr("selected", false).html("");
    $("#spanUserNameTip").hide();
    if (checkPtId())
    {
        $("#password").focus();
    }
}
//检测帐号
function checkPtId()
{
    $("#rdoRecommendedUserName1,#rdoRecommendedUserName2").attr("selected", false);
    $("#lblRecommendedUserName1,#lblRecommendedUserName2").html("");
    $("#spanUserNameTip").hide();

    var ptId = $("#username").val().trim();
    $("#username").val(ptId);
    if (ptId.length == 0)
    {
        notip($("#username")[0], "<p>6-16位，支持小写字母、数字，首位不得为数字！</p>");
        return false;
    }
    var pattern = /^[a-z0-9]{6,16}$/i;
    if (!pattern.test(ptId))
    {
        errorTip("username", "spanUserName", "<p>帐号为6-16位小写字母及数字！</p>");
        return false;
    }
    pattern = /^[a-z]{1}/i;
    if (!pattern.test(ptId))
    {
        errorTip("username", "spanUserName", "<p>帐号必须以小写字母开头！</p>");
        return false;
    }
    if (parseInt(ptId, 10) > 0)
    {
        errorTip("username", "spanUserName", "<p>帐号不能全为数字！</p>");
        return false;
    }
    //检查帐号是否存在
    var obj = eval($.ajax({
        async: false,
        cache: false,
        type: "POST",
        url: "/Ajax/Register.ashx",
        data: "ptId=" + ptId + "&ajaxMethod=checkPtId"
    }).responseText);
    if (!obj.result)
    {
        errorTip("username", "spanUserName", "<p>帐号已经存在！</p>");
        $.post(
                "/Ajax/Register.ashx",
                {
                    ptId: ptId,
                    ajaxMethod: "getRecommendedUserName"
                },
                function(data)
                {
                    if (data.length > 0)
                    {
                        $("#lblRecommendedUserName1").html(data[0].name);
                        $("#lblRecommendedUserName2").html(data[1].name);
                        $("#spanUserNameTip").show();
                    }
                },
                "json"
             )
        return false;
    }
    successTip("username", "spanUserName");
    return true;
}
//检测邮箱帐号
function checkEmailId()
{
    var email = $("#UserEmailId").val().trim();
    $("#UserEmailId").val(email);
    if (email.length == 0)
    {
        notip($("#UserEmailId")[0], "<p>请输入您的邮箱！</p>");
        return false;
    }
    if (!checkEmailFormat(email))
    {
        errorTip("UserEmailId", "spanUserEmailId", "<p>邮箱格式不对！</p>");
        return false;
    }
    var index = email.indexOf("@");
    if (index >= 0)
    {
        var domainName = email.substring(index).toUpperCase();
        if (
            domainName == "@PP.COM" || domainName == "@123.COM" || domainName == "@QQ163.COM" || domainName == "@QQ.CN" || domainName == "@QQ.GD" ||
            domainName == "@136.COM" || domainName == "@QQ.COM.CN" || domainName == "@168.COM" || domainName == "@SIAN.COM" || domainName == "@Q.COM"
           )
        {
            errorTip("UserEmailId", "spanUserEmailId", "<p>邮箱后缀地址不存在！</p>");
            return false;
        }
        else if (domainName == "@TOM.COM")
        {
            errorTip("UserEmailId", "spanUserEmailId", "<p>tom邮箱无法收到我们发出的邮件！</p>");
            return false;
        }
        //检查邮箱帐号是否存在
        var obj = eval($.ajax({
            async: false,
            cache: false,
            type: "POST",
            url: "/Ajax/Register.ashx",
            data: "type=1&userName=" + email + "&ajaxMethod=checkEmailMobileExist"
        }).responseText);
        if (obj.returnString.indexOf("EMPTY") < 0)
        {
            errorTip("UserEmailId", "spanUserEmailId", "<p>该email帐号已经存在！</p>");
            return false;
        }
    }
    successTip("UserEmailId", "spanUserEmailId");
    return true;
}
//检测手机帐号
function chenkCellphoneId()
{
    var cellphone = $("#UserCellphoneId").val().trim();
    $("#UserCellphoneId").val(cellphone);
    if (cellphone.length == 0)
    {
        notip($("#UserCellphoneId")[0], "<p>请输入您的手机号码！</p>");
        return false;
    }
    var reg1 = /^1[3][0-9]\d{8}$/;
    var reg2 = /^1[5][089]\d{8}$/;
    var reg3 = /^1\d{10}$/;
    if (!reg1.test(cellphone) && !reg2.test(cellphone) && !reg3.test(cellphone))
    {
        errorTip("UserCellphoneId", "spanUserCellphoneId", "<p>手机号码格式不正确！</p>");
        return;
    }
    if (!reg1.test(cellphone) && !reg2.test(cellphone))
    {
        errorTip("UserCellphoneId", "spanUserCellphoneId", "<p>只支持130-139、150、158、159号段！</p>");
        return;
    }
    //检查手机帐号是否存在
    var obj = eval($.ajax({
        async: false,
        cache: false,
        type: "POST",
        url: "/Ajax/Register.ashx",
        data: "type=2&userName=" + cellphone + "&ajaxMethod=checkEmailMobileExist"
    }).responseText);
    if (obj.returnString.indexOf("EMPTY") < 0)
    {
        errorTip("UserCellphoneId", "spanUserCellphoneId", "<p>该手机帐号已经存在！</p>");
        return false;
    }
    successTip("UserCellphoneId", "spanUserCellphoneId");
    return true;
}
//检测密码
function checkPassword()
{
    var password = $("#password").val().trim();
    $("#password").val(password);
    if (password.length == 0)
    {
        notip($("#password")[0], "<p>4-10位，英文字母或数字（不区分大小写）！</p>");
        return false;
    }
    var pattern = /^[A-Za-z0-9]{4,10}$/i;
    if (!pattern.test(password))
    {
        errorTip("password", "spanPassword", "<p>密码必须为4-10位数字或英文字母！</p>");
        return false;
    }
    successTip("password", "spanPassword");
    return true;
}
//检测重复密码
function checkRePassword()
{
    var password = $("#password").val().trim();
    var repassword = $("#repassword").val().trim();
    $("#repassword").val(repassword);
    if (repassword.length == 0)
    {
        notip($("#repassword")[0], "<p>请再输入一次密码！</p>");
        return false;
    }
    if (repassword != password)
    {
        errorTip("repassword", "spanRePassword", "<p>您两次填写的密码不同！</p>");
        return false;
    }
    successTip("repassword", "spanRePassword");
    return true;
}
//检测电子邮件
function checkEmail()
{
    var email = $("#PTUserEmailId").val().trim();
    $("#PTUserEmailId").value = email;
    if (email.length == 0)
    {
        notip($("#PTUserEmailId")[0], "<p>请输入有效的E-MAIL！</p>");
        return false;
    }
    var pattern = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/i;
    if (!pattern.test(email))
    {
        errorTip("PTUserEmailId", "spanPTUserEmailId", "<p>电子邮件格式不正确！</p>");
        return false;
    }
    successTip("PTUserEmailId", "spanPTUserEmailId");
    return true;
}
//检测手机号码
function checkMobile()
{
    var mobile = $("#mobile").val().trim();
    $("#mobile").val(mobile);
    if (mobile.length == 0)
    {
        notip($("#mobile")[0], "<p>请输入手机号码！</p>");
        return false;
    }
    var reg1 = /^1[3][0-9]\d{8}$/;
    var reg2 = /^1[5][089]\d{8}$/;
    var reg3 = /^1\d{10}$/;
    if (!reg1.test(mobile) && !reg2.test(mobile) && !reg3.test(mobile))
    {
        errorTip("mobile", "spanMobile", "<p>手机号码格式不正确！</p>");
        return;
    }
    successTip("mobile", "spanMobile");
    return true;
}
//检测昵称
function checkNickName()
{
    var nickName = $("#nickname").val().trim();
    $("#nickname").val(nickName);
    if (nickName.length == 0)
    {
        notip($("#nickname")[0], "<p>昵称长度为2-15位！</p>");
        return false;
    }
    if (nickName.length < 2 || nickName.length > 15)
    {
        errorTip("nickname", "spanNickName", "<p>昵称长度为2-15位！</p>");
        return false;
    }
    if (nickName.indexOf("|") > -1)
    {
        errorTip("nickname", "spanNickName", "<p>昵称中不允许出现 | 字符！</p>");
        return false;
    }
    //检查昵称是否存在
    var obj = eval($.ajax({
        async: false,
        cache: false,
        type: "POST",
        url: "/Ajax/Register.ashx",
        data: "nickName=" + nickName + "&ajaxMethod=checkNickName"
    }).responseText);
    if (!obj.result)
    {
        errorTip("nickname", "spanNickName", "<p>" + obj.returnString + "</p>");
        return false;
    }
    successTip("nickname", "spanNickName");
    return true;
}
//检测验证码
function checkValidateCode()
{
    var validateCode = $("#attcode2").val().trim();
    $("#attcode2").val(validateCode);
    if (validateCode.length == 0)
    {
        notip($("#attcode2")[0], "<p>请输入验证码！</p>");
        return false;
    }
    var pattern = /^\d{6}$/i;
    if (!pattern.test(validateCode))
    {
        errorTip("attcode2", "spanAttcode", "<p>验证码必须为6个数字</p>");
        return false;
    }
    successTip("attcode2", "spanAttcode");
    return true;
}
//检测用户协议
function checkProtocol()
{
    if (!$("#chkAccept").attr("checked"))
    {
        alert("您还未仔细阅读并同意我们的用户协议，请确认同意后再继续！");
        $("#chkAccept").focus()
        return false;
    }
    return true;
}
//页面提交时检查注册信息
function checkForm()
{
    var message;
    //获取注册类型
    var ptType = $("#ptType").val();
    //普通通行证
    if (ptType == "0")
    {
        if (!checkPtId())
        {
            if ($("#username").val().trim().length == 0)
            {
                message = "请输入帐号！";
            }
            else
            {
                message = $("#spanUserName2").text();
            }
            alert(message);
            return false;
        }
        if (!checkNickName())
        {
            if ($("#nickname").val().trim().length == 0)
            {
                message = "请输入昵称！";
            }
            else
            {
                message = $("#spanNickName2").text();
            }
            alert(message);
            return false;
        }
        //保存注册信息（昵称、性别）
        saveRegisterInfo();
    }
    //邮箱通行证
    if (ptType == "1")
    {
        if (!checkEmailId())
        {
            if ($("#UserEmailId").val().trim().length == 0)
            {
                message = "请输入邮箱！";
            }
            else
            {
                message = $("#spanUserEmailId2").text();
            }
            alert(message);
            return false;
        }
    }
    //手机通行证
    if (ptType == "2")
    {
        if (!chenkCellphoneId())
        {
            if ($("#UserCellphoneId").val().trim().length == 0)
            {
                message = "请输入手机号码！";
            }
            else
            {
                message = $("#spanUserCellphoneId2").text();
            }
            alert(message);
            return false;
        }
    }
    if (!checkPassword())
    {
        if ($("#password").val().trim().length == 0)
        {
            message = "请输入密码！";
        }
        else
        {
            message = $("#spanPassword2").text();
        }
        return false;
    }
    if (!checkRePassword())
    {
        if ($("#repassword").val().trim().length == 0)
        {
            message = "请再输入一次密码！";
        }
        else
        {
            message = $("#spanRePassword2").text();
        }
        return false;
    }
    if (!checkValidateCode())
    {
        if ($("#attcode2").val().trim().length == 0)
        {
            message = "请输入验证码！";
        }
        else
        {
            message = $("#spanAttcode2").text();
        }
        return false;
    }
    if (!checkProtocol())
    {
        return false;
    }

    if (ptType == "0")
    {
        $("#nickname").val("");
    }

    return true;
}

