﻿var xmlDom = false;//XMLHTTP对象

//创建一个xmlhttp
try
{
	xmlDom = new ActiveXObject("Msxml2.XMLHTTP"); 
} 
catch (E)
{
	try
	{
		xmlDom = new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch (E)
	{
     xmlDom = new XMLHttpRequest(); //兼容非ie浏览器，直接创建XMLHTTP对象

	}
}

//注册时判断用户名是否符合规范，是否已经被注册
function j_username()
{
	document.getElementById("NameError").innerHTML = "";//清空错误信息
	var userName = document.getElementById("txt_UserName").value;
	var reg = "[^a-zA-Z_0-9]";//判断用户名只能为字母，数字，下划线的正则表达式
	var reg1 = "\\D";//判断用户名必须以字母开头的正则表达式
	if(userName == "")//用户名为空，不可以
	{
		document.getElementById("NameError").innerHTML = "<font color=\"red\">用户名不能为空!<font><br>";
	}
	else if(userName.length < 5||userName.length > 18)//判断用户名长度
	{
		document.getElementById("NameError").innerHTML = "<font color=\"red\">你输入的用户名长度太短！长度必须为5～18位！<font><br>";
	}
	else 
	{
		if(!userName.substring(0,1).match(reg1))//用户名不是以字母开头
		{
			document.getElementById("NameError").innerHTML = "<font color=\"red\">必须已字母开头!<font><br>";
		}
		else if(userName.match(reg))//用户名中出现其他特殊字符
		{
			document.getElementById("NameError").innerHTML = "<font color=\"red\">用户名只能是字母、数字、下划线!<font><br>";
		}
		else
		{
			if(typeof(xmlDom) != 'undefined')
			{
                checkname(document.getElementById("txt_UserName").value);
			}
		}
	}
}
//向服务器发送请求，检测用户名是否已经被注册
function checkname(name)
{
	var d = new Date();
	var strURL = "RegisterCheck.aspx?type=1&name=" + name + "&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = fnRun;
	xmlDom.Send(xmlDom);
	document.getElementById("NameError").innerHTML = "<br /><font color=\"red\">正在检测用户名是否重复...您可以尝试注册!<font>";
}

//点击注册按钮后 回调的函数，用于显示服务器返回的结果
function fnRun()
{
	if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
	{
		var str = xmlDom.responseText;		//保存已经查询过的用户名,下次直接返回
		switch (str)
		{
			case "0"://用户名不符合规则
				document.getElementById("NameError").innerHTML = "<br /><font color=\"red\">该用户名不符合注册规则,您不可以尝试注册!<font>";
				//canSubmit = false;
				break;
			case "1"://用户名已经注册
				document.getElementById("NameError").innerHTML = "<br /><font color=\"red\">对不起,您注册的用户名已经存在!<font>";
				//canSubmit = false;
				break;
			case "2"://可以注册
				document.getElementById("NameError").innerHTML = "<br /><font color=\"green\">恭喜您,该用户名无人使用!<font>";
				//canSubmit = true;
				break;
		}
	}        
}


//判断校验码
function j_checkcode()
{
	document.getElementById("CheckError").innerHTML = "";//清空错误信息
	var checkCode = document.getElementById("txt_CheckCode").value;

	if(checkCode == "")//用户名为空，不可以
	{
		document.getElementById("CheckError").innerHTML = "<font color=\"red\">用户名不能为空!<font><br>";
	}
	if(typeof(xmlDom) != 'undefined')
	{
        checkcode(checkCode);
	}
}

//向服务器发送请求，检测用户名是否已经被注册
function checkcode(checkCode)
{
	var d = new Date();
	var strURL = "RegisterCheck.aspx?type=2&name=" + checkCode + "&guid=" + d.getTime();
	xmlDom.Open("get",strURL , true);
	xmlDom.onreadystatechange = fnCheck;
	xmlDom.Send(xmlDom);
	document.getElementById("CheckError").innerHTML = "<font color=\"red\">正在检测验证码!<font><br>";
}

//点击注册按钮后 回调的函数，用于显示服务器返回的结果
function fnCheck()
{
	if (xmlDom.readyState == 4 && xmlDom.status == 200)//如果请求已经加载并且服务器返回成功
	{
		var str = xmlDom.responseText;		//保存已经查询过的用户名,下次直接返回
		switch (str)
		{
			case "0"://用户名不符合规则
				document.getElementById("CheckError").innerHTML = "<font color=\"red\">验证码输入错误!<font><br>";
				break;
			case "1"://用户名已经注册
				//document.getElementById("CheckError").innerHTML = "<font color=\"red\">对不起,您注册的用户名已经存在!<font><br>";
				break;
			case "2"://可以注册
				//document.getElementById("CheckError").innerHTML = "<font color=\"red\">恭喜您,该用户名无人使用!<font><br>";
				break;
		}
	}        
}

function fnReturn()
{
    location.href="../default.aspx";
}
