//////////////////////////////// 用户注册 ///////////////////////////////////
function Regedit(){
  window.open("RegisterWarning.aspx","_self","")
}
//检查用户名是否可用
function CheckName(){
    var txtUserName = document.getElementById("txtRegUserName");
    var strUserName = Trim(txtUserName.value) ;
    if (strUserName == ""){
       return false;
    }else{
       MyAjax.IsUsernameValid(strUserName,CallCheckName);
    }
}

function CallCheckName(result)
{
    if(result){      
        if(result.value.Code == 1){
             document.getElementById("spUserName").innerHTML = "<font color='green'>该用户名可用。<font>";       
        }else{    
          document.getElementById("spUserName").innerHTML = "<font color='red'>用户名不可用。<font>";
        }
    }else{       
       document.getElementById("spUserName").innerHTML = "<font color='red'>用户名不可用。<font>";
    }  
}
  

function CheckPassword(){
    //检查密码
    var txtPassword1 = document.getElementById("txtPassword1");
    var strPassword1 = Trim(txtPassword1.value) ; 
    if (strPassword1 == ""){ 
        return false;
    }
    patrn =/^([a-zA-Z0-9]){4,10}$/;
    if (!patrn.exec(strPassword1)) {      
       document.getElementById("spPassword1").innerHTML = "<font color='red'>密码输入不符合要求。<font>";
       return false;
    }    
}

function CheckRepassword(){
    var txtPassword1 = document.getElementById("txtPassword1");
    var strPassword1 = Trim(txtPassword1.value) ; 
    
    var txtPassword2 = document.getElementById("txtPassword2");
    var strPassword2 = Trim(txtPassword2.value) ; 
    if (strPassword2 == ""){ 
        return false;
    }
    if (strPassword1 != strPassword2) {      
       document.getElementById("spPassword2").innerHTML = "<font color='red'>密码输入不一致。<font>";
       return false;
    } 
}
function CheckEmail(){
    var txtEmail = document.getElementById("txtEmail");
    var strEmail = Trim(txtEmail.value) ;
    if (strEmail == ""){      
        return false;
    }
    patrn =/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    if (!patrn.exec(strEmail)) {
       document.getElementById("spEmail").innerHTML = "<font color='red'>Email输入不可用。<font>";
       return false;
    }
}
function Selected( obj ){
  if( obj == 'spUserName' )  {
    document.getElementById(obj).innerHTML = "用户名须在6-16位，支持小写英文字母、数字组合，第一位不得为数字。";
  }
  if( obj == 'spPassword1' )  {
    document.getElementById(obj).innerHTML = "密码可使用英文，数字。长度为4-10的字符。";    
  }
  if( obj == 'spPassword2' )  {
    document.getElementById(obj).innerHTML = "请再输入一次密码。";    
  }
  if( obj == 'spEmail' )  {
    document.getElementById(obj).innerHTML = "请填写您有效的E-MAIL。";
  }
}
function Trim(str){
	var ret = "";
	for(var i = 0; i < str.length; i++){
		if(str.charAt(i) != ' '){
			ret += str.charAt(i);
		}
	}
	return ret;
}
//注册检查
function RegeditCheck(){
    if (!document.getElementById("chAgree").checked){
        alert("请先同意我们的协议！");
        return false;
    }
    //检查用户名
    var txtUserName = document.getElementById("txtRegUserName");
    var strUserName = Trim(txtUserName.value) ;
    if (strUserName == ""){
        alert("请输入用户名！");
        txtUserName.focus();
        return false;
    }
    var patrn =/^[a-zA-Z]{1}([a-zA-Z0-9]){5,15}$/;
    if (!patrn.exec(strUserName)) {
       alert ("用户名须在6-16位，支持小写英文字母、数字组合，第一位不得为数字。")
       txtUserName.select();
       return false;
    }
    //检查密码
    var txtPassword1 = document.getElementById("txtPassword1");
    var strPassword1 = Trim(txtPassword1.value) ; 
    if (strPassword1 == ""){
        alert("请输入密码！");
        txtPassword1.focus();
        return false;
    }
    patrn =/^([a-zA-Z0-9]){4,10}$/;
    if (!patrn.exec(strPassword1)) {
       alert ("密码为英文，数字组合。长度为4-10的字符。")
       txtPassword1.select();
       return false;
    }    
    var txtPassword2 = document.getElementById("txtPassword2");
    var strPassword2 = Trim(txtPassword2.value) ;
    if (strPassword2 == ""){
        alert("请确认密码！");
        txtPassword2.focus();
        return false;
    }
    if (strPassword1 != strPassword2){
        alert("密码前后输入不一致！");
        txtPassword2.focus();
        return false;
    }
    //检查邮件
    var txtEmail = document.getElementById("txtEmail");
    var strEmail = Trim(txtEmail.value) ;
    if (strEmail == ""){
        alert("请输入邮件地址！");
        txtEmail.focus();
        return false;
    }
    patrn =/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    if (!patrn.exec(strEmail)) {
       alert ("邮件地址输入不正确！")
       txtEmail.select();
       return false;
    }
    var strSex = "M";
    if (document.getElementById("sexFemale").checked){
       strSex = "F";
    }
    MyAjax.RegeditMsnUser(strUserName,strPassword1,strEmail,strSex,CallBackRegedit);
}

