/**
 * 功能：初始化一个XMLHTTP对象
 */
function InitAjax()
{
	var Ajax=false; 
	try { 
		Ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
	}catch (e) { 
		try { 
			Ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
		}catch (E) { 
			Ajax = false; 
		} 
	}
	if (!Ajax && typeof XMLHttpRequest!='undefined') { 
		Ajax = new XMLHttpRequest(); 
	} 
	return Ajax;
}
/**
 * 功能：取得焦点，改变DIV样式
 * 参数：value 输入框标识
 */
function GetFocus(value)
{
	switch(value)
	{
		case 1:											//value=1改变用户名DIV样式
			document.getElementById('UserName').className = 'info';
		break;
		case 2:											//value=2改变密码DIV样式
			document.getElementById('Pwd').className = 'info';
		break;
		case 3:											//value=3改变重复密码DIV样式
			document.getElementById('Confirm_Pwd').className = 'info';
		break;
		case 4:											//value=4改变昵称DIV样式
			document.getElementById('Nick').className = 'info';
		break;
	}
}
/**
 * 功能：检验长度是否OK
 * 参数：str 检验值,minlen 最小长度,maxlen 最大长度
 * 返回：TRUE OR FALSE
 */
function checkByteLength(str,minlen,maxlen) {
	if (str == null) return false;									//为空返回false
	var l = str.length;
	var blen = 0;
	for(i=0; i<l; i++) {										//循环取得检验值的长度
		if ((str.charCodeAt(i) & 0xff00) != 0) {
			blen ++;
		}
		blen ++;
	}
	if (blen > maxlen || blen < minlen) {							//判断长度是否合法
		return false;
	}
	return true;
}
/**
 * 功能：检验用户名是否合法
 * 参数：value 检验值
 * 返回：TRUE OR FALSE
 */
function validateUsername(value){
	var patn = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;//验证Mail的正则表达式,^[a-zA-Z0-9_-]:开头必须为字母,下划线,数字, 
	//var patn = /^[a-zA-Z]+[a-zA-Z0-9]+$/; 
	//var patn = /^[^\s]*$/;
	if(!checkByteLength(value,4,50)) return true;					//判断长度是否合法
	if(!patn.test(value)){										//判断格式是否合法
		return true;
	}
	return false; 
}
/**
 * 功能：检验密码是否合法
 * 参数：value 检验值
 * 返回：TRUE OR FALSE
 */
function validatePassword(value){
	if(!checkByteLength(value,5,50)) return 1;						//判断长度是否合法
	var patn1 = /^[a-zA-Z0-9_]+$/;
	if(!patn1.test(value) ) return 1;								//判断格式是否合法
	return 0; 
}
/**
 * 功能：检验用户名
 * 参数：value 检验值
 * 返回：TRUE OR FALSE
 */
function checkUserName(value)
{
	if(value == '')											//判断用户名是否为空，返回false
	{
		document.getElementById("UserName").className = 'error';
        document.getElementById("UserName").innerHTML = "<font color=RED>请输入用户名！</font>";
		return false;
	}
	if(validateUsername(value))								//判断用户名是否合法
	{
		document.getElementById("UserName").className = 'error';
		document.getElementById("UserName").innerHTML = "<font color=RED>用户名格式错误！用户名为邮箱格式！</font>";
		return false;
	}else{
    document.getElementById("UserName").innerHTML="正在读取数据...";
   var url = "checkusername.asp?username=" + value;	//定义服务器端的URL
	var ErrorMsg = document.getElementById("UserName");	//获取返回信息显示层
	var Ajax = InitAjax();								//初始化Ajax对象
	Ajax.open("GET", url, true); 						//使用GET方法请求
	Ajax.onreadystatechange = function() {				//获取执行状态
		if (Ajax.readyState == 4 && Ajax.status == 200) {	//如果执行正常则将返回内容赋值给上面指定的层
			ErrorMsg.innerHTML = Ajax.responseText;
		} 

	}
	Ajax.send(null); 
   }
//document.getElementById("UserName").className = 'msg';
//document.getElementById("UserName").innerHTML = 'OK';
  	if(ErrorMsg.innerHTML=="no")
	{
	   ErrorMsg.innerHTML = "<font color=RED>该用户已经被注册！</font>";
	   return false;
	}   
return true;
}

/**
 * 功能：检验密码
 * 参数：value 检验值
 * 返回：TRUE OR FALSE
 */
function CheckPassword(value)
{
	if(value == '')											//判断密码是否为空
	{
		document.getElementById("Pwd").className = 'msg';
		document.getElementById("Pwd").innerHTML = "<font color=RED>密码不能为空。</font>";
		return false;
	}
	if(validatePassword(value))								//判断密码是否合法
	{
		document.getElementById("Pwd").className = 'error';
		document.getElementById("Pwd").innerHTML = "<font color=RED>用户密码格式错误！用户的密码由5~15个字母(区分大小写)或数字组成。</font>";
		return false;
	}
	document.getElementById("Pwd").className = 'msg';
	document.getElementById("Pwd").innerHTML = '<img src="images/ok.gif">';
	return true;
}
/**
 * 功能：检验重复密码
 * 参数：value 检验值
 * 返回：TRUE OR FALSE
 */
function CheckConfirm(value)
{
	if(value == '')											//判断密码是否为空
	{
		document.getElementById("Confirm_Pwd").className = 'msg';
		document.getElementById("Confirm_Pwd").innerHTML = "<font color=RED>确认密码不能为空。</font>";
		return false;
	}
	if(value != document.register.password.value)					//判断重复密码是否与密码相符
	{
		document.getElementById("Confirm_Pwd").className = 'error';
		document.getElementById("Confirm_Pwd").innerHTML = "<font color=RED>重复密码和密码不一致!</font>";
		return false;
	}
	document.getElementById("Confirm_Pwd").className = 'msg';
	document.getElementById("Confirm_Pwd").innerHTML = '<img src="images/ok.gif">';
	return true;
}

function CheckQusetion(value)
{
	if(value == '')
	{
		document.getElementById("question1").className = 'msg';
		document.getElementById("question1").innerHTML = "<font color=RED>请选择安全问题。</font>";
		return false;
	}
	document.getElementById("question1").className = 'msg';
	document.getElementById("question1").innerHTML = '<img src="images/ok.gif">';
	return true;
}
function CheckAnser(value)
{
	if(value == '')
	{
		document.getElementById("anser1").className = 'msg';
		document.getElementById("anser1").innerHTML = "<font color=RED>请输入问题答案。</font>";
		return false;
	}
	document.getElementById("anser1").className = 'msg';
	document.getElementById("anser1").innerHTML = '<img src="images/ok.gif">';
	return true;
}
/**
 * 功能：检验表单的各项是否OK
 * 返回：TRUE OR FALSE
 */
function CheckForm()
{
	if(!checkUserName(document.register.UserID.value))			//判断用户名是否OK
	{
		return false;
	}
	
	if(!CheckPassword(document.register.password.value))			//判断密码是否OK
	{
		return false;
	}
	
	if(!CheckConfirm(document.register.Confirm.value))				//判断确认密码是否OK
	{
		return false;
	}
	if(!CheckQusetion(document.register.question.value))				//判断问题是否OK
	{
		return false;
	}
	if(!CheckAnser(document.register.anser.value))				//判断答案密码是否OK
	{
		return false;
	}
	return true;
}
