var tabchar = "<table width=100% border=0 cellspacing=0 cellpadding=0><tr><td vAlign=top>{img}</td><td>{info}</td></tr></table>";
var img1    = "<img src=images/publish_x.png>";//错误
var img2    = "<img src=images/tick.png>";//正确
var img3    = "<img src=images/y_09.gif>";//默认
var usernameinfo = new Array(
		'提示信息<br>帐号应该由<b>3-20个英文字母、数字、下划线"_"<\/b>组成(不区分大小写)',
        '该账号己存在,请重新输入',
    	'该账可以使用',
		'该账号中含有关键字,请重新输入',
		'系统检查失败, 无法判断状态!',
		'正在检测验，请稍后...'
     	);
var pwdinfo = new Array(
		'密码的长度不得少于6位, 且不得超过20位, 为了您的账户安全,请使用英文字母、数字、符号组成的字符!',
		'您的确认密码与密码不一致! 请确认!',
		'请再输入一遍您上面输入的密码'
		);
var questioninfo = new Array(
		'当您忘记密码时，可以通过安全问题和答案来查询。安全问题的答案不能少于3个字的长度。一旦设置了机密问题及答案，您不可以自己修改。'
		);
var emailinfo = new Array(
		'当您忘记密码时，可以通过常用邮件地址来重设密码。邮箱必须是有效的。'
		);
var yzminfo = new Array(
		'验证码必须输入'
		);
//控件初始化
var divuser     = document.getElementById("divuser");
var divpwd      = document.getElementById("divpwd");
var divcheckpwd = document.getElementById("divcheckpwd");
var divquestion = document.getElementById("divquestion");
var divmail     = document.getElementById("divmail");
var divyzm      = document.getElementById("divyzm");

var userobj     = document.getElementById("index_txtUserName");
var pwdobj      = document.getElementById("index_txtPassWord");
var checkpwdobj = document.getElementById("index_txtConfirmPwd");
var questionobj = document.getElementById("index_ddlQuestion");
var otherqobj   = document.getElementById("index_txtOtherQuestion");
var answerobj   = document.getElementById("index_txtAnswer");
var emailobj    = document.getElementById("index_txtEmail");
var yzmobj      = document.getElementById("index_txtCheckCode");

//初始化提示信息
setdivinfo(divuser,img3,usernameinfo[0]);
setdivinfo(divpwd,img3,pwdinfo[0]);
setdivinfo(divcheckpwd,img3,pwdinfo[2]);
setdivinfo(divquestion,img3,questioninfo[0]);
setdivinfo(divmail,img3,emailinfo[0]);
setdivinfo(divyzm,img3,yzminfo[0]);


var flag=-1;//0-可注册/1-已存在/-1存在关键字--判断用户是否可注册
//判断用户名是否正确
function checkuser()
{
	if (userobj.value.length < 3 || userobj.value.length > 20){
		setdivstyle(divuser);
		setdivinfo(divuser,img1,usernameinfo[0]);
		return false;
	}

	var reg = /^[a-z0-9_]{3,20}$/i;
	if (!reg.test(userobj.value)){
		setdivstyle(divuser);
		setdivinfo(divuser,img1,usernameinfo[0]);
		return false;
	}
	//判断用户是否可注册
	AjaxMethodClass.checkuserreg(userobj.value,MethodCallBack);
	setdivstyle1(divuser);
	setdivinfo(divuser,img3,usernameinfo[5]);
}

