//刷新验证码
function RefreshCode(){
	document.getElementById("Img1").src="ValiImageCode.aspx?dom=" + Math.random();
}

var errorImgUrl = "http://js.itiexue.net/reg/images/0801106.gif";
var correctImgUrl = "http://js.itiexue.net/reg/images/0801107.gif";

var nick = new YAHOO.util.Element("UserName");

var msgObj = new YAHOO.util.Element("username_info");

var userNameImg = new YAHOO.util.Element("UserNameImg");

//检测用户名是否已被注册
function checkNick() {
	var name = nick.get('value');
	if (name =="" || typeof name=='undefined') {
		alert("请输入用户名！");
	}
	if(RegUserName(document.getElementById('UserName'))){
		document.checkNickForm.userNameHide.value = name;
		msgObj.set("innerHTML","检测中，请稍等...",false);
		document.checkNickForm.submit();
		return true;
	}
	return false;
}

//扩展string类型的方法。
//得到真实的占位长度
String.prototype.getBytes = function() {
                 var cArr = this.match(/[^\x00-\xff]/ig); //匹配双字节字符
                 return this.length + (cArr == null ? 0 : cArr.length);
             }

//检测用户名是否符合规则
function RegUserName(uname){

	YAHOO.util.Dom.setStyle(this.userNameImg.get('id'),"display","");
	var reg = /[^a-z0-9\u4e00-\u9fa5\_]/;
	if(reg.test(uname.value)){//不符合规则.含有非法字符
		this.userNameImg.set("src",this.errorImgUrl,false);
		this.userNameImg.set("alt","错误",false);
		document.getElementById('username_info').innerHTML = "用户名中不能有小写字母、数字、下划线、中文以外的字符！";
		document.getElementById('username_info').className = 'ErrorMsg';
		return false;
	}
	var unameLen = uname.value.getBytes();
	if(unameLen < 2 || unameLen > 16){//注册名长度错误
		this.userNameImg.set("src",this.errorImgUrl,false);
		this.userNameImg.set("alt","错误",false);
		document.getElementById('username_info').innerHTML = "用户名请少于8个汉字或16个英文字母！";
		document.getElementById('username_info').className = 'ErrorMsg';
		return false;
	}
	if(uname.value.indexOf("系统") > -1){//注册名长度错误
		this.userNameImg.set("src",this.errorImgUrl,false);
		this.userNameImg.set("alt","错误",false);
		document.getElementById('username_info').innerHTML = "用户名请不要包含“系统”字样！";
		document.getElementById('username_info').className = 'ErrorMsg';
		return false;
	}
	this.userNameImg.set("src",this.correctImgUrl,false);
	this.userNameImg.set("alt","正确",false);
	return true;
}

function ShowMsg(obj,statusCode){
	var elImg = new YAHOO.util.Element(obj.id + "Img");
	var checked = true;
	switch(statusCode)
	{
		case 0://失去焦点
		if(obj.id == "Email" || obj.id == "Paperwork" || obj.id == "Tel" || obj.id == "RealName"){
		    var checkObj = document.getElementById(obj.id+"_check");
		    if(!checkObj.checked){//选填项是否选中
		        checked = false;
		    }
		}
		if(Validate(obj)){
			//恢复原状,正确提示。
			elImg.set("src",this.correctImgUrl,false);
			elImg.set("alt","正确",false);
		}
		else{
			//红色背景，错误提示。
			elImg.set("src",this.errorImgUrl,false);
			elImg.set("alt","错误",false);
		}
		if(!checked){
		    YAHOO.util.Dom.setStyle(elImg.get('id'),"display","none");
		}
		else{
		    YAHOO.util.Dom.setStyle(elImg.get('id'),"display","");
		}
		break;
		case 1://蓝色背景。获得焦点
		YAHOO.util.Dom.setStyle(elImg.get('id'),"display","none");
		break;
	}
	
}

var getFocus = function(e){
	var obj;
	if(document.all){
		obj = event.srcElement;
	}else{
		obj = e.target;
	}
	ShowMsg(obj,1);
};

var lostFocus = function(e){
	var obj;
	if(document.all){
		obj = event.srcElement;
	}else{
		obj = e.target;
	}
	ShowMsg(obj,0);
};

