Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
//addLink include
function addLink(where, url, name, id, title, key, after){
    //* where is the id of the toolbar where the button should be added;
    //   i.e. one of "p-cactions", "p-personal", or "p-navigation".
    //* url is the URL which will be called when the button is clicked.
    //   javascript: urls can be used to do more complex things.
    //* name is what will appear as the name of the button.
    //* id is the id of the button; it's best to define one.  
    //   Use a prefix to make sure its unique. Optional.
    //* title is the tooltip title that gives a longer description 
    //   of the button; if you define a accesskey, mention it here. Optional.
    //* key is the char you want for the accesskey. Optional.
    //* after is the id of the button you want to follow this one. Optional.
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
    if(after) {
        tabs.insertBefore(li,document.getElementById(after));
    } else {
        tabs.appendChild(li);
    }
    if(id) {
        if(key && title) { ta[id] = [key, title]; }
        else if(key) { ta[id] = [key, '']; }
        else if(title) { ta[id] = ['', title];} 
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}

//------------------------------------
// Tool to easily add the move template to categories.

// Should the edits be saved automatically?
if(window.move_autosave == false){}else if(window.move_autosave){}else{ move_autosave = true; }

// String constants
move_text = "Move category";
move_tooltip = "Test text";
move_prompt = "Enter destination category name:";

function move_nomMove() {
  var cel = prompt(move_prompt, '');
  if (cel==null) return;
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  document.location = editlk + '&fakeaction=move_add&cel=' + encodeURIComponent(cel);
}

function move_addMoveTemplate(cel) {
  if(cel==''){
   var txt = '{{Mo'
               +'ve}}';
  } else {
   var txt = '{{Mo'
                +'ve|1=Category:' + cel + '}}'; 
  }
  document.editform.wpTextbox1.value = txt + document.editform.wpTextbox1.value;
  document.editform.wpSummary.value = 'Move category using [[user:Yarl/move.js|move.js]]';
  if (nfd_autosave) document.editform.wpSave.click();
}

function move_onload() {
  if (wgNamespaceNumber == 14) { //NS_CATEGORY
    addLink('p-tb', 'javascript:move_nomMove()', move_text, 'pop-cat', move_tooltip);
  }
  var fakeaction = getParamValue('fakeaction');
  if (fakeaction == 'move_add')
    move_addMoveTemplate(decodeURIComponent(getParamValue('cel')));
}

$(move_onload);
// </pre>