Вход Регистрация
Файл: js/al/prereg.js
Строк: 147
<?php
function initReg(prefixopts) {

extend(cur, {
  
regOnlyNums: function(pass) {
    return (
pass.search(/[^0-9]/) == -1);
  },
  
regChange: function(prefcurnexte) {
    
|| window.event;
    if (
&& e.keyCode == 13elfocus(pref next);
    
hide(pref cur '_details');
  },
  
regValidate: function(prefignoreBadPwd) {
    var 
fname trim(ge(pref 'fn').value), badfn false;
    if (
fname.length 2) {
      
cur.regShowError(pref'fn_details'opts.reg_error_fname);
      
badfn true;
    }
    var 
lname trim(ge(pref 'ln').value), badln false;
    if (
lname.length 2) {
      
cur.regShowError(pref'ln_details'opts.reg_error_lname);
      
badln true;
    }

    var 
email ge(pref 'email').valuebadem false;
    var 
mailDot email.lastIndexOf('.'), mailAt email.indexOf('@');
    if (
email.length 8) {
      
cur.regShowError(pref'email_details'opts.reg_error_email);
      
badem true;
    } else if (
mailDot || mailAt <= || mailDot <= mailAt 1) {
      
cur.regShowError(pref'email_details'opts.reg_error_bad_email);
      
badem true;
    }

    var 
pass ge(pref 'pass').valuebadpw false;
    if (
pass.length 6) {
      
cur.regShowError(pref'pass_details'opts.reg_error_pass);
      
badpw true;
    }

    var 
sex intval(ge(pref 'sex').value), badsx false;
    if (!
sex) {
      
cur.regShowError(pref'sex_details'opts.reg_error_sex);
      
badsx true;
    } else {
      
hide(pref 'sex_details');
    }

    if (
badfn) {
      
elfocus(pref 'fn');
    } else if (
badln) {
      
elfocus(pref 'ln');
    } else if (
badem) {
      
elfocus(pref 'email');
    } else if (
badpw) {
      
elfocus(pref 'pass');
    } else if (!
badsx) {
      if (
ignoreBadPwd || !cur.regOnlyNums(pass)) {
        return 
true;
      }
      
hide(pref 'pass_details');
      if (!
badfn && !badln && !badem) {
        
cur.regErrorBox(prefopts.reg_error_passonlydigitspref 'pass'opts.reg_error_changepasstrue);
      }
    }
    return 
false;
  },
  
regErrorBox: function(prefbodyforFocuscloseCaptionregButton) {
    
closeCaption closeCaption || opts.reg_error_close;
    var 
box showFastBox({titleopts.reg_error_incorrectinfo}, bodycloseCaption, function() {
        
box.hide();
        if (
ge(forFocus)) elfocus(forFocus);
      }, 
regButton opts.reg_error_continuereg falseregButton ? function() {
        
box.hide();
        
cur.register(preftrue);
      } : 
false);
    return 
true;
  },
  
regShowError: function(prefcontainertext) {
    var 
cont ge(pref container), was isVisible(cont) && trim(cont.innerHTML);
    
cont.innerHTML '<span>' text '</span>';
    
cont.style.position 'relative';
    if (
cont.offsetHeight 20) {
      
cont.style.top '0px';
    } else {
      
cont.style.top '5px';
    }
    if (
was) {
      
cont.style.color '#777777';
      
animate(cont, {color'#880000'}, 200, function() {
        
setTimeout(animate.pbind(cont, {color'#777777'}, 200, function() {
          
cont.style.color '';
        }), 
500);
      });
    } else {
      
show(cont);
    }
  },
  
register: function(prefignoreBadPwd) {
    if (
isVisible(cur[pref 'reg_progress'])) return false;
    if (!
cur.regValidate(prefignoreBadPwd)) return false;

    var 
email ge(pref 'email').valuepass ge(pref 'pass').value;
    var 
timezoneOffset = new Date().getTimezoneOffset();
    var 
params = {
      
act'register',
      
first_namege(pref 'fn').value,
      
last_namege(pref 'ln').value,
      
regemailemail,
      
regpasspass,
      
sexintval(ge(pref 'sex').value),
      
timezone: -(Math.abs(timezoneOffset) > 20 timezoneOffset Math.round(timezoneOffset 60))
    }
    var 
options = {onDone: function(resremailrpass) {
      
res intval(res);
      if (
res) {
        
cur.regBadEM true;
        
cur.regShowError(pref'email_details'opts.reg_login_is_taken);
        
elfocus(pref 'email');
      } else {
        
submitQuickLoginForm(remail || emailrpass || pass);
      }
    }, 
onFail: function(t) {
      if (
t) return cur.regErrorBox(pref);
    }, 
progresscur[pref 'reg_progress']};
    
ajax.post('register.php'paramsoptions);
  }
});
if (!
cur[prefix 'sexdd']) {
  
cur[prefix 'sexdd'] = new Dropdown(ge(prefix 'sex'), opts.sexes, {
    
widthopts.dd_width || 200,
    
onChange: function(value) {
      if (
intval(value)) hide(prefix 'sex_details');
    }
  });
  
cur[prefix 'reg_progress'] = opts.progress;
  
cur[prefix 'reg_destroy'] = function(c) {
    
cur[prefix 'sexdd'].destroy();
    
delete cur[prefix 'sexdd'];
  }
}

}
try{
stManager.done('prereg.js');}catch(e){}
?>
Онлайн: 0
Реклама