$(document).ready(function(){
  $('#last-critics').css({
    'height' : getLastCriticsHeight() + 'px'
  });
})

function initCriticsForm()
{
  var form = $('#create-critics-form');
  var loader = $('#create-critics-ajax-loader');
  var options = {
    url     : $(form).attr('action') + '?is_ajax=1',
    target  : '#left-column',
    beforeSubmit:  function(){
      showAjaxLoader(form, loader);
    },
    success:       function(){
      if ($('#create-critics-success').html())
      {
        //hideSuccessMessage($('#critics-message'), 3000);
      } else {
        initCriticsForm();
        Recaptcha.reload();
      }
      hideAjaxLoader(loader);
    }
  };
  $('#create-critics-form').unbind();
  $('#create-critics-form').bind('submit', function() {
      $(this).ajaxSubmit(options);
      return false;
  });
}

function showAjaxLoader(el, loader)
{
  $(loader).css('width', $(el).width() + 10);
  $(loader).css('height', $(el).height());
  $(loader).css('display', 'block');
}

function hideAjaxLoader(loader)
{
  $(loader).hide();
}

function hideSuccessMessage(msg, timeout)
{
  setTimeout(function(){ $(msg).fadeOut() }, timeout);
}

function loadMoreCritics()
{
  if ($('#no-more-critics').html() == '1') return false;
  var count = parseInt($('#last-critics-count').html());
  if (count < 20)
  {
    count = count + 5;
  } else {
    count = 20;
  }

  showAjaxLoader($('#last-critics'), $('#last-critics-ajax-loader'));

  var url = APP.URL + '/index/last-critics?is_ajax=1';

  $('#last-critics').css({
    'height' : getLastCriticsHeight() + 'px'
  });


  $.post(url,
    { 'count' : count },
    function(data){
      $('#last-critics').html(data);
      if ($('#no-more-critics').html() > 0)
      {
        $('#more-critics').unbind();
        $('#more-critics').hide(500);
      }
      hideAjaxLoader($('#last-critics-ajax-loader'));
      $('#last-critics').animate({
          'height' : getLastCriticsHeight() + 'px'
      });
    }
  );
}

function getLastCriticsHeight()
{
  var critics_height = 0;
  $('#last-critics .critic-div').each(function(){
    critics_height += $(this).outerHeight() + parseInt($(this).css('margin-top'));
  });
  if ($.browser.msie) critics_height += 10; //ie fix
  return critics_height;
}
