// JavaScript Document
function $(id){return document.getElementById(id);}
function setAttri(obj,tname,sContent){obj.setAttribute(tname,sContent);};
function getAttri(obj,tname){return obj.getAttribute(tname);};
function isIE() {
	if(document.all) return true;
	return false;
}
window.onload=function (){intCheckForm();}
var intCheckForm=function (){
	var obj= $("register").getElementsByTagName("input");
	//alert(obj);
	if(!obj) return;
	for(var i=0;i<obj.length;i++) {
		if (obj[i].type == 'text' || obj[i].type == 'password' ){
			/*obj[i].onfocus=function(){getInfoBox(event.srcElement).className='notetiphot';};
			obj[i].onblur=function(){getInfoBox(event.srcElement).className='notetip';};*/
			setAttri(obj[i],"StatusCode","Normal");
			obj[i].onfocus=getFocus;
			obj[i].onblur=lostFocus;
		}
	}
};
function getInfoBox(obj){
	if(obj.id) {
		if ($(obj.id+"_info")) {
			if (!getAttri(obj,"Msg")) setAttri(obj,"Msg",$(obj.id+"_info").innerHTML);
			return $(obj.id+"_info");
		}else {
			var i=obj.id.split("_");
			if (!getAttri(obj,"Msg")) setAttri(obj,"Msg",$(i[0]+"_info").innerHTML);
			return $(i[0]+"_info");
		}

	}
}

function getFocus(evnt){
	var obj;
	if (isIE()) {
		obj = event.srcElement;
	}else {
		obj = evnt.target;
	}
	if(obj==undefined) obj=evnt;
	showInfo(obj,1,'');
}
function lostFocus(evnt){
	var obj;
	if (isIE()) {
		obj = event.srcElement;
	}else {
		obj = evnt.target;
		
	}
	if(obj==undefined) obj=evnt;
	//alert(evnt);
	if (getAttri(obj,"StatusCode")=="Warning") return false;
	showWarning(obj);
	//validateValue(obj);
	var msg=validateValue(obj);
	
	showInfo(obj,0,msg);
}
function showWarning(obj){
	setAttri(obj,"StatusCode","Warning");
	showInfo(obj,0,'');
}
function showErr(obj){
	setAttri(obj,"StatusCode","Error");
	//if (getAttri(obj,"StatusCode")=="OK") setFormStat(-1);
	return "这个是要填写的哦！";
}
function validateValue(obj){
	switch (obj.id){
		case "username":
			return checkusername(obj);
			break;
		case "email":
			return checkemail(obj);
			break;
		case "password":
			return checkPassword(obj);
			break;
			
	}
	setAttri(obj,"StatusCode","Normal");
	getInfoBox(obj).innerHTML=getAttri(obj,"Msg");
	return false;

}
function checkusername(obj){
	var iValue=obj.value;
	if (iValue.length==0) {
		return showErr(obj);
	}else{
		//ajax 
		if (iValue.length<4 || iValue.length>20 ){//|| iValue.match(/[\u4e00-\u9fa5]+$/)  //检测是否为中文
			//if (getAttri(obj,"StatusCode")=="OK") setFormStat(-1);
			setAttri(obj,"StatusCode","Error");
			return "长一点的名字更好哦";
		}else {
			ajcheckusername(obj);
			//setAttri(obj,"StatusCode","OK");
			//setFormStat(1);
			return;
		}
	}
}
function checkemail(obj){
	var iValue=obj.value;
	if (iValue.length==0) {
		return showErr(obj);
	}else{
		//ajax 
		if (iValue.match(/^[A-Za-z0-9_@\.-]+@([A-Za-z0-9_-]+\.)+[A-Za-z0-9_-]{2,4}$/)){ // (/^[A-Za-z0-9_@\.-]+@([A-Za-z0-9_-]+\.)+[A-Za-z0-9_-]{2,4}$/)
			ajcheckemail(obj);
			//setAttri(obj,"StatusCode","OK");
			//setFormStat(1);
			return;
		}else {
			//if (getAttri(obj,"StatusCode")=="OK") setFormStat(-1);
			setAttri(obj,"StatusCode","Error");
			return "邮箱地址格式不正确";
		}
	}
}
function checkPassword(obj){
	var iValue=obj.value;
	if (iValue.length==0) {
		return showErr(obj);
	}else{
		if (iValue.length<6 || iValue.length>20 || iValue.match(/[\u4e00-\u9fa5]+$/)){//(/^[\u0391-\uFFE5]+$/)
			//if (getAttri(obj,"StatusCode")=="OK") setFormStat(-1);
			setAttri(obj,"StatusCode","Error");
			return "使用6-20个英文字母或数字组成的密码更加安全哦";
		}else {
			setAttri(obj,"StatusCode","OK");
			getInfoBox(obj).innerHTML="";
			return;
		}
	}
}
function showInfo(obj,statCode,Msg){
	if (obj){
		var infobox =getInfoBox(obj);
		if (!infobox) return false;
		var StatusCode=getAttri(obj,"StatusCode");
		//alert(StatusCode);
		switch(StatusCode){
			case "Normal":
				if (statCode==1) {infobox.className="notetiphot";}else{infobox.className="notetip";};
				break;
			case "None":
				infobox.className="notetip";
				break;
			case "Warning":
				infobox.className="notetipWarning";
				infobox.innerHTML='<img src="/images/loading.gif" align="absmiddle" /> 检测中，请稍等...';
				break;
			case "OK":
				infobox.className="notetipok";
				//ajaxCheck(obj,infobox);
				
				break;
			case "Error":
				infobox.className="notetipawake";
				break;
		}
		if (Msg!='' && (Msg)){
			infobox.innerHTML=Msg;
		}
	};
	

}
function checkForm(){
	var obj= $("register").getElementsByTagName("input");
	var msg;
	if(!obj) return;
	for(var i=0;i<obj.length;i++) {
		msg='';
		if (obj[i].type == 'text' || obj[i].type == 'password' ){
			if (getAttri(obj[i],"StatusCode")=="Warning") return false;
			if (getAttri(obj[i],"StatusCode")=="Error") return false;
			showWarning(obj[i]);
			msg=validateValue(obj[i]);
			//alert(msg);
			showInfo(obj[i],0,msg);
			if(msg) {
				obj[i].focus();
				return false;
			}
		}
	}
	return true;
}


