$(function(){
  var form = $('#contact_form');
  
  //setting blockui defaults
  $.blockUI.defaults = { 
    elementMessage: '<img src="img/loading.gif" alt="Wysyłam" />', 
    overlayCSS: { backgroundColor: '#FFFFFF', opacity: '0.5' }, 
    elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center'},
    displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' }
  };
  
  form.ajaxForm({
    beforeSubmit: function(){
      clearFormErrors();
      form.block();
    },
    success: function(r){
      if(r.message.type == 'error')
      {
        form.unblock();
        throwFormErrors(r.data);
        $('#contact_error').html(r.message.text).slideDown(500);
        return false;
      }
      
      form.resetForm();
      form.unblock();
      
      $('#contact_success').html('Wiadomość została wysłana!').slideDown(500);
    },
    dataType: 'json',
    clearForm: false,
    resetForm: false,
    error: function(){
      form.unblock();
      $('#contact_error').text('Wystąpił błąd podczas wysyłania zapytania. Prawdopodobnie serwer jest przeciążony. Prosimy spróbować ponownie.').slideDown(500);
      return false;
    }
  }); 
});

function throwFormErrors(errors)
{
  for(var i in errors)
  {
    var element = $('#' + errors[i]);
    
    element.css('border-color', '#FF0000');
  }
}

function clearFormErrors()
{
  $('#contact_error').hide().empty();
  $('#contact_success').hide().empty();
  $('#contact_sender').css('border-color', '#AAAAAA');
  $('#contact_email').css('border-color', '#AAAAAA');
  $('#contact_body').css('border-color', '#AAAAAA');
}
