// ==UserScript==
// @name           SalesforceSetupFastAccess
// @namespace   jp.in_vitro.gmscript.salesforcesetupfastaccess
// @description   Append custom menu to Salesforce Setup
// @include         http://*.salesforce.com/*
// @include         https://*.salesforce.com/*
// ==/UserScript==

// constants
var anchors = new Array();
anchors[0] = "<a href='/01p?setupid=ApexClasses'>Apex Classes</a>";
anchors[1] = "<a href='/setup/build/allTriggers.apexp?setupid=ApexTriggers'>Apex Triggers</a>";
anchors[2] = "<a href='/02u?setupid=TabSet'>Applications</a>";
anchors[3] = "<a href='/_ui/core/portal/CustomerSuccessPortalSetup/d?setupid=CustomerSuccessPortalSettings'>Customer Portal</a>";
anchors[4] = "<a href='/apexpages/setup/listApexComponent.apexp'>Components</a>";
anchors[5] = "<a href='/p/setup/layout/ApexDebugLogEdit?setupid=ApexDebugLogs'>Debug Logs</a>";
anchors[6] = "<a href='/04s/o?setupid=DeployStatus'>Deploy Status</a>";
anchors[7] = "<a href='/setup/ui/customobjects.jsp?setupid=CustomObjects'>Objects</a>";
anchors[8] = "<a href='/apexpages/setup/listApexPage.apexp?setupid=ApexPages'>Pages</a>";
anchors[9] = "<a href='/setup/ui/profilelist.jsp?setupid=Profiles'>Profiles</a>";
anchors[10] = "<a href='/p/own/OrgPublicGroupsPage/d?setupid=PublicGroups'>Public Groups</a>";
anchors[11] = "<a href='/p/own/OrgQueuesPage/d?setupid=Queues'>Queues</a>";
anchors[12] = "<a href='/0DM/o?setupid=CustomDomain'>Sites</a>";
anchors[13] = "<a href='/apexpages/setup/listStaticResource.apexp'>Static Resource</a>";
anchors[14] = "<a href='/setup/ui/customtabs.jsp?setupid=CustomTabs'>Tabs</a>";
anchors[15] = "<a href='/005?setupid=ManageUsers'>Users</a>";

(function(d) {
function main() {
    // Get <div id="AutoNumber5"> element.
    var parent = document.getElementById("AutoNumber5");
    if(parent == null) {
        return;
    }

    // Append custom menu element.
    var customMenu = document.createElement("div");
    customMenu.innerHTML = '<img src="/s.gif" alt="" width="205" height="1" title="" /><div class="setupNavtree"><h2>Fast access</h2></div><div class="childContainer" style="display: block; font-size: x-small;" id="CustomMenu_child"></div>';
    parent.insertBefore(customMenu, parent.firstChild);
    customMenu = document.getElementById("CustomMenu_child");

    // Append custom menu item element to custom menu element.
    for(i = 0; i < anchors.length; i++) {
        var anchor = anchors[i];
        var leaf = document.createElement("div");
        leaf.className = "setupLeaf";
        leaf.innerHTML = anchor;
        customMenu.appendChild(leaf);
    }
}

main();
}(document));


