function csOnNewsletterSendSuccess(aResponse, aOptions)
  {
  var eEmail = Ext.select('#frmNewsletter #eNewsletterEmail').item(0); 
  var email = eEmail.dom.value;

  try
    {
    var r = Ext.decode(aResponse.responseText);
    if (r.success)
      {
      csMsgBox
        (
        'success.png', 
        'Dziękujemy!',
        'Twoje dane zostały dodane do naszej bazy danych. ' +
        'Od czasu do czasu będziemy Cię powiadamiać o aktualizacjach ' +
        'naszego oprogramowania. Z usługi powiadomień można zrezygnować ' +
        'w każdej chwili klikając w poniższy link:<br/>' +
        '<a href="/newsletter/remove.php?' + Ext.urlEncode({ eEmail:  email }) + '">' + 
        'http://www.codeton.pl/newsletter/remove.php?eEmail=' + email + '</a><br/>' +
        'Nie ma potrzeby zapamietywania go. Będziemy go umieszczać na ' +
        'końcu każdego listu jaki otrzymasz od nas w ramach tej usługi.'
        );
        
      eEmail.dom.value = '';
      }
    else if (r.errCode == -1001)
      {
      csMsgBox
        (
        'info.png', 
        'Adres jest już zarejestrowany',
        'Wprowadzony adres <b>' + email + '</b> został już zarejestrowany ' +
        'w naszej bazie.<br/><br/>' +
        'Z usługi powiadomień można zrezygnować w każdej ' +
        'chwili klikając w poniższy link:<br/>' +
        '<a href="/newsletter/remove.php?' + Ext.urlEncode({ eEmail:  email }) + '">' + 
        'http://www.codeton.pl/newsletter/remove.php?eEmail=' + email + '</a>.'
        );
      }
    else
      {
      csMsgBox
        (
        'error.png', 
        'Adres nie został zarejestrowany',
        r.error
        );
      }
    }
  catch (ex)
    {
    csMsgBox
      (
      'error.png', 
      'Wystąpił błąd podczas rejestracji adresu!', 
      'Podczas rejestracji adresu 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 csOnNewsletterSendFailure(aResponse, aOptions)
  {
  csMsgBox
    (
    'error.png', 
    'Wystąpił błąd komunikacji z serwerem!',
    'Wystąpił błąd komunikacji z serwerem. Prosimy o kontakt pod adresem <a href="mailto:bugs@codeton.pl">bugs@codeton.pl</a>. Przepraszamy za niedogodności.'
    );
  }

function csOnNewsletterSubmit(aEvent)
  {
  aEvent.preventDefault();
  aEvent.stopPropagation();

  eEmail = Ext.select('#frmNewsletter #eNewsletterEmail').item(0);
  if (eEmail.dom.value == '')
    {
    csMsgBox
      (
      'info.png', 
      'Nie podano adresu e-mail',
      'Proszę podać swój adres e-mail. Tylko znając Twój adres będziemy w stanie informować Cię o aktualizacjach naszych produktów.'
      );

    return;
    }

  Ext.Ajax.request(
    {
    url: '/_services/controllers/newsletter.php',
    success: csOnNewsletterSendSuccess,
    failure: csOnNewsletterSendFailure,
    form: 'frmNewsletter'
    });
  }

Ext.onReady(function()
  {
  var frm = Ext.select('#frmNewsletter');
  frm.on('submit', csOnNewsletterSubmit, this);
  });

