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.
//<pre><nowiki> //---------------------------------------------------------------   ///////////////////////////////////////////////////////////////////////////////////////////////////////// // Script loading function by Quarl (http://en.wikipedia.org/wiki/User:Quarl) /////////////////////////////////////////////////////////////////////////////////////////////////////////   // loads from en...   function winc(s) { s = s.replace(/^\[\[/, '').replace(/\]\]$/, ''); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=' + s + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); }   // loads from commons...   // from [[Talk:Wikimedia logo mosaic]] (image dimension checker)   // comment these out as mosaic is finished   // [[User:Nux/dimcheck_n_title.js]] //document.write('<script type="text/javascript" //src="http://commons.wikimedia.org/w/index.php?title=User:Nux/dimcheck_n_title.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');     //[[MediaWiki talk:Quick-delete.js]] //document.write('<script type="text/javascript" //src="/w/index.php?title=MediaWiki:Quick-delete.js&action=raw&ctype=text/javascript"><\/script>');   // switches for same   //nfd_autosave = false; //mnx_autosave = false;   // HotCat   document.write('<script type="text/javascript" src="' + 'http://commons.wikimedia.org/w/index.php?title=MediaWiki:HotCat.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //[[MediaWiki talk:HotCat.js]]     // thumbnail purger includePage('MediaWiki:ThumbnailPurger.js');     //Coordinate helper...   // [[User:Dschwen/coordinates.js]] - please include this line document.write('<script type="text/javascript" src="' + 'http://commons.wikimedia.org/w/index.php?title=User:Dschwen/coordinates.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');     /*** [[en:User:Lightdarkness]]'s include function ***/ function co_inc (file) { var lt = String.fromCharCode(60); var gt = String.fromCharCode(62); document.writeln(lt+'script type="text/javascript" src="/w/index.php?title='+file+'&amp;action=raw&amp;ctype=text/javascript&amp;dontcountme=s"'+gt+lt+'/script'+gt); }   function cur_date_year() { var months2 = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var yearStr = date.getUTCFullYear(); var MoDayStr = months2[date.getUTCMonth()]+" "+date.getUTCDate(); var t = MoDayStr+", "+yearStr; return t; }

<pre>
mw.loader.load('https://commons.wikimedia.org/w/index.php?title=MediaWiki:HotCat.js' 
             + '&action=raw&ctype=text/javascript');
//[[MediaWiki talk:HotCat.js]]
</pre>


//<pre><nowiki>

JSconfig.registerKey('HotCatDelay', 100, 'HotCat autocompletion delay (ms):', 5);
addOnloadHook ( hotcat ) ;

var hotcat_running = 0 ;
var hotcat_last_v = "" ;
var hotcat_exists_yes = "http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png" ;
var hotcat_exists_no = "http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png" ;
var hotcat_upload = 0 ;

var hotcat_modify_blacklist = new Array (
"CC-" ,
"GFDL" ,
"PD"
) ;

function hotcat_remove_upload ( text ) {
  var cats = document.getElementById ( "catlinks" ) ;
  cats = cats.getElementsByTagName ( "span" ) ;
  for ( var i = 0 ; i < cats.length ; i++ ) {
    var a = cats[i].getElementsByTagName("a")[0] ;
    if ( a.getAttribute ( "title" ) != text ) continue ;
    cats[i].parentNode.removeChild ( cats[i].nextSibling ) ;
    cats[i].parentNode.removeChild ( cats[i] ) ;
    break ;
  }
}

