function csOnMessageSendSuccess(aResponse, aOptions)
  {
  try
    {
    var r = Ext.decode(aResponse.responseText);
    if (r.success)
      {
      csMsgBox
        (
        'success.png', 
        'Wiadomość została wysłana',
        'Dziękujemy za wysłanie wiadomości. Postaramy się odpowiedzieć tak szybko jak to będzie możliwe.'
        );

        
      var eTitle        = Ext.select('#eTitle').item(0);
      var taDescription = Ext.select('#taDescription').item(0);

      eTitle.dom.value = '';
      taDescription.dom.value = '';
      }
    else
      {
      csMsgBox
        (
        'warning.png', 
        'Wiadomość nie została wysłana',
        r.error
        );
      }
    }
  catch (ex)
    {
    csMsgBox
      (
      'error.png', 
      'Wystąpił błąd podczas wysyłania widomości!', 
      'Podczas wysyłania wiadomości wystąpił błąd o treści:<p><b>' + aResponse.responseText + '</b></p>Prosimy o kontakt pod adresem <a href="mailto:bugs@codeton.pl">bugs@codeton.pl</a>. Przepraszamy za niedogodności.'
      );
    }
  }

function csOnMessageSendFailure(aResponse, aOptions)
  {
  csMsgBox
    (
    'error.png', 
    'Wystąpił błąd podczas wysyłania widomości!',
    'Wystąpił błąd podczas wysyłania wiadomości. Prosimy o kontakt pod adresem <a href="mailto:bugs@codeton.pl">bugs@codeton.pl</a>. Przepraszamy za niedogodności.'
    );
  }

function csOnMessageSubmit(aEvent)
  {
  aEvent.preventDefault();
  aEvent.stopPropagation();

  var eEmail        = Ext.select('#frmContact #eEmail').item(0);
  var eTitle        = Ext.select('#frmContact #eTitle').item(0);
  var taDescription = Ext.select('#frmContact #taDescription').item(0);
  if (eEmail.dom.value == '')
    {
    csMsgBox
      (
      'info.png', 
      'Proszę wypełnić wszystkie pola w formularzu',
      'Proszę podać swój adres e-mail. Dzięki temu będziemy mogli odpowiedzieć na Twoją wiadomość.'
      );

    return;
    }

  if (eTitle.dom.value == '')
    {
    csMsgBox
      (
      'info.png', 
      'Proszę wypełnić wszystkie pola w formularzu',
      'Proszę podać tytuł wiadomości. Dzięki temu szybciej odpowiemy na Twoją wiadomość.'
      );
    return;
    }

  if (taDescription.dom.value == '')
    {
    csMsgBox
      (
      'info.png', 
      'Proszę wypełnić wszystkie pola w formularzu',
      'Proszę wpisać treść wiadomości. Dzięki temu zrozumiemy Twoją wiadomość.'
      );
    return;
    }

  Ext.Ajax.request(
    {
    url: '/_services/controllers/contact.php',
    success: csOnMessageSendSuccess,
    failure: csOnMessageSendFailure,
    form: 'frmContact'
    });
  }

Ext.onReady(function()
  {
  var frmContact = Ext.select('#frmContact');
  frmContact.on('submit', csOnMessageSubmit, this);
  });

