var reg=function(){
    var hintDiv = false;
    var imgDiv = false;
    var oldimgDiv = false;
    var oldEl = false;


    var login = false;
    var password = false;
    var r_password = false;

	return{
      send:function(id,login){
         this.login = $('login');
         this.password = $('password');
         this.r_password = $('retype-password');

        if(reg.errors()){
          return false;
        }
        $(id).submit();
     
		},
        clear:function(el){
        if(el.className!=''){
        el.className = '';
        el.value = '';
        }
        el.style.backgroundColor = '';
        if($('er_'+el)){
        reg.addError('er_'+el.id,'');
         }
        return;
		},
        errors:function(){

          if(this.login.value.length<4){
            this.login.style.backgroundColor = '#FFCCCC';
            reg.addError('er_login',error2);
             return true;
          }
        for(i=0;i<this.login.value.length;i++){
          symbol = this.login.value.slice(i,(i+1)).charCodeAt();
          if((symbol>=48 && symbol<=57) || (symbol>=65 && symbol<=90) || (symbol>=97 && symbol<=122) ){

            }else{
            this.login.style.backgroundColor = '#FFCCCC';
             reg.addError('er_login',error4);
            return true;
          }
          }
          if(this.password.value.length<6){
            this.password.style.backgroundColor = '#FFCCCC';
             reg.addError('er_password',error3);
             return true;
          }
           if(this.password.value!=this.r_password.value){
              this.password.style.backgroundColor = '#FFCCCC';
              this.r_password.style.backgroundColor = '#FFCCCC';
             reg.addError('er_rpassword',error5);
             return true;
          }
           if($('rules').checked==false){
             alert(error6);
             return true;
           }

          return false;

		},
        isPhone:function(phone){
             if(phone.slice(0,1)!='+' || phone.length<9){
              reg.addError('er_phone',error8);
             }else{
              reg.addError('er_phone','Ok',true);
             }
		},
         getLogin:function(login){

             if(reg.parseLogin(login)){
                reg.addError('er_login',error4);
                return;
             }else{
                reg.addError('er_login','');
             }
           if(login.length>3){
                           login = '&text='+ encodeURIComponent(login);
              login += '&type=login';

           BeginRequest('POST', '/ajax', login, reg.resultLogin) ;
           }else{
            reg.addError('er_login',error2);
           }
           return
		},
         getPassword:function(pass){
             if(pass.length<6){
              reg.addError('er_password',error3);
             }else{
              reg.addError('er_password','Ok',true);
             }
		},
        getR_Password:function(){
             if($('password').value!=$('retype-password').value){
             reg.addError('er_rpassword',error5);
             }else{
              reg.addError('er_rpassword','Ok',true);
             }
		},
         parseLogin:function(login){

         for(i=0;i<login.length;i++){
           symbol = login.slice(i,(i+1)).charCodeAt();
          if((symbol>=48 && symbol<=57) || (symbol>=65 && symbol<=90) || (symbol>=97 && symbol<=122) ){

            }else{
                 return true;
          }
          }
          return false;
		},
          resultLogin:function(){
             if(request.readyState == 4){
             var obj = eval("(" + request.responseText + ")");
                if(obj.text==false){
                  reg.addError('er_login',error7);
                   }
                if(obj.text==true){
                   reg.addError('er_login','Ok',true);
                   }
                             }

		},
        addError:function(id,text,ok){
           $(id).innerHTML = text;
           if(ok){
           $(id).style.color = 'green';
           }else{
           $(id).style.color = 'red';
           }
		},
          hint:function(el,id,img,oldimg){
            if(this.hintDiv){
            $(this.hintDiv).style.display = 'none';
              this.oldEl.style.backgroundImage =  "url("+this.imgDiv+")";
            }

            this.oldEl = el;
            this.hintDiv = id;
            this.imgDiv = img;
            this.oldimgDiv = oldimg;
            $(this.hintDiv).style.display = '';
            this.oldEl.style.backgroundImage = "url("+this.oldimgDiv+")";
		}

	};
}();
