//Definicao dos tipos de validacao dos campos
var formularios = {'formFaleConosco':{
					'formFaleConoscoNome'       : {'tipo':'tamanho','params':'3,80','mensagem':'Indique o seu nome'},
					'formFaleConoscoEmail'      : {'tipo':'email','mensagem':'Indique um email válido'},
					'formFaleConoscoDdd'        : {'tipo':'ddd','idErro':'erro_formFaleConoscoDdd','mensagem':'Indique os dois dígitos do DDD do seu telefone'},
					'formFaleConoscoTelefone1'  : {'tipo':'numerico','idErro':'erro_formFaleConoscoTelefone','mensagem':'Indique seu telefone digitando todos os números, sem espaços nem pontuações '},
					'formFaleConoscoTelefone2'  : {'tipo':'numerico','idErro':'erro_formFaleConoscoTelefone','mensagem':'Indique seu telefone digitando todos os números, sem espaços nem pontuações '},
					'formFaleConoscoDddCel'     : {'tipo':'ddd','idErro':'erro_formFaleConoscoCel','mensagem':'Indique os dois dígitos do DDD do seu celular','naoObrigatorio':true},
					'formFaleConoscoCel1'       : {'tipo':'numerico','idErro':'erro_formFaleConoscoCel','mensagem':'Indique seu celular digitando todos os números, sem espaços nem pontuações.','naoObrigatorio':true},
					'formFaleConoscoCel2'       : {'tipo':'numerico','idErro':'erro_formFaleConoscoCel','mensagem':'Indique seu celular digitando todos os números, sem espaços nem pontuações.','naoObrigatorio':true},
					'formFaleConoscoAssunto'    : {'tipo':'obrigatorio','mensagem':'O campo Assunto é obrigatório'},
					'formFaleConoscoMensagem'   : {'tipo':'tamanho','params':'3,255','mensagem':'Indique a sua mensagem'}
					}};

// Iniciando os divs e efeitos utilizados nas funcoes
// mootools
var divProcessando = $('processando');
var divForm        = $('divForm');
var divConfirmacao = $('confirmacao'); 
var fx             = new Fx.Styles(divForm, {duration:1000, wait:false});
var fx2			   = new Fx.Styles(divConfirmacao, {duration:1000, wait:false});	 

function alterar()
{
	$('confirmacao').style.display = 'none';
	divForm.style.display = 'block';
	divForm.setOpacity(10);
	window.scroll(0,0);
	limparErros();
}

function confirmar()
{
	divForm.setOpacity(10);
	divConfirmacao.style.display = 'none';
	divForm.style.display = '';
	$('formFaleConosco').action = url + 'faleconosco/index/enviar';
	window.scroll(0,0);

}

function processaErros(objErro)
{
	if(objErro.nome)
	{
		$('erro_formFaleConoscoNome').innerHTML = objErro.nome.msgErro;
		$('erro_formFaleConoscoNome').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoNome').innerHTML = '';
		$('erro_formFaleConoscoNome').setStyle('display','none');
	}
	
	if(objErro.email)
	{
		$('erro_formFaleConoscoEmail').innerHTML = objErro.email.msgErro;
		$('erro_formFaleConoscoEmail').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoEmail').innerHTML = '';
		$('erro_formFaleConoscoEmail').setStyle('display','none');
	}
	
	if(objErro.telefone)
	{
		$('erro_formFaleConoscoTelefone').innerHTML = objErro.telefone.msgErro;
		$('erro_formFaleConoscoTelefone').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoTelefone').innerHTML = '';
		$('erro_formFaleConoscoTelefone').setStyle('display','none');
	}

	if(objErro.celular)
	{
		$('erro_formFaleConoscoCel').innerHTML = objErro.celular.msgErro;
		$('erro_formFaleConoscoCel').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoCel').innerHTML = '';
		$('erro_formFaleConoscoCel').setStyle('display','none');
	}


	if(objErro.assunto)
	{
		$('erro_formFaleConoscoAssunto').innerHTML = objErro.assunto.msgErro;
		$('erro_formFaleConoscoAssunto').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoAssunto').innerHTML = '';
		$('erro_formFaleConoscoAssunto').setStyle('display','none');
	}

	if(objErro.mensagem)
	{
		$('erro_formFaleConoscoMensagem').innerHTML = objErro.mensagem.msgErro;
		$('erro_formFaleConoscoMensagem').setStyle('display','block');
	}
	else
	{
		$('erro_formFaleConoscoMensagem').innerHTML = '';
		$('erro_formFaleConoscoMensagem').setStyle('display','none');
	}

}

