
/* :::::::::: registrationClass :::::::::::::: */
var oRegistration = null;
function registrationClass()
{
    this.checking = 0; 
    this.init = function()
    {
        this.eMessage = $('#regError');
        this.eLogin = $('#login'); 
        this.eEmail = $('#email'); 
        this.ePassword = $('#password'); 
        this.ePassword2 = $('#password2');
        this.eCaptcha = $('#captcha'); 
    }
    
    this.msg = function( text )
    {
       this.eMessage.html(text);
    } 
    
    this.check = function( )
    {
        if(this.checking)
            return false;
    
        this.checking = 1;
       
        do
        {
            if(!this.checkLogin()) break; 
            if(!this.checkEmail()) break;
            if(!this.checkPassword1()) break; 
            if(!this.checkPassword2()) break; 
            if(!this.checkCaptcha()) break;
            
            this.msg('');  
            this.checking = 2;
            document.forms.regForm.submit();
        
        }while(false);
           
        this.checking = 0;
        
        return false;
    }

    this.checkLogin = function( )
    {
         do
         {
            var val = this.eLogin.val();
            if(val.length == 0)
            {
                this.msg('не заполнено поле ЛОГИН');  
                break;
            }
            if(val.length<3)
            {
                this.msg('ЛОГИН должен содержать не менее 3-х символов');  
                break;
            }
            
            var regx = new RegExp ("^[a-zA-Z0-9_]*$", 'i');
            if( regx.test(val) == false )
            {
                this.msg('ЛОГИН должен содержать только латиницу и цифры');  
                break;
            }                   
                              
            return true;
         }while(false);
         
         this.eLogin.focus();
         
         return false;       
    }

    this.checkEmail = function( )
    {
         do
         {
            var val = this.eEmail.val();
            if(val.length == 0)
            {
                this.msg('не заполнено поле E-MAIL!');  
                break;
            }
            if(!utils.isEmail(val))
            {
                this.msg('E-MAIL указан некорректно');  
                break;
            }                      
                              
            return true;
         }while(false);
         
         this.eEmail.focus();
         
         return false;       
    }
    
    this.checkPassword1 = function( )
    {
         do
         {
            var val = this.ePassword.val();
            if(val.length == 0)
            {
                this.msg('не заполнено поле ПАРОЛЬ');  
                break;
            }
            if(val.length<3)
            {
                this.msg('ПАРОЛЬ должен содержать не менее 3-х символов');  
                break;
            }
            if(val == this.eLogin.val())
            {
                this.msg('ПАРОЛЬ и ЛОГИН не должны совпадать');  
                break;
            } 
                       
            return true;
         }while(false);
         
         this.ePassword.focus();
         
         return false;       
    }

    this.checkPassword2 = function( )
    {
         do
         {
            var val = this.ePassword2.val();
            if(val.length == 0)
            {
                this.msg('не заполнено поле ПОВТОР ПАРОЛЯ');  
                break;
            }
            if(val != this.ePassword.val())
            {
                this.msg('ошибка подтверждения ПАРОЛЯ');  
                break;
            }
                              
            return true;
         }while(false);
         
         this.ePassword2.focus();
         
         return false;       
    }
    
    this.checkCaptcha = function( )
    {
         do
         {
            var val = this.eCaptcha.val();
            if(val.length == 0)
            {
                this.msg('не указаны проверочные цифры!');  
                break;
            }                     
                              
            return true;
         }while(false);
         
         this.eCaptcha.focus();
         
         return false;       
    }    
}