function CallBackRegedit(result)
{
    if(result){      
        if(result.value.Code == 1){
            alert("用户注册成功！"); 
            window.open("Index.aspx","_self","")               
            //window.location.reload();         
        }else{    
            alert(result.value.Messge);
            return false;
        }
    }else{
       alert("新用户注册失败！");
       return false;
    }  
}

//////////////////////////////// 用户登录 ///////////////////////////////////
//保存Cookie确认
function SaveCookieConfirm()
{
    if (document.getElementById("chbSaveCookie").checked == true)
    {
	    if (!confirm("帐号保存一月，这台电脑所有用户都能使用您的帐号，请慎重考虑。\n\n并且，你不能再进行登录加分、宠物加爱心、藏书提示等功能。\n\n但，您可以通过每天退出登录一次来恢复使用上述功能。"))
	    {
	       document.getElementById("chbSaveCookie").checked = false;
	    }	    
	}
}
//用户登录验证
function CheckUserLogin(){
   var txtUserId   = document.getElementById("txtUserName");
   var txtPassword = document.getElementById("txtPassword");    
   if(txtUserId!=null )
   {
        if(txtUserId.value==null || txtUserId.value.length == 0)
        {
            alert("请输入用户名");
            txtUserId.focus(); 
            return false; 
        }        
        if(txtUserId.value.length>30)
        {
            alert("您输入的用户名太长");
            return false; 
        }
   }   
   if(txtPassword!=null )
   {
        if(txtPassword.value==null || txtPassword.value.length == 0)
        {
            alert("请输入密码");
            txtPassword.focus(); 
            return false; 
        }        
        if(txtPassword.value.length>30)
        {
            alert("您输入的密码太长");
            return false; 
        }
   }
   var valicateCode = document.getElementById("txtValidateCode").value;
   if (valicateCode == ""){
	   alert("请输入验证码！");
	   document.getElementById("txtValidateCode").focus();
	   return false;
   }
   return true; 
}
function keyBoardLogin()
{
   if(event.keyCode == 13)
   { 
      Login();
   } 
}
//用户登录
function Login()
{
   if(CheckUserLogin())
   { 
       var userName = document.getElementById('txtUserName').value;
       var password = document.getElementById('txtPassword').value;       
       var token    = "";//密报
       var channage = '123456';//挑战码
       var savecookie = document.getElementById('chbSaveCookie').checked;
       var valicateCode = document.getElementById("txtValidateCode").value;
       document.getElementById('divUserLogin').style.display = 'none';
       document.getElementById('divUserInfor').style.display = 'none';
       document.getElementById('divWaiting').style.display   = '';
       MyAjax.LoginUserWithInfo(userName,password,token,channage,savecookie,valicateCode,LoginCallBack); 
   }
   return false;
}
//登录完处理页面
function LoginCallBack(result){
    if(result){
        ChangeLoginInfo(result);
        if(result.value.Code == 1){
            var isload = document.getElementById("hidReload").value;
            if (isload == "1"){
               window.location.reload();
            }else if (isload == "9"){
               window.open("Index.aspx","_self");
            }
            else
            {
               return false;
            }
        }
        else if(result.value.Code == -1)
        {
            alert("您的账号已绑定安全卡，需要进行安全卡验证！");
            location = result.value.LoginMessage;
        }
        else if(result.value.Code == -2)
        {
            alert("您的账号已绑定密保，需要进行密宝验证！");
            location = result.value.LoginMessage;
        }
        else if(result.value.Code == -3)
        {
            alert("验证码错误，请重新输入！");
            document.getElementById("txtValidateCode").Text = "";
            document.getElementById("txtValidateCode").focus(); 
            document.getElementById('imgValidateCode').src = "Validate.aspx";            
            return false;
        }
        else
        {
            alert(result.value.LoginMessage);
            return false;
        }
   } 
}
//根据登录情况改变登录界面
function ChangeLoginInfo(result)
{
    document.getElementById('divWaiting').style.display = 'none';
    var retInfo = result.value;    
    var nickName     = "";
    var userId       = "";
    var vip          = 0;
    var mCount       = 0;
    if(retInfo.Code == 1)//登录成功
    {  
        userId       = retInfo.userId; 
        nickName     = retInfo.NickName;
        mCount       = retInfo.MessageCount;       
        document.getElementById('divUserLogin').style.display = 'none';
        document.getElementById('divUserInfor').style.display = '';        
        document.getElementById('spNickName').innerHTML       = nickName;
        //document.getElementById('spPtId').innerText           = retInfo.userId;       
    }
    else//登录失败
    {   
        document.getElementById('divUserLogin').style.display = '';
        document.getElementById('divUserInfor').style.display = 'none';
    } 
}


