﻿//验证码
function setVerifyCode() {
    var nameListDiv = document.getElementById("verifyPic");
    nameListDiv.src = "../Guides/VerifyCode.aspx?SID=" + Math.random();
}

//声明AJAX
var xmlHttp;

var spanID;
var blRegister;
function GetXmlHttpObject() {
    var xmlHttpNew = null;
    try {
        xmlHttpNew = new XMLHttpRequest();
    }
    catch (e) {
        try {
            xmlHttpNew = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttpNew = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttpNew;
}

//ajax请求页面（验证账户名是否存在）
function isAccountName(accountName) {

    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null) {
        alert("浏览器不支持AJAX");
        return false;
    }
    //            var postParam = "accountName=" + accountName;
    var url = "register.aspx?accountName=" + accountName;
    xmlHttp.onreadystatechange = IsHaves;
    xmlHttp.open("post", url, true);
    //            xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    //            xmlHttp.send(postParam);
    xmlHttp.send(null);
}
//根据回传值判断是否存在
function IsHaves() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.responseText.indexOf('1') == 0) {
            SetAccountName(true, spanID);

        }
        else {
            SetAccountName(false, spanID);
        }
    }
}
//邮箱异步获取验证
function isEmail(email) {
    //            isHave = false;
    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null) {
        alert("浏览器不支持AJAX");
        return false;
    }
    var url = "register.aspx?email=" + email;
    xmlHttp.onreadystatechange = IsHaveEmail;
    xmlHttp.open("post", url, true);
    xmlHttp.send(null);
}
function IsHaveEmail() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.responseText.indexOf('1') == 0) {
            SetEmail(true);
        }
        else {
            SetEmail(false);
        }
    }
}
//验证码异步获取验证
function IsVerCode(code) {
    //            isHave = false;
    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null) {
        alert("浏览器不支持AJAX");
        return false;
    }
    var url = "register.aspx?verCode=" + code;
    xmlHttp.onreadystatechange = IsHaveVerCode;
    xmlHttp.open("post", url, true);
    xmlHttp.send(null);
    //            alert("code");
}
function IsHaveVerCode() {

    if (xmlHttp.readyState == 4) {
        if (xmlHttp.responseText.indexOf('1') == 0) {
            SetVerCode(true);
        }
        else {
            SetVerCode(false);
        }
    }
}

/*------------------------------
-----------正则验证-------------
--------------------------------*/
//（正则）验证账户名
function regAccountName(accountName) {
    var regAccountName = /^[A-Za-z0-9_]{4,20}$/;
    if (accountName.match(regAccountName)) {
        return true;
    }
    return false;

}
//（正则）验证密码
function regPassword(password) {
    var regPassword = /^[A-Za-z0-9]{6,20}$/;
    if (password.match(regPassword)) {
        return true;
    }
    return false;
}
//（正则）验证邮箱
function regEmail(email) {
    var regEmail = /\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*/;
    if (email.match(regEmail)) {
        return true;
    }
    return false;
}
/*------------------------------
-----------页面验证-------------
--------------------------------*/
var bl_AccountName = false;
var bl_passwod1 = false;
var bl_passwod2 = false;
var bl_Email = false;
var bl_VerCode = false;
var bl_oldPassword = false;

