var url = '/ajax/authorization.php';
    
function authorize(){

      var param = new Object();
      
      param['login'] = $('#login').val();
      param['passwd'] = $('#password').val();
      param['cmd'] = 'authorize';
      
      $.post(url,param,function(data){
          $('#auth_form').html(data);
      });
}

function get_out(){
    var go_to = $('#go_to').val();
    
    if (go_to == "<!--[go_to]-->") go_to = '/';
    
    window.location = go_to;

}

function recover(){
  // send captcha
  $.post('/ajax/captcha.php',{code: $("#code").val()},function(data){
      if (data!='1'){
        alert(data);
        return;
      }
      
      $.post(url,
      {cmd: "recover_primary", login: $("#login").val(), section_id: $("#section_id").val()},
      function(data){
          if (data=='bad_login'){
            alert("Проверьте правильность ввода логина!");
            return;
          } 
           
          $('#recover_form').html(data);
      });
});
}

function change_passwd(){

  if ($('#pass').val()!=$('#pass2').val()){
      alert('Введенные пароли не совпадают!');
      return;
  }
  
  if ($('#pass').val().length<4){
      alert('Длина пароля не должна быть менее 4 символов!');
      return;
  }  
  
  $.post(url,
    {cmd: "recover_secondary", user_id: $("#user_id").val(), password: $("#pass").val()},
    function(data){
        if (data=='bad_user_id'){
          alert("Во время отправки запроса возникла ошибка! Обратитесь к администратору сайта!");
          return;
        } 
         
        $('#recover_form').html(data);
  });
}


