var bxNewsletter =
{
	/**
	 * Inicia a configuração da tela.
	 */
	init: function()
	{
		$('#btn-enviar-news').live('click', function()
		{
			bxNewsletter.submit(nome, email);
		});
	},
	
	/**
	 * Intercepta o submit e redireciona para esta classe.
	 */
	submit: function()
	{
		var nome  = $('#fm-newsletter-nome').val();
		var email = $('#fm-newsletter-email').val();
		bxNewsletter.cadastrar(nome, email);
		return false;
	},
	
	/**
	 * Cadastra um cliente na newsletter.
	 * 
	 * @param string $nome  Nome do cliente.
	 * @param string $email E-mail do cliente.
	 */
	cadastrar: function(nome, email)
	{
		var flag = true;
		var mesg = 'Atenção:';
		
		if(nome == 'Nome...' || nome == '') {
			mesg = mesg + '\n - Informe seu nome.';
			flag = false;
		}
		
		if(email == 'E-mail...' || email == '') {
			mesg = mesg + '\n - Informe seu E-mail.';
			flag = false;
		}
		
		if(flag) {
			bxNewsletter._cadastrar(nome, email);
		} else {
			alert(mesg);
			$('#fm-newsletter-nome').focus();
		}
	},
	
	/**
	 * Função de cadastro auxiliar.
	 * 
	 * @param string $nome  Nome do cliente.
	 * @param string $email E-mail do cliente.
	 */
	_cadastrar: function(nome, email)
	{
		$.ajax({
			type: 'post',
			url : '/newsletter/cadastrar',
			data: 'nome=' + nome + '&email=' + email,
			dataType: 'json',
			beforeSend: function() {
				TS.startLoader('dv-fm-newsletter', 'sp-fm-newsletter', '/img/loader-150.gif');
			},
			success: function(rs) {
				if(rs.codigo == '0') {
					bxNewsletter.sucesso(rs.descricao);
				} else {
					bxNewsletter.falha(rs.descricao);
				}
				TS.stopLoader('dv-fm-newsletter', 'sp-fm-newsletter');
			},
			error: function(rs) {
				TS.stopLoader('dv-fm-newsletter', 'sp-fm-newsletter');
				bxNewsletter.falha(rs.descricao);
			}
		});
	},
	
	/**
	 * Informa o sucesso no cadastro.
	 * @param string $msg Mensagem
	 */
	sucesso: function(msg)
	{
		$.get('/newsletter/sucesso', '', function(box) {
			html = $('#dv-fm-newsletter').html();
			$('#dv-fm-newsletter').html(box);
		});
	},
	
	/**
	 * Informa a falha no cadastro.
	 * @param string $msg Mensagem
	 */
	falha: function(msg)
	{
		$.get('/newsletter/falha', 'mensagem=' + msg, function(box) {
			html = $('#dv-fm-newsletter').html();
			$('#dv-fm-newsletter').html(box);
		});
	},
	
	/**
	 * Restaura o formulário no DIV.
	 */
	voltar: function()
	{
		$('#dv-fm-newsletter').html(html);
		TS.frmFoco('fm-newsletter-nome', 'Nome...');
		TS.frmFoco('fm-newsletter-email', 'E-mail...');
		$('#fm-newsletter-nome').focus();
	}
}

var html = null;
$(document).ready(function() {
	bxNewsletter.init();
});
