	var welcomeDiv;
	var messageSpan;
	var logRegButtonDiv;
	var anonymous;
	var isAnonymous;

	function checking(eleName){
			DWRUtil.setValue(eleName, '<font color="red">检测中......请稍等</font>');
	}
	
	var reply0isRuned = false;
	var reply1isRuned = false;
	
	var ustate=false;
	var mstate=false;
	var reply0 = function(data){
    	reply0isRuned = true;
      if (data != null && typeof data == 'object'){
      		alert(DWRUtil.toDescriptiveString(data, 2));
      }else{
      	var tempvalue=DWRUtil.toDescriptiveString(data, 1);
      	if(tempvalue=='-1'){
      	ustate=false;
      	DWRUtil.setValue('d0', '<font color="red">您填写的登录名无效！</font>');
      }	else if(tempvalue==0){
      	ustate=false;
      	DWRUtil.setValue('d0', '<font color="red">请填写登录名！</font>');
      }	else if(tempvalue==1){
      			ustate=false;
      			DWRUtil.setValue('d0', '<font color="red">登录名由5-16个英文字母或者数字组成，字母区分大小写</font>');
      }else if(tempvalue==2){
      			ustate=false;
      			DWRUtil.setValue('d0', '<font color="red">您填写的登录名不符合规则！</font>');
      }else if(tempvalue==3){
      			ustate=false;
      			DWRUtil.setValue('d0', '<font color="red">您填写的登录名已经被注册，请重新输入！</font>');
      }else if(tempvalue==4){
      			ustate=true;
      			DWRUtil.setValue('d0', '<font color="green">√</font>');
      		}
      }
    }
	    
  var reply1 = function(data){
	    reply1isRuned = true;
	      if (data != null && typeof data == 'object'){
	      		alert(DWRUtil.toDescriptiveString(data, 2));
	      }else {
	      		var tempvalue=DWRUtil.toDescriptiveString(data, 1);
	      		if(tempvalue=="0"){
	      			mstate=false;
	      			DWRUtil.setValue('d1', '<font color="red">请填写您的E-mail！</font>');
	      		}else if(tempvalue=="1"){
	      			mstate=false;
	      			DWRUtil.setValue('d1', '<font color="red">您填写的E-mail格式不正确！</font>');
	      		}else if(tempvalue=="3"){
	      			mstate=false;
	      			DWRUtil.setValue('d1', '<font color="red">您填写的E-mail已经被使用！</font>');
	      		}else{
	      			mstate=true;
	      			DWRUtil.setValue('d1', '<font color="green">√</font>');
	      		}
	      }
	    }
	    
	 var wrongPassword = false;
	 function checkPassword(passWord){
		var pass = $('password').value;
		var passLength = $('password').value.length;
		if(passLength<6 || passLength>16){
		     wrongPassword = false;
		     DWRUtil.setValue(passWord, '<font color="red">密码由6-16个英文或数字组成！</font>');
		     return false;
		 }else if(!valudateChar(pass)){
		      wrongPassword = false;
		      DWRUtil.setValue(passWord, '<font color="red">密码中含有非法字符！</font>');
		      return false;
		  }else{
		     wrongPassword = true;
		     DWRUtil.setValue(passWord, '<font color="green">√</font>');
		     return true;
		  }
		 } 
		function confirmPassword(rePass){
		   if($('password2').value == $('password').value){
		      DWRUtil.setValue(rePass, '<font color="green">√</font>');
		      return true;
		   }else{
		      DWRUtil.setValue(rePass, '<font color="red">两次输入的密码不一致！请再输入一次上面填写的密码。</font>');
		      return false;
		    }
		  }
		  
	function valudateChar(str){
		  var exp=/^[A-Za-z0-9]+$/;
     var reg = str.match(exp);
		  if(reg==null){
        return false;
     }else{
        return true;
          }
		  }
	    

