var mReg = {
	encoding:'utf-8',
	author:'zhangxuemin',
	date:'2009.3.11',
	validate: null
};

var img_wrong = "/images/icon_wrong.gif";
var img_right = "/images/icon_right.gif";
var img_icon = "/images/icon_info.gif";
var img_wait = "/images/0005.gif";
(function(){

	//注册会员：onfocus()事件 对象取得焦点时
	mReg.onregfocus = function(id,info_id){
		var value = JQ.trim(JQ('#'+id).val());
		JQ('#'+id).addClass('focus');
		if(value == ""){
			if(id == 'membername'){
					//会员名
				JQ('#'+info_id).html("<img src='"+img_icon+"' align='absmiddle' /> 3-16个字符， 请用英文小写、汉字、数字、下划线，下划线不能在末尾.");				
			}else if(id == 'passwords'){
					//密码
				JQ('#'+info_id).html("<img src='"+img_icon+"' align='absmiddle' /> 密码长度是6-16位之间的字符，且字母区分大小写.");				
			}else if(id == 'repeatpwds'){
					//重复密码			
			}else if(id == 'emails'){
					//邮箱
				JQ('#'+info_id).html("<img src='"+img_icon+"' align='absmiddle' /> 例如:yourname@hkyoula.com ");
			}else if(id == 'qq'){
					//QQ号码
				JQ('#'+info_id).html("<img src='"+img_icon+"' align='absmiddle' /> 请输入您的QQ号码. ");
			}else if(id == 'validates'){
					//验证码
				JQ('#'+info_id).html("<img src='"+img_icon+"' align='absmiddle' /> 请输入验证码. ");
			}
		}	
	};

	//注册会员：onblur()事件   当对象失去焦点
	mReg.onregblur = function(id,info_id){
		JQ('#'+info_id).html("<img src='"+img_wait+"' align='absmiddle' /> ");
		var value = JQ.trim(JQ('#'+id).val());
		JQ('#'+id).val(value);
		if(id == 'membername'){
				//会员名
			if(value == ''){
				JQ('#'+info_id).html('');
				mReg.validate[0] = false;
			}else{
				checkmembername(value, info_id);
			}
		}
		else if(id == 'emails'){
				//邮箱
			if(value == ''){
				JQ('#'+info_id).html('');
				mReg.validate[1] = false;
			}else{
				checkemails(value, info_id);
			}
		}
		else if(id == 'passwords'){
			if(value == ''){
				JQ('#'+info_id).html('');
				mReg.validate[2] = false;
			}else{
				checkpwd(value, info_id);
			}			
			if(JQ('#repeatpwds').val().length!=0){
				if(JQ('#repeatpwds').val() != value){
					JQ('#info_repeatpwd').html("<img src='"+img_wrong+"' align='absmiddle' /> 两次输入的密码不一致，请重新输入 ");
					mReg.validate[3] = false;					
				}else {
					JQ('#info_repeatpwd').html("<img src='"+img_right+"' align='absmiddle' /> ");
					mReg.validate[3] = true;					
				}
			}
		}
		else if(id == 'repeatpwds'){
			if(value == ''){
				JQ('#'+info_id).html('');
				mReg.validate[3] = false;				
			}else if(JQ('#passwords').val() != value){
					JQ('#info_repeatpwd').html("<img src='"+img_wrong+"' align='absmiddle' /> 两次输入的密码不一致，请重新输入 ");
					mReg.validate[3] = false;					
			}else {
				JQ('#'+info_id).html("<img src='"+img_right+"' align='absmiddle' /> ");
				mReg.validate[3] = true;				
			}
		}
		else if(id == 'validates'){
			//验证码
			if( value=="" ){
				JQ('#'+info_id).html('');
				mReg.validate[4] = false;				
			}else{
				JQ('#'+info_id).html('&nbsp;');
				mReg.validate[4] = true;				
			}
		}		
		else if(id == 'file'){
			//验证码
			if( value=="" ){
				JQ('#'+info_id).html('');
				mReg.validate[5] = false;				
			}else{
				JQ('#'+info_id).html('&nbsp;');
				mReg.validate[5] = true;				
			}
		}
		else if(id == 'qq'){
			//QQ号码
			if( value=="" ){
				JQ('#'+info_id).html('');
				mReg.validate[6] = false;				
			}else{
				checkeqq(value, info_id);			
			}
		}
		
	};
	
	//密码验证
	checkpwd = function(value, id){
		if (value.length < 6 || value.length > 16) {
			JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 密码长度需要在6-16位之间，请重新输入");
			mReg.validate[2] = false;			
		}else{
			var flag = true;
            var errmsg = "";
            for (var i = 0; i < value.length; i++) {
                var temp = value.charCodeAt(i);
                if(temp == 32) {
                    flag = false;
					errmsg = "密码中不能包含空格，请重新输入";
                    break;
                } else if (temp == 38) {
					flag = false;
					errmsg = "密码中不能包含&，请重新输入";
					break;
				}
            }
            if (flag) {
				JQ('#'+id).html("<img src='"+img_right+"' align='absmiddle' /> ");
				mReg.validate[2] = true;				
			} else {
				JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> "+errmsg);
				mReg.validate[2] = false;			
			}
		}
	};	
	
	//邮箱验证
	checkemails = function(value, id){		
		var re2 = /[ａ-ｚＡ-Ｚ０-９！＠＃￥％＾＆＊（）＿＋｛｝［］｜：＂＇；．，／？＜＞｀～　]/;
		if (re2.test(value)) {
			JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 邮箱不能用全角");			
			mReg.validate[1] = false;			
		}else{
			var re = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
			if(re.test(value)){			
				searchemails(value);	
			}else{
				JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 邮箱地址格式不正确");
				mReg.validate[1] = false;				
			}
		}
	};
	//检查QQ号码
	checkeqq = function(value, id){		
		var re2 = /^\d{5,10}$/;  
		if (!re2.test(value)) {
			JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> QQ只能由0~9的数字组成,最少5个数字");			
			mReg.validate[6] = false;			
		}else{
			JQ('#'+id).html("<img src='"+img_right+"' align='absmiddle' /> ");
			mReg.validate[6] = true;
		}
	};
	
	//用户名验证
	checkmembername = function(value, id){
		if(/\s/.test(value)){ 
			JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 会员名不能包含空格，请重新输入！   ");
			mReg.validate[0] = false;
			return ;			
		}		
		var re2 = /[ａ-ｚＡ-Ｚ０-９！＠＃￥％＾＆＊（）＿＋｛｝［］｜：＂＇；．，／？＜＞｀～　]/;
		if (re2.test(value)) {
			JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 会员名不能用全角");
			mReg.validate[0] = false;
			return ;
		}		
		var re = /^[a-z \u4E00-\u9FA5\uF900-\uFA2D]+[a-zA-Z\u4E00-\u9FA5\uF900-\uFA2D 0-9\-\_]*$/;
		if (re.test(value)) {
			if(value.length >= 3 && value.length <= 16){			
				searchmember(value);
			}
			else{
				JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' />  会员名长度需要在3-16位之间，请重新输入!   ");
				mReg.validate[0] = false;				
			}			
		}		
		else{
			var code1 = value.charCodeAt(0);
			if (code1 >= 97 && code1 <= 122) {
				JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' />  只能由小写字母、汉字、数字、横线和下划线组成，请重新输入");
			}else {
				JQ('#'+id).html("<img src='"+img_wrong+"' align='absmiddle' /> 用户名需要以小写字母或汉字开头，请重新输入");
			}
			mReg.validate[0] = false;			
		}	
	};
	
	 var xmlHttp = false;	 
	 //ajax 检查用户名是否可用
	 searchmember = function(membername){
	 	var url = encodeURI("/member.do?method=checkmember&name="+membername);
	 	xmlHttp = zXmlHttp.createRequest();
	 	xmlHttp.open("post",url,true);
	 	xmlHttp.onreadystatechange = getMembername;
	 	xmlHttp.send(null);
	 };	 
     getMembername = function(){     
      	if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
      		var getValue = xmlHttp.responseText;
      		if(getValue != null && getValue == "entity"){
      			JQ('#info_membername').html("<img src='"+img_wrong+"' align='absmiddle' /> 对不起，该用户名已经被注册！   ");
				mReg.validate[0] = false;
      		}
      		else if(getValue == "nonentity"){
				JQ('#info_membername').html("<img src='"+img_right+"' align='absmiddle' />");
				mReg.validate[0] = true;
			}      		
		}
      } ;    
      
      //ajax 检查email是否可用
     searchemails = function(email){
        var url = "/member.do?method=checkemail&email="+email;
	   	xmlHttp = zXmlHttp.createRequest();
	    xmlHttp.open("post",url,true);
	    xmlHttp.onreadystatechange = getEmails;
	    xmlHttp.send(null);
     };      
     getEmails = function(){
      	if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
      		var getValue = xmlHttp.responseText;
      		if(getValue == "entity"){      			
      			JQ('#info_email').html("<img src='"+img_wrong+"' align='absmiddle' /> 对不起，该邮箱已经被注册！   ");
				mReg.validate[1] = false;
			}else{
				JQ('#info_email').html("<img src='"+img_right+"' align='absmiddle' />  ");
				mReg.validate[1] = true;
				return true;
			}   
		}
      } ;
                    
	//更改验证码图片
	mReg.changeVCode = function(picid){
		var d = new Date();
		document.getElementById(picid).src = '/image?tm='+d.getTime();
	} ;
	
	//注册表单提交验证
	mReg.regSubmit = function(item){
		try{ 
			var cityid = JQ.trim(JQ('#cityid').val());
			JQ('#cityid').addClass('focus');
			if(!mReg.validate[0]){
					JQ("#membername").focus();
				return false;			
			}
			else if(!mReg.validate[2]){		
					JQ('#passwords').focus();
				return false;
			}
			else if(!mReg.validate[3]){				
				if(JQ('#repeatpwds').val() == "")
					JQ('#info_repeatpwd').html("<img src='"+img_wrong+"' align='absmiddle' /> 请再次输入密码！   ");
				else
					JQ('#repeatpwds').focus();
				return false;
			}
			else if(!mReg.validate[1]){
					JQ('#emails').focus();
				return false;
			}
			else if(!mReg.validate[6]){
					JQ('#qq').focus();
				return false;
			}
			else if(cityid == '0'){
				JQ('#provinceid').focus();
				alert("请选择地区 ！");
				return false;
			}
			else if(!mReg.validate[4]){
					JQ('#validates').focus();
				return false;
			}
			else if(!(document.getElementById('useragree').checked))
			{
				alert("您必须同意服务条款后才能注册！");
				return false;
			}
			else{ 
				var url = "/member.do?method=regist";
				document.forms['memberForm'].action = url ;
				document.forms['memberForm'].target ="" ;
				document.forms['memberForm'].submit();
				return true;
			}			
		}catch(e){
			return false;
		}
	};
	

