/*
 * Script com funcionalidades especificas para o site BRUNOgn.com.
 *
 * Este script utiliza funcionalidades do script "util.js", e algumas configura-
 * coes globais do script "config.js".
 *
 *
 * Copyright (c) 2006-2008 Bruno Guerchon Nunes
 *    Rio de Janeiro, RJ - Brasil.
 *    Todos os direitos reservados.
 *
 * Autor:
 *    Bruno Guerchon Nunes (bg_nunes@yahoo.com.br)
 *
 * Datas:
 *    01/11/2006 Implementacao inicial.
 *    06/04/2008 Antes era implementada uma funcao em um arquivo JS diferente.
 *                Agora as funcoes gerais foram agrupadas em um arquivo so.
 *    02/11/2008 Implementacao de novas funcionalidades.
 *    15/03/2009 Compartimentalizando funcionalidades. Funcoes genericas sao se-
 *                paradas em outro arquivo, agrupadas por funcionalidade.
 *
 * Desde  1.00 01 Nov 2006
 * Versao 3.10 15 Mar 2009
 */

// IMPORT: config.js
// IMPORT: util.js


/* Objeto XMLHttpObject para realizar transicoes AJAX. */
var httpObject = null;


// FUNCOES PARA O FORMULARIO DE CONTATO

/**
 * Recupera elementos do formulario de contato.
 *
 * Recupera e salva em variaveis globais, referencias para os elementos do
 * formulario de contato.
 */
function getElemFormContato() {
   // campo de texto do nome do visitante
   nome = $(TXT_NOME);
   // campo de texto do e-mail do visitante
   email = $(TXT_EMAIL);
   // campo de texto do assunto do e-mail
   assunto = $(TXT_ASSUNTO);
   // campo de texto da mensagem do e-mail
   mensagem = $(TXTA_MENSAGEM);
}

/**
 * Verifica o valor dos campos do formulario de contato.
 *
 * Realiza uma verificacao nos campos do formulario de contato, para que eles
 * estejam devidamente preenchidos antes que as informacoes possam ser enviadas.
 * Se algum campo possuir um valor invalido, este eh marcado como um alerta de
 * preenchimento obrigatorio.
 * 
 * @return True, se o valor dos campos for valido. False, se o valor dos campos
 *          for invalido.
 */
function validarFormContato() {
   getElemFormContato();
   // valida o campo "Nome"
   if (!campoTextoValido(nome)) { return (false); }
   // valida o campo "E-mail"
   if (campoTextoValido(email)) {
      if (email.value.indexOf("@") < 0) {
         marcarCampoInvalido(email, true);
         return (false);
      }
   } else {
      return (false);
   }
   // valida o campo "Assunto"
   if (!campoTextoValido(assunto)) { return (false); }
   // valida o campo "Mensagem"
   if (!campoTextoValido(mensagem)) { return (false); }
}

/**
 * Limpa os campos do formulario de contato.
 *
 * Limpa os campos do formulario de contato, apagando os valores inseridos
 * nestes.
 */
function limparFormContato() {
   getElemFormContato();
   limparCampoTexto(nome);
   limparCampoTexto(email);
   limparCampoTexto(assunto);
   limparCampoTexto(mensagem);
   return (false);
}


// FUNCOES PARA O FORMULARIO DE INDICACAO

/**
 * Recupera elementos do formulario de indicacao.
 *
 * Recupera e salva em variaveis globais, referencias para os elementos do
 * formulario de indicacao.
 */
function getElemFormIndicacao() {
   // campo de texto do nome do visitante
   seuNome = $(TXT_SEU_NOME);
   // campo de texto do e-mail do amigo ao qual o site sera indicado
   emailAmigo = $(TXT_EMAIL_AMIGO);
}

/**
 * Verifica o valor dos campos do formulario de indicacao.
 *
 * Realiza uma verificacao nos campos do formulario de indicacao, para que eles
 * estejam devidamente preenchidos antes que as informacoes possam ser enviadas.
 * Se algum campo possuir um valor invalido, este eh marcado como um alerta de
 * preenchimento obrigatorio.
 * 
 * @return True, se o valor dos campos for valido. False, se o valor dos campos
 *          for invalido.
 */
function validarFormIndicacao() {
   getElemFormIndicacao();
   // valida o campo "Seu nome"
   if (!campoTextoValido(seuNome)) { return (false); }
   // valida o campo "E-mail do amigo"
   if (campoTextoValido(emailAmigo)) {
      if (emailAmigo.value.indexOf("@") < 0) {
         marcarCampoInvalido(emailAmigo, true);
         return (false);
      }
   } else {
      return (false);
   }
}