function hotcat_check_upload () {
  if ( wgNamespaceNumber != -1 || wgTitle != "Upload" ) return ; // Not "Special:Upload"
  hotcat_upload = 1 ;
  var ip = document.getElementById ( "wpWatchthis" ) ;
  var tr = ip.parentNode.parentNode ;
  var ntr = document.createElement ( "tr" ) ;
  var ntd = document.createElement ( "td" ) ;
  var ntde = document.createElement ( "td" ) ;
  var catline = document.createElement ( "div" ) ;
  var np = document.createElement ( "p" ) ;

  ntde.appendChild ( document.createTextNode ( "Categories:" ) ) ;
  ntde.style.textAlign = "right" ;
  ntde.style.verticalAlign = "middle" ;
  catline.id = "catlinks" ;
  np.className = "catlinks" ;
  catline.appendChild ( np ) ;
  ntd.appendChild ( catline ) ;
  ntr.appendChild ( ntde ) ;
  ntr.appendChild ( ntd ) ;
  tr.parentNode.insertBefore ( ntr , tr.nextSibling ) ;

  // Add handler for submit
  var sub = document.getElementsByName("wpUpload")[0] ;
  sub.onclick = hotcat_on_upload ;
  sub.type = "button" ;
}

function hotcat_on_upload () {
  var cats = document.getElementById ( "catlinks" ) ;
  cats = cats.getElementsByTagName ( "span" ) ;
  var eb = document.getElementById ( "wpUploadDescription" ) ;
  for ( var i = 0 ; i < cats.length ; i++ ) {
    var a = cats[i].getElementsByTagName("a")[0] ;
    var t = a.innerHTML ;
    if ( t == "" || t == "(+)" ) continue ;
    eb.value += "\n[[Category:" + t + "]]" ;
  }


  var sub = document.getElementsByName("wpUpload")[0] ;
  sub.onclick = "" ;
  sub.type = "submit" ;
  sub.click();
}

function hotcat () {
  if ( hotcat_check_action() ) return ; // Edited page, reloading anyway
  hotcat_check_upload () ;
  var catline = getElementsByClassName ( document , "p" , "catlinks" ) [0] ;
  if ( catline == null || typeof catline == 'undefined' ) return ;

  hotcat_modify_existing ( catline ) ;
  hotcat_append_add_span ( catline ) ;
}

function hotcat_append_add_span ( catline ) {
  var span_add = document.createElement ( "span" ) ;
  var span_sep = document.createTextNode ( " | " ) ;
  if ( catline.firstChild ) catline.appendChild ( span_sep ) ;
  catline.appendChild ( span_add ) ;
  hotcat_create_span ( span_add ) ;
}

String.prototype.ucFirst = function () {
   return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
}

function hotcat_is_on_blacklist ( cat_title ) {
  if ( !cat_title ) return 0 ;
  cat_title = cat_title.split(":",2).pop() ;
  for ( var i = 0 ; i < hotcat_modify_blacklist.length ; i++ ) {
    if ( cat_title.substr ( 0 , hotcat_modify_blacklist[i].length ) == hotcat_modify_blacklist[i] ) return 1 ;
  }
  return 0 ;
}

function hotcat_modify_span ( span , i ) {
  var cat_title = span.firstChild.getAttribute ( "title" ) ;
  var sep1 = document.createTextNode ( " " ) ;
  var a1 = document.createTextNode ( "(-)" ) ;
  var remove_link = document.createElement ( "a" ) ;
  remove_link.href = "javascript:hotcat_remove(\"" + encodeURIComponent( cat_title ) + "\");" ;
  remove_link.appendChild ( a1 ) ;
  span.appendChild ( sep1 ) ;
  span.appendChild ( remove_link ) ;

  if ( hotcat_is_on_blacklist ( cat_title ) ) return ;
  var mod_id = "hotcat_modify_" + i ;
  var sep2 = document.createTextNode ( " " ) ;
  var a2 = document.createTextNode ( "(±)" ) ;
  var modify_link = document.createElement ( "a" ) ;
  modify_link.id = mod_id ;
  modify_link.href = "javascript:hotcat_modify(\"" + mod_id + "\");" ;
  modify_link.appendChild ( a2 ) ;
  span.appendChild ( sep2 ) ;
  span.appendChild ( modify_link ) ;
}

function hotcat_modify_existing ( catline ) {
  var spans = catline.getElementsByTagName ( "span" ) ;
  for ( var i = 0 ; i < spans.length ; i++ ) {
    hotcat_modify_span ( spans[i] , i ) ;
  }
}

