var errInfo = "";//错误提示信息
var errIco1 = "<img src=\"images/t01.gif\" class=\"liimg\" />&nbsp;&nbsp;&nbsp;&nbsp;";
var errIco2 = "<img src=\"images/t02.gif\" class=\"liimg\" />&nbsp;&nbsp;&nbsp;&nbsp;";
var regName = /^[A-Za-z][a-zA-Z0-9_]/
var regPass = /^[a-zA-Z0-9_]/;
var regEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var regDomain = /^[a-zA-Z0-9]+[a-zA-Z]{3,24}$/;
var nickName = /^[a-z0-9]+[a-z]{4,16}$/;
var bSubmit = false;
var bBlog = false;
var bCheck = 0;
var bUsername = false;
var bPassword = false;
var bEmail = false;

//通用函数 Begin--------------------------------------------------------
String.prototype.trim = function(){return this.replace(/\s*/gm,"").replace("'","");}//去空格函数
function $Evt(event){return event||window.event;}//取事件
function $(id){return document.getElementById(id);}//取对像ID
function $k(event){return window.event?event.keyCode:event.which;}
function $oEvt(event,obj){
    key = $k(event);
	if(obj){
		if(obj.type=='hidden') return;
		oEvt = obj;
	}
	else{
		event = $Evt(event);
		if(key==13){return;}
		oEvt = event.srcElement||event.target;
	}
	return oEvt;
}
function clearInfo(obj){$(obj).innerHTML = "";}//清除信息
//通用函数 End----------------------------------------------------------

//用户名验证
function fUsernameCheck(text)
{
	if(!regName.test(text.trim()))
    {
        errInfo = "用户名请用英文、数字、下划线";
        $("userInfo").innerHTML = errIco2 + errInfo;
        bUsername = false;
        return false;
    }
    else if(!getLength("username",4,16))
    {
        bUsername = false;
        $("userInfo").innerHTML = errIco2 + "<font color=red>用户名长度应该为4-16字符</font>";
        return false;
    }
    else
    {
        $("userInfo").innerHTML = "<img src=images/loading.gif>"+ '正在检测用户名,请稍后..';
        var hasUser = SZ16.sz16new.UserReg.Reg.HasUserID(text.trim()).value;	//是否存在用户
        if (!hasUser)
        {
			bUsername = true;
			$("userInfo").innerHTML = errIco1 + "该用户名可以使用。";
        }
        else
        {
			bUsername = false;
			$("userInfo").innerHTML = errIco2 + "该用户名已存在，请更改用户名。";
        }
    }
}

//长度验证函数
function getLength(obj, min, max)
{
    var str = $(obj).value;
    var valueLen = 0;
    for(var i = 0;i < str.length;i++)  
    {
        var code = escape(str.charAt(i));  
        if ((code.length >= 4) && (code < '%uFF60' || code > '%uFF9F'))  
        {
            valueLen += 2;  //这里表示是全角字符  
        }  
        else  
        {
            valueLen ++;  //这里是半角  
        }
    }
    if(valueLen < min || valueLen > max)
        return false;
    return true;
}

//密码检测
function fPasswordCheck(regValue)
{
    $("password").value = $("password").value.trim();
    if(isSimplePwd($("password").value))
    {
        $("passInfo").innerHTML = errIco2 + "<font color=red>您设置的密码太简单了，容易被他人猜测到，为了保护您的帐号安全，请您重新设置</font>";
        bPassword = false;
    }
    if(!regPass.test(regValue))
    {
        errInfo = "密码请用英文、数字、下划线";
        $("passInfo").innerHTML = errIco2 + errInfo;
        bPassword = false;
        return false;
    }
    if(!getLength("password",6,16))
    {
        $("passInfo").innerHTML = errIco2 + "<font color=red>密码长度应该为6-16字符</font>";
        bPassword = false;
        return false;
    }
    bPassword = true;
}

var isSimplePwd = function(pwd){
	var b = false;
	var sChar = pwd.charAt(0);
	var sChars = '';
	for(var ii=0;ii<pwd.length;ii++){
		sChars += sChar; 	
	}
	if(pwd == sChars){ return true;}
	var aPwd = ['123456','12345678','123123','1234567','123321','123456789','1234567890','0123456789','0987654321','987654321','123123123','112233','110110','0123456','123465','1234560','121212','111222','321321','654321'];
	for(var i=0;i<aPwd.length;i++){
		if(aPwd[i]==pwd){
			b = true;
			break;
		}
	}
	return b;
}

