<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3ATX%2Fmonobook.js</id>
	<title>User:TX/monobook.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/index.php?action=history&amp;feed=atom&amp;title=User%3ATX%2Fmonobook.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;action=history"/>
	<updated>2026-07-19T18:26:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;diff=3787&amp;oldid=prev</id>
		<title>TX at 06:44, 29 September 2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;diff=3787&amp;oldid=prev"/>
		<updated>2005-09-29T06:44:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;amp;diff=3787&amp;amp;oldid=3763&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>TX</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;diff=3763&amp;oldid=prev</id>
		<title>TX at 21:17, 28 September 2005</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=User:TX/monobook.js&amp;diff=3763&amp;oldid=prev"/>
		<updated>2005-09-28T21:17:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* &amp;lt;nowiki&amp;gt; */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Extra tabs for monobook skin&lt;br /&gt;
 * Forked from [[User:ABCD/monobook.js]] around April 2005&lt;br /&gt;
 * Dual licensed under the GFDL and GPL&lt;br /&gt;
 * See also: [[User:JesseW/monobook.js]]&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/**** Initialise on window load ****/&lt;br /&gt;
&lt;br /&gt;
if (window.addEventListener) window.addEventListener(&amp;quot;load&amp;quot;,myLoadFuncs,false);&lt;br /&gt;
else if (window.attachEvent) window.attachEvent(&amp;quot;onload&amp;quot;,myLoadFuncs);&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
    window.previousLoadFunction = window.onload;&lt;br /&gt;
    window.onload = function()&lt;br /&gt;
    {&lt;br /&gt;
        window.previousLoadFunction();&lt;br /&gt;
        myLoadFuncs();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**** Load custom functions ****/&lt;br /&gt;
&lt;br /&gt;
function myLoadFuncs()&lt;br /&gt;
{&lt;br /&gt;
    // &amp;amp;action=purge&lt;br /&gt;
    addPurge();&lt;br /&gt;
    // &amp;amp;section=0&lt;br /&gt;
    addEditSection0();&lt;br /&gt;
    // cause the personal menu looks bad&lt;br /&gt;
    changeLinks();&lt;br /&gt;
    // because edit summaries are good&lt;br /&gt;
    addForceSummary();&lt;br /&gt;
    // if this is VFD, add the show/hide thingies&lt;br /&gt;
    if(document.title.indexOf(&amp;quot;Wikipedia:Votes for deletion&amp;quot;) != -1 &amp;amp;&amp;amp; document.title.indexOf(&amp;quot;Editing &amp;quot;) != 0) vfdlinks();&lt;br /&gt;
    // now add a million extra tabs&lt;br /&gt;
    morelinks();&lt;br /&gt;
    // and some stuff for the sidebar&lt;br /&gt;
    addToolBoxLinks();&lt;br /&gt;
    // for admins only...&lt;br /&gt;
    // if(document.title.indexOf(&amp;quot;Confirm delete - Delete&amp;quot;) == 0) addVfdLink();&lt;br /&gt;
    // change the title of the edit link&lt;br /&gt;
    ta[&amp;#039;ca-edit&amp;#039;] = [&amp;#039;e&amp;#039;, &amp;#039;Edit page&amp;#039;];&lt;br /&gt;
    // re-render the title and accesskeys for stuff&lt;br /&gt;
    akeytt();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**** Extra tab adding ****/&lt;br /&gt;
&lt;br /&gt;
function addEditSection0()&lt;br /&gt;
{&lt;br /&gt;
    ta[&amp;#039;ca-edit-0&amp;#039;] = [&amp;#039;&amp;#039;, &amp;#039;Edit the zeroth section of this page&amp;#039;];&lt;br /&gt;
    if(!document.getElementById) return;&lt;br /&gt;
    var x = document.getElementById(&amp;#039;ca-edit&amp;#039;);&lt;br /&gt;
    if(!x) return;&lt;br /&gt;
    var y = document.createElement(&amp;#039;LI&amp;#039;);&lt;br /&gt;
    y.id = &amp;#039;ca-edit-0&amp;#039;;&lt;br /&gt;
    if(x.className == &amp;#039;selected&amp;#039;){&lt;br /&gt;
      if(/&amp;amp;action=edit&amp;amp;section=0$/.test(window.location.href)){&lt;br /&gt;
        x.className = &amp;#039;istalk&amp;#039;;&lt;br /&gt;
        y.className = &amp;#039;selected&amp;#039;;&lt;br /&gt;
      } else {&lt;br /&gt;
        x.className = &amp;#039;selected istalk&amp;#039;;&lt;br /&gt;
      }&lt;br /&gt;
    } else if(x.className == &amp;#039;selected istalk&amp;#039;){&lt;br /&gt;
      if(/&amp;amp;action=edit&amp;amp;section=0$/.test(window.location.href)){&lt;br /&gt;
        x.className = &amp;#039;istalk&amp;#039;;&lt;br /&gt;
        y.className = &amp;#039;selected istalk&amp;#039;;&lt;br /&gt;
      } else {&lt;br /&gt;
        y.className = &amp;#039;istalk&amp;#039;;&lt;br /&gt;
      }&lt;br /&gt;
    } else {&lt;br /&gt;
      y.className = x.className;&lt;br /&gt;
      x.className = &amp;#039;istalk&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
    var z = document.createElement(&amp;#039;A&amp;#039;);&lt;br /&gt;
    if(x.children){&lt;br /&gt;
        z.href = x.children[0].href + &amp;#039;&amp;amp;section=0&amp;#039;;&lt;br /&gt;
        z.appendChild(document.createTextNode(&amp;#039;0&amp;#039;));&lt;br /&gt;
        y.appendChild(z);&lt;br /&gt;
        document.getElementById(&amp;#039;p-cactions&amp;#039;).children[1].insertBefore(y,x.nextSibling);&lt;br /&gt;
    }else{&lt;br /&gt;
        z.href = x.childNodes[0].href + &amp;#039;&amp;amp;section=0&amp;#039;;&lt;br /&gt;
        z.appendChild(document.createTextNode(&amp;#039;0&amp;#039;));&lt;br /&gt;
        y.appendChild(z);&lt;br /&gt;
        document.getElementById(&amp;#039;p-cactions&amp;#039;).childNodes[3].insertBefore(y,x.nextSibling);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addlilink(tabs, url, name, id){&lt;br /&gt;
    var na = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
    na.href = url;&lt;br /&gt;
    na.appendChild(document.createTextNode(name));&lt;br /&gt;
    var li = document.createElement(&amp;#039;li&amp;#039;);&lt;br /&gt;
    li.id = id;&lt;br /&gt;
    li.appendChild(na);&lt;br /&gt;
    tabs.appendChild(li);&lt;br /&gt;
    return li;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addlimenu(tabs, name, id)&lt;br /&gt;
{&lt;br /&gt;
    var na = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
    na.href = &amp;#039;&amp;#039;;&lt;br /&gt;
    var mn = document.createElement(&amp;#039;ul&amp;#039;);&lt;br /&gt;
    na.appendChild(document.createTextNode(name));&lt;br /&gt;
    var li = document.createElement(&amp;#039;li&amp;#039;);&lt;br /&gt;
    li.id = id;&lt;br /&gt;
    li.className = &amp;#039;tabmenu&amp;#039;;&lt;br /&gt;
    li.appendChild(na);&lt;br /&gt;
    li.appendChild(mn);&lt;br /&gt;
    tabs.appendChild(li);&lt;br /&gt;
    return li;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addPurge()&lt;br /&gt;
{&lt;br /&gt;
    ta[&amp;#039;ca-purge&amp;#039;] = [&amp;#039;g&amp;#039;, &amp;#039;Purge the internal cache for this page&amp;#039;];&lt;br /&gt;
    if(!document.getElementById) return;&lt;br /&gt;
    var x = document.getElementById(&amp;#039;ca-history&amp;#039;);&lt;br /&gt;
    var tabs = document.getElementById(&amp;#039;p-cactions&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
    if(!x) return;&lt;br /&gt;
    if(x.children) x = x.children[0];&lt;br /&gt;
    else x = x.childNodes[0];&lt;br /&gt;
    addlilink(tabs, x.href.replace(/=history/, &amp;quot;=purge&amp;quot;), &amp;#039;purge&amp;#039;, &amp;#039;ca-purge&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function closevfd(bold, notbold)&lt;br /&gt;
{&lt;br /&gt;
  var txt = document.editform.wpTextbox1;&lt;br /&gt;
  txt.value = &amp;quot;{{subst:vt}} &amp;#039;&amp;#039;&amp;#039;&amp;quot; + bold + &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot; + notbold + &amp;quot;. &amp;amp;ndash; ~~~~\n&amp;quot; + txt.value + &amp;quot;\n{{subst:vb}}\n&amp;quot;;&lt;br /&gt;
  txt = document.editform.wpSummary;&lt;br /&gt;
  txt.value = &amp;quot;close discussion: &amp;quot; + bold + notbold;&lt;br /&gt;
  document.editform.wpWatchthis.checked = false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function editSummary()&lt;br /&gt;
{&lt;br /&gt;
    var txt = document.editform.wpTextbox1;&lt;br /&gt;
    document.editform.wpSummary.value = &amp;#039;Edit summary&amp;#039;;&lt;br /&gt;
    if(txt.value.length &amp;gt; 0) txt.value += &amp;#039;\n&amp;#039;;&lt;br /&gt;
    txt.value += &amp;#039;{{subst:edit summary}} ~~~~&amp;#039;;&lt;br /&gt;
    txt.focus();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function startThread()&lt;br /&gt;
{&lt;br /&gt;
    var txt = document.editform.wpTextbox1;&lt;br /&gt;
    var which = prompt(&amp;quot;Thread number?&amp;quot;);&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    if(which &amp;lt; 10) which = &amp;#039;0&amp;#039; + which;&lt;br /&gt;
    var timestamp = now.getUTCFullYear() + &amp;#039;&amp;#039;;&lt;br /&gt;
    now.getUTCMonth() &amp;lt; 9 ? timestamp += &amp;#039;0&amp;#039; + (now.getUTCMonth() + 1) : timestamp += (now.getUTCMonth() + 1);&lt;br /&gt;
    now.getUTCDate() &amp;lt; 10 ? timestamp += &amp;#039;0&amp;#039; + now.getUTCDate() : timestamp += now.getUTCDate();&lt;br /&gt;
    txt.value += &amp;#039;\n{{User talk:Alphax/&amp;#039; + timestamp + &amp;#039;-&amp;#039; + which + &amp;#039;}}&amp;#039;;&lt;br /&gt;
    document.editform.wpSummary.value = &amp;#039;new thread&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function welcomeMessage()&lt;br /&gt;
{&lt;br /&gt;
    document.editform.wpSummary.value = &amp;#039;Welcome to Wikipedia!&amp;#039;;&lt;br /&gt;
    var txt = document.editform.wpTextbox1;&lt;br /&gt;
    if(txt.value.length &amp;gt; 0) txt.value += &amp;#039;\n&amp;#039;;&lt;br /&gt;
    txt.value += &amp;#039;{{subst:User:Alphax/Welcome}} ~~~~&amp;#039;;&lt;br /&gt;
    txt.focus();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function anonWelcome()&lt;br /&gt;
{&lt;br /&gt;
    document.editform.wpSummary.value = &amp;#039;Create an account!&amp;#039;;&lt;br /&gt;
    var txt = document.editform.wpTextbox1;&lt;br /&gt;
    if(txt.value.length &amp;gt; 0) txt.value += &amp;#039;\n&amp;#039;;&lt;br /&gt;
    txt.value += &amp;#039;{{subst:anon}} Thanks, ~~~~&amp;#039;;&lt;br /&gt;
    txt.focus();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function replace()&lt;br /&gt;
{&lt;br /&gt;
    var s = prompt(&amp;quot;Search regexp?&amp;quot;);&lt;br /&gt;
    if(s){&lt;br /&gt;
        var r = prompt(&amp;quot;Replace regexp?&amp;quot;);&lt;br /&gt;
        var txt = document.editform.wpTextbox1;&lt;br /&gt;
        txt.value = txt.value.replace(new RegExp(s, &amp;quot;g&amp;quot;), r);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function vfdresult()&lt;br /&gt;
{&lt;br /&gt;
    var res = prompt(&amp;quot;Result?&amp;quot;);&lt;br /&gt;
    var vfddate = prompt(&amp;quot;Nomination date?&amp;quot;);&lt;br /&gt;
    if(!res) return;&lt;br /&gt;
    document.editform.wpSummary.value = &amp;#039;VFD result - &amp;#039; + res.replace(/&amp;#039;/g, &amp;#039;&amp;#039;);&lt;br /&gt;
    var txt = document.editform.wpTextbox1;&lt;br /&gt;
    if(txt.value.length &amp;gt; 0) txt.value += &amp;#039;\n&amp;#039;;&lt;br /&gt;
    txt.value += &amp;#039;==VFD==\nOn [[&amp;#039; + vfddate + &amp;#039;]] [[{{subst:CURRENTYEAR}}]], this article was nominated for deletion. The result was &amp;#039; + res + &amp;#039;. See [[Wikipedia:Votes for deletion/{{subst:PAGENAME}}]] for a record of the discussion. &amp;amp;ndash; ~~~~&amp;#039;;&lt;br /&gt;
    txt.focus();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hidevfd()&lt;br /&gt;
{&lt;br /&gt;
    var divs = document.getElementsByTagName(&amp;quot;div&amp;quot;);&lt;br /&gt;
    for(var x = 0; x &amp;lt; divs.length; ++x)&lt;br /&gt;
        if(divs[x].className.indexOf(&amp;quot;vfd&amp;quot;) != -1)&lt;br /&gt;
            divs[x].style.display = &amp;quot;none&amp;quot;;&lt;br /&gt;
    document.getElementById(&amp;#039;footer&amp;#039;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showvfd()&lt;br /&gt;
{&lt;br /&gt;
    var divs = document.getElementsByTagName(&amp;quot;div&amp;quot;);&lt;br /&gt;
    for(var x = 0; x &amp;lt; divs.length; ++x)&lt;br /&gt;
        if(divs[x].className.indexOf(&amp;quot;vfd&amp;quot;) != -1)&lt;br /&gt;
            divs[x].style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
    document.getElementById(&amp;#039;footer&amp;#039;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function vfdlinks()&lt;br /&gt;
{&lt;br /&gt;
    if(!document.getElementById) return;&lt;br /&gt;
    var tabs = document.getElementById(&amp;#039;p-cactions&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
    addlilink(tabs, &amp;#039;javascript:hidevfd()&amp;#039;, &amp;#039;hide closed&amp;#039;, &amp;#039;ca-hide&amp;#039;);&lt;br /&gt;
    ta[&amp;#039;ca-hide&amp;#039;] = [&amp;#039;&amp;#039;, &amp;#039;Hide closed VFDs&amp;#039;];&lt;br /&gt;
    addlilink(tabs, &amp;#039;javascript:showvfd()&amp;#039;, &amp;#039;show closed&amp;#039;, &amp;#039;ca-show&amp;#039;);&lt;br /&gt;
    ta[&amp;#039;ca-show&amp;#039;] = [&amp;#039;&amp;#039;, &amp;#039;Show closed VFDs&amp;#039;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function changeLinks()&lt;br /&gt;
{&lt;br /&gt;
    if(!document.getElementById) return;&lt;br /&gt;
    // remove the &amp;quot;my&amp;quot; bits&lt;br /&gt;
    document.getElementById(&amp;#039;pt-mytalk&amp;#039;).firstChild.innerHTML = &amp;#039;talk&amp;#039;;&lt;br /&gt;
    document.getElementById(&amp;#039;pt-watchlist&amp;#039;).firstChild.innerHTML = &amp;#039;watchlist&amp;#039;;&lt;br /&gt;
    document.getElementById(&amp;#039;pt-mycontris&amp;#039;).firstChild.innerHTML = &amp;#039;contributions&amp;#039;;&lt;br /&gt;
    if(document.getElementById(&amp;#039;ca-edit&amp;#039;))&lt;br /&gt;
    document.getElementById(&amp;#039;ca-edit&amp;#039;).firstChild.innerHTML = &amp;#039;Edit&amp;#039;;&lt;br /&gt;
    // add a clock&lt;br /&gt;
    var toplinks = document.getElementById(&amp;#039;p-personal&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
    addlilink(toplinks, &amp;#039;&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;utcdate&amp;#039;);&lt;br /&gt;
    showtime();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addForceSummary(){&lt;br /&gt;
    if(!/&amp;amp;action=edit/.test(window.location.href)) return;&lt;br /&gt;
    if(/&amp;amp;section=new/.test(window.location.href)) return;&lt;br /&gt;
    if(!document.forms.editform) return;&lt;br /&gt;
    document.forms.editform.wpSave.onclick = forceSummary;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function forceSummary(){&lt;br /&gt;
    if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,&amp;#039;$1&amp;#039;)){&lt;br /&gt;
      var r = prompt(&amp;#039;Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:&amp;#039;,document.forms.editform.wpSummary.value);&lt;br /&gt;
      if(r == null) return false;&lt;br /&gt;
      document.forms.editform.wpSummary.value = r;&lt;br /&gt;
    }&lt;br /&gt;
    return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function vfddelete(){&lt;br /&gt;
    var form = document.forms.deleteconfirm;&lt;br /&gt;
    form.wpReason.value = &amp;#039;[[Wikipedia:Votes for deletion/&amp;#039; + unescape(window.location.href.replace(/^.*\?title=([^&amp;amp;]+)&amp;amp;action=delete.*$/, &amp;#039;$1&amp;#039;).replace(/_/g, &amp;#039; &amp;#039;)) + &amp;#039;]]&amp;#039;;&lt;br /&gt;
    form.wpConfirm.checked = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function morelinks(){&lt;br /&gt;
    var tabs = document.getElementById(&amp;#039;p-cactions&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
    if(document.title.indexOf(&amp;quot;Editing Wikipedia:Votes for deletion&amp;quot;) == 0)&lt;br /&gt;
    {&lt;br /&gt;
        addlimenu(tabs, &amp;#039;vfd actions&amp;#039;, &amp;#039;vfda&amp;#039;);&lt;br /&gt;
        var vfda = document.getElementById(&amp;#039;vfda&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;keep&amp;quot;, &amp;quot;&amp;quot;)&amp;#039;, &amp;#039;keep&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;merge and redirect&amp;quot;, &amp;quot; to [[&amp;quot; + prompt(&amp;quot;Merge and redirect to?&amp;quot;) + &amp;quot;]]&amp;quot;)&amp;#039;, &amp;#039;merge&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;redirect&amp;quot;, &amp;quot; to [[&amp;quot; + prompt(&amp;quot;Redirect to?&amp;quot;) + &amp;quot;]]&amp;quot;)&amp;#039;, &amp;#039;redir&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;transwiki&amp;quot;, &amp;quot; to &amp;quot; + prompt(&amp;quot;Transwiki to?&amp;quot;))&amp;#039;, &amp;#039;trans&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;transwiki&amp;quot;, &amp;quot; to Wiktionary&amp;quot;)&amp;#039;, &amp;#039;wikt&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;speedy delete&amp;quot;, &amp;quot;&amp;quot;)&amp;#039;, &amp;#039;speedy&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(&amp;quot;delete&amp;quot;, &amp;quot;&amp;quot;)&amp;#039;, &amp;#039;del&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(vfda, &amp;#039;javascript:closevfd(prompt(&amp;quot;Result?&amp;quot;), &amp;quot;&amp;quot;)&amp;#039;, &amp;#039;other&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(tabs, &amp;#039;javascript:replace()&amp;#039;, &amp;#039;replace&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(document.title.indexOf(&amp;quot;Confirm delete - Delete&amp;quot;) == 0)&lt;br /&gt;
    {&lt;br /&gt;
        addlilink(tabs, &amp;#039;javascript:vfddelete()&amp;#039;, &amp;#039;vfd&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(document.title.indexOf(&amp;quot;Editing User talk:&amp;quot;) == 0)&lt;br /&gt;
    {&lt;br /&gt;
        addlilink(tabs, &amp;#039;javascript:replace()&amp;#039;, &amp;#039;replace&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlimenu(tabs, &amp;#039;talk messages&amp;#039;, &amp;#039;talkm&amp;#039;);&lt;br /&gt;
        var talkm = document.getElementById(&amp;#039;talkm&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
        addlilink(talkm, &amp;#039;javascript:welcomeMessage()&amp;#039;, &amp;#039;welcome&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(talkm, &amp;#039;javascript:anonWelcome()&amp;#039;, &amp;#039;anon&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(talkm, &amp;#039;javascript:startThread()&amp;#039;, &amp;#039;thread&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(talkm, &amp;#039;javascript:editSummary()&amp;#039;, &amp;#039;summary&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
    else if(document.title.indexOf(&amp;quot;Editing &amp;quot;) == 0)&lt;br /&gt;
    {&lt;br /&gt;
        addlilink(tabs, &amp;#039;javascript:replace()&amp;#039;, &amp;#039;replace&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
        addlilink(tabs, &amp;#039;javascript:vfdresult()&amp;#039;, &amp;#039;vfd result&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addToolBoxLinks()&lt;br /&gt;
{&lt;br /&gt;
    var tb = document.getElementById(&amp;#039;p-tb&amp;#039;).getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Special:Newpages&amp;#039;, &amp;#039;New pages&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Special:Shortpages&amp;#039;, &amp;#039;Short pages&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Special:Log&amp;#039;, &amp;#039;Logs&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Template:Deletiontools&amp;#039;, &amp;#039;Deletion tools&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Wikipedia:Disambiguation_pages_with_links&amp;#039;, &amp;#039;Dab list&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/Wikipedia:Template_messages/User_talk_namespace&amp;#039;, &amp;#039;Talk messages&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/User_talk:Alphax/special&amp;#039;, &amp;#039;Special characters&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
    addlilink(tb, &amp;#039;/wiki/WP:ICT&amp;#039;, &amp;#039;Image Copyright tags&amp;#039;, &amp;#039;&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showtime()&lt;br /&gt;
{&lt;br /&gt;
    var timerID;&lt;br /&gt;
    var now = new Date();&lt;br /&gt;
    var timeValue = now.toUTCString().replace(/GMT/, &amp;quot;UTC&amp;quot;);&lt;br /&gt;
    document.getElementById(&amp;#039;utcdate&amp;#039;).firstChild.innerHTML = timeValue;&lt;br /&gt;
    timerID = setTimeout(&amp;#039;showtime()&amp;#039;, 100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Returns &amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;url&amp;quot;&amp;gt;name&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
function addlilink(url, name)&lt;br /&gt;
{&lt;br /&gt;
  var na = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
  na.setAttribute(&amp;#039;href&amp;#039;, url);&lt;br /&gt;
&lt;br /&gt;
  var txt = document.createTextNode(name);&lt;br /&gt;
  na.appendChild(txt);&lt;br /&gt;
&lt;br /&gt;
  var li = document.createElement(&amp;#039;li&amp;#039;);&lt;br /&gt;
  li.appendChild(na);&lt;br /&gt;
  return li;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Adds a &amp;quot;blocklog&amp;quot; tab and fills in the username field on Special:Blockip, if a &amp;quot;&amp;amp;faketarget=username&amp;quot; is present.&lt;br /&gt;
function do_blockip_stuff()&lt;br /&gt;
{&lt;br /&gt;
  // focus on Reason field&lt;br /&gt;
  document.getElementsByName(&amp;#039;wpBlockReason&amp;#039;)[0].focus();&lt;br /&gt;
&lt;br /&gt;
  // Look for a &amp;amp;faketarget= for the username/ip&lt;br /&gt;
  var l = location.search.substring(1).split(&amp;#039;&amp;amp;&amp;#039;);&lt;br /&gt;
  var target = &amp;#039;&amp;#039;;&lt;br /&gt;
  for (var i = 0; i &amp;lt; l.length; ++i)&lt;br /&gt;
    {&lt;br /&gt;
      var n = l[i].indexOf(&amp;#039;=&amp;#039;);&lt;br /&gt;
      if (l[i].substring(0, n) == &amp;#039;faketarget&amp;#039;)&lt;br /&gt;
	{&lt;br /&gt;
	  target = l[i].substring(n + 1);&lt;br /&gt;
	  break;&lt;br /&gt;
	}&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (target == &amp;#039;&amp;#039;)&lt;br /&gt;
    return;&lt;br /&gt;
&lt;br /&gt;
  // put account name in &amp;quot;IP Address/username&amp;quot; field&lt;br /&gt;
  var addr = document.getElementsByName(&amp;#039;wpBlockAddress&amp;#039;)[0];&lt;br /&gt;
  addr.value = unescape(target);&lt;br /&gt;
&lt;br /&gt;
  // add &amp;quot;blocklog&amp;quot; tab&lt;br /&gt;
  var c1 = document.getElementById(&amp;#039;column-one&amp;#039;);&lt;br /&gt;
  var tabs = c1.getElementsByTagName(&amp;#039;div&amp;#039;)[0].getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
  tabs.appendChild(addlilink(&amp;#039;/w/index.php?title=Special%3ALog&amp;amp;type=block&amp;amp;user=&amp;amp;page=User%3A&amp;#039; + target, &amp;#039;blocklog&amp;#039;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Opens the block log in the current window, and Special:Blockip in a popup.&lt;br /&gt;
// Width, height, top, and left are chosen for a 1600x1200 display.&lt;br /&gt;
//function blockpage_and_log(target)&lt;br /&gt;
//{&lt;br /&gt;
//  window.open(&amp;#039;Special_Blockip.html?foo=blarg&amp;amp;faketarget=&amp;#039; + target, &amp;#039;Block&amp;#039;, &amp;#039;width=1600,height=600,top=600,left=0&amp;#039;);&lt;br /&gt;
//  document.location.href = &amp;#039;http://en.wikipedia.org/w/index.php?title=Special%3ALog&amp;amp;type=block&amp;amp;user=&amp;amp;page=User%3A&amp;#039; + target;&lt;br /&gt;
//}&lt;br /&gt;
&lt;br /&gt;
// Adds &amp;quot;block&amp;quot; and &amp;quot;blocklog&amp;quot; tabs to User: and User talk: pages.&lt;br /&gt;
function add_block_tab()&lt;br /&gt;
{&lt;br /&gt;
  var c1 = document.getElementById(&amp;#039;column-one&amp;#039;);&lt;br /&gt;
  var tabs = c1.getElementsByTagName(&amp;#039;div&amp;#039;)[0].getElementsByTagName(&amp;#039;ul&amp;#039;)[0];&lt;br /&gt;
&lt;br /&gt;
  // use the &amp;quot;edit this page&amp;quot; tab to get already-tidied url&lt;br /&gt;
  var editlk = document.getElementById(&amp;#039;ca-edit&amp;#039;).getElementsByTagName(&amp;#039;a&amp;#039;)[0].href;&lt;br /&gt;
  // cut everything up to &amp;quot;title=&amp;quot; from the start and everything past &amp;quot;&amp;amp;action=edit&amp;quot; from the end&lt;br /&gt;
  editlk = editlk.substring(editlk.indexOf(&amp;#039;title=&amp;#039;) + 6, editlk.lastIndexOf(&amp;#039;&amp;amp;action=edit&amp;#039;));&lt;br /&gt;
  editlk = editlk.substring(editlk.indexOf(&amp;#039;:&amp;#039;) + 1);&lt;br /&gt;
  var slloc = editlk.indexOf(&amp;#039;/&amp;#039;);&lt;br /&gt;
  if (slloc &amp;gt; 0)&lt;br /&gt;
    editlk = editlk.substring(0, slloc);&lt;br /&gt;
&lt;br /&gt;
  // add &amp;quot;block&amp;quot; tab&lt;br /&gt;
  tabs.appendChild(addlilink(&amp;#039;/w/index.php?title=Special%3ABlockip&amp;amp;faketarget=&amp;#039; + editlk, &amp;#039;block&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
  // To open the block page and block log simultaneously, replace the above line with:&lt;br /&gt;
  // tabs.appendChild(addlilink(&amp;#039;javascript:blockpage_and_log(&amp;quot;&amp;#039; + editlk + &amp;#039;&amp;quot;)&amp;#039;, &amp;#039;Block&amp;#039;));&lt;br /&gt;
  // and uncomment the blockpage_and_log() function above.&lt;br /&gt;
&lt;br /&gt;
  // add &amp;quot;blocklog&amp;quot; tab&lt;br /&gt;
  tabs.appendChild(addlilink(&amp;#039;/w/index.php?title=Special%3ALog&amp;amp;type=block&amp;amp;user=&amp;amp;page=User%3A&amp;#039; + editlk, &amp;#039;blocklog&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
  //add &amp;quot;contributions&amp;quot; tab&lt;br /&gt;
  tabs.appendChild(addlilink(&amp;#039;/w/wiki.phtml?title=Special:Contributions&amp;amp;target=User%3A&amp;#039; + editlk, &amp;#039;contributions&amp;#039;));&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function do_onload()&lt;br /&gt;
{&lt;br /&gt;
  if (document.title.indexOf(&amp;#039;User:&amp;#039;) == 0&lt;br /&gt;
      || document.title.indexOf(&amp;#039;User talk:&amp;#039;) == 0)&lt;br /&gt;
    add_block_tab();&lt;br /&gt;
  else if (document.title.indexOf(&amp;#039;Block user&amp;#039;) == 0) // could stand to be more robust&lt;br /&gt;
    do_blockip_stuff();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (window.addEventListener) &lt;br /&gt;
  window.addEventListener(&amp;quot;load&amp;quot;, do_onload, false);&lt;br /&gt;
else if (window.attachEvent) &lt;br /&gt;
  window.attachEvent(&amp;quot;onload&amp;quot;, do_onload);&lt;br /&gt;
&lt;br /&gt;
if ( document.createElement &amp;amp;&amp;amp; window.addEventListener )&lt;br /&gt;
{&lt;br /&gt;
	function SoFixItInit() // pre-load, (don&amp;#039;t want to slow down loading of article&amp;#039;s content, though)&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function SoFixItLoad() // post-load&lt;br /&gt;
	{&lt;br /&gt;
		UserMenu = new PortletMenu( &amp;#039;p-personal&amp;#039;   );&lt;br /&gt;
		PageMenu = new PortletMenu( &amp;#039;p-cactions&amp;#039;   );&lt;br /&gt;
		 NavMenu = new PortletMenu( &amp;#039;p-navigation&amp;#039; );&lt;br /&gt;
		//ToolMenu = new PortletMenu( &amp;#039;p-tb&amp;#039;         );&lt;br /&gt;
&lt;br /&gt;
			//	This is inefficient and not particularly robust.&lt;br /&gt;
			//	This comes first, I want this link to come up as&lt;br /&gt;
			//	fast as possible.&lt;br /&gt;
			//&lt;br /&gt;
		function GetByClass( sElem, sClass )&lt;br /&gt;
		{	var i, a2 = [], a = document.getElementsByTagName( sElem );&lt;br /&gt;
			for ( i = 0; i &amp;lt; a.length; i++ )&lt;br /&gt;
				if ( a[ i ].className == sClass )&lt;br /&gt;
					a2.push( a[ i ] );&lt;br /&gt;
			return a2;&lt;br /&gt;
		}&lt;br /&gt;
		var a, td = GetByClass( &amp;#039;td&amp;#039;, &amp;#039;diff-otitle&amp;#039; );&lt;br /&gt;
		if ( ( td = td[ 0 ] ) &amp;amp;&amp;amp; ( a = td.getElementsByTagName( &amp;#039;a&amp;#039; )[ 0 ] ) )&lt;br /&gt;
			a.href = a.href + &amp;#039;&amp;amp;action=edit&amp;#039;; // need to change text, later&lt;br /&gt;
&lt;br /&gt;
		var userName = UserMenu.getText( &amp;#039;pt-userpage&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
			// personal (top-most) menu&lt;br /&gt;
			//&lt;br /&gt;
			//		Func  Talk  Prefs  Watch  List  Edits  Kate  Logs  #IRC  Out&lt;br /&gt;
			//&lt;br /&gt;
		UserMenu.setText( &amp;#039;pt-mytalk&amp;#039;     , &amp;#039;Talk&amp;#039;  );&lt;br /&gt;
		UserMenu.setText( &amp;#039;pt-preferences&amp;#039;, &amp;#039;Prefs&amp;#039; );&lt;br /&gt;
		UserMenu.setText( &amp;#039;pt-watchlist&amp;#039;  , &amp;#039;Watch&amp;#039; );&lt;br /&gt;
		UserMenu.setText( &amp;#039;pt-mycontris&amp;#039;  , &amp;#039;Edits&amp;#039; );&lt;br /&gt;
		UserMenu.setText( &amp;#039;pt-logout&amp;#039;     , &amp;#039;Out&amp;#039;   );&lt;br /&gt;
			//&lt;br /&gt;
		UserMenu.setHref( &amp;#039;pt-mycontris&amp;#039;,&lt;br /&gt;
			&amp;#039;http://en.wikipedia.org/w/index.php?title=Special:Contributions&amp;amp;target=&amp;#039; +&lt;br /&gt;
			userName + &amp;#039;&amp;amp;offset=0&amp;amp;limit=500&amp;#039; );&lt;br /&gt;
			//&lt;br /&gt;
			//&lt;br /&gt;
			//	it seems there is a stylesheet that makes them lowercase&lt;br /&gt;
			//&lt;br /&gt;
			//		ok, the lowercased menu items are starting to really bug me:&lt;br /&gt;
			//&lt;br /&gt;
		document.getElementById( &amp;#039;p-personal&amp;#039; ).getElementsByTagName( &amp;#039;ul&amp;#039; )[0].style.textTransform = &amp;#039;none&amp;#039;;&lt;br /&gt;
			//&lt;br /&gt;
		UserMenu.insertBefore( &amp;#039;pt-mycontris&amp;#039;, &amp;#039;pt-list&amp;#039;, &amp;#039;List&amp;#039;, &amp;#039;/wiki/Special:Watchlist/edit&amp;#039; );&lt;br /&gt;
		UserMenu.insertBefore( &amp;#039;pt-logout&amp;#039;   , &amp;#039;pt-logs&amp;#039;, &amp;#039;Logs&amp;#039;,&lt;br /&gt;
			&amp;#039;/w/index.php?title=Special%3ALog&amp;amp;user=&amp;#039; + userName );&lt;br /&gt;
		UserMenu.insertBefore( &amp;#039;pt-logout&amp;#039;   , &amp;#039;pt-irc&amp;#039; , &amp;#039;#IRC&amp;#039;, &amp;#039;irc://irc.freenode.net/wikipedia&amp;#039; );&lt;br /&gt;
		UserMenu.insertBefore( &amp;#039;pt-logs&amp;#039;     , &amp;#039;pt-kate&amp;#039;, &amp;#039;Kate&amp;#039;,&lt;br /&gt;
			&amp;#039;javascript:void InlineKate( &amp;quot;&amp;#039; + userName + &amp;#039;&amp;quot; )&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
			//	so I always know what time it is in UTC land:&lt;br /&gt;
			//&lt;br /&gt;
		UserMenu.append( &amp;#039;pt-utc&amp;#039;, UTCTime(), &amp;#039;javascript:void UserMenu.setText(&amp;quot;pt-utc&amp;quot;,UTCTime())&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
			//	article-actions menu, (the &amp;quot;tabs&amp;quot;)&lt;br /&gt;
			//&lt;br /&gt;
		if ( PageMenu[ &amp;#039;ca-history&amp;#039; ] ) // theory: if it has a history tab, then it&amp;#039;s purgable&lt;br /&gt;
		{&lt;br /&gt;
			PageMenu.insertBefore( &amp;#039;ca-history&amp;#039;, &amp;#039;ca-lastdiff&amp;#039;, &amp;#039;Last Diff&amp;#039;,&lt;br /&gt;
				PageMenu.getHref( &amp;#039;ca-history&amp;#039; ).replace( /action=history/, &amp;#039;diff=0&amp;#039; ) );&lt;br /&gt;
&lt;br /&gt;
			PageMenu.append( &amp;#039;ca-purge&amp;#039;, &amp;#039;Purge&amp;#039;,&lt;br /&gt;
				PageMenu.getHref( &amp;#039;ca-history&amp;#039; ).replace( /action=history/, &amp;#039;action=purge&amp;#039; ) );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var x = 1;&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;monobook.js&amp;#039;, &amp;#039;/wiki/User:&amp;#039; + userName + &amp;#039;/monobook.js&amp;#039; );&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;Cat:Wikipedia&amp;#039;, &amp;#039;/wiki/Category:Wikipedia&amp;#039; );&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;Cat:Policies&amp;#039;, &amp;#039;/wiki/Category:Wikipedia_policies_and_guidelines&amp;#039; );&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;Cat:Official&amp;#039;, &amp;#039;/wiki/Category:Wikipedia_official_policy&amp;#039; );&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;WP:Templates&amp;#039;, &amp;#039;/wiki/Wikipedia:Template&amp;#039; );&lt;br /&gt;
		NavMenu.append( &amp;#039;n-&amp;#039; + x++, &amp;#039;WP:Temp Tags&amp;#039;, &amp;#039;/wiki/Wikipedia:Template_messages/Cleanup&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function PortletMenu( id ) // constructor&lt;br /&gt;
	{&lt;br /&gt;
		this.menu = document.getElementById( id );&lt;br /&gt;
		this.list = this.menu.getElementsByTagName( &amp;#039;ul&amp;#039; )[ 0 ]; // bypass &amp;quot;&amp;lt;h5&amp;gt;Views&amp;lt;/h5&amp;gt;&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
			//	sigh...as far as I can figure, there is empty whitespace being treated&lt;br /&gt;
			//	as TextNodes....&lt;br /&gt;
			//&lt;br /&gt;
		var LIs = this.list.getElementsByTagName( &amp;#039;li&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		for ( var i = 0; i &amp;lt; LIs.length; i++ )&lt;br /&gt;
		{&lt;br /&gt;
			this[ LIs[ i ].id ] = LIs[ i ];&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this.newItem = function( id, txt, url )&lt;br /&gt;
		{	var li = document.createElement( &amp;#039;li&amp;#039; ); li.id   = id;&lt;br /&gt;
			var  a = document.createElement( &amp;#039;a&amp;#039;  );  a.href = url;&lt;br /&gt;
&lt;br /&gt;
			 a.appendChild( document.createTextNode( txt ) );&lt;br /&gt;
			li.appendChild( a );&lt;br /&gt;
&lt;br /&gt;
			this[ id ] = li; // watch this!!!&lt;br /&gt;
&lt;br /&gt;
			return li;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this.append = function( id, txt, url )&lt;br /&gt;
		{	this.list.appendChild( this.newItem( id, txt, url ) );&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		this.insertBefore = function( old, id, txt, url )&lt;br /&gt;
		{	this.list.insertBefore( this.newItem( id, txt, url ), this[ old ] );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
			//	the ByTagName here is a bit annoying, but in Safari, I was picking&lt;br /&gt;
			//	up TextNodes by using this[ id ].firstChild.firstChild&lt;br /&gt;
			//&lt;br /&gt;
		this.getText = function( id      ) { return this[ id ].getElementsByTagName( &amp;#039;a&amp;#039; )[ 0 ].firstChild.data }&lt;br /&gt;
		this.setText = function( id, txt ) {        this[ id ].getElementsByTagName( &amp;#039;a&amp;#039; )[ 0 ].firstChild.data = txt }&lt;br /&gt;
&lt;br /&gt;
		this.getHref = function( id      ) { return this[ id ].getElementsByTagName( &amp;#039;a&amp;#039; )[ 0 ].href       }&lt;br /&gt;
		this.setHref = function( id, url ) {        this[ id ].getElementsByTagName( &amp;#039;a&amp;#039; )[ 0 ].href = url }&lt;br /&gt;
		&lt;br /&gt;
		//	I add em as I need em....&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function InlineKate( user )&lt;br /&gt;
	{&lt;br /&gt;
		var kate =&lt;br /&gt;
			&amp;#039;http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?dbname=enwiki&amp;amp;user=&amp;#039; + user;&lt;br /&gt;
&lt;br /&gt;
		var div = document.createElement( &amp;#039;div&amp;#039; );&lt;br /&gt;
			div.id = &amp;#039;inlineKateDiv&amp;#039;;&lt;br /&gt;
			div.style.position = &amp;#039;absolute&amp;#039;;&lt;br /&gt;
			div.style.zIndex   = 1000;&lt;br /&gt;
			div.style.left     =  &amp;#039;20px&amp;#039;;&lt;br /&gt;
			div.style.top      =  &amp;#039;20px&amp;#039;;&lt;br /&gt;
			div.style.backgroundColor = &amp;#039;#FFFFFF&amp;#039;;&lt;br /&gt;
			div.style.borderStyle     = &amp;#039;solid&amp;#039;;&lt;br /&gt;
			div.style.borderWidth     = &amp;#039; medium&amp;#039;;&lt;br /&gt;
			div.style.borderColor     = &amp;#039;#000000&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
			var top = document.createElement( &amp;#039;div&amp;#039; );&lt;br /&gt;
				top.id = &amp;#039;inlineKateTop&amp;#039;;&lt;br /&gt;
				top.style.textAlign = &amp;#039;right&amp;#039;;&lt;br /&gt;
				top.style.margin = &amp;#039;8px&amp;#039;;&lt;br /&gt;
				top.style.backgroundColor = &amp;#039;#DDDDDD&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				var a = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
					a.appendChild( document.createTextNode( &amp;quot;Go to Kate&amp;#039;s&amp;quot; ) );&lt;br /&gt;
					a.href    = kate;&lt;br /&gt;
					a.target  = &amp;#039;_parent&amp;#039;;&lt;br /&gt;
					a.style.margin = &amp;#039;8px&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				top.appendChild( a );&lt;br /&gt;
&lt;br /&gt;
					a = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
					a.appendChild( document.createTextNode( &amp;#039;Close&amp;#039; ) );&lt;br /&gt;
					a.href    = &amp;quot;javascript:void RemoveNode(&amp;#039;inlineKateDiv&amp;#039;)&amp;quot;;&lt;br /&gt;
					a.style.margin = &amp;#039;8px&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
				top.appendChild( a );&lt;br /&gt;
&lt;br /&gt;
			div.appendChild( top );&lt;br /&gt;
&lt;br /&gt;
			var iframe = document.createElement( &amp;#039;iframe&amp;#039; );&lt;br /&gt;
				iframe.id   = &amp;#039;inlineKateBot&amp;#039;;&lt;br /&gt;
				iframe.style.width  = &amp;#039;300px&amp;#039;;&lt;br /&gt;
				iframe.style.height = &amp;#039;400px&amp;#039;;&lt;br /&gt;
				iframe.style.margin =   &amp;#039;8px&amp;#039;;&lt;br /&gt;
				iframe.style.borderStyle = &amp;#039;solid&amp;#039;;&lt;br /&gt;
				iframe.style.borderWidth = &amp;#039;thin&amp;#039;;&lt;br /&gt;
				iframe.style.borderColor = &amp;#039;#000000&amp;#039;;&lt;br /&gt;
				iframe.src = kate;&lt;br /&gt;
&lt;br /&gt;
			div.appendChild( iframe );&lt;br /&gt;
&lt;br /&gt;
		document.body.appendChild( div );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function RemoveNode( id )&lt;br /&gt;
	{	var node = document.getElementById( id )&lt;br /&gt;
		node.parentNode.removeChild( node );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function UTCTime()&lt;br /&gt;
	{&lt;br /&gt;
			//	Get a date stamp for the time in UTC-land.&lt;br /&gt;
			//&lt;br /&gt;
			//	for the future: a format arg&lt;br /&gt;
			//&lt;br /&gt;
		var s = &amp;#039;&amp;#039;,&lt;br /&gt;
			d = new Date(),&lt;br /&gt;
			a = &amp;#039;Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec&amp;#039;.split(&amp;#039; &amp;#039;);&lt;br /&gt;
		return	d.getUTCDate() + &amp;#039; &amp;#039; +&lt;br /&gt;
				a[ d.getUTCMonth() ] + &amp;#039; &amp;#039; +&lt;br /&gt;
				d.getUTCFullYear() + &amp;#039; &amp;#039; +&lt;br /&gt;
				( &amp;#039;0&amp;#039; + d.getUTCHours()   ).substr( -2 ) + &amp;#039;:&amp;#039; +&lt;br /&gt;
				( &amp;#039;0&amp;#039; + d.getUTCMinutes() ).substr( -2 ) + &amp;#039; &amp;#039; + &amp;#039;UTC&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	SoFixItInit();&lt;br /&gt;
	window.addEventListener( &amp;#039;load&amp;#039;, SoFixItLoad, false );&lt;br /&gt;
}&lt;br /&gt;
/* &amp;lt;/nowiki&amp;gt; */&lt;/div&gt;</summary>
		<author><name>TX</name></author>
	</entry>
</feed>