function hotcat_remove ( cat_title ) {
  if ( hotcat_upload ) {
    hotcat_remove_upload ( cat_title ) ;
    return ;
  }
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  document.location = editlk + '&hotcat_removecat=' + cat_title ;
}

function hotcatGetParamValue(paramName, h) {
        if (typeof h == 'undefined' ) { h = document.location.href; }
        var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
        var m=cmdRe.exec(h);
        if (m) {
                try {
                        return decodeURI(m[1]);
                } catch (someError) {}
        }
        return null;
}

function hotcat_check_action () {
  var ret = 0 ;
  if ( wgAction != "edit" ) return ret ; // Not an edit page, so no business...
  var summary = new Array () ;
  var t = document.editform.wpTextbox1.value ;
  var prevent_autocommit = 0 ;

  // Remove existing category?
  var hrc = hotcatGetParamValue('hotcat_removecat') ;
  if ( typeof hrc != "undefined" && hrc != null && hrc != "" ) {
    var tl = t.toLowerCase() ;
    var hrcl = "[[" + hrc.toLowerCase() ;
    var tn = tl.split ( hrcl ) ;
    if ( tn.length == 2 ) { // Found one occurrence of the category - good!
      var l1 = tn.shift().length ;
      var t1 = t.substr ( 0 , l1 ) ;
      var t2 = t.substr ( l1 + hrcl.length ) ;
      t2 = t2.split("]]",3) ;
      t2.shift() ;
      t2 = t2.join ( "]]" ) ;
      t = t1.replace(/\s+$/,"") + "\n" + t2.replace(/^\s+/,"") ; // Trying to remove whitespace
      summary.push ( "Removed \"" + hrc + "\"" ) ;
      ret = 1 ;
    } else {
      alert ( "Did not find a unique occurrence of \"" + hrc + "\" - maybe it is in a template?" ) ;
      prevent_autocommit = 1 ;
    }
  }  

  // Add new category?
  var hnc = hotcatGetParamValue('hotcat_newcat') ;
  if ( typeof hnc != "undefined" && hnc != null && hnc != "" ) {
    var txt = "[[Category:" + hnc + "]]" ;
    t = t + '\n' + txt ;
    summary.push ( "Quick-adding category \"" + hnc + "\"" ) ;
    ret = 1 ;
  }

  if ( ret ) {
    document.editform.wpTextbox1.value = t ;
    document.editform.wpSummary.value = summary.join( "; " ) + " (using [[MediaWiki:HotCat.js|]])" ;
    if ( !prevent_autocommit ) {
      document.getElementById("bodyContent").style.display = "none" ; // Hiding the entire edit section so as not to tempt the user into editing...
      document.editform.wpSave.click();
    }
  }

  // This is the end, my friend, the end...
  return ret ;
}

function hotcat_clear_span ( span_add ) {
  while ( span_add.firstChild ) span_add.removeChild ( span_add.firstChild ) ;
}

function hotcat_create_span ( span_add ) {
  hotcat_clear_span ( span_add ) ;
  var a_add = document.createElement ( "a" ) ;
  var a_text = document.createTextNode ( "(+)" ) ;
  span_add.id = "hotcat_add" ;
  a_add.href = "javascript:hotcat_add_new()" ;
  a_add.appendChild ( a_text ) ;
  span_add.appendChild ( a_add ) ;
}

function hotcat_modify ( link_id ) {
  var link = document.getElementById ( link_id ) ;
  var span = link.parentNode ;
  var catname = span.firstChild.firstChild.data ;
  
  while ( span.firstChild.nextSibling ) span.removeChild ( span.firstChild.nextSibling ) ;
  span.firstChild.style.display = "none" ;
  hotcat_create_new_span ( span , catname ) ;
  hotcat_last_v = "" ;
  hotcat_text_changed () ; // Update icon
}

function hotcat_add_new () {
  var span_add = document.getElementById ( "hotcat_add" ) ;
  hotcat_clear_span ( span_add ) ;
  hotcat_last_v = "" ;
  hotcat_create_new_span ( span_add , "" ) ;
}