//username email check function
var latestUserName="";
var latestEmail="";
function needCheck(typeFunc){
	var username=$('username').value;
	var email=$('email').value;
	if(username == null&&email==null){
	username=document.getElementById('username').value;
	email=document.getElementById('email').value;
	}
	if(latestUserName == username&&latestEmail==email){
		return ;
	}else{
		latestUserName=username;
		latestEmail=email;
		eval(typeFunc);
		return ;
	}
}
function needCheckUserNameToHouTai(){
	var needToHouTai = true;
	checking('d0');
	var username=$('username').value;
	if(username.length<5 || username.length>16){
	$('d0').innerHTML="<font color='red'>用户名长度必须大于5个字符小于16个字符</font>";
	ustate=false;
	needToHouTai = false;
	}else{
		if(!valudateChar(username)){
		 $('d0').innerHTML="<font color='red'>用户名含非法字符，必须以字母开头，由5-16个英文字母或数字组成</font>";
		 ustate=false;
		 needToHouTai = false;
		}
	} 
  if(needToHouTai){
	AJAXManager.checkUsernameExist(reply0,$('username').value);
	}
	}
	//check email function
	function needCheckEmailToHouTai(){
	var wantToHouTai = true;
	mstate = false;
	checking('d1');
  if(!valudateEmail($("email").value)){
	wantToHouTai = false;
	mstate = false;
	$('d1').innerHTML="<font color='red'>邮箱不合法</font>";
	}
 if(wantToHouTai){
	AJAXManager.checkEmail(reply1,$('email').value);
	}
	}
	
	function valudateEmail(str){
		var exp=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
   var reg = str.match(exp);
		 if(reg==null){
       return false;
     }else{
       return true;
          }
	}
		  
function showLoginRegDiv(id){
	var fun=document.getElementById(id);
	fun.style.display="block";
	if( id == 'login'){
	document.getElementById('regester').style.display="none";
	}else{
	document.getElementById('login').style.display="none";
	}
}
function loginReg(trggerId){
//creatDivs();
setPosition(trggerId);
document.getElementById('maindiv').style.display="block";
document.getElementById('bgDiv').style.display="block";
}

function exit(){
document.getElementById('maindiv').style.display="none";
document.getElementById('bgDiv').style.display="none";
document.getElementById('email').value="";
document.getElementById('password2').value="";
document.getElementById('password').value="";
document.getElementById('truename').value="";
document.getElementById('username').value="";
document.getElementById('passwd').value="";
document.getElementById('userName_login').value="";
removeTip();
}
function exitAfterLogin(){
document.getElementById('maindiv').style.display="none";
document.getElementById('bgDiv').style.display="none";

}

function regester(){
	//js ??¤??-?????°????????§
	if(!validateThisForm()){
		return ;
	}
	regester
	var regConverter={username:null,email:null,password:null,password2:null,careerNext:null,careerTop:null,truename:null};
	DWRUtil.getValues(regConverter);
	//TODO 
	$('regestering').innerHTML="正在注册，请稍后.......";
	AjaxRegester.regester(regConverter,function(data){
	$('regestering').innerHTML="";
	if(data == 1){
		/**
			2009-02-03  金牌企业 
			重新刷新当前页面
			**/
		var iscompanyvip = $('iscompanyvip');
		if(iscompanyvip!=null){
			//alert("is company vip");
			 window.location.reload();
			return;
		}

		var realname=$('realname');
		var welcomenameSpan=$('welcomenameSpan');//在这里添加注册以后,XXX你好!显示用户真实名,这里是一个span
		var realnameSpan = $('realnameSpan');
		var truename = regConverter['truename'];
		
		if(realname!=null){//有真实姓名,通过这个入口注册的,都必须填写真实姓名
		  realname.value=truename;	//把输入框里面的姓名填进入
		}
		if(realnameSpan!=null){
		  realnameSpan.innerHTML = truename
		}
		//TODO 重构此方法,建议,对方法加入参数,调用方把注册完成后需要得到的信息,如:用户名...,以及回填的位置id传入
		if(welcomenameSpan!=null){
		  welcomenameSpan.innerHTML=truename;
		  
		  welcomeDiv.style.display='block';
		  if(logRegButtonDiv!=null){
		  logRegButtonDiv.style.display='none';
		  }
		  if(anonymous!=null){
           anonymous.style.display="none";
          }
          if(isAnonymous!=null){
            isAnonymous.value="";
          }
		
          
		}
		removeAndAddElement('regester');
		setTimeout("exitAfterLogin()",5000);
	}else{
		if(data==2){
		$('d0').innerHTML="<font color='red'>??¨??·???????-￡??????</font>";
	}else if(data==3){
		$('d1').innerHTML="<font color='red'>é????±???????3?</font>";
	}
	}
});
}
function removeAndAddElement(id){
	var regdiv=$(id);
	var bb=document.getElementById('regesterTable');
	$('regestering').innerHTML="<font color='black'><b>恭喜您！已注册成为会员，现在您可以发文章送祝愿了。</b><br>本窗口将在5秒后自动关闭，您也可以直接点击<a href='#' onclick='exitAfterLogin()' class='red'>[关闭]</a>。<br /><br />同时创建了您的职业博客，地址：<a href='http://"+$('username').value+".blog.bokee.net' target='_blank'>http://"+$('username').value+".blog.bokee.net</a></font>";
	regdiv.removeChild(bb);
	
}


	function runAJax(){
		if(!reply0isRuned){
			AJAXManager.checkUsernameExist(reply0,$('username').value);
		}
		if(!reply1isRuned){
			AJAXManager.checkEmail(reply1,$('email').value);
		}
	}
	