function register(){      
      if ($('#pass').val()!=$('#pass2').val()){
          alert('Введенные пароли не совпадают!');
          return;
      } 
      
                           
      if ($('#pass').val().length<4){
          alert('Длина пароля не должна быть менее 4 символов!');
          return;
      } 
       
      var param = parse_auth_form('reg_form', 'russian');
      
      param['cmd'] = 'register';
        
    $.post('/ajax/captcha.php',{code: $("#code").val()},function(cdata){
        if (cdata!='1'){
            alert(cdata);
            return;
        }

        $.post(url,param,function(data){
            if (data=='login_exists'){
                alert ("Такой логин уже существует. Попробуйте другой!");
                return;
            }
            $('#reg_form').html(data);
        });

    });


function parse_auth_form(formId, lang){

  // ==============   dictionary  ================
  function get_auth_dictionary(lang){
    var dictionary = new Array();
    
    switch(lang){
    
      case '':
        dictionary['empty_field'] = 'Необходимо заполнить поле: "[title]"';
        dictionary['wrong_format'] = 'Некорректно заполнено поле: "[title]"';
        dictionary['captcha_error'] = 'Неверно введен код. Сообщение не будет добавленно';        
        break;
        
      case 'russian':
        dictionary['empty_field'] = 'Необходимо заполнить поле: "[title]"';
        dictionary['wrong_format'] = 'Некорректно заполнено поле: "[title]"';
        dictionary['captcha_error'] = 'Неверно введен код. Сообщение не будет добавленно';        
        break;
        
      case 'english':
        dictionary['empty_field'] = 'Please make sure the "[title]" field was properly completed.';
        dictionary['wrong_format'] = 'Please make sure the "[title]" field was properly completed.';
        dictionary['captcha_error'] = 'Wrong code. Message was not added';        
        break;
                        
    } // switch
    return dictionary;
  } // function


  // ============= validator/sender ============== 
  
  var form = document.getElementById(formId);
  var r;
  var req;
  var reg_title = /\[title\]/i;
  var dictionary = get_auth_dictionary(lang);
  var param = new Object();

  // form validation
  
  for(r=0;r<form.elements.length;r++){

    if(form.elements[r].tagName=='FIELDSET') continue;
    name = form.elements[r].name;
    req  = false;
    if((name!='undefined') && (name)){
        if(name.substr(0, 1)=='_') {
          name  = name.substr(1);
          req  = true;
        } // if required
    } // if defined
    else { name = 'null' }

    if(req && (!form.elements[r].value)) {
  
      alert (dictionary['empty_field'].replace(reg_title, form.elements[r].title));
      
      form.elements[r].focus();
      return;
    }
     
    if(name == "email") // email check
        {
            mailString = form.elements[r].value; 
            re = /([\.\-_@][\.\-_@])|(^[\.])|(^[\-])|(^[\@])/;
            result = re.test(mailString);
            if(!result)     
            {
                re = /^[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]{2,4}$/;
                result = re.test(mailString);
                
                if(!result){ 
                  alert (dictionary['wrong_format'].replace(reg_title, form.elements[r].title));
                  form.elements[r].focus();
                  return;
                }
                   
            } // if 
            else {
             alert (dictionary['wrong_format'].replace(reg_title, form.elements[r].title));
             form.elements[r].focus();
             return;
             } // else 
        } // if email
    
  param[name] = form.elements[r].value;
    
  } // for

  return param;

} // function;

function change_settings(formId, lang){
    
  if ($('#pass').val()!=$('#pass2').val() && $('#pass').val()!=""){
      alert('Введенные пароли не совпадают!');
      return;
  }
  if ($('#pass').val().length<4 && $('#pass').val()!="" ){
      alert('Длина пароля не должна быть менее 4 символов!');
      return;
  } 
// ==============   dictionary  ================
  function get_auth_dictionary(lang){
    var dictionary = new Array();
    
    switch(lang){
    
      case '':
        dictionary['empty_field'] = 'Необходимо заполнить поле: "[title]"';
        dictionary['wrong_format'] = 'Некорректно заполнено поле: "[title]"';
        dictionary['captcha_error'] = 'Неверно введен код. Сообщение не будет добавленно';        
        break;
        
      case 'russian':
        dictionary['empty_field'] = 'Необходимо заполнить поле: "[title]"';
        dictionary['wrong_format'] = 'Некорректно заполнено поле: "[title]"';
        dictionary['captcha_error'] = 'Неверно введен код. Сообщение не будет добавленно';        
        break;
        
      case 'english':
        dictionary['empty_field'] = 'Please make sure the "[title]" field was properly completed.';
        dictionary['wrong_format'] = 'Please make sure the "[title]" field was properly completed.';
        dictionary['captcha_error'] = 'Wrong code. Message was not added';        
        break;
                        
    } // switch
    return dictionary;
  } // function


  // ============= validator/sender ============== 
  
  var form = document.getElementById(formId);
  var r;
  var req;
  var reg_title = /\[title\]/i;
  var dictionary = get_auth_dictionary(lang);
  var param = new Object();

  // form validation
  
  for(r=0;r<form.elements.length;r++){
    
    if(form.elements[r].tagName=='FIELDSET') continue;
    name = form.elements[r].name;
    req  = false;
    if((name!='undefined') && (name)){
        if(name.substr(0, 1)=='_') {
          name  = name.substr(1);
          req  = true;
        } // if required
    } // if defined
    else { name = 'null' }
    
    if(req && (!form.elements[r].value)) {
  
      alert (dictionary['empty_field'].replace(reg_title, form.elements[r].title));
      
      form.elements[r].focus();
      return;
    }
     
    if(name == "email") // email check
        {
            mailString = form.elements[r].value; 
            re = /([\.\-_@][\.\-_@])|(^[\.])|(^[\-])|(^[\@])/;
            result = re.test(mailString);
            if(!result)     
            {
                re = /^[\w\-\.]+@[\w\-\.]+\.[a-zA-Z]{2,4}$/;
                result = re.test(mailString);
                if(!result){ 
                  alert (dictionary['wrong_format'].replace(reg_title, form.elements[r].title));
                  form.elements[r].focus();
                  return;
                }  
            } // if 
            else {
             alert (dictionary['wrong_format'].replace(reg_title, form.elements[r].title));
             form.elements[r].focus();
             return;
             } // else 
        } // if email
    
        param[name] = form.elements[r].value;        
  } // for
        param['cmd'] = 'upd_user_info';
            $.post(url,param,function(data){
                /*$('#upd_form').html(data);*/
                $('.user_fields').fadeOut('fast')
                alert(data);
            });
}              

