/**
 * This javascript file handles the AJAX commenting functionality.
 */

function show_blog_message(message_text) {
    $("#blog_message").fadeOut(fade_out_time, function(){
       $("#blog_message").css("background-color", message_box_color);
       $("#blog_message").html(message_text);
       $("#blog_message").fadeIn(fade_in_time).fadeTo(message_display_time, 1).fadeOut(fade_out_time);
   });
}

function show_blog_error(error_text) {
    $("#blog_message").fadeOut(fade_out_time, function(){
       $("#blog_message").css("background-color", error_box_color);
       $("#blog_message").html(error_text);
       $("#blog_message").fadeIn(fade_in_time);
   });
}

$(document).ready(function() {
    $("#blog_new_comment_form").submit(function() {
        $.post("/blog/comment/", 
               { entry_id: $("#blog_entry_id").val(), 
                 name: $("#blog_comment_name").val(), 
                 body: $("#blog_comment_body").val(), 
               },
               function(response) {
                   if (response.status == 0) {
                       show_blog_message(response.data);
                       $(".with-instructions").attr("value", function() {
                            $(this).css("color", instruction_color);
                            return $(this).attr("title");
                       });
                       $("#blog_existing_comments").append(
                                                        response.new_comment)
                       $(".blog_comment:last").css("display", "none");
                       $(".blog_comment:last").fadeIn(1500);
                   } else {
                       show_blog_error(response.data);
                       $(".with-instructions").attr("value", function() {
                            if ($(this).val() == '') {
                                $(this).css("color", instruction_color);
                                return $(this).attr("title");
                            }
                       });
                   }
        }, "json");
        
        return false;
    });
});