function Validate(obj)
{
	switch(obj.id)
	{
	case "UserName":
		return RegUserName(obj);
	case "Password":
		return ValidatePassword(false);
	case "ValPassword":
		return ValidatePassword(true);
	case "Area":
		return ValidateText(obj);
	case "ValidateCode":
		return ValidateText(obj);
	case "Email":
		if(IsCheck(obj))
		{
			return ValidateEmail(obj);
		}
		return true;
	case "Paperwork":
		if(IsCheck(obj))
		{
			return ValidateText(obj);
		}
		return true;
	case "Tel":
		if(IsCheck(obj))
		{
			return ValidateText(obj);
		}
		return true;
	case "RealName":
		if(IsCheck(obj))
		{
			return ValidateText(obj);
		}
		return true;
	default:
	}
}

function ValidateText(obj){
	if(obj.value.length > 0){
		switch(obj.id)
		{
			case "Tel":
				var telReg = /\d{11}|\d{13}/;
				if(telReg.test(obj.value))return true;
				break;
			case "ValidateCode":
				var telReg = /.{4}/;
				if(telReg.test(obj.value))return true;
				break;
			default:return true;
		}
	}
	return false;	
}

function ValidatePassword(validate){
	
	var pwObj = document.getElementById("Password");
	var valpwObj = document.getElementById("ValPassword");
	if(validate){
		if(ValidateText(pwObj) && ValidateText(valpwObj))
		{
			if(pwObj.value == valpwObj.value){
				document.getElementById("ValPassword_info").innerHTML="请再输入一遍您上面输入的密码。";
				return true;
			}else{
				document.getElementById("ValPassword_info").innerHTML="与上面密码输入不一致";
			}
		}
	}
	else{
		if(pwObj.value.length >= 6 && pwObj.value.length <=16){
			return true;
		}	
	}	
	return false;	
}

function ValidateEmail(mail){
	if(ValidateText(mail)){
		var regMail = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
		if(regMail.test(mail.value)){
			return true;	
		}
	}
	return false;
}

function IsCheck(obj){
	var el = new YAHOO.util.Element(obj.id+"_check");
	if(el.get("checked"))
	{
		return true;
	}
	return false;
}

//提交验证用户输入
function SubmitValidate(){
	var el = new YAHOO.util.Element("Content");
	var arInput = el.getElementsByTagName("input");
	var checkNum = 0;
	for(var i=0;i < arInput.length;i++){
		if(arInput[i].type == "text" || arInput[i].type == "password"){
			if(!Validate(arInput[i])){
			    ShowMsg(arInput[i],0);
			    return false;
			}
		}
		if(arInput[i].type == "hidden" && arInput[i].id == "Area"){
		    if(!Validate(arInput[i])){
			    ShowMsg(arInput[i],0);
			    return false;
			}
		}
		if(arInput[i].type == "checkbox"){
			if(!arInput[i].checked){
				checkNum ++;
			}
			else{
				switch(arInput[i].id){
					case "Email_check":
					if(!Validate(document.getElementById('Email'))){
						ShowMsg(document.getElementById('Email'),0);
						return false;
					}
					case "Paperwork_check":
					if(!Validate(document.getElementById('Paperwork'))){
						ShowMsg(document.getElementById('Paperwork'),0);
						return false;
					}
					case "Tel_check":
					if(!Validate(document.getElementById('Tel'))){
						ShowMsg(document.getElementById('Tel'),0);
						return false;
					}
					case "RealName_check":
					if(!Validate(document.getElementById('RealName'))){
						ShowMsg(document.getElementById('RealName'),0);
						return false;
					}
				}	
			}			
		}
		if(checkNum == 4){
			alert("请选择至少选填一项！");
			return false;
		}
	}
	return true;
}

//点击CheckBox时隐藏红叉
function ClickCheckBox(obj){  
    if(!obj.checked){
	    var elImg = new YAHOO.util.Element(obj.id + "Img");
	    YAHOO.util.Dom.setStyle(elImg.get('id').replace('_check',''),"display","none");
	}
}

function TxCheckUserNameStatus(isCanReg,result){
	if(isCanReg)
	{
		document.getElementById('username_info').innerHTML = '该会员名可以使用';
		document.getElementById('username_info').className = 'OkMsg';
		userNameImg.set('src',correctImgUrl,false);
	}
	else
	{
		document.getElementById('username_info').innerHTML = result;
		document.getElementById('username_info').className = 'ErrorMsg';
		userNameImg.set('src',errorImgUrl,false);
		userNameImg.set('alt','错误',false);
	}
}