//Funcao que preocessa a resposta
function processa(req) {
	//Recebe objeto resposta
	//console.log(req);
	var resp = eval(req);
    
	if(resp)
	{
		//Se o objeto for erro não "apaga" o formulário e mostra a reposta de erro
		if(resp[0].exception)
		{
			fx.stop();
			divForm.setOpacity(1);
			$('erroProcessamento').innerHTML = resp[0].exception;		
		}

		//Se o objeto for mensagem "apaga" o formulario e mostra a mensagem
		if(resp[0].mensagem)
		{
			fx.stop();
			fx2.stop();
			divForm.style.display        = 'none';
			divConfirmacao.style.display = 'none';
			$('mensagem').innerHTML      = '<br />' + '<center>'+ resp[0].mensagem;
		}

		if(resp[0].erro)
		{
			fx.stop();
			divForm.setOpacity(1);
			objErro = resp[0].erro;
			processaErros(objErro);
			window.scroll(0,0);
		}

		if(resp[0].confirmar)
		{
			fx.stop();
			divForm.style.display = 'none';
			$('confirmacao').style.display = 'block';		
			$('conf_faleConoscoNome').innerHTML  = resp[0].confirmar.nome;
			$('conf_faleConoscoEmail').innerHTML = resp[0].confirmar.email;
			$('conf_faleConoscoTelefone').innerHTML = resp[0].confirmar.telefone;
			if(resp[0].confirmar.celular != undefined)
			{
				$('conf_faleConoscoCelular').innerHTML = resp[0].confirmar.celular;
			}	
			$('conf_faleConoscoMensagem').innerHTML = '<br/>' + nl2br(resp[0].confirmar.mensagem);
			$('conf_faleConoscoAssunto').innerHTML = resp[0].confirmar.assunto;
			$('faleConoscoConfirmacaoForm').formFaleConoscoHash.value = resp[0].confirmar.hash;
		}
	}	
}

//Funcao inserida no envio do formulario
$('faleConoscoConfirmacaoForm').addEvent('submit', function(e) {
	new Event(e).stop();
	
	//Liga o aguarde
	divProcessando.appendText('Carregando');
	fx2.start({
		'opacity': [1, 0.2]
	});

	this.send({onComplete: function(){
		processa(this.response.text);
		}	
	});

	//Desliga o aguarde
	divProcessando.empty();	
});

//Funcao inserida no envio do formulario
$('formFaleConosco').addEvent('submit', function(e) {
	new Event(e).stop();

	if($('formFaleConosco').formFaleConoscoDddCel.value == 'DDD')
	{
		$('formFaleConosco').formFaleConoscoDddCel.value = '';
	}	
	
	//Liga o aguarde
	divProcessando.appendText('Carregando');
	fx.start({
		'opacity': [1, 0.2]
	});
	
	//Chama o validator
	/**
	if(!validaForm('formFaleConosco'))
	{
		fx.stop();
		divForm.setOpacity(1);
		divProcessando.empty();	
		window.scroll(0,150);
		return false;
	}
	**/
	
	this.send({onComplete: function(){
		processa(this.response.text);
		}	
	});

	//Desliga o aguarde
	divProcessando.empty();	
});


function limparErros()
{
	try
	{
		document.getElementById('erro_formFaleConoscoNome').innerHTML = '';
		document.getElementById('erro_formFaleConoscoEmail').innerHTML = '';
		document.getElementById('erro_formFaleConoscoTelefone').innerHTML = '';
		document.getElementById('erro_formFaleConoscoCel').innerHTML = '';
		document.getElementById('erro_formFaleConoscoAssunto').innerHTML = '';
		document.getElementById('erro_formFaleConoscoMensagem').innerHTML = '';
	}
	catch(e)
	{
		alert('Erro Interno: ' + e);
	}	
}
