// Contador de erros no formulário
var erros = 0;

// Funções para validação
function verificaCampo(valor, campo, tamanho, mensagem, idMensagem, nomeSpan){
	$('#processo').hide();
	if($(campo).val() == valor || $(campo).val().length < tamanho){
		$("#erros").show();
		$("#falha").show();
		$("#"+idMensagem).remove();
		$(nomeSpan).addClass('colar');
		$(campo).after('<span class="feedback" id="'+idMensagem+'">'+mensagem+'</span>');
		erros++;
	}else{
		$("#"+idMensagem).remove();
		$(nomeSpan).removeClass('colar');
		//$(campo).removeClass('erroForm');
	}
}

//Verifica se a matricula começa com 0 ou 1 e exibe algo na tela
function teste_matricula(matricula) {

	// Variaveis das mensagens que serão exibidas
	var msg_lateral = '"Contato para uso de estudantes da Faculdade Baiana de Ci&ecirc;ncias"';
			
	// Expresão regular que verifica o primeiro numero da matricula
	var expressao_regular = /^1\d+$/;

		// Depois de corrigida a matricula retira o aviso
	if ($('#contato_matricula')){
		$('#erro_matricula').remove();
	}
	// Verifica se começa com 1 
	if (matricula.length < 12){
		if (expressao_regular.test(matricula)){
			if (matricula.length > 5){
				// Exibe a mensagem lateral
				$('#contato_matricula').after('<span class="feedback" id="erro_matricula">'+msg_lateral+'</span>');
			}
		}
	}
};

function validarEmail() {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = $('#contato_email').val();
	if(reg.test(address) == false) {
		return true;
	}else return false;
}

function validarTelefone () {
				
	// Expresão regular que verifica o primeiro numero da matricula
	var expressao_regular = /^\s*(\(0?\d{2}\)|0?\d{2})?\s*\d{4}([\-.]|\s*)?\d{4}\s*$/;

	var address = $('#contato_telefone').val();

	if(expressao_regular.test(address) == false) {
		return true;
	}else return false;
};

// Funções para o Ajax
function enviarContato(){
	
	var valores = $('#contato').serialize();
	$('#falha').after('<p id="processo" class="sucesso"><img src="wp-content/themes/fabac-20101/images/ajax-loader.gif" title="Aguarde processando..." /> Aguarde processando... </p>');
	$.post("wp-content/themes/fabac-20101/form_contato.php", valores, 
		function(data){
			$('#erros').hide();
			$('#processo').hide();
			if(data == 1){
				$("#falha").show();
				$('#erros').show().html('<img src="wp-content/themes/fabac-20101/images/error.png" title="Erro!" />Erro ao enviar o email.');
				$('#processo').remove();
			}else{
				//$("#falha").show();
				$('#processo').addClass('sucesso').empty().show().html('Email enviado com sucesso!');
				//$('#processo').remove();
			}
		}
	);
}

// Início da análise
$(document).ready(function(){
	$("#falha").hide();
	$('#contato').submit(function(){
		$("#falha").hide();
		$('#erros').removeClass('sucesso').empty();
		
		// Validação do Email
		if(validarEmail()){
			$('#erroEmail').remove();
			$('#contato_email')/*.addClass('erroForm')*/.after('<span class="feedback" id="erroEmail">Campo Obrigat&oacute;rio</span>');
			$("#email").addClass('colar');
			erros++;
		}else{
			$('#erroEmail').remove();
			$("#email").removeClass('colar');
			//$('#contato_email').removeClass('erroForm');
		}
		
		// Validação de telefone
		if(validarTelefone()){
			$('#erroTelefone').remove();
			$('#contato_telefone').after('<span class="feedback" id="erroTelefone">Telefone Inv&aacute;lido.</span>');
			$("#telefone").addClass('colar');
			erros++;
		}else{
			$('#erroTelefone').remove();
			$("#telefone").removeClass('colar');
		}
		
		verificaCampo('', '#contato_nome', 3, "Campo Obrigat&oacute;rio", "erroNome", "#nome");
		verificaCampo('', '#contato_matricula', 6, "Campo Obrigat&oacute;rio", "erroMatricula", "#matricula");
		//verificaCampo('selecione', '#contato_unidade', 3, "Campo Obrigat&oacute;rio", "erroUnidade", "#unidade");
		verificaCampo('', '#contato_assunto', 3, "Campo Obrigat&oacute;rio", "erroAssunto", "#assunto");
		verificaCampo('', '#contato_mensagem', 3, "Campo Obrigat&oacute;rio", "erroMensagem", "#mensagem");
		
		if(erros >= 1){
			$('#erros').empty().append("H&aacute; "+ erros + " campos obrigat&oacute;rios no formul&aacute;rio!");
			erros = 0;
			return false;
		}else{
			//return true;
			enviarContato();
			return false;
		}
		
	});

});