//判断密码强度
var PasswordStrength ={
	Level : [12,11,10],
	LevelValue : [30,20,0],//强度值
	Factor : [1,2,5],//字符加数,分别为字母，数字，其它
	KindFactor : [0,0,10,20],//密码含几种组成的加数 
	Regex : [/[a-zA-Z]/g,/\d/g,/[^a-zA-Z\d]/g] //字符正则数字正则其它正则
}
PasswordStrength.StrengthValue = function(pwd)
{
	var strengthValue = 0;
	var ComposedKind = 0;
	for(var i = 0 ; i < this.Regex.length;i++)
	{
		var chars = pwd.match(this.Regex[i]);
		if(chars != null)
		{
			strengthValue += chars.length * this.Factor[i];
			ComposedKind ++;
		}
	}
	strengthValue += this.KindFactor[ComposedKind];
	return strengthValue;
} 
PasswordStrength.StrengthLevel = function(pwd)
{
	var sChar = pwd.charAt(0);
	var sChars = '';
	for(var ii=0;ii<pwd.length;ii++){
		sChars += sChar; 	
	}
	if(pwd == sChars){ return 10;}
	var value = this.StrengthValue(pwd);
	for(var i = 0 ; i < this.LevelValue.length ; i ++)
	{
		if(value >= this.LevelValue[i] )
			return this.Level[i];
	}
}

function isPwd(pwd)
{
    switch(PasswordStrength.StrengthLevel(pwd))
    {
        case 10:
            $("passInfo").innerHTML = "<font color=blue>安全程度：弱</font>";
            break;
        case 11:
            $("passInfo").innerHTML = "<font color=blue>安全程度：中</font>";
            break;
        case 12:
            $("passInfo").innerHTML = "<font color=blue>安全程度：强</font>";
            break;
    }   
}

function pPasswordCheck()
{
    $("rPassword").value = $("rPassword").value.trim();
    if($("rPassword").value != $("password").value)
    {
        $("rPassInfo").innerHTML = errIco2 + "<font color=red>您两次输入的登陆密码不一致</font>";
        bPassword = false;
    }
    else if ($("password").value != "")
    {
        $("rPassInfo").innerHTML = errIco1 + "两次输入的密码相同";
        bPassword = true;
    }
    else
    {
		$("rPassInfo").innerHTML = errIco2 + "密码不能为空";
		bPassword = false;
    }
}

//更改验证图
function getNextImg()
{
    document.getElementById("Image1").src="Image26_" + Math.floor(Math.random()*999999+1) + ".html";
}

//电了邮箱检测
function femailCheck(regValue)
{
    $("email").value = $("email").value.trim();
    if(!regEmail.test(regValue))
    {
        $("emailInfo").innerHTML = "<br />" + errIco2 + "请输入正确的电子邮件格式，如：webmaster@sz16.cn";
        bEmail = false;
    }
    else
    {
        $("emailInfo").innerHTML = "";
        bEmail = true;
    }
}

//是否有看过协议
function checkReadPro(obj)
{
    if(obj.checked == true)
    {
        $("readPro").style.cursor = "hand";
        $("readPro").src = "images/an.gif";
        bSubmit = true;
    }
    else
    {
        $("readPro").style.cursor = "default";
        $("readPro").src = "images/an4.gif";
        bSubmit = false;
    }
}

//检查必填字段是否正常
function checkIsEmpty()
{
    if(!bUsername)
    {
        $("username").focus();
        return false;
    }
    if($("username").value=="")
    {
        $("userInfo").innerHTML == errIco2 + "<font color=red>请填写用户名</font>";
        return false;
    }
    if(!bPassword)
    {
        $("password").focus();
        return false;
    }
    if($("password").value=="")
    {
        $("password").focus();
        $("passInfo").innerHTML == errIco2 + "<font color=red>请填写密码</font>";
        return false;
    }
    if(!bEmail)
    {
        $("email").focus();
        return false;
    }
    if($("email").value=="")
    {
        $("email").focus();
        $("emailInfo").innerHTML + errIco2 + "<font color=red>请填写电子邮件</font>";
        return false;
    }
    $("question").value = $("question").value.trim();
    if($("question").value=="")
    {
        $("question").focus();
        $("questInfo").innerHTML + errIco2 + "<font color=red>请填写密码保护问题</font>";
        return false;
    }
    if($("answer").value=="")
    {
        $("answer").value = $("answer").value.trim();
        $("answer").focus();
        $("answInfo").innerHTML + errIco2 + "<font color=red>请填写密码保护答案</font>";
        return false;
    }
    return true;
}

function fSubmit()
{
	if (bSubmit)
	{
		if (checkIsEmpty())
		{
			if (checkCode())
			{
				return bSubmit;
			}
		}
	}
	return false;
}

function checkCode()
{
	var cCheck = SZ16.sz16new.UserReg.Reg.CheckCode($("checkcode").value.trim()).value;
	if (!cCheck)
	{
		$("checkCodeInfo").innerHTML = "<br />" + errIco2 + "输入错误的验证码！请重新输入。";
		$("checkcode").select();
		$("checkcode").focus();
		getNextImg();
		return false;
	}
	return true;
}

window.onload = function()
{
	$("username").focus();
	$("checkcode").onfocus = function()
{
	clearInfo("checkCodeInfo");
}
}
