crmc.require(['sfdc', 'KendoPopup'], function (sfdc, popup) {
    crmc.addCustomAction({
      "itemID": "AcctSeed_AccountPayable_PostAccountPayables",
      "isAvailable": function (context) {
        // This function is called before the action item is displayed and returns a boolean if the item should be displayed
        // By default determine availability based on Feature Security for this action
         var isEnabled = this.featureSecurity.getSetting(context.objectDescribe.name, this.itemID) !== false;
          // Only allow batch adding from Accounts object for now
          var isProject = context.objectDescribe.name == "AcctSeed__Account_Payable__c";
          var multipleSelected = context.selectedRows && context.selectedRows.length > 0;
          return isProject && isEnabled && multipleSelected;
      },
      "getLabel": function (context) {
        // This function returns the display label of the action item and is called before the item is shown
        return "Post Accounts Payable";
      },
      "createSubmenuItems": function (context) {
        // If this function returns additional action item objects, they will appear as submenu items
        return [];
      },
      "click": function (context) {
          // Include static resource from managed namespace pre-creates session and allows us to safely POST data without redirect issue
          var head = document.getElementsByTagName('HEAD').item(0);
          var script = document.createElement("script");
          script.type = "text/javascript";
          head.appendChild(script);
          var domains = window.location.hostname.split(".");
          if (domains.length == 3) {
            instance = domains[0];
          }
          else {
            instance = domains[1];
          }
          script.src = "https://AcctSeed." + instance + ".visual.force.com/resource/AcctSeed__ButtonJSFunctions?ts=" + new Date().getTime();
          script.onerror = function() {
            // Couldn't load app script, assume not installed
            popup.popup("Could not obtain session for Accounting Seed Financial Suite is the app installed?");
          };
          script.onload = function() {
            if (context.selectedRows.length > 0) {
              var selectedIds = [];
              Object.each(context.selectedRows, function (item) { selectedIds.push({name: "ids", value: item["Id"]}); });
              var parameters = {
                retURL: context.actionGrid.settings.pageURL,
              };
                sfdc.postToVFPage("acctseed", "AccountPayableBatchPost", parameters, selectedIds);
            }
            else {
                popup.popup('Please select records', 'Select at least one record to process.');
            }
          };
        }
    });
});