﻿// Global Variables
var overlayformId = '#overlayform';
var frmAddComment = '#frmAddComment';
var txtBody = '#txtBody';
var txtSubmittedBy = '#txtSubmittedBy';
var hdnStoryId = '#hdnStoryId';
var CloseComment = '#CloseComment';


// block when ajax activity starts
$().ajaxStart(function() {
    $(overlayformId).block({ message: BlockMessage });
});

// unblock when ajax activity stops
$().ajaxStop(function() {
    $(overlayformId).unblock();
});

var _trigger;
$(document).ready(function() {
    // Add Comment Overlay
    $("a[rel='#overlay']").overlay({
        onLoad: function() {
            _trigger = this;
            PrepareCommentForm(_trigger);
        }
    });

    // PrepareCommentForm();
});

// Gets the comment form ready for use
function PrepareCommentForm(trigger) {
    ClearMessage(); // Clear the status message
    var action = SubmitCommentUrl;
    var id = trigger.getTrigger().attr("Id");
    var StoryId = id.substring(id.indexOf("-") + 1);
    $(hdnStoryId).val(StoryId);
    //$(frmAddComment).attr("action", action.replace('-1', StoryId));
    BindAjaxForm(frmAddComment, ValidateCommentForm, overlayformId, AddCommentCallback);
    $(CloseComment).click(function() { trigger.close(); return false; });
}

// Validate the form
function ValidateCommentForm() {
    var isValid = $(frmAddComment).validate(
            {
                rules: {
                    Body: "required",
                    SubmittedBy: "required"
                },
                messages: {
                    Body: "Please enter your comment",
                    SubmittedBy: "Please enter your name"
                }
            }).form();
    return isValid;
}

// Process the Comment ajax callback
function AddCommentCallback(data) {
    BindAjaxForm(frmAddComment, ValidateCommentForm, overlayformId, AddCommentCallback);
    ShowAjaxViewDataMessage(DisplayMessageUrl);
    $(txtBody).val('');
    $(txtSubmittedBy).val('');
    $(CloseComment).click(function() { _trigger.close(); return false; });
}

