﻿var AjaxCallbackHandler = {
    Alert: function(cmd, context) {
        ControlManager.Alert(cmd.Params.html);
        context.formEl.unmask();
    },
    ToolTip: function(cmd, context) {
        Utils.MsgToolTip(cmd.Params.errorTitle, cmd.Params.globalErrorMsg);
    },
    Append: function(cmd, context) {
        //var controlId = context.ctrl.controlEl.id;
        var html = cmd.Params.html;

        ControlManager.Append(/*controlId, */html);
    },
    Close: function(cmd, context) {
        ControlManager.Remove(context.ctrl.controlEl.id);
    },
    Redirect: function(cmd, context) {
        location.href = cmd.Params.html;
    },
    RedirectAlertCloseHandler: function() {
        location.href = this.url;
    },
    RedirectWithMessage: function(cmd, context) {

        var c = {};
        c.url = cmd.Params.html;
        Ext.Msg.alert('Information', cmd.Params.globalErrorMsg, AjaxCallbackHandler.RedirectAlertCloseHandler, c);
    },
    Remove: function(cmd, context) {
        ControlManager.Remove(context.ctrl.controlEl.id);
    },
    Update: function(cmd, context) {
        //var el = Ext.DomHelper.append(document.body, cmd.Params.html, true);
        //var html = el.dom.innerHTML;
        //el.remove();        

        var controlId = context.ctrl.controlEl.id;
        var html = cmd.Params.html;
        var javascript = cmd.Params.javascript;
        ControlManager.Update(controlId, html, javascript);
    },
    //    UpdateById: function(id, html)
    //    {
    //        ControlManager.Update(id, html);
    //    },
    UpdateGroup: function(cmd, context) {
        var className = cmd.Params.ClassName;
        var controlName = cmd.Params.ControlName;
        var parentNames = cmd.Params.ParentNames;
        var repeaterIndex = cmd.Params.RepeaterIndex;
        var html = cmd.Params.Html;

        ControlManager.UpdateGroup(className, controlName, parentNames, repeaterIndex, html)
    }
}