function bmPopupRegister(b,a,c){if(c!==false){this.create(b,a,c)}}bmPopupRegister.inherit(top.bmHTMLView);bmPopupRegister.prototype.popupRegister=null;bmPopupRegister.prototype.enterBlock=null;bmPopupRegister.prototype.enterBlockClosed=null;bmPopupRegister.prototype.registerBlock=null;bmPopupRegister.prototype.shakeElement=[];bmPopupRegister.prototype.shakeTimer=null;bmPopupRegister.prototype.shakeShift={0:{left:5,top:0},1:{left:0,top:2},2:{left:-5,top:0},3:{left:0,top:-2},4:{left:5,top:0},5:{left:0,top:2},6:{left:-5,top:0},7:{left:0,top:-2},8:{left:0,top:0}};bmPopupRegister.prototype.shakeDelay=20;bmPopupRegister.prototype.shakeIteration=0;bmPopupRegister.prototype.sender=null;bmPopupRegister.prototype.create=function(application,owner,parameters){this.type="bmPopupRegister";this.className="bmPopupRegister";top.bmHTMLView.prototype.create.call(this,application,owner,parameters);var sender=this;sender.load=function(){var doc=sender.document,entLink=doc.getElementById("enterRegisterLink"),authRef=doc.getElementById("authorizationRefererLink");if(entLink){var registerBlockLink=doc.getElementById("registerBlockLink");var enterRegisterLinkFromRegisterBlock=doc.getElementById("enterRegisterLinkFromRegisterBlock");var submitRegisterForm=sender.document.getElementById("register");sender.enterBlock=doc.getElementById("enterBlock");sender.enterBlockClosed=doc.getElementById("enterBlockClosed");sender.registerBlock=doc.getElementById("registerBlock");sender.popupRegister=doc.getElementById("popupRegister");submitRegisterForm.value="Зарегистрироваться";submitRegisterForm.disabled=false;application.attachEvent(entLink,"click",sender.show);application.attachEvent(enterRegisterLinkFromRegisterBlock,"click",sender.show);application.attachEvent(registerBlockLink,"click",sender.showRegisterBlock);application.attachEvent(doc,"click",sender.hide)}if(authRef){doc.getElementById("mail").focus()}};sender.show=function(event){sender.enterBlock.style.display="block";sender.enterBlockClosed.style.display="none";sender.registerBlock.style.display="none";sender.shakeElement=[];sender.document.getElementById("mail").focus()};sender.hide=function(event){var authorizationViewPage=document.getElementById("authorizationViewPage");if(authorizationViewPage){return}else{var element=application.getOriginalEventElement(event);if(!application.elementInContainer(element,sender.popupRegister,sender.window)){sender.enterBlock.style.display="none";sender.registerBlock.style.display="none";sender.enterBlockClosed.style.display="block";sender.shakeElement=[]}}};sender.showRegisterBlock=function(){sender.enterBlock.style.display="none";sender.registerBlock.style.display="block";sender.shakeElement=[];sender.document.getElementById("registration").email.focus()};sender.checkLoginForm=function(){var elMail=sender.document.getElementById("mail");var elPass=sender.document.getElementById("loginPassword");if(elMail.value==""){sender.shakeElement.push(elMail)}else{var re=/^([\w\-\.]+)@([\w\-]+(\.[\w\-]+)*(\.[a-z]{2,4})?)$/;if(!(elMail.value.match(re))){sender.shakeElement.push(elMail)}}if(elPass.value==""){sender.shakeElement.push(elPass)}if(sender.shakeElement.length>0){sender.fShakeElement()}else{var data=new Array;data.email=elMail.value;data.password=elPass.value;application.httpGateway.sendData("/modules/user/register/rp_check_info.php",data,sender.checkLoginFormHandler);return false}};sender.fShakeElement=function(){if(sender.shakeTimer==null){for(var key in sender.shakeElement){sender.shakeElement[key].style.backgroundColor="#ff4908";sender.shakeElement[key].style.position="relative"}sender.shakeTimer=setTimeout(sender.fShakingElement,sender.shakeDelay)}};sender.fShakingElement=function(){for(var key in sender.shakeElement){sender.shakeElement[key].style.left=sender.shakeShift[sender.shakeIteration]["left"]+"px";sender.shakeElement[key].style.top=sender.shakeShift[sender.shakeIteration]["top"]+"px"}++sender.shakeIteration;if(sender.shakeIteration<9){sender.shakeTimer=setTimeout(sender.fShakingElement,sender.shakeDelay)}else{for(var key in sender.shakeElement){sender.shakeElement[key].style.backgroundColor="white"}clearTimeout(sender.shakeTimer);sender.shakeTimer=null;sender.shakeIteration=0;sender.shakeElement.shift().focus();sender.shakeElement=new Array()}};sender.beginValidation=function(){sender.registrationErrors=new Array();sender.validateEMail()};sender.checkLoginFormHandler=function(event){var elMail=sender.document.getElementById("mail");var elPass=sender.document.getElementById("loginPassword");var data=eval("("+event.data+")");if(data!=""){if(data=="mail"){sender.shakeElement.push(elMail);sender.shakeElement.push(elPass);sender.fShakeElement()}else{if(data=="pass"){sender.shakeElement.push(elPass);sender.fShakeElement()}else{if(data=="checked"){sender.userInit()}}}}else{alert("Ошибка обработки данных!")}};sender.onValidateUserName=function(event){var hasError=false;switch(event.data){case"1":sender.registrationErrors.push(" - Пользователь с таким ником уже существует.");hasError=true;break;case"16":sender.registrationErrors.push(" - Слишком длинный ник.");hasError=true;break}if(hasError){sender.shakeElement.push(sender.document.getElementById("userName"))}sender.endValidation()};sender.onValidateEMail=function(event){var hasError=false;switch(event.data){case"1":sender.registrationErrors.push(" - Пользователь с такой эл. почтой уже существует.");hasError=true;break;case"3":sender.registrationErrors.push(' - Данные о вашей эл. почте должны быть в формате "****@****.***".');hasError=true;break;case"4":sender.registrationErrors.push(" - Домен вашей эл. почты не существует.");hasError=true;break}if(hasError){sender.shakeElement.push(sender.document.getElementById("registration").email)}sender.validatePasswordAndUserName()}};bmPopupRegister.prototype.keyChange=function(d){var a=0;var b=0;var c=/[0-9]/;if(c.test(d)){b=1}var c=/[А-ЯA-Z]/;if(c.test(d)){a=1}passwordDifficult=a+b;if(d.length>=1&&passwordDifficult==0){passwordDifficult=1}if(d.length>=6&&passwordDifficult<=2){passwordDifficult++}this.document.getElementById("registerKey").style.backgroundPosition="0 -"+passwordDifficult*43+"px"};bmPopupRegister.prototype.validatePasswordAndUserName=function(){var c=this.document.getElementById("registration").password;var b=c.value;if(b.trim()==""){this.registrationErrors.push(" - Введите пароль.");this.shakeElement.push(c)}var a=this.document.getElementById("userName");var d=a.value.trim();if(d!=""){application.httpGateway.get("/modules/user/register/validator.php?action=validateUserName&userName="+encodeURIComponent(d),this.onValidateUserName)}else{this.registrationErrors.push(' - Поле "Ник" не заполнено.');this.shakeElement.push(a);this.endValidation()}};bmPopupRegister.prototype.validateEMail=function(){var b=this.document.getElementById("registration").email;var a=b.value.trim();if(a!=""){application.httpGateway.get("/modules/user/register/validator.php?action=validateEMail&email="+encodeURIComponent(a),this.onValidateEMail)}else{this.registrationErrors.push(' - Поле "л. почта" не заполнено.');this.shakeElement.push(b);this.validatePasswordAndUserName()}};bmPopupRegister.prototype.endValidation=function(){var a=this.document.getElementById("acceptRules").checked;if(!a){this.registrationErrors.push(" - Вы не согласны с правилами.")}if(this.registrationErrors.length>0){alert("Регистрация невозможна по следующим причинам:\n"+this.registrationErrors.join("\n"));this.shakeElement.shift().focus();this.shakeElement=[]}else{application.httpGateway.sendForm("/modules/user/register/register.php","registration",this.loginDone,application.getWindow("content"))}};bmPopupRegister.prototype.loginDone=function(a){alert("Регистрация успешно завершена!");this.document.getElementById("mail").value=this.document.getElementById("registration").email.value.trim();this.document.getElementById("loginPassword").value=a.data;this.userInit()};bmPopupRegister.prototype.userInit=function(b){var c=this.document.getElementById("mail");var a=this.document.getElementById("loginPassword");application.user.login(c.value,a.value)};var application=window.top.application;application.bmPopupRegister=new bmPopupRegister(application,application,{name:"bmPopupRegister",window:self});var loginFormTop=new Image();loginFormTop.src="/images/global/loginForm/loginTable/top.png";var loginFormBottom=new Image();loginFormBottom.src="/images/global/loginForm/loginTable/bottom.png";var loginFormLeft=new Image();loginFormLeft.src="/images/global/loginForm/loginTable/left.png";var loginFormRight=new Image();loginFormRight.src="/images/global/loginForm/loginTable/right.png";var loginFormTopLeft=new Image();loginFormTopLeft.src="/images/global/loginForm/loginTable/topLeft.png";var loginFormTopRight=new Image();loginFormTopRight.src="/images/global/loginForm/loginTable/topRight.png";var loginFormBottomLeft=new Image();loginFormBottomLeft.src="/images/global/loginForm/loginTable/bottomLeft.png";var loginFormBottomRight=new Image();loginFormBottomRight.src="/images/global/loginForm/loginTable/bottomRight.png";var registerFormTop=new Image();registerFormTop.src="/images/global/loginForm/registerTable/top.png";var registerFormBottom=new Image();registerFormBottom.src="/images/global/loginForm/registerTable/bottom.png";var registerFormLeft=new Image();registerFormLeft.src="/images/global/loginForm/registerTable/left.png";var registerFormRight=new Image();registerFormRight.src="/images/global/loginForm/registerTable/right.png";var registerFormTopLeft=new Image();registerFormTopLeft.src="/images/global/loginForm/registerTable/topLeft.png";var registerFormTopRight=new Image();registerFormTopRight.src="/images/global/loginForm/registerTable/topRight.png";var registerFormBottomLeft=new Image();registerFormBottomLeft.src="/images/global/loginForm/registerTable/bottomLeft.png";var registerFormBottomRight=new Image();registerFormBottomRight.src="/images/global/loginForm/registerTable/bottomRight.png";