function __CheckLogin()
{
    if(CheckLoginByCookie())
    {
        MyAjax.CheckLoginWithInfo(CheckLoginCallBack);
    }
    else
    {
        document.getElementById('spNickName').innerHTML = "";
        //document.getElementById('spPtId').innerText           = "";
        document.getElementById('divUserLogin').style.display = "";
        document.getElementById('divUserInfor').style.display = "none"; 
        
    } 
}
function CheckLoginByCookie()
{
    var cookieId="AUTHTEST";
    if(window.location.href.toLowerCase().indexOf("qidian.com") > -1)
    {
        cookieId="cmfuToken";
    }
    if((GetCookie(cookieId)!=null && GetCookie(cookieId).length > 0 ))
    {
        return true;
    }
    else
    {
        if(GetCookie('qd_msn_al') != null && GetCookie('qd_msn_al').length > 0)
        {
            return true;
        }
    }
    return false;
}
function GetCookie(cookieName) 
{
    var cookieString = document.cookie;    
    var start = cookieString.indexOf(cookieName + '=');

    // 加上等号的原因是避免在某些 Cookie 的值里有
    // 与 cookieName 一样的字符串。	
    if (start == -1) // 找不到
    return null;
    start += cookieName.length + 1;
    var end = cookieString.indexOf(';', start);
    if (end == -1) return unescape(cookieString.substring(start));
    return unescape(cookieString.substring(start, end));
}
function CheckLoginCallBack(result)
{
    var retInfo = result.value;
    var messageCount = 0;
    var nickName = "";
    var userId = "";
    var vip = 0;
    if(retInfo.Code == 0)
    {
        messageCount = retInfo.MessageCount;
        nickName = retInfo.NickName;
        userId = retInfo.userId;
        vip = retInfo.VIP;            
        document.getElementById('divUserLogin').style.display = "none";
        document.getElementById('divUserInfor').style.display = ""; 
        document.getElementById('spNickName').innerText       = nickName;
        //document.getElementById('spPtId').innerText           = userId;  
    }
    else
    {
        document.getElementById('divUserLogin').style.display = "";
        document.getElementById('divUserInfor').style.display = "none"; 
    } 
}

function displayValuate(){
    document.getElementById('spValidateCode').style.display = "block";
    document.getElementById('txtValidateCode').style.display = "block";
    document.getElementById('imgValidateCode').style.display = "block";
    document.getElementById('imgValidateCode').src = "Validate.aspx";
}
//////////////////////////////// 注销 ///////////////////////////////////

function Logout()
{
    MyAjax.SignOut(CallBackLogout);
}

function CallBackLogout()
{

    document.getElementById('spNickName').innerText       = "";
    //document.getElementById('spPtId').innerText           = "";       

    document.getElementById('divUserLogin').style.display = '';
    document.getElementById('divUserInfor').style.display = 'none'; 

    window.location.reload();
}
//////////////////////////////// 修改密码 ///////////////////////////////////
// 修改密码
function ModifyPass(pUserId){
   var txtOldPass = document.getElementById("txtOldPass");
   var txtNewPass1 = document.getElementById("txtNewPass1");
   var txtNewPass2 = document.getElementById("txtNewPass2");
   var txtEKey = document.getElementById("txtEKey");  
   if (txtOldPass.value == ""){
        alert("请输入原密码！");
        txtOldPass.focus(); 
        return false; 
   }  
   if (txtNewPass1.value == ""){
        alert("请输入新密码！");
        txtNewPass1.focus(); 
        return false; 
   } 
   if(txtNewPass1.value!= txtNewPass2.value)
   {
        alert("新密码输入不一致！");
        txtNewPass1.focus(); 
        return false; 
   } 
   MyAjax.ModifyPass(pUserId,txtOldPass.value,txtNewPass1.value,txtEKey.value,CallBackModifyPass);   
  
}

function CallBackModifyPass(result){
    if(result){      
        if(result.value.Code == 1){
            alert("密码修改成功！");                
            document.getElementById("txtOldPass").value = "";
            document.getElementById("txtNewPass1").value = "";
            document.getElementById("txtNewPass2").value = "";
            document.getElementById("txtEKey").value = "";
            return false;
        }else{    
            alert(result.value.ReturnMessge);
            return false;
        }
    } 
}