var send_data = false;
$(document).ready(function(){
  $.setupJMPopups({
    screenLockerBackground: "#ffffff",
    screenLockerOpacity: "0.65"
  });

  function openLoginPopup() {
    if(typeof _gat != 'undefined')
    {
      var pageTracker = _gat._getTracker("UA-11186328-1");
      pageTracker._trackPageview('http://login.namba.kz/');
    }
    $('#logon_form .inph').removeAttr('checked').not(':checkbox').val('');
    $.openPopupLayer({
      name: "logon_popup",
      width: $('#logon_popup').width(),
      target: "logon_popup",
      success: function(){
        $('#logon_form input[name=user]').focus();
      }
    });
    return false;
  }

  $('#logon_form #close_logon').click(function(){
    $.closePopupLayer('logon_popup');
    return false;
  });

  $('#logon_form form').submit(function(){
    $.openPopupLayer({
      name: "send_popup",
      target: "send_popup",
      clickToCloseLocker:false
    });
  });



  function openRegPopup() {
    if(typeof _gat != 'undefined')
    {
      var pageTracker = _gat._getTracker("UA-11186328-1");
      pageTracker._trackPageview('http://namba.kz/register.php');
    }
    $('#reg_form .inph').removeAttr('checked').not(':checkbox').val('');
    $('#reg_form #term').val('1');
    $.openPopupLayer({
      name: "reg_popup",
      width: $('#reg_popup').width(),
      target: "reg_popup",
      success:function(){
        $.closePopupLayer('logon_popup');
        $('#reg_form input').blur(check_register_value);
        $('#reg_form input').focus(function(){
          var $t = $(this);
          if($t.hasClass('error'))
          {
            $t.removeClass('error');
            $t.nextAll('.error:first').html('');
          }
          var select = $('.editable-select');
          var instances = select.editableSelectInstances();
          for(var i = 0; i< instances.length; i++)
          {
            instances[i].CalcOffset();
            instances[i].setWidths();
          }


        });
        $('#reg_form #close_reg').click(function(){
          $.closePopupLayer('reg_popup');
          return false;
        });
        $('#rform').submit(check_register_form);
      }
    });
    return false;
  }



  function check_register_form(e)
  {
    var pageTracker = false;
    if(typeof _gat != 'undefined')
    {
      pageTracker = _gat._getTracker("UA-11186328-1");
      pageTracker._trackPageview('http://namba.kz/register.php');
    }
    var error = false;
    var user = $('#reg_form input[name=reguser]');
    var pass = $('#reg_form input[name=regpass]');
    var repass = $('#reg_form input[name=regrepass]');
    var name = $('#reg_form input[name=name]');
    var surname = $('#reg_form input[name=surname]');
    var answer = $('#reg_form input[name=answer]');
    var q = $('#reg_form input[name=q]');
    var capture = $('#reg_form input[name=capture]');
    var term = $('#reg_form input[name=term]');

    var userval = $.trim(user.val());

    if( user.attr('class') == "login error") {
      error = true;
      send_data = false;
    }

    if(userval=='')
    {
      user.addClass('error');
      $(user).parents('tr:first').next().find('.error:first').html('Заполните поле ');
      error = true;
      send_data = false;
    }
    if(!error)
    {
      if (userval.match(/ /))
      {
        user.addClass('error');
        $(user).parents('tr:first').next().find('.error:first').html('Логин не должен содержать пробелов');
        error = true;
        send_data = false;
      }

    }
    if(!error)
    {
      if(!userval.match(/^[A-Z0-9._-]+$/i))
      {
        user.addClass('error');
        $(user).parents('tr:first').next().find('.error:first').html('Логин должен состоять из латинских символов, цифр, знаков "_", "." и "-"');
        error = true;
        send_data = false;
      }
    }

    if(!error)
    {
      if($.trim(pass.val())=='')
      {
        pass.addClass('error');
        pass.nextAll('.error:first').html('Введите пароль');
        error = true;
        return false;
      }else{
        pass.removeClass('error');
        pass.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(pass.val())!='' && pass.val().length<6)
      {
        pass.addClass('error');
        pass.nextAll('.error:first').html('Длина пароля меньше 6 символов!');
        error = true;
        return false;
      }else{
        pass.removeClass('error');
        pass.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(repass.val())=='')
      {
        repass.addClass('error');
        repass.nextAll('.error:first').html('Введите подтверждение пароля');
        error = true;
        return false;
      }else{
        repass.removeClass('error');
        repass.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      repass.removeClass('error');
      repass.nextAll('.error:first').html('');
    }

    if(!error)
    {
      if(pass.val()!=repass.val())
      {
        repass.addClass('error');
        repass.nextAll('.error:first').html('Пароль и подтверждение пароля не совпадают!');
        error = true;
        return false;
      }else{
        repass.removeClass('error');
        repass.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(name.val())=='')
      {
        name.addClass('error');
        name.nextAll('.error:first').html('Введите Ваше имя');
        error = true;
        return false;
      }else{
        name.removeClass('error');
        name.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(surname.val())=='')
      {
        surname.addClass('error');
        surname.nextAll('.error:first').html('Введите Вашу фамилию');
        error = true;
        return false;
      }else{
        surname.removeClass('error');
        surname.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(q.val())=='' || q.val()=='Свой вопрос')
      {
        q.addClass('error');
        q.nextAll('.error:first').html('Введите секретный вопрос');
        error = true;
        send_data = false;
        return false;
      }else{
        $('#own_q').val(q.val());
        q.removeClass('error');
        q.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if($.trim(answer.val())=='')
      {
        answer.addClass('error');
        answer.nextAll('.error:first').html('Введите ответ на секретный вопрос');
        error = true;
        return false;
      }else{
        answer.removeClass('error');
        answer.nextAll('.error:first').html('');
      }
    }

    if(!error)
    {
      if(term.is(':checked'))
      {
        term.removeClass('error');
        term.nextAll('.error:first').html('');
      }else{
        term.addClass('error');
        term.nextAll('.error:first').html('Вы не приняли условия соглашения');
        error = true;
        return false;
      }
    }

    if(!error)
    {
      if($.trim(capture.val())=='')
      {
        capture.addClass('error');
        capture.nextAll('.error:first').html('Код введен неверно');
        error = true;
        return false;
      }else{
        capture.removeClass('error');
        capture.nextAll('.error:first').html('');
      }
    }

    
    $('#reg_form .error').each(function(){
      if(this.tagName.toLowerCase()=='input'){
        error = true;
      }
      if(!error && this.tagName.toLowerCase()=='div' && $(this).text()!=''){
        error = true;
      }
    });

    if(!error)
    {
      return true;
    }
    return false;
  }

  function redraw()
  {
    var curr_captcha = $('#captcha');
    var timestamp = new Date().getTime();
    curr_captcha.attr('src', login_site_domain+'/showregister.php?'+timestamp);
    $('#reg_form input[name=capture]').val('');
  }

  function check_register_value(e)
  {
    var $t = $(this);
    var $tn = $t.attr('name');
    var $tv = $t.val();
    var $te = $t.nextAll('.error:first');

    switch($tn)
    {

      case 'reguser':

      if($.trim($tv)!='' && $tv.match(/^[A-Z0-9._-]+$/i))
      {
        $.ajax({
          dataType: 'jsonp',
          jsonp: 'jsonp_callback',
          url: login_site_domain+'/checkuser.php',
          data: "user="+$tv,
          cache: false,
          async: false,
          success: function(responce){
            if(responce.exists)
            {
              $t.addClass('error');

              var splited_host = jQuery.url.attr("host").split(".");
              var need_host = "namba."+splited_host[splited_host.length-1];

              $t.parents('tr:first').next().find('.error:first').html('Почтовый адрес '+$tv+'@'+need_host+' занят!');
            }else{
              $t.removeClass('error');
              $t.parents('tr:first').next().find('.error:first').html('');
            }
          }
        });
        e.preventDefault();
        e.stopPropagation();
      }
      break;
    }
  };

  $('.editable-select').editableSelect({
    bg_iframe: false,
    case_sensitive: false,
    items_then_scroll: 10
  });

  $('#reg_form input').blur(check_register_value);
  $('#reg_form input').focus(function(){
    var $t = $(this);
    if($t.hasClass('error'))
    {
      $t.removeClass('error');
      $t.nextAll('.error:first').html('');
    }
    var select = $('.editable-select');
    var instances = select.editableSelectInstances();
    instances[0].CalcOffset();
    instances[0].setWidths();

  });
  $('#rform').submit(check_register_form);
  if( $('.reg a') ) {
    $('.reg a').click(openRegPopup);
    $('.reg_open').click(openRegPopup);
  }
  $('.enter #login, #popup_login').click(openLoginPopup);
  $('.add_reg').click(function(){
    openRegPopup();
  });
});