function hotcat_create_new_span ( thespan , init_text ) {
  var form = document.createElement ( "form" ) ;
  form.method = "post" ;
  form.onsubmit = function () { hotcat_ok(); return false; } ;
  form.id = "hotcat_form" ;
  form.style.display = "inline" ;

  var list = document.createElement ( "select" ) ;
  list.id = "hotcat_list" ;
  list.onclick = function () { document.getElementById("hotcat_text").value = document.getElementById("hotcat_list").value ; hotcat_text_changed() ; } ;
  list.ondblclick = function () { document.getElementById("hotcat_text").value = document.getElementById("hotcat_list").value ; hotcat_text_changed() ; hotcat_ok(); } ;
  list.style.display = "none" ;

  var text = document.createElement ( "input" ) ;
  text.size = 40 ;
  text.id = "hotcat_text" ;
  text.type = "text" ;
  text.value = init_text ;
  text.onkeyup = function () { window.setTimeout("hotcat_text_changed();", JSconfig.keys['HotCatDelay'] ); } ;

  var exists = document.createElement ( "img" ) ;
  exists.id = "hotcat_exists" ;
  exists.src = hotcat_exists_no ;

  var OK = document.createElement ( "input" ) ;
  OK.type = "button" ;
  OK.value = "OK" ;
  OK.onclick = hotcat_ok ;

  var cancel = document.createElement ( "input" ) ;
  cancel.type = "button" ;
  cancel.value = "Cancel" ;
  cancel.onclick = hotcat_cancel ;

  form.appendChild ( list ) ;
  form.appendChild ( text ) ;
  form.appendChild ( exists ) ;
  form.appendChild ( OK ) ;
  form.appendChild ( cancel ) ;
  thespan.appendChild ( form ) ;
  text.focus () ;
}

function hotcat_ok () {
  var text = document.getElementById ( "hotcat_text" ) ;
  var v = text.value ;

  // Empty category ?
  if ( v == "" ) {
    hotcat_cancel() ;
    return ;
  }

  // Special:Upload ?
  if ( hotcat_upload ) {
    hotcat_just_add ( text.value ) ;
    return ;
  }

  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  var url = editlk + '&hotcat_newcat=' + encodeURIComponent( v ) ;

  // Editing existing?
  var span = text.parentNode.parentNode ; // span.form.text
  if ( span.id != "hotcat_add" ) { // Not plain "addition"
    var cat_title = span.firstChild.getAttribute ( "title" ) ;
    url += '&hotcat_removecat=' + cat_title ;
  }

  document.location = url ;
}

function hotcat_just_add ( text ) {
  var span = document.getElementById("hotcat_form") ;
  while ( span.tagName != "SPAN" ) span = span.parentNode ;
  var add = 0 ;
  if ( span.id == "hotcat_add" ) add = 1 ;
  span.id = "" ;
  while ( span.firstChild ) span.removeChild ( span.firstChild ) ;
  var na = document.createElement ( "a" ) ;
  na.href = wgArticlePath.split("$1").join("Category:" + encodeURIComponent( text )) ;
  na.appendChild ( document.createTextNode ( text ) ) ;
  na.setAttribute ( "title" , text ) ;
  span.appendChild ( na ) ;
  var catline = getElementsByClassName ( document , "p" , "catlinks" ) [0] ;
  if ( add ) hotcat_append_add_span ( catline ) ;

  for ( var i = 0 ; i < span.parentNode.childNodes.length ; i++ ) {
    if ( span.parentNode.childNodes[i] != span ) continue ;
    hotcat_modify_span ( span , i ) ;
    break ;
  }
}

function hotcat_cancel () {
  var span = document.getElementById("hotcat_form").parentNode ;
  if ( span.id == "hotcat_add" ) {
    hotcat_create_span ( span ) ;
  } else {
    while ( span.firstChild.nextSibling ) span.removeChild ( span.firstChild.nextSibling ) ;
    span.firstChild.style.display = "" ;
    for ( var i = 0 ; i < span.parentNode.childNodes.length ; i++ ) {
      if ( span.parentNode.childNodes[i] != span ) continue ;
      hotcat_modify_span ( span , i ) ;
      break ;
    }
  }
}

