
function show_modal_form() {
    $("#reply_comment").modal(
        {opacity:80,
            overlayCss: {backgroundColor:"#fff"}}
    );
    $('#reply_form').ajaxForm(
        {beforeSubmit: validate_reply,
            success: function() {reloadComments(''); $.modal.close()}
    });
}

function vote_comment(link) {
    var vote_url = link.href;
    $.post(vote_url, {}, function(resp){
                            var score = '(' + resp.score.score + ')';
                            $(link).next().text(score);
                         }, "json");
    return false;
}

function delete_comment(comment_id) {
    if (confirm("Are you sure you want to delete this comment?")) {
        var form_id = "#delete_form_" + comment_id;
        var delete_form = $(form_id);
        delete_form.submit(function() {
                            $(this).ajaxSubmit(function(resp) {reloadComments('')});
                            return false;
                        });
        delete_form.trigger('submit');
    }
    return false;
}

function close_modal() {
    $.modal.close();
}

function validate_post(formData, jqForm, options) {
    return validate(formData, jqForm, "#comment_form", "#comment_form_error", options);
}

function validate_reply(formData, jqForm, options) {
    return validate(formData, jqForm, "#reply_form", "#reply_form_error", options);
}

function validate(formData, jqForm, form_id, id_error, options) {
    var validates = true;
    $(id_error).hide();
    $('#ajax_errors').empty();
    for (var i=0; i < formData.length; i++) {
        var field_selector = form_id + " #id_" + formData[i].name;
        var div = $(field_selector).parent().parent();
        div.removeClass('error');
        if (!formData[i].value) {
            $(id_error).show();
            validates = false;
            div.addClass('error');
        }
    }
    return validates;
}

$(document).ready(function() {
    $('#comment_form').ajaxForm({
        resetForm: false,
        beforeSubmit: validate_post,
        success: function(resp) {
            var i=0;
            for( i in resp.errors ){
                $('#ajax_errors').append( '<strong class="error-notification">'+resp.errors[i]+'</strong>' );
            }
            if( i == 0 ){
                reloadComments('');
                $("#comment-form-inputs").load('/comment-form/');
                $("#notifications").html('<p>Thanks for your comment.</p>');
                window.location.hash = "notifications";//Scroll to message
            }
        }
    });

    $("#get-new-captcha").live('click', function(e) {
        e.preventDefault();
        $('span.textarea-holder.captcha').load('/captcha/field/');
    });


    //<span class="textarea-holder captcha">
})

