$(document).ready(function() {
    // Cleans errors of a uniform form
    function uniform_clean_errors(form) {
        var field_divs = $(form).find(".ctrlHolder").filter(".error");
        field_divs.removeClass("error");
        field_divs.find(".errorField").remove();

        $(form).find("#errorMsg").hide('slow');
    }

    // Adds errors to the form based on AJAX response
    function uniform_callback(data, form) {
        uniform_clean_errors(form);

        // General non_field_errors
        for (key in data.errors) {
            if (key == "__all__") {
                $(form).prepend("<div id='errorMsg'><h3>Atención</h3><ol></ol></div>");

                $.each(val, function(key, error) {
                    $("#errorMsg ol").append("<li>" + error + "</li>");
                });
            };

            var field_div = $(form).find(".ctrlHolder").filter("#div_id_" + key);
            field_div.addClass("error");
            field_div.prepend('<p id="error_1_' + key + '" class="errorField">' + data.errors[key] + '</p>');
        }
    }

    $('#signupForm').submit(function(event) {
        event.preventDefault();
        var form = "#signupForm";

        $.post("/", $(form).serialize(),
            function(data){
                if (data.success) {
                    $('#main').replaceWith("<div id='main'><p id='confirmation'>Gracias por apuntarte, te enviaremos un email cuando estemos listos.</p></div>");
                    $('#main').css('background', '#BB3325');
                    $('#main').css('color', '#FFF');
                    $('#main').css('border', '1px solid #F4F4F4');
                }
                else {
                    uniform_callback(data, form);    
                }
        }, "json");
    });
});

