/**
 * valuePadrao
 *
 * Seta um valor padrão a um campo
 *
 * @param  object
 * @param  string
 * @return void
 */
function valuePadrao(obj, value){

    // Limpa ou seleciona o campo de busca
    $(obj).focus(function() {
    	if ($(this).val() != value) {
    		$(this).select();
    	} else if ($(this).val() == value) {
    		$(this).val('');
    	}
    });

    // Insere o valor padrão para o campo de busca caso o usuário saia do campo
    $(obj).blur(function() {
    	if ($(this).val() == '') {
    		$(this).val(value);
    	}
    });
}

/**
 * envia_formulario
 *
 * Envia o formulário
 *
 * @param  object
 * @return boolean
 */
function envia_formulario(objForm){

    //Seta as propriedades ajax do "preload"
    $("*").ajaxStart(function(){
        $(this).css("cursor", "wait");
    });
    $("*").ajaxStop(function(){
        $(this).css("cursor", "auto");
    });

    //Envia o formulário via ajax
    $.post(objForm.action, $(objForm).serialize(),
        function(htmlReturn) {
            //Verifica se o retorno foi ok
            if (htmlReturn == "ok") {
                alert("Enviado com sucesso!\nAgradecemos o contato.");
                $(":input:not(:submit)", objForm).val("");
            }
            else
                alert("Ocorreu um erro ao enviar o formulário: "+htmlReturn);
        });

    return false;

}

$(document).ready(function(){

    //Seta os campos do formulário com valor padrão
    var campos = [
            "#email", "#cep_bh", "#cep_home"
        ];
    for(temp in campos)
        valuePadrao(campos[temp], $(campos[temp]).val());

    //Validação do formulário "Fale Conosco"
	$("#form_fale_conosco").validate({
	    submitHandler: function(form) {
            envia_formulario(form);
        },
		messages: {
				txt_nome: {
					required: "O campo Nome é obrigatório."
				},
				txt_email: {
					required: "O campo Email é obrigatório."
				},
				txt_telefone: {
					required: "O campo Telefone é obrigatório."
				},
				txt_cidade: {
					required: "O campo Cidade é obrigatório."
				},
				txt_estado: {
					required: "O campo Estado é obrigatório."
				},
				txt_comentarios: {
					required: "O campo Mensagem é obrigatório."
				}

		}
	});

    //Validação do formulário "Trabalhe Conosco"
	$("#form_trabalhe_conosco").validate({
	    submitHandler: function(form) {
            envia_formulario(form);
        },
		messages: {
				txt_nome: {
					required: "O campo Nome é obrigatório."
				},
				txt_idade: {
					required: "O campo Idade é obrigatório."
				},
				txt_sexo: {
					required: "O campo Sexo é obrigatório."
				},
				txt_email: {
					required: "O campo E-mail é obrigatório.",
					email: "E-mail inválido."
				},
				txt_cidade: {
					required: "O campo Cidade é obrigatório."
				},
				txt_estado: {
					required: "O campo Estado é obrigatório."
				},
				txt_tel_resident: {
					required: "O campo Telefone Residencial é obrigatório."
				},
				txt_estado_civil: {
					required: "O campo Estado Civil é obrigatório."
				},
				txt_escolaridade: {
					required: "O campo Escolaridade é obrigatório."
				},
				txt_curso: {
					required: "O campo Curso é obrigatório."
				},
				txt_situacao: {
					required: "O campo Situação é obrigatório."
				}

		}
	});
	
	//Validação do formulário de Newslleter
	$("#form_news").validate({
	    submitHandler: function(form) {
            envia_formulario(form);
        },
		messages: {
				email: {
					required: "O campo E-mail é obrigatório.",
					email: "E-mail inválido."
				}
		}
	});

});
