var xmlHttp;
function createXMLHttpRequest() { 
	if(window.ActiveXObject) { 
		xmlHttp = new  ActiveXObject("Microsoft.XMLHTTP");  
	} else if(window.XMLHttpRequest) { 
		xmlHttp = new XMLHttpRequest(); 
	} 
} 
/*
检测用户名是否合法
*/
function checkUserName(userId){
		var userObj=document.getElementById(userId);
		var user=userObj.value;
		var re=/^\d{1}.*/;
		
		if(user == ""){
			//alert("用户名不能为空！");
			setMes('usernamemessage',"用户名不能为空！");
			//userObj.focus();
			return false;			
		}
		//RegExp for include english letters, _, and chinese
		//re=/[\+|\-|\\|\/||&|!|~|@|#|\$|%|\^|\*|\(|\)|=|\?|'|"|<|>|\.|,|:|;|\]|\[|\{|\}|\|]+/;
		//||
		re=/[\+ \- \\ \/ \& ! ~ @ # \$ % \^ \* \( \) = \? ' " \< \> \. , : ; \] \[ \{ \} \|]/;
		if(re.test(user)){
			setMes('usernamemessage',"用户名含有非法字符，请使用汉字、字母、数字或下划线组成");
			userObj.focus();
			return false;
		}
		return true;
		
	
}
/*
在当前节点curId显示提示信息mes
*/
function setMes(curId,mes){
	var idObj = document.getElementById(curId);
	if(idObj.hasChildNodes()){
		idObj.removeChild(idObj.childNodes[0]); 
	}
	//var newIdObj =document.createTextNode(mes); 
	//idObj.appendChild(newIdObj); 
    idObj.innerHTML = "<font color=red>" + mes + "</font>";
}

/*
检测用户名是否合法，是否可用
*/
function validate_username() {
	createXMLHttpRequest();
	var username = document.getElementById('username').value;
	if (!checkUserName("username")){
		return false;
	}
	var message = document.getElementById('usernamemessage');
	if(message.hasChildNodes()){
		message.removeChild(message.childNodes[0]); 
	}
	//var newmessage = document.createTextNode("正在验证...");
	//message.appendChild(newmessage);
	setMes('usernamemessage',"正在验证...");
	//var url="reg.php?username=" + username + "&now=" + Date();
	var url="reg.php?now=" + Date();
	var q;
	q='username='+username;
	
	xmlHttp.open('POST', url); 
	xmlHttp.onreadystatechange = callback;
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
	xmlHttp.send(q); 
} 
function callback(){
	//alert(xmlHttp.readyState+":"+xmlHttp.status);
	if (xmlHttp.readyState == 4){
		if (xmlHttp.status == 200){
			//alert(xmlHttp.responseText);
			
			var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].childNodes[0].nodeValue;
			//alert(xx.length);
			//alert(xx)
			setMessage(mes);
		}	
	}
}
function setMessage(mes){

	if (mes==1){	
		setMes('usernamemessage',"该用户名已被使用，请重新输入");
	}else{
		setMes('usernamemessage',"该用户名可以使用");
	}

}