﻿/// <reference name="MicrosoftAjax.js"/>

Type.registerNamespace("nl.materieelmarkt.Online.Extensions");

nl.materieelmarkt.Online.Extensions.Moderation = function(element) {
  nl.materieelmarkt.Online.Extensions.Moderation.initializeBase(this, [element]);
}

nl.materieelmarkt.Online.Extensions.Moderation.prototype = {
  initialize: function() {
    nl.materieelmarkt.Online.Extensions.Moderation.callBaseMethod(this, 'initialize');
    this._successHandler = Function.createDelegate(this, this._success);
    this._failedHandler = Function.createDelegate(this, this._failed);
    nl.materieelmarkt.Online.Services.Login.IsAuthenticated(this._successHandler, this._failedHandler);
  },
  dispose: function() {
    nl.materieelmarkt.Online.Extensions.Moderation.callBaseMethod(this, 'dispose');
  },
  _success: nl$materieelmarkt$Online$Extensions$Moderation$_success,
  _failed: function(r, c, m) { }
}

function nl$materieelmarkt$Online$Extensions$Moderation$_success(loggedIn) {
  if (loggedIn) {
    $(this.get_element()).find("div.Reactie").each(function(i) {
      var id = this.id;
      var feedback_ID = parseInt(this.id.substring(this.id.lastIndexOf("_") + 1));
      $(this).find("span.button").html('<input type="button" class="button" value="Verwijderen" />');
      $(this).find("input.button").bind("click", function() {
        if (confirm("Weet U zeker dat u deze reactie wilt verwijderen?")) {
          nl.materieelmarkt.Online.Services.Login.Delete(feedback_ID, function() { $("#" + id).hide(); }, function() { alert("Verwijderen mislukt."); });
        }
      });
    });
  }
}

nl.materieelmarkt.Online.Extensions.Moderation.registerClass('nl.materieelmarkt.Online.Extensions.Moderation', Sys.UI.Behavior);

if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

