$(document).ready(function(){

    $("#btSubmit").click(function(event) {
    	
    // Crio uma variável chamada $forms que pega o valor da tag form
    $forms = $('#commentForm');

    /**
    Crio a variável $button
    attr(): set a propriedade de um atributo, nesse exemplo foi desativado o botão com a tag button
    */
    var $button = $('#btSubmit').attr('disabled',true);
    
	var name = $('#cname').val();
	var email = $('#cemail').val();
	var message = $('#ccomment').val();
	var error = 0;
	
	$('#messageSucess').hide('slow');
	
	//testo se o usuario incluiu o nome
	if(name == '' || name == null || typeof(name) == 'undefined'){
		error = 1;
		$('#nameMsg').show('slow');
	}else{
		$('#nameMsg').hide('slow');
	}
		
	//testo se o usuario incluiu o email
	if(email == '' || email == null || typeof(email) == 'undefined'){
		error = 1;
		$('#emailInvalidMsg').hide('slow');
		$('#emailMsg').show('slow');
	}else{
		$('#emailMsg').hide('slow');
		//testo o formato do email
		var result = validarEmail(email);
		if(result == false){
			error = 1;
			$('#emailInvalidMsg').show('slow');
		}else{
			$('#emailInvalidMsg').hide('slow');
		}
	}
	
	//testo se o usuario incluiu alguma mensagem
	if(message == '' || message == null || typeof(message) == 'undefined'){
		error = 1;
		$('#messageSucess').hide('slow');
		$('#sendEmailMsg').hide('slow');
		$('#messageMsg').show('slow');
	}else{
		$('#messageMsg').hide('slow');
		$('#sendEmailMsg').hide('slow');
	}	
	
	if(error > 0){
		$('#messageError').show('slow');
		$button.attr('disabled',false);
	}else{
		
		$('#messageError').hide('slow');

        /**
       Criada a variável params
        serialize(): pega os dados inseridos no formulário
        */
        var params = $forms.serialize();

        var self = this;
        $.ajax({

            // Usando metodo Post
            type: 'POST',

            // this.action pega o script para onde vai ser enviado os dados
            url: 'enviaEmail.php',

            // os dados que pegamos com a função serialize()
            data: params,

            // Antes de enviar
            beforeSend: function(){
                // mostro a div loading
                $('#loading').show();

                // html(): equivalente ao innerHTML
                $('#loading').html("Carregando...");
            },
            success: function(txt){
                // Ativo o botão usando a função attr()
                $button.attr('disabled',false);

                // Escrevo a mensagem
                $('#loading').hide();
				$('#messageSucess').show('slow');

                // Limpo o formulário
                $forms.reset();
            },

            // Se acontecer algum erro é executada essa função
            error: function(txt){
				$('#messageMsg').show('slow');
				$('#sendEmailMsg').show('slow');
            }
        })
        return false;
    }
    
	});

});

function validarEmail( email ){
    var str = email;
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    
    if(filter.test(str))
      valido = true;
    else{
      valido = false;
    }
    
    return valido;
}
