﻿$(document).ready(function () {

  $('#CommentForm input:submit').live('click', function (evt) {
    evt.preventDefault();
    var url = "/reactie/action/ajaxPost";
    //captcha info
    var challenge = Recaptcha.get_challenge();
    var response = Recaptcha.get_response();

    var params = { objectType: $("#CommentForm .objectType").val(), objectId: $("#CommentForm .objectId").val(), objectSubType: $("#CommentForm .objectSubType").val(), comment: $("#TextComment").val(), unknownUserName: $("#CommentForm #UnknownUserName").val(), unknownUserEmail: $("#CommentForm #Mail").val(), challenge: challenge, response: response };
    AjaxForm.validate(url, params, $("#CommentForm .validationMessagesBox"), function (data) {
      var reactions = AjaxForm.getElement(data, "Comments");
      if (reactions == null) {
        alert("Er is iets misgegaan.");
      }
      else {
        $("#CommentForm form").clearForm();
        Animator.replaceElement($("#CommentsBox"), reactions, $("#Comments"), function () {
          $("#CommentsBox .new").each(function () {
            Animator.highlightElement($(this));
          });
        });
      }
    });
  });

  $("#Comments .delete").live("click", function (evt) {
    evt.preventDefault();
    if (!confirm("Weet u zeker dat u deze reactie wilt verwijderen? \nDeze actie kan niet worden teruggedraaid!")) {
      return;
    }
    var el = $(this);
    var id = el.closest('dt').find('.id').val();
    var url = "/reactie/action/delete";
    $.post(url, { id: id }, function (data) { deleteReactionHtml(el) });
  });

  $('#adminReactions .isOkeAction').live('click', function (evt) {
    var el = $(this);
    var id = el.next().val();

    var url = "/reactie/action/setviewed";
    $.post(url, { id: id }, function (data) {
      el.closest("tr").attr("class", "state1");
      el.hide();
      el.closest("tr").find(".notOkeAction").show();
    });
  });

  $('#adminReactions .notOkeAction').live('click', function (evt) {
    var el = $(this);
    var id = el.next().val();

    var url = "/reactie/action/delete";
    $.post(url, { id: id }, function (data) {
      el.closest("tr").attr("class", "state2");
      el.hide();
      el.closest("tr").find(".isOkeAction").show();
    });
  });

  function deleteReactionHtml(el) {
    var dt = el.closest("dt");
    var dd = dt.next();
    dt.slideToggle();
    dd.slideToggle();
    var count = parseInt(/\d+/.exec($("h3").text())) - 1;
    var rest = count != 1 ? " Reacties" : " Reactie";
    $("h3").text(count + rest);
  }


});