//获取对象转换
function el(objectID) {
    return document.getElementById(objectID);
}
//验证用户名
function checkAccountName(ckValue, spID) {
    if (ckValue.length == 0) {
        setPageHtml(spID, '用户名不能为空', false);
        bl_AccountName = false;
        return false;
    }
    if (regAccountName(ckValue)) {
        spanID = spID;
        isAccountName(ckValue);
    }
    else {
        setPageHtml(spID, "用户名输入不正确", false);
        bl_AccountName = false;
        return false;
    }
}
function SetAccountName(blHave, spID) {
    if (blHave) {
        setPageHtml(spID, '用户名已存在，请重新填写！', false);
        bl_AccountName = false;
        return false;
    }
    else {
        setPageHtml(spID, '该用户名可用', true);
        bl_AccountName = true;
    }
}
//页面验证密码
var password1 = "";
function checkPassword(password, spID) {

    if (password.length == 0) {
        setPageHtml(spID, '密码不能为空，请输入密码！', false);
        bl_passwod1 = false;

        return false;
    }
    if (password.length < 6) {
        setPageHtml(spID, '密码字数不能少于6个字符，请重新输入密码！', false);
        bl_passwod1 = false;
        return false;
    }
    if (regPassword(password)) {
        setPageHtml(spID, '', true);
        bl_passwod1 = true;
        password1 = password;

    }
    else {
        setPageHtml(spID, '密码含有不合要求字符，请重新输入！', false);
        bl_passwod1 = false;

        return false;
    }
}
//验证二次输入密码
function checkPassword2(password2, spID) {

    if (password2.length == 0) {
        setPageHtml(spID, '请输入确认密码！', false);
        bl_passwod2 = false;
        return false;
    }

    if (password1 != password2) {
        setPageHtml(spID, '二次密码输入不一致！', false);
        bl_passwod2 = false;
        return false;
    }
    else {
        setPageHtml(spID, '', true);
        bl_passwod2 = true;

    }
}
//页面验证注册邮箱
function checkEmail(email, spID) {
    if (email.length == 0) {
        setPageHtml(spID, 'Email不能为空！', false);
        bl_Email = false;
        return false;
    }
    if (!regEmail(email)) {
        setPageHtml(spID, 'Email输入格式不正确！', false);
        bl_Email = false;
        return false;
    }
    else {
        spanID = spID;
        isEmail(email);
    }
}
function SetEmail(blEmail) {
    if (blEmail) {
        setPageHtml(spanID, '该Email以注册过帐户，在此不可用！', false);
        bl_Email = false;
        return false;
    }
    else {
        setPageHtml(spanID, "", true);
        bl_Email = true;
    }
}
//验证验证码是否为空
function checkVerCode(code, spID) {
    if (code.length == 0) {
        setPageHtml(spID, '验证码不能为空', false);
        bl_VerCode = false;
        return false;
    }
    spanID = spID;
    IsVerCode(code);

}
//验证码服务器端回调验证是否正确
function SetVerCode(blCode) {
    if (blCode) {
        setPageHtml(spanID, '', true);
        bl_VerCode = true;
    }
    else {
        setPageHtml(spanID, '验证码输入不正确！', false);
        bl_VerCode = false;
        return false;
    }
}

//验证修改密码时输入密码是否正确
function IsOldPassword(oldPassword) {
    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null) {
        alert("浏览器不支持AJAX");
        return false;
    }
    var url = "password.aspx?oldPassword=" + oldPassword;
    xmlHttp.onreadystatechange = IsHaveOldPassword;
    xmlHttp.open("post", url, true);
    xmlHttp.send(null);
}
function IsHaveOldPassword() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.responseText.indexOf('1') == 0) {
            SetOldPassword(true);
        }
        else {
            SetOldPassword(false);
            return false;
        }
    }
}
//修改密码时验证输入的密码是否正确

function checkOldPassword(oldPassword, spID) {
    if (oldPassword.length == 0) {
        setPageHtml(spID, '旧密码不能为空，请输入密码！', false);
        bl_oldPassword = false;
        return false;
    }
    if (!regPassword(oldPassword)) {
        setPageHtml(spID, '旧密码输入格式不正确，请输入密码！', false);
        bl_oldPassword = false;
        return false;
    }
    spanID = spID;
    IsOldPassword(oldPassword);
}
function SetOldPassword(blOldPassword) {
    if (blOldPassword == true) {
        setPageHtml(spanID, '', true);
        bl_oldPassword = true;
        return true;
    }
    else {
        setPageHtml(spanID, '旧密码不正确！', false);
        bl_oldPassword = false;
        return false;
    }
}


//给页面的待提示标签赋值
function setPageHtml(spID, errorHtml, bl) {
    if (bl == true) {
        el(spID).innerHTML = '<img src="../App_Themes/Default/icon/right.jpg">' + errorHtml;


    }
    else {
        el(spID).innerHTML = '<img src="../App_Themes/Default/icon/error.jpg">' + '<font color="red">' + errorHtml + '</font>';

    }
}