//原始的注册
mReg.regSubmit1 = function(item){
		try{ 
			var cityid = JQ.trim(JQ('#cityid').val());
			JQ('#cityid').addClass('focus');
			if(!mReg.validate[0]){
					JQ("#membername").focus();
				return false;			
			}
			else if(!mReg.validate[2]){		
					JQ('#passwords').focus();
				return false;
			}
			else if(!mReg.validate[3]){				
				if(JQ('#repeatpwds').val() == "")
					JQ('#info_repeatpwd').html("<img src='"+img_wrong+"' align='absmiddle' /> 请再次输入密码！   ");
				else
					JQ('#repeatpwds').focus();
				return false;
			}
			else if(!mReg.validate[1]){
					JQ('#emails').focus();
				return false;
			}
			else if(cityid == '0'){
				JQ('#provinceid').focus();
				alert("请选择地区 ！");
				return false;
			}
			else if(!mReg.validate[4]){
					JQ('#validates').focus();
				return false;
			}
			else if(!(document.getElementById('useragree').checked))
			{
				alert("您必须同意服务条款后才能注册！");
				return false;
			}
			else{ 
				var url = "/member.do?method=regist";
				document.forms['memberForm'].action = url ;
				document.forms['memberForm'].target ="" ;
				document.forms['memberForm'].submit();
				return true;
			}			
		}catch(e){
			return false;
		}
	};
	
	
}
)();




