$(document).ready(function(){

    //form de contato
    function clean_fields(){
        $("#id_name").val('');
        $("#id_email").val('');
        $("#id_message").val('');
        $("#id_subject").val('');
    }

    function show_message_success(){
        alert("Dados enviados com sucesso.");
        //$("#sucesso").html("Dados enviados com sucesso.");
        //setTimeout(function() {
        //    $('#sucesso').html("");
        //}, 5000);
    }
    $("#bt-contact").click(function(){
        $(".erro").remove();
        url = location.pathname;
        $.ajax({
            type:'POST',
            url:url,
            dataType:'json',
            data:$("#form-contact").serialize(),
            success: function(data){
                if (data['success']){
                    clean_fields();
                    show_message_success();
                }else{
                    dados = data['data'];
                    if (dados['subject']){
                        $("#id_subject").parent().append("<span class='erro'>"+dados['subject']+"</span>");
                    }
                    if (dados['message']){
                        $("#id_message").parent().append("<span class='erro'>"+dados['message']+"</span>");
                    }
                    if (dados['name']){
                        $("#id_name").parent().append("<span class='erro'>"+dados['name']+"</span>");
                    }
                    if (dados['email']){
                        $("#id_email").parent().append("<span class='erro'>"+dados['email']+"</span>");
                    }
                }
            },
            error: function(data,data2,data3){
                console.log(data);
                console.log(data2);
                console.log(data3);
            }
        });
    });


    //form de pesquisa de satisfacao

    /*
    function clean_fields_research(){
        $("#research-form #id_company").val('');
        $("#research-form #id_cnpj_cpf").val('');
        $("#research-form #id_name").val('');
        $("#research-form #id_phone").val('');
        $("#research-form #id_email").val('');
        $("#research-form #id_city_state").val('');
        $("#research-form #id_message").val('');
    }

    function show_message_success_research(){
        alert("Dados enviados com sucesso.");
        $('#fade').trigger('click');
        //$("#sucesso").html("Dados enviados com sucesso.");
        //setTimeout(function() {
        //    $('#sucesso').html("");
        //}, 5000);
    }
    $("#bt-comente").click(function(){
        $(".erro-comente").remove();
        $.ajax({
            type:'POST',
            url:'/pesquisa',
            dataType:'json',
            data:$("#research-form").serialize(),
            success: function(data){
                if (data['success']){
                    clean_fields_research();
                    show_message_success_research();
                }else{
                    dados = data['data'];
                    if (dados['company']){
                        $("#research-form #id_company").parent().append("<span class='erro-comente'> "+dados['company']+"</span>");
                    }
                    if (dados['cnpj_cpf']){
                        $("#research-form #id_cnpj_cpf").parent().append("<span class='erro-comente'> "+dados['cnpj_cpf']+"</span>");
                    }
                    if (dados['name']){
                        $("#research-form #id_name").parent().append("<span class='erro-comente'> "+dados['name']+"</span>");
                    }
                    if (dados['phone']){
                        $("#research-form #id_phone").parent().append("<span class='erro-comente'> "+dados['phone']+"</span>");
                    }
                    if (dados['email']){
                        $("#research-form #id_email").parent().append("<span class='erro-comente'> "+dados['email']+"</span>");
                    }
                    if (dados['city_state']){
                        $("#research-form #id_city_state").parent().append("<span class='erro-comente'> "+dados['city_state']+"</span>");
                    }
                    if (dados['message']){
                        $("#research-form #id_message").parent().append("<span class='erro-comente'> "+dados['message']+"</span>");
                    }
                }
            },
            error: function(data,data2,data3){
                console.log(data);
                console.log(data2);
                console.log(data3);
            }
        });
    });

    */
    //form de orçamento

    function clean_fields_(form){
        $("#"+form+" :input[type=text,textarea]").each(function (){
            $(this).val("");
        });
    }

    function show_message_(){
        alert("Dados enviados com sucesso.");
        $('#fade').trigger('click');
        //$("#sucesso").html("Dados enviados com sucesso.");
        //setTimeout(function() {
        //    $('#sucesso').html("");
        //}, 5000);
    }
    $(".bt-forms").click(function(){
        $(".erro-comente").remove();
        type_form = $(this).attr("data-type");
        url = "/"+type_form
        form = $(this).parent().parent().attr("id");
        $.ajax({
            type:'POST',
            url:url,
            dataType:'json',
            data:$("#"+form).serialize(),
            success: function(data){
                if (data['success']){
                    show_message_();
                    clean_fields_(form);
                }else{
                    dados = data['data'];
                    for (value in dados){
                        $("#"+form+" #id_"+value.toString()).parent().append("<span class='erro-comente'> "+dados[value]+"</span>");
                    }
                }
            },
            error: function(data,data2,data3){
                console.log(data);
                console.log(data2);
                console.log(data3);
            }
        });
    });


});

$(document).ajaxSend(function(event, xhr, settings) {
    function getCookie(name) {
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
    function sameOrigin(url) {
        // url could be relative or scheme relative or absolute
        var host = document.location.host; // host + port
        var protocol = document.location.protocol;
        var sr_origin = '//' + host;
        var origin = protocol + sr_origin;
        // Allow absolute or scheme relative URLs to same origin
        return (url == origin || url.slice(0, origin.length + 1) == origin + '/') ||
            (url == sr_origin || url.slice(0, sr_origin.length + 1) == sr_origin + '/') ||
            // or any other URL that isn't scheme relative or absolute i.e relative.
            !(/^(\/\/|http:|https:).*/.test(url));
    }
    function safeMethod(method) {
        return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }

    if (!safeMethod(settings.type) && sameOrigin(settings.url)) {
        xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
    }
});


