// ==UserScript==
//
// @name            Mozilla Addons Fixer
// @namespace       http://tech.einaregilsson.com/download/mozillaaddonsfixer.user.js
// @description     Adds links to public extension pages, add-on policy, sandbox info and more to the Developer Control Panel
// @author          Einar Egilsson (greasemonkey@einaregilsson.com)
//
// @include         https://addons.mozilla.org/*/firefox/developers
// @include         https://addons.mozilla.org/*/firefox/developers/index
//
// ==/UserScript==
    
var locale = document.location.href.substring('https://addons.mozilla.org/'.length);
locale = locale.substring(0, locale.indexOf('/'));

//Add link to public extension pages
var extLinks = document.evaluate(
    "//h4/a[contains(@href, 'details')]",
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

for (var i = 0; i < extLinks.snapshotLength; i++) {
    var link = extLinks.snapshotItem(i);
    var newlink = document.createElement('a');
    newlink.href = '/' + locale + '/firefox/addon/' + link.href.substring(link.href.lastIndexOf('/')+1);
    newlink.innerHTML = '[Public Page]';
    link.parentNode.insertBefore(newlink, link.nextSibling);
    link.parentNode.insertBefore(document.createTextNode(' - '), link.nextSibling);
}


//Add links to useful info

var infoLinks = { 'Add-On Policy' : 'https://addons.mozilla.org/locale/firefox/pages/policy'.replace('locale', locale)
                , 'Sandbox Info' : 'https://addons.mozilla.org/locale/firefox/pages/sandbox'.replace('locale', locale)
                , 'Contact AMO' : 'mailto:amo-editors@mozilla.org' };
var list = document.getElementsByTagName('ul')[1];

for (var linkText in infoLinks) {
    var li = document.createElement('li');
    li.appendChild(document.createElement('a'));
    li.firstChild.href = infoLinks[linkText];
    li.firstChild.innerHTML = linkText;
    list.insertBefore(li, list.lastChild.previousSibling);
}