function MethodCallBack(res)
{//0-可注册/1-已存在/-1存在关键字
    flag = res.value;
	if(flag==1)
	{
		setdivstyle(divuser);
		setdivinfo(divuser,img1,usernameinfo[1]);
	}
	else if(flag==-1)
	{
		setdivstyle(divuser);
		setdivinfo(divuser,img1,usernameinfo[3]);
	}
	else if(flag==null)
	{	setdivstyle(divuser);
		setdivinfo(divuser,img1,usernameinfo[4]);
	}
	else if (flag==0)
	{
		setdivstyle1(divuser);
		setdivinfo(divuser,img2,usernameinfo[2]);
	}
}
//判断密码是否正确
function checkpwd()
{
	if (pwdobj.value.length < 6 || pwdobj.value.length > 20){
	setdivstyle(divpwd);
	setdivinfo(divpwd,img1,pwdinfo[0]);
	return false;
	}
	setdivstyle1(divpwd);
	setdivinfo(divpwd,img2,pwdinfo[0]);
	return true;
}
function checkpwd_1()
{  
    if(checkpwd())
    {
		if (checkpwdobj.value!=pwdobj.value){
	    setdivstyle(divcheckpwd);
	    setdivinfo(divcheckpwd,img1,pwdinfo[1]);
	    return false;
	   }
	   setdivstyle1(divcheckpwd);
	   setdivinfo(divcheckpwd,img2,pwdinfo[2]);
    }
	return true;
}
//密码提示问题
function checkquestion()
{
	if(questionobj.value=="-1")
	{
		if(otherqobj.value.length<3)
		{
			setdivstyle(divquestion);
	        setdivinfo(divquestion,img1,questioninfo[0]);
			return false;
		}
	}
	setdivstyle1(divquestion);
	setdivinfo(divquestion,img2,questioninfo[0]);
	return true;
}
//密码提示答案
function checkanswer()
{
	if(answerobj.value.length<3)
	{
		setdivstyle(divquestion);
	    setdivinfo(divquestion,img1,questioninfo[0]);
		return false;
	}
	setdivstyle1(divquestion);
	setdivinfo(divquestion,img2,questioninfo[0]);
	return true;
}
//验证email
function checkmail()
{
	var reg = /\w+@((\w+[.]?)+)/i;
	if (!reg.test(emailobj.value)){
		setdivstyle(divmail);
		setdivinfo(divmail,img1,emailinfo[0]);
		return  false;
	}
	setdivstyle1(divmail);
	setdivinfo(divmail,img2,emailinfo[0]);
	return true;
}
//验证验证码
function checkyzm()
{
	var reg = /^\w{5}$/;
	if (!reg.test(yzmobj.value)){
		setdivstyle(divyzm);
		setdivinfo(divyzm,img1,yzminfo[0]);
		return  false;
	}
	setdivstyle1(divyzm);
	setdivinfo(divyzm,img2,yzminfo[0]);
	return true;	
}
function validateForm()
{
	if(!checkpwd()) return false;
	if(!checkpwd_1()) return false;
	if(!checkquestion()) return false;
	if(!checkanswer()) return false;
	if(!checkmail()) return false;
	if(!checkyzm()) return false;
	showBgDiv();
}

//设置DIV样式
function setdivstyle(divobj)//错误提示
{
	divobj.style.backgroundColor = '#FFCCCC';
	divobj.style.borderColor = '#FFCCCC';
	divobj.style.border = "1px #4372A5 solid"; 
}
function setdivstyle1(divobj)//正常显示
{
	divobj.style.backgroundColor = '#ffffff';
	divobj.style.borderColor = '#ffffff';
}
//设置DIV显示内容
function setdivinfo(divobj,img,info)
{
	divobj.innerHTML = tabchar.replace("{img}",img).replace("{info}",info);
}
//检测密码强度
//定义检测函数,返回0/1/2/3分别代表无效/差/一般/强
function getResult(s){
	if(s.length < 4){
		return 0;
	}
	var ls = 0;
	if (s.match(/[a-z]/ig)){
		ls++;
	}
	if (s.match(/[0-9]/ig)){
		ls++;
	}
	if (s.match(/(.[^a-z0-9])/ig)){
		ls++;
	}
	if (s.length < 6 && ls > 0){
		ls--;
	}
	return ls;
}
function validatePasswordStrength(s){
        
        var sm1 = document.getElementById("idSM1");
        var smT1 = document.getElementById("idSMT1");
        var sm2 = document.getElementById("idSM2");
        var smT2 = document.getElementById("idSMT2");
        var sm3 = document.getElementById("idSM3");
        var smT3 = document.getElementById("idSMT3");
        var smT0 = document.getElementById("idSMT0");
        
        if (s == "" && s.length < 6){
            sm1.className = sm2.className = sm3.className = "css0162";
            smT3.style.display = smT1.style.display = smT2.style.display = "none";
            smT0.style.display = "";
        }
        var ls = getResult(s);
        if (ls==3){
            sm1.className = sm2.className = sm3.className = "css0165";
            smT0.style.display = smT1.style.display = smT2.style.display = "none";
            smT3.style.display = "";
        }else if(ls==2){
            sm3.className = "css0162";
            sm1.className = sm2.className = "css0164";
            smT0.style.display = smT1.style.display = smT3.style.display = "none";
            smT2.style.display = "";
        }else if(ls==1){
            sm2.className = sm3.className = "css0162";
            sm1.className = "css0163";
            smT0.style.display = smT2.style.display = smT3.style.display = "none";
            smT1.style.display = "";
        }else{
            sm1.className = sm2.className = sm3.className = "css0162";
            smT3.style.display = smT1.style.display = smT2.style.display = "none";
            smT0.style.display = "";
        }
}