function validateThisForm(){
	 if(document.getElementById("username").value==""){
			alert("登录名是必须填写的！");
			return false;
		}
		if(document.getElementById("email").value==""){
			alert("E-mail是必须填写的！");
			return false;
		}
		if(!valudateEmail(document.getElementById("email").value)){
	      alert("邮箱不合法!");
		  return false;
		}
  if($('password').value==""){
		alert("密码必须填写!");
		return false;
		}
	if(!wrongPassword){
	     alert("密码长度出错或含有非法字符!具体错误请查看密码输入框右边的错误提示!");
	     return false;
	    }
  if($('password2').value != $('password').value) {
		alert("两次密码不一样!");
		return false;
		}
  if(document.getElementById("careerNext").value==""){
		  $('youCareer').innerHTML="<font color=red>请选择您的职业</font>";
		  return false;
		}
		if(ustate){
			if(mstate){
				return true;
			}else{
				alert("填写的E-mail不正确，请重新输入！");
				return false;
			}
		}else{
			alert("填写的登录名不正确，请重新输入！");
			return false;
		}
	}
//login part js

function quickLogin(){

	var username=document.getElementById('userName_login').value;
	
	var psw=document.getElementById('passwd').value;
	if(username==null||username.length<=0){
		$('username_error').innerHTML="请输入登录名！"
		return ;
	}
	if(psw==null||psw.length<=0){
		$('psw_error').innerHTML="请输入密码！"
		return;
	}
	
	$('logining').innerHTML="登录中，请稍等......";
	AjaxRegester.quickLogin(username,psw,function(data){
	$('logining').innerHTML="";
	if(data ==0){
		/**
		2009-02-03  金牌企业 
		重新刷新当前页面
		**/
	var iscompanyvip = $('iscompanyvip');
	if(iscompanyvip!=null){
		//alert("is company vip");
		 window.location.reload();
		return;
	}

	var realnameObj=$('realname');
	var welcomenameObj=$('welcomenameSpan');//写到XXX你好,里面
	var realnameSpan = $('realnameSpan');
	if(realnameObj!=null){
		realnameObj.value=username;
	}
   //郭一 2007-09-21
	if(realnameSpan!=null){
	   realnameSpan.innerHTML=username;
	}
    if(welcomenameObj!=null){//在里用来处理用户显示的点击登录时用到
	   welcomenameObj.innerHTML=username;
       welcomeDiv.style.display='block';
       logRegButtonDiv.style.display='none';
    }
     if(anonymous!=null){
           anonymous.style.display="none";
     }
     if(isAnonymous!=null){
        isAnonymous.value="";
     }
	//TODO 建议服务层返回数组(先判断用户是否有真实姓名,如果没有返回用户名)
	//或者是user对象,这样可以把用户的真实姓名拿出来,以及后期可能出现的变化
	
	$('logining').innerHTML="登录成功，3 秒钟后，该界面自动关闭！";
	setTimeout("exitAfterLogin()",3000);
	}else if(data==1){
	removeTip();
	$('username_error').innerHTML="用户名错误..."
	}else{
	removeTip();
	$('psw_error').innerHTML="密码错误..."
	}
	return;
	});
}

	function removeTip(){
	 	$('username_error').innerHTML="";
		$('psw_error').innerHTML="";
	}
	
	//?-¤?¤????è§|???é????????è?¨???????o¤??¨ buttonè§|??? form.submit??1?3?
	function checkLogin(form,trggerId){
		 welcomeDiv=document.getElementById('welcomeDiv');
		 messageSpan=document.getElementById('messageSpan');
		 logRegButtonDiv=document.getElementById('logRegButtonDiv');
		 anonymous = document.getElementById('anonymous');
		 isAnonymous = document.getElementById('isAnonymous');
		AJAXManager.isLogined(function(data){
			if(data==false){
				loginReg(trggerId);
				go_to(1);
				return false;
			}else{
				form.submit();
				return true;
			}
		});
	}
	
	function checkLoginForMyWish(trggerId){
		welcomeDiv=document.getElementById('welcomeDiv');
		messageSpan=document.getElementById('messageSpan');
		logRegButtonDiv=document.getElementById('logRegButtonDiv');
        anonymous = document.getElementById('anonymous');
        isAnonymous = document.getElementById('isAnonymous');
			AJAXManager.isLogined(function(data){
			if(data==false){
				loginReg(trggerId);
				go_to(1);
				return false;
			}else{
				window.location="/wishmodule/forward_to_myWish.jsp"
				return true;
			}
		});
	}
	
	function setPosition(trggerId){
		var bn=document.getElementById(trggerId);
		var divXPos=bn.offsetLeft;
		var divYPos=bn.offsetTop;
		if(divYPos>300){
		divYPos=divYPos-250;
		}else{
		divYPos=divYPos+50;
		}
		if(divXPos>400){
		divXPos=divXPos-300;
		}else{
		divXPos=divXPos+100;
		}
		if(trggerId =="subBtnImg_visit_other"){
			divYPos=divYPos+600;
		}
		document.getElementById('maindiv').style.top=divYPos+"px";
		document.getElementById('maindiv').style.left=divXPos+"px";
	}
	
	
	/**
	*@version 2007-09-21
	*@author 郭一
	*@param targetId 主要用来确定弹出登录.注册div显示的位置
	*@return false,调用方可能是一个链接,所以恒返回false
	*<p>该方法响应当用户明确点击"登录","注册"按钮时做出的响应</p>
	*/
	function responseLogRegButton(targetId){
		welcomeDiv=document.getElementById('welcomeDiv');
		messageSpan=document.getElementById('messageSpan');
		logRegButtonDiv=document.getElementById('logRegButtonDiv');
        anonymous = document.getElementById('anonymous');
        isAnonymous = document.getElementById('isAnonymous');
	     
	     if(targetId == 'registButton'){//点击的是注册按钮,显示注册层,默认显示登录层
	        loginReg('divPosition');
            go_to(2);
         }else if(targetId =='registForBless'){//发送匿名祝福时
             loginReg('subBtnImg_visit_other');
             go_to(2);
		 }else if(targetId=='loginForBless'){
			 loginReg('subBtnImg_visit_other');
             go_to(1);
         }else if(targetId=='subBtnImg'){
              go_to(2);
              loginReg('subBtnImg');
		 }else if(targetId=='subBtnImgForLogin'){
			go_to(1);
			loginReg('subBtnImg');
         }else{
             loginReg('divPosition');
			 go_to(1);
		 }
		 //TODO 郭一 把该方法重新写一遍,太混乱 
         return false; 
    } 
	
	
	/**
	*<p>退出系统,退出成功后,会将XXX你好去掉</p>
	*@param welcomeDiv 用来显示XXX你好! 退出的div id
	*@param logRegButtonDiv 用来显示登录注册按钮的div id
	*/
	function logout(welcomeDivId,logRegButtonDivId,messageSpanId){
	
	   messageSpan = document.getElementById(messageSpanId);
	   messageSpan.innerHTML = "正在退出,请稍候...";
	   welcomeDiv=document.getElementById(welcomeDivId);
	   logRegButtonDiv=document.getElementById('logRegButtonDiv');
	   anonymous = document.getElementById('anonymous');
	   isAnonymous = document.getElementById('isAnonymous');
	
	   AJAXManager.logout(afterLogout);//调用Ajax服务退出登录
	   
	}
	//处理调用Ajax服务以后产生的各种情况
	function afterLogout(result){
	   if(result == 1){
	      welcomeDiv.style.display='none';
		  if(logRegButtonDiv!=null){
			  logRegButtonDiv.style.display='block';
		  }
	      if(anonymous!=null){
	       anonymous.style.display="block";
	      }
	      messageSpan.innerHTML='';

		  /**
		2009-02-03  金牌企业 
		重新刷新当前页面
		**/
		var iscompanyvip = $('iscompanyvip');
		if(iscompanyvip!=null){
			//alert("is company vip");
			 window.location.reload();
			return;
			}
	   }
	}