function hotcat_text_changed () {
  if ( hotcat_running ) return ;
  var text = document.getElementById ( "hotcat_text" ) ;
  var v = text.value.ucFirst() ;
  if ( hotcat_last_v == v ) return ; // Nothing's changed...

  hotcat_running = 1 ;
  hotcat_last_v = v ;

  if ( v != "" ) {
    var url = wgServer + "/" + wgScriptPath + "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent( v ) ;
    if ( typeof ( hotcat_xmlhttp ) != "undefined" ) hotcat_xmlhttp.abort() ; // Just to make sure...
    hotcat_xmlhttp = new sajax_init_object() ;
    hotcat_xmlhttp.open('GET', url, true);
    hotcat_xmlhttp.onreadystatechange = function () {
          if ( typeof hotcat_xmlhttp == "undefined" ) return ;
          if (hotcat_xmlhttp.readyState == 4) {
              var xml = hotcat_xmlhttp.responseXML ;
              if ( xml == null ) return ;
              var pages = xml.getElementsByTagName( "p" ) ;
              var titles = new Array () ;
              for ( var i = 0 ; i < pages.length ; i++ ) {
                var s = pages[i].getAttribute("title").split(":",2).pop() ;
                if ( s.substr ( 0 , hotcat_last_v.length ) != hotcat_last_v ) break ;
                titles.push ( s ) ;
              }
              hotcat_show_suggestions ( titles ) ;
          }
      };
    hotcat_xmlhttp.send(null);
  } else {
    var titles = new Array () ;
    hotcat_show_suggestions ( titles ) ;
  }
  hotcat_running = 0 ;
}

function hotcat_show_suggestions ( titles ) {
  var text = document.getElementById ( "hotcat_text" ) ;
  var list = document.getElementById ( "hotcat_list" ) ;
  var icon = document.getElementById ( "hotcat_exists" ) ;
  if ( titles.length == 0 ) {
    list.style.display = "none" ;
    icon.src = hotcat_exists_no ;
    return ;
  }
  
  var listh = titles.length * 20 ;
  var nl = parseInt ( text.parentNode.offsetLeft ) - 1 ;
  var nt = parseInt(text.offsetTop) - listh ;
  list.size = 5 ;
  list.style.align = "left" ;
  list.style.zIndex = 5 ;
  list.style.position = "absolute" ;
  list.style.top = nt + "px" ;
  list.style.width = text.offsetWidth + "px" ;
  list.style.height = listh + "px" ;
  list.style.left = nl + "px" ;
  while ( list.firstChild ) list.removeChild ( list.firstChild ) ;
  for ( var i = 0 ; i < titles.length ; i++ ) {
    var opt = document.createElement ( "option" ) ;
    var ot = document.createTextNode ( titles[i] ) ;
    opt.appendChild ( ot ) ;
    //opt.value = titles[i] ;
    list.appendChild ( opt ) ;
  }
  
  list.style.display = "block" ;

  icon.src = hotcat_exists_yes ;

  var first_title = titles.shift () ;
  if ( first_title == hotcat_last_v ) return ;

  var nosel = hotcat_last_v.length ;
  
  text.value = first_title ;
  if( is_khtml )
   text.setSelectionRange( nosel, first_title.length );
  else
  {
   text.selectionStart = nosel ;
   text.selectionEnd = first_title.length ;
  }
}

//</nowiki></pre>



// [[User:Lupin/popups.js]]
 
mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');
popupAdminLinks=true
 
// [[User:Invitatious/unsigned2.js]] - unsigned comments script (enwiki)
mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Invitatious/unsigned2.js' 
             + '&action=raw&ctype=text/javascript');
 
// install [[User:Cacycle/diff]] text diff code
document.write('<script type="text/javascript" src="' 
  + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js' <!--wikEdSpaceLine-->
  + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
// install [[User:Cacycle/editor]] edit tool
document.write('<script type="text/javascript" src="' 
  + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/editor.js' <!--wikEdSpaceLine-->
  + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');