function ajcheckusername(obj)
{
	var aj=new ajax();
	var iObj=obj;
	var infobox =getInfoBox(obj);
	//getInfoBox(iObj).innerHTML= '<img src="../images/loading.gif" align="absmiddle" /> 检测中，请稍等...';
	aj.method="POST";
	aj.url=$("register").checkUrl.value+"checkusername/";
	aj.content=obj.name+"="+obj.value;
	//alert(aj.content);
	aj.callback=function(values) {
		 //alert(xmlobj.responseText);
		 //return xmlobj.responseText;
		 //alert(values);
		 if(values=="OK")
			{
				setAttri(iObj,"StatusCode","OK");
				infobox.className="notetipok";
				infobox.innerHTML= "您太有才了，这么棒的名字都让你想到了！";
			}else if(values==201)
			{
				setAttri(iObj,"StatusCode","Error");
				infobox.innerHTML= "呵呵，这个名字已有人在用了哦，再想一个更好的名字吧！";
			}
	}
	aj.send(); 
}
function ajcheckemail(obj)
{
	var aj=new ajax();
	var iObj=obj;
	var infobox =getInfoBox(obj);
	aj.method="POST";
	aj.url=$("register").checkUrl.value+"checkemail/";
	aj.content=obj.name+"="+obj.value;
	aj.callback=function(values) {
		 //alert(xmlobj.responseText);
		 //return xmlobj.responseText;
		 if(values=="OK")
		{
			setAttri(iObj,"StatusCode","OK");
			infobox.className="notetipok";
			infobox.innerHTML= "太好了，这个邮箱可以正确使用！";
		}else if(values==201)
		{
			setAttri(iObj,"StatusCode","Error");
			infobox.innerHTML= "呵呵，这个邮箱已有人在用了哦，您是不是上次注册了一次呢？";
		}
	}
	aj.send(); 
	return aj.requestValue;
}
