﻿var RenderServiceController = function (uxShowResultsPanel) {
    this.uxShowResultsPanel = uxShowResultsPanel;

    var ShowResult =
		    function (message) {
		        $(uxShowResultsPanel).show();
		        uxShowResultsPanel.innerHTML = message;
		    }

    var Show_Complete =
		function (result) {
		    if (result.error) {
		        if (result.error.message == '')
		            return;

		        ShowResult(result.error.message);
		    }
		    else {
		        var html = result.value;

		        if (html == '')
		            html = "No more information is available for this item";

		        ShowResult(html);
		    }
		}


    return {
        Show: function (methodName, addressBookItemID, cmsSiteID) {
            ShowResult("<div class='loading'>Loading...</div>");
            eval(methodName)(addressBookItemID, cmsSiteID);
        },

        GetAdminSpringBoard: function () {
            ShowResult("<div class='loading'>Loading...</div>");
            RenderServicePro.GetAdminSpringBoard(Show_Complete);
        },

        GetSearchOrganisationsSection: function (parentOrganisationID, treeLevel, jsNamespace, selectedOrganisationIDs) {
            ShowResult("<div class='loading'>Searching...</div>");
            RenderServicePro.GetSearchOrganisationsSection(parentOrganisationID, treeLevel, jsNamespace, selectedOrganisationIDs, Show_Complete);
        },

        GetGroupFilterMembers: function (groupFilterID) {
            ShowResult("<div class='loading'>Searching...</div>");
            RenderServicePro.GetGroupFilterMembers(groupFilterID, Show_Complete);
        }
    }
}
