
var User=new function(){this.loginHandler=function(xmlhttp){var response=JSON.parse(xmlhttp.responseText);if(response.state=='success'){if(response.forward){if(response.needForward){window.location.href=response.forward;}else{var f=document.createElement("IFRAME");$(f).hide();$('body').append(f);f.src=response.forward;}}
g_user=response.user;User.initUserInfo();User.switchLoginDiv("hidden");if(response.emailError&&response.emailError=='1'){var cflg=confirm('您的邮箱地址不正确，您可以现在就更改邮箱地址以便更好的使用本站服务。\n点击确定立即进入设置页面，点击取消停留在当前页面。');if(cflg){window.location.href='/changeEmail.jsp';}}
try{afterLogin();}catch(err){}}
else if(response.state=='getUserError'){User.refreshCode();window.alert("用户不存在或用户名密码不匹配");}
else if(response.state=='verifyCodeError'){window.alert("验证码输入错误");}
else if(response.state=='autoLoginFail'){User.autoLoginFail();}
else if(response.state=='noActivate'){var cflg=confirm('您还没有激活，请在您的注册邮箱内点击激活链接。\n点击确定重新发送激活邮件。');if(cflg){var newemail=prompt('如需更改邮件地址，请输入新的地址：',response.email);$.ajax({type:'POST',dataType:'json',url:'/resendActivateEmailAction.do',data:'email='+response.email+'&newemail='+newemail,success:function(response){var state=response.state;if(state=='success'){alert('激活邮件已发送。');}else if(state=='noUser'){alert('用户不存在。');}else if(state=='hasActivated'){alert('用户已激活。');}else{alert('系统错误。');}}});}}
else{window.alert("系统错误！");}}
this.autoLoginHandler=function(response){if(response.state=='success'){if(response.forward){if(response.needForward){window.location.href=response.forward;}else{var f=document.createElement("IFRAME");$(f).hide();$('body').append(f);f.src=response.forward;}}
g_user=response.user;User.initUserInfo();User.switchLoginDiv("hidden");if(response.emailError&&response.emailError=='1'){var cflg=confirm('您的邮箱地址不正确，您可以现在就更改邮箱地址以便更好的使用本站服务。\n点击确定立即进入设置页面，点击取消停留在当前页面。');if(cflg){window.location.href='/changeEmail.jsp';}}
try{afterAutoLogin();}catch(err){}}}
this.login=function(){var lform=document.forms['loginForm'];if(lform.elements['username'].value==''){window.alert("请输入邮箱");return false;}
if(lform.elements['passwordInput'].value==''){window.alert("请输入密码");return false;}else{if(lform.elements['password'].value==''){this.setPassword(lform.elements['passwordInput'].value)}}
if(lform.elements['verifyCode'].value==''){window.alert("请输入验证码");return false;}
if(!isCookieSupported()){alert('对不起，您的浏览器不支持cookie，请重新设置！');return false;}
var params="login=true&verifyCode="+lform.elements['verifyCode'].value+"&username="+lform.elements['username'].value+"&password="+lform.elements['password'].value;var forward=getUrlParam("forward");if(forward){params+="&forward="+forward;}
if(lform.elements['save'].checked)params+="&save=true";postData("/loginAction.do",params,User.loginHandler,null,true,true);return false;}
this.autoLogin=function(){var auto=getCookie('auto');if(auto){var param="auto=true";postData("/autoLoginAction.do",param,User.loginHandler,User.autoLoginFail,true,true);}else{this.autoLoginFail();}
return false;}
this.autoLoginFail=function(){try{autoLoginFail();}catch(err){};}
this.setPassword=function(pwd){document.forms["loginForm"].elements['password'].value=hex_md5(pwd);}
this.switchLoginDiv=function(state){var div=document.getElementById("loginDiv");if(!div)
return false;if(state){div.style.visibility=state;return;}
if(div.style.visibility=='hidden'){div.style.visibility='visible';User.refreshCode();}
else{div.style.visibility='hidden';}}
this.logout=function(){if(confirm('确定要退出吗?'))
window.location="/logoutAction.do";}
this.refreshCode=function(){refreshCode("loginVerifyCode");}
this.initUserInfo=function(){if($('#userInfo').length>0){$('#userInfo')[0].innerHTML=g_user.name+"("+g_user.username+")";$('#loginMenu,#registerMenu').hide();$('#userInfo,#logoutMenu,#userMenu').show();}}
this.showMenu=function(){document.getElementById('menuDiv').style.display="block";document.getElementById('menuDiv').onmouseout=this.hideMenu;}
this.hideMenu=function(evt){var evt=evt||window.event;var obj=evt.srcElement||evt.target;if(!obj.parentNode.id=='menuDiv')
document.getElementById('menuDiv').style.display="none";}}