/* Valida o envio de cartão.
----------------------------------------------------------------------------
*/

var nomeDoDestinatario = new LiveValidation('receiver_name', { validMessage: 'Obrigado!', wait: 500, onlyOnSubmit: true });
nomeDoDestinatario.add(Validate.Presence, { failureMessage: 'Digite o nome do destinatário.' });

var emailDoDestinatario = new LiveValidation('receiver_email', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
emailDoDestinatario.add(Validate.Presence, { failureMessage: 'Digite o e-mail do destinatário.' });

var nomeDoRemetente = new LiveValidation('sender_name', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
nomeDoRemetente.add(Validate.Presence, { failureMessage: 'Digite seu nome.' });

var mensagem = new LiveValidation('mensagem', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
mensagem.add(Validate.Presence, { failureMessage: 'Escreva uma mensagem.' });

/* Se o usuário estiver logado, não precisa validar o e-mail. */
if (document.getElementById('sender_email') != null) {
  var emailDoRemetente = new LiveValidation('sender_email', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
  emailDoRemetente.add(Validate.Presence, { failureMessage: 'Digite seu e-mail.' });
  emailDoRemetente.add(Validate.Email, { failureMessage: 'Confira se o e-mail foi digitado corretamente.' });
}

/* Se o usuário estiver logado, não precisa validar a senha. */
if (document.getElementById('sender_password') != null) {
  var senha = new LiveValidation('sender_password', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
  senha.add(Validate.Presence, { failureMessage: 'Se você é VIP, digite sua senha.' });
}

/* Se o cartão é VIP, não precisa validar a aceitação dos termos. */
if (document.getElementById('optin_envio') != null) {
  var termos = new LiveValidation('optin_envio', { validMessage: 'Obrigado!', wait: 500, onlyOnBlur: true, onlyOnSubmit: true });
  termos.add(Validate.Acceptance, { failureMessage: 'Para enviar um cartão você deve aceitar os Termos do Serviço.' });
}
