
var Ident=new Class({Extends:Widget,cfg:{hasIcon:true,hasSizeBtn:false,hasCloseBtn:true,hasRefreshBtn:false,hasSettingsBtn:false,hasDrag:false,hasOnCloseConfirm:false,isOpenHidden:false,isSystem:true,title:loc.text("ident_title"),module:"Ident",uniqueId:SYS_WIDGETS_ID+2},initialize:function(){this.tags={};this.user={id:null,mcid:null,sessionid:null,mcsessionid:null},this.dom="<div class='float_panel' id='login_form'>"+" <div class='left' style='width:45%;padding:8px'>"+"  <h1>"+loc.text("ident_exist_user")+"</h1>"+"  <div>"+loc.text("inp_email")+"</div>"+"  <div><input type='text' id='login_email' size='30' ></div>"+"  <div>"+loc.text("inp_pwd")+"</div>"+"  <div><input type='password' size='30' id='login_pwd'></div>"+"  <div style='text-align:center;margin-top:12px'><input type='button' id='login_btn' value='"+loc.text("ident_load_my_page")+"'></div>"+"  <div id='login_msg' style='margin-top:12px;text-align:justify'></div>"+"  <div style='margin-top:12px'>"+"   <div id='pwd_remind_link'>"+loc.text("ident_lnk_forget_pwd")+"</div>"+"   <div id='pwd_remind_form' style='display:none'>"+"    <h1>"+loc.text("ident_remind_title")+"</h1>"+"    <div>"+loc.text("inp_email")+"</div>"+"    <div>"+"     <input type='text' id='inp_reminder_email' size='30'>"+"     <input type='button' id='remind_pwd' value='"+loc.text("btn_send")+"'>"+"    </div>"+"   </div>"+"   <div id='pwd_remind_msg' style='display:none'>"+loc.text("msg_sending")+"</div>"+"  </div>"+" </div>"+" <div class='right' style='width:45%;padding:8px'>"+"  <h1>"+loc.text("ident_new_user")+"</h1>"+"  <div style='text-align:justify'>"+loc.text("ident_reg_msg")+"</div>"+"  <div style='text-align:center;margin-top:12px'><input type='button' value='"+loc.text("ident_registration")+"' id='btn_reg'></div>"+" </div>"+"</div>"+"<div id='reg_form' class='float_panel' style='display:none'>"+" <div class='left' style='width:45%;padding:8px'>"+"  <h1 id='ident_new_user_text'>"+loc.text("ident_new_user")+"</h1>"+"  <div id='ident_reg_msg_text' style='text-align:justify'>"+loc.text("ident_reg_msg")+"</div>"+"  <h1>&nbsp;</h1>"+"  <h1>"+loc.text("ident_new_public_user")+"</h1>"+"  <div style='text-align:justify'>"+loc.text("ident_public_reg_msg")+"</div>"+" </div>"+" <div class='right' style='width:45%;padding:8px'>"+"  <div>&nbsp;</div>"+"  <div>"+loc.text("inp_email")+"</div>"+"  <div><input id='reg_email' size='30' type='text'></div>"+"  <div id='reg_email_text'></div>"+"  <div id='reg_email2_text'>"+loc.text("inp_email2")+"</div>"+"  <div><input type='text' id='reg_email2' size='30'></div>"+"  <div id='reg_pwd_text'>"+loc.text("inp_pwd")+"</div>"+"  <div><input type='password' id='reg_pwd' size='30'></div>"+"  <div id='reg_pwd2_text'>"+loc.text("inp_pwd2")+"</div>"+"  <div><input type='password' id='reg_pwd2' size='30'></div>"+"  <div>&nbsp;</div>"+"  <div id='reg_username_text'>"+loc.text("inp_username")+"</div>"+"  <div><span id='reg_username_pre_text'></span><input type='text' id='reg_username' size='30></div>"+"  <div style='text-align:center;margiin-top:12px'><input type='button' id='reg_btn' value='"+loc.text("ident_process_reg_btn")+"'></div>"+"  <div id='reg_msg' style='margin-top:12px;text-align:justify'></div>"+" </div>"+"</div>"+"<div id='reg_ok' class='float_panel' style='display:none'>"+" <div class='left' style='width:90%;padding:8px'>"+"  <h1>"+loc.text("ident_new_user")+"</h1>"+"  <div style='text-align:justify'>"+loc.text("ident_registration_ok")+"</div>"+"  <div style='text-align:center;margin-top:12px'><input type='button' id='regfinish' value='"+loc.text("btn_ok")+"'></div>"+" </div>"+"</div>"+"<div id='public_reg_ok' class='float_panel' style='display:none'>"+" <div class='left' style='width:90%;padding:8px'>"+"  <h1>"+loc.text("ident_new_public_user")+"</h1>"+"  <div style='text-align:justify'>"+loc.text("ident_public_registration_ok")+"</div>"+"  <div style='text-align:center' style='margin-top:12px'><input type='button' id='regfinish2' value='"+loc.text("btn_ok")+"'></div>"+" </div>"+"</div>"+"<div id='public_activate_form' class='float_panel' style='display:none'>"+" <div class='left' style='width:90%;padding:8px'>"+"  <h1>"+loc.text("ident_activate_public")+"</h1>"+"  <div>"+loc.text("ident_activate_email")+"</div>"+"  <div><input type='button' id='activate_pub' value='"+loc.text("btn_send")+"'></div>"+" </div>"+"</div>";},onBuildInterface:function(){var t=this;t.mid.getElement('.box-content').innerHTML=t.dom;$('ident').innerHTML="<span id='signinBtn' "+(t.isLogged()?"style='display:none'":'')+"><a href='javascript:void(0);' onClick='ident.signIn();'>"+loc.text("ident_lnk_sign_in")+"</a></span>"+"<span id='signoutBtn' "+(!t.isLogged()?"style='display:none'":'')+"><a href='javascript:void(0);' onClick='ident.logout();'>"+loc.text("ident_lnk_sign_out")+"</a></span>";t.getTags();t.tags.reg_username_pre_text.innerHTML="http://"+baseUrl;$(t.tags['login_btn']).addEvent('click',function(){t.tryLogin();});$(t.tags.pwd_remind_link).addEvent('click',function(){t.showRemindForm();});$(t.tags.remind_pwd).addEvent('click',function(){t.remindPwd();});$(t.tags.reg_btn).addEvent('click',function(){t.tryRegister();});$(t.tags.regfinish).addEvent('click',function(){t.regFinish();});$(t.tags.regfinish2).addEvent('click',function(){t.regFinish();});$(t.tags.activate_pub).addEvent('click',function(){t.activatePublicMail();});$(t.tags.btn_reg).addEvent('click',function(){t.showRegform();});this.setTitle(loc.text("ident_title"));},getTags:function(){var els=this.mid.getElement('.box-content').getElementsByTagName('*');for(var i=0;i<els.length;i++){if(els[i].id)
this.tags[els[i].id]=els[i];}},showRemindForm:function(){this.show("pwd_remind_form");this.hide("pwd_remind_link");this.hide("pwd_remind_msg");this.tags.inp_reminder_email.value="";this.tags.inp_reminder_email.focus();},regFinish:function(){this.close();},remindPwd:function(){var email=trim(this.tags.inp_reminder_email.value);if(this.checkEmail(email)){request.send({act:"remind_pwd",email:email},this);this.hide("pwd_remind_form");this.show("pwd_remind_msg");}},showRegform:function(){this.show("reg_form");this.hide("login_form");},hideRegform:function(){this.hide("reg_form");this.show("login_form");},tryLogin:function(){var email=trim(this.tags.login_email.value);var pwd=trim(this.tags.login_pwd.value);if(email!=""&&pwd!=""){request.send({act:"login_user",email:email,password:pwd},this);this.hide("login_btn");this.hide("goreg_btn");this.tags.login_msg.innerHTML=loc.text("msg_processing");}},tryRegister:function(){var email=trim(this.tags.reg_email.value);var email2=trim(this.tags.reg_email2.value);var pwd=trim(this.tags.reg_pwd.value);var pwd2=trim(this.tags.reg_pwd2.value);var username=trim(this.tags.reg_username.value);if(!ident.isPublic()&&ident.isLogged()&&!ident.hasActivePublic()){if(username==""){this.tags.reg_msg.innerHTML=loc.text("ident_username_error");}else if(username!=""){request.send({act:"register_user",username:username},this);this.hide("reg_btn");this.tags.reg_msg.innerHTML=loc.text("msg_processing");}}else{if(email!=email2||!this.checkEmail(email)){this.tags.reg_msg.innerHTML=loc.text("ident_email_error");}else if(pwd!=pwd2||!this.checkPassword(pwd)){this.tags.reg_msg.innerHTML=loc.text("ident_pwd_error");}else if(email!=""&&pwd!=""){request.send({act:"register_user",mcuser_id:getCookie("mcuserid"),email:email,password:pwd,username:username},this);this.hide("reg_btn");this.tags.reg_msg.innerHTML=loc.text("msg_processing");}}},activatePublicMail:function(){request.send({act:"activate_public_user",mcuser_id:getCookie("userid")},this);},close:function(){this.hideRegform();board.hideActivePopup();},signIn:function(){board.showPopup('ident');},isLogged:function(){return this.user.sessionid!='';},isPublic:function(){return this.is_public==1;},isPublicLogged:function(){return this.is_public_logged==1;},hasActivePublic:function(){return this.public_user.type==1&&this.public_user.active==1;},hasNonActivePublic:function(){return this.public_user.type==1&&this.public_user.active==0;},userName:function(){return this.public_user.username;},logout:function(){profiler.saveAllProfile();request.send({act:"logout"},this);},loadUser:function(){this.user.id=getCookie("userid");this.user.email=getCookie("useremail");this.user.password=getCookie("userpassword");this.user.mcid=getCookie("mcuserid");this.user.sessionid=getCookie("userSessionID");this.user.mcsessionid=getCookie("mcuserSessionID");},saveUser:function(){setCookie("userid",this.user.id);delCookie("useremail");delCookie("userpassword");setCookie("mcuserid",this.user.mcid);setCookie("userSessionID",this.user.sessionid);setCookie("mcuserSessionID",this.user.mcsessionid);},start:function(){if(_USER.status){profiler=new Profiler();profiler.id=main.getUniqueId(profiler);hideEl($("intro_note"));if(_USER.status=='no_public')
this.buildDomModel(document.body,[{tag:"span",innerHTML:loc.text("board_public_no")}]);if(_USER.status=='nonactive_public')
this.buildDomModel(document.body,[{tag:"span",innerHTML:loc.text("board_public_nonactive")}]);}else if(_USER.user){this.user=_USER.user;this.is_public=_USER.is_public;this.is_public_logged=_USER.is_public_logged;if(_USER.public_user)
this.public_user=_USER.public_user;this.saveUser();this.onLoad();}},dispatchMsg:function(msg){switch(msg.status){case"":break;case"check_email":this.tags.reg_email_text.innerHTML=msg.email;break;case"public_activate_ok":this.show("public_reg_ok");this.hide("public_activate_form");break;case"register_ok":if(msg.user){this.show("reg_ok");}
if(msg.ispublic){this.show("public_reg_ok");}
this.hide("reg_form");if(this.user.id==this.user.mcid){setCookie("anonymousid",this.user.mcid);setCookie("anonymousSessionID",this.user.sessionid);}else{setCookie("mcanonymousid",this.user.mcid);setCookie("mcanonymousSessionID",this.user.mcsessionid);}
if(msg.user){this.tags.signinBtn.style.display="none";this.tags.signoutBtn.style.display="inline";this.user=msg.user;this.saveUser();}
if(msg.ispublic){$('publicbtn').innerHTML="<span>"+loc.text("board_activate_public")+"<a href='javascript:void(0);' onClick='ident.activatePublic()'></a></span>";}
this.is_public=msg.is_public;this.is_public_logged=msg.is_public_logged;if(msg.public_user)
this.public_user=msg.public_user;this.tags.reg_msg.innerHTML="";this.show("reg_btn");break;case"register_error":this.tags.reg_msg.innerHTML=loc.text("ident_msg_reg_error");this.tags.reg_email.value="";this.tags.reg_email2.value="";this.show("reg_btn");break;case"register_error_username":this.tags.reg_msg.innerHTML=loc.text("ident_msg_reg_error_username");this.show("reg_btn");break;case"login_ok":if(this.user.id==this.user.mcid){setCookie("anonymousid",this.user.mcid);setCookie("anonymousSessionID",this.user.sessionid);}else{setCookie("mcanonymousid",this.user.mcid);setCookie("mcanonymousSessionID",this.user.mcsessionid);}
this.user=msg.user;this.saveUser();location.reload();break;case"login_error":this.tags.login_msg.innerHTML=loc.text("ident_login_error");this.show("login_btn");this.show("goreg_btn");break;case"logout_ok":var anonymousId=getCookie("anonymousid");var mcanonymousId=getCookie("mcanonymousid");var anonymousSessionId=getCookie("anonymousSessionID");var mcanonymousSessionId=getCookie("mcanonymousSessionID");if(anonymousId){this.user={id:anonymousId,mcid:anonymousId,sessionid:anonymousSessionId,mcsessionid:anonymousSessionId};this.saveUser();delCookie("anonymousid");delCookie("anonymousSessionID");}else if(mcanonymousId){this.user={id:"",mcid:mcanonymousId,sessionid:"",mcsessionid:mcanonymousSessionId};this.saveUser();delCookie("mcanonymousid");delCookie("mcanonymousSessionID");}else{delCookie("userid");delCookie("useremail");delCookie("userpassword");}
location.reload();break;case"pwd_sent":this.tags.inp_reminder_email.value="";this.hide("pwd_remind_form");this.show("pwd_remind_link");this.hide("pwd_remind_msg");break;}},onLoad:function(){},checkEmail:function(str){return/^[a-zA-Z][a-z0-9\-\_\.]{1,20}@[a-z0-9\-\_\.]{5,30}$/.test(str);},checkPassword:function(str){return(str.length>5);}});