function rePaintTable() {
  $('.basic-table > tbody > tr').removeClass('odd');
  $('.basic-table > tbody > tr:nth-child(odd)').addClass('odd');
}

/*
 * jQuery User Plugin
 * version: 1.00
 * @requires jQuery v1.2.2 or later
 *
 */
;(function($) {

$.fn.showMessage = function(options) {
  $('#msg').stop()
           .slideUp('normal', function(){
             $(this).removeClass()
                    .addClass(options.container)
                    .text(options.text)
                    .slideDown('normal')
                    .animate({opacity: 1.0}, options.timeout)
                    .slideUp('slow');
           });
  return this;
}

$.fn.ajaxUser = function(url, data, callback) {
  var item = this;

  item.data('loading', false);

  $.ajax({
    url: url,
    data: data,
    type: 'GET',
    cache: false,
    timeout: 30000,
    dataType: 'xml',
    beforeSend: function(){if (item.data('loading')) return false; item.data('loading', true);},
    error: function(xml){item.showMessage({text: 'Ошибка при обращении к серверу', container: 'msg-error', timeout: 7000});},
    complete: function(xml){item.data('loading', false);},
    success: function(xml){
      if (callback)
      {
        if (!callback(xml))
          return;
      }
      item.showMessage({text: $('msg', xml).text(), container: $('error', xml).length ? 'msg-error' : 'msg-ok', timeout: 5000});
    }
  });
  return this;
};

$.fn.ajaxUserSubmit = function() {
  var frm = this;

  return frm
  .data('loading', false)
  .ajaxForm({
      timeout: 30000,
      cache: false,
      dataType: 'xml',
      beforeSend: function(){if (frm.data('loading')) return false; frm.data('loading', true);},
      error: function(xml){frm.showMessage({text: 'Ошибка при обращении к серверу', container: 'msg-error', timeout: 7000});},
      complete: function(xml){frm.data('loading', false);},
      success: function(xml){
        if ($('location', xml).length) {
          window.location.href = $('location', xml).text();
          return;
        }
        if ($('action', xml).text() == 'clear') {
          frm.clearForm();
        }

        frm.showMessage({text: $('msg', xml).text(), container: $('error', xml).length ? 'msg-error' : 'msg-ok', timeout: 5000});
      }
  });
};

})(jQuery);

