| You need to be logged into the wiki to be able to edit! To login or join the wiki, click here. | 
Difference between revisions of "User:Leech/vector.js"
From Kiwiki
								
												
				| Line 1: | Line 1: | ||
| + | <pre><nowiki> | ||
| + | //    --- ADD VARIOUS LINKS ---- | ||
| + | if(!addToolBoxLink) { | ||
| + | function addToolboxLink(url, name, id){ | ||
| + |     var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; | ||
| + |     addlilink(tb, url, name, id); | ||
| + | }} | ||
| + | // | ||
| + | if(!addTopLink) { | ||
| + | function addTopLink(url, name, id){ | ||
| + |     var personal = document.getElementById('p-personal').getElementsByTagName('ul')[0]; | ||
| + |     addlilink(personal, url, name, id); | ||
| + | }} | ||
| + | // | ||
| + | if(!addNavLink) { | ||
| + | function addNavLink(url, name, id){ | ||
| + |     var navigation = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; | ||
| + |     addlilink(navigation, url, name, id); | ||
| + | }} | ||
| + | // | ||
| + | if(!addTab) { | ||
| + | function addTab(url, name, id, title, key){ | ||
| + |     var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; | ||
| + |     return addlilink(tabs, url, name, id, title, key); | ||
| + | }} | ||
| + | if(!addLink) { | ||
| + | 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", "p-navigation", or "p-tb". | ||
| + |     // | ||
| + |     //* 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; | ||
| + | }} | ||
| + | if(!addlilink) { | ||
| + | function addlilink(tabs, url, name, id, title, key){ | ||
| + |     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); | ||
| + |     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; | ||
| + | }} | ||
| + | </nowiki></pre> | ||
| − | //  | + | //<pre><nowiki> | 
| − | + | //Auto welcome user script written by GeorgeMoney | |
| − | + | if(welcome == undefined) { | |
| − | + | //If you would like to make your own config you have 2 options: | |
| − | + | //1:Copy the entire code to your monobook and change the config | |
| − | + | //2:Copy everything, from this line until you see 'end config', into your monobook.js, and include the module to your monobook via an import function | |
| − | + | ||
| − | + | var welcome={};welcome.edit={};welcome.link={};welcome.link.tab={};welcome.link.newUserLog={};welcome.link.redLinkTalk={};welcome.options={}; | |
| − | + | ||
| − | + | //config | |
| − | + | welcome.edit.summary = "Welcome to Wikipedia!"; | |
| − | + | welcome.edit.text = "{{sub" + "st:User:GeorgeMoney/Welcome}}" + "\n" + "~~" + "~~"; | |
| − | + | welcome.edit.textAnon = "{{sub" + "st:Welcomeip}}" + "\n" + "~~" + "~~"; | |
| − | + | welcome.edit.button = 'wpSave'; | |
| + | |||
| + | welcome.link.newUserLog.defaultColor = "blue"; | ||
| + | welcome.link.newUserLog.clickedColor = "green"; | ||
| + | welcome.link.newUserLog.text = "[welcome]"; | ||
| + | |||
| + | welcome.link.redLinkTalk.defaultColor = "blue"; | ||
| + | welcome.link.redLinkTalk.clickedColor = "green"; | ||
| + | welcome.link.redLinkTalk.text = "[welcome]"; | ||
| + | welcome.link.redLinkTalk.blink = false; | ||
| + | |||
| + | welcome.link.tab.text = "welcome!"; | ||
| + | welcome.link.tab.accessKey = 'a'; | ||
| + | |||
| + | welcome.options.newUserLogaddReloadButton = true; | ||
| + | welcome.options.newUserLogEnabled = true; | ||
| + | welcome.options.redLinkTalkEnabled = true; | ||
| + | welcome.options.addTab = true; | ||
| + | welcome.options.askIfPageIsNotBlank = true; | ||
| + | welcome.options.maxLinks = 1000; | ||
| + | welcome.options.warnIfOverMaxLinks = false; | ||
| + | |||
| + | //end config | ||
| + | |||
| + | } | ||
| + | //main script | ||
| + | if(welcome.options.newUserLogEnabled && (/Special(%3A|:)Log(\/newusers$|(.*?&|\?)type=newusers)/i).test(window.location.href)) { | ||
| + |     if(window.location.hash != "") window.location.hash = ""; | ||
| + |     else { | ||
| + |         addOnloadHook(function() { | ||
| + |             var lis = document.getElementById('bodyContent').getElementsByTagName('ul')[0].getElementsByTagName('li'); | ||
| + |             for (var i=0; i<lis.length; i++) { | ||
| + |                 var li = lis[i]; | ||
| + |                 var url = li.firstChild.nextSibling.nextSibling.nextSibling.href; | ||
| + |                 var charao = (url.indexOf('?') != -1)?'&':'?'; | ||
| + |                 url += charao+"autowelcome=true" | ||
| + |                 var link = document.createElement('a'); | ||
| + |                 link.appendChild(document.createTextNode(welcome.link.newUserLog.text)); | ||
| + |                 link.style.color = welcome.link.newUserLog.defaultColor; | ||
| + |                 monclick = function() { | ||
| + |                     //this.style = { }; | ||
| + |                     this.style.textDecoration = 'none'; | ||
| + |                     this.style.color = welcome.link.newUserLog.clickedColor; | ||
| + |                         var n = parseInt(this.name.split('_')[2]); | ||
| + |                         var newhref = "#anchor_welcome_"+(n+1); | ||
| + |                     this.onmouseover = function() { return false; } | ||
| + |                     this.onfocus = function() { return false; } | ||
| + |                     this.onclick = function() { | ||
| + |                         window.open(this.href); | ||
| + |                         this.onclick = function() { return false; }; | ||
| + |                         return false; | ||
| + |                     } | ||
| + |                     this.onmousedown = function() { return false; } | ||
| + |                     this.onmouseup = function() { return false; } | ||
| + |                     this.onmouseout = function() { | ||
| + |                         //var n = parseInt(this.name.split('_')[2]); | ||
| + |                         //var newhref = "#anchor_welcome_"+(n+1); | ||
| + |                         //this.href /**/+= '&hasdone=true'; //newhref; | ||
| + |                         //this.href=newhref; | ||
| + |                         this.href = "javascript:void(0);"; | ||
| + |                         this.onmouseout = function() { | ||
| + |                             return false; | ||
| + |                         } | ||
| + |                     }; | ||
| + |                     //this.href = newhref; | ||
| + |                     //this.tagName = 'SPAN'; | ||
| + |                     //this.innerHTML = 'welcomed'; | ||
| + |                     this.style.cursor = "default"; | ||
| + |                 }; | ||
| + |                 //link.onfocus = monclick; | ||
| + |                 link.onmouseup = monclick; | ||
| + |                 link.href = url; | ||
| + |                 link.id = "id_welcome_"+i; | ||
| + |                 link.name = "anchor_welcome_"+i; | ||
| + |                 li.appendChild(link); | ||
| + |             } | ||
| + | |||
| + |             if(welcome.options.newUserLogaddReloadButton) { | ||
| + |                 var h1 = document.getElementsByTagName('h1')[0]; | ||
| + |                 var button = document.createElement('input'); | ||
| + |                 button.onclick = function() { | ||
| + |                     if(window.location.hash != "") | ||
| + |                         window.location.hash = ""; | ||
| + |                     location.reload(); | ||
| + |                 } | ||
| + |                 button.value = "reload"; | ||
| + |                 button.type = "button"; | ||
| + |                 h1.parentNode.insertBefore(button, h1.nextSibling); | ||
| + |             } | ||
| + |         }); | ||
| + |     } | ||
| + | } | ||
| + | |||
| + | if(welcome.options.redLinkTalkEnabled && !((/Special(%3A|:)Log(\/newusers$|(.*?&|\?)type=newusers)/i).test(window.location.href)) && ( ( (wgNamespaceNumber > -1 && wgNamespaceNumber % 2 != 0) || (wgCanonicalNamespace == "Wikipedia"||wgCanonicalNamespace == 'Special') ) || !wgIsArticle )) { | ||
| + |     addOnloadHook(function() { | ||
| + |         var alinks = document.getElementById('bodyContent').getElementsByTagName('a'); | ||
| + |         if(alinks.length > welcome.options.maxLinks) { | ||
| + |             if(welcome.options.warnIfOverMaxLinks) | ||
| + |                 var ok_to_go = confirm("This page has over "+welcome.options.maxLinks+" links.\n" | ||
| + |                 +"Searching for red links to add welcome links might take a while and freeze your" | ||
| + |                 +" browser\nTo continue and add welcome links, press ok."); | ||
| + |             else var ok_to_go = false; | ||
| + |         } else var ok_to_go = true; | ||
| + |         if(!ok_to_go) return; | ||
| + |         for(var i=0, j=0; i<alinks.length; i++) { | ||
| + |             var lin = alinks[i]; | ||
| + |             if(lin.className == "new" && (/User([_ ]talk)?:/i).test(lin.href) && lin.href.substr('http://en.wikipedia.org/w/index.php?title='.length).indexOf('/') == -1) { | ||
| + |                 var url = lin.href; | ||
| + |                 url = url.replace('User:', 'User_talk:'); | ||
| + |                 var charao = (url.indexOf('?') != -1)?'&':'?'; | ||
| + |                 url += charao+"autowelcome=true" | ||
| + |                 var nlin = document.createElement('a'); | ||
| + |                 nlin.appendChild(document.createTextNode(welcome.link.redLinkTalk.text)); | ||
| + |                 nlin.style.color = welcome.link.redLinkTalk.defaultColor; | ||
| + |                 monclick = function() { | ||
| + |                     this.style.textDecoration = 'none'; | ||
| + |                     this.style.color = welcome.link.redLinkTalk.clickedColor; | ||
| + |                         var n = parseInt(this.name.split('_')[2]); | ||
| + |                         var newhref = "#anchor_welcome_"+(n+1); | ||
| + |                     this.onmouseover = function() { return false; } | ||
| + |                     this.onfocus = function() { return false; } | ||
| + |                     this.onclick = function() { | ||
| + |                         window.open(this.href); | ||
| + |                         this.onclick = function() { return false; }; | ||
| + |                         return false; | ||
| + |                     } | ||
| + |                     this.onmousedown = function() { return false; } | ||
| + |                     this.onmouseup = function() { return false; } | ||
| + |                     this.onmouseout = function() { | ||
| + |                         //var n = parseInt(this.name.split('_')[2]); | ||
| + |                         //var newhref = "#anchor_welcome_"+(n+1); | ||
| + |                         //this.href /**/+= '&hasdone=true'; //newhref; | ||
| + |                         //this.href=newhref; | ||
| + |                         this.href = "javascript:void(0);"; | ||
| + |                         this.onmouseout = function() { | ||
| + |                             return false; | ||
| + |                         } | ||
| + |                     }; | ||
| + |                     //this.href = newhref; | ||
| + |                     //this.tagName = 'SPAN'; | ||
| + |                     //this.innerHTML = 'welcomed'; | ||
| + |                     this.style.cursor = "default"; | ||
| + |                 }; | ||
| + |                 nlin.onmouseup = monclick; | ||
| + |                 nlin.href = url; | ||
| + |                 nlin.id = "id_welcome_"+j; | ||
| + |                 nlin.name = "anchor_welcome_"+j; | ||
| + |                 if(welcome.link.redLinkTalk.blink) nlin.style.textDecoration = 'blink'; | ||
| + | |||
| + |                 try { //alert(lin+lin.href+lin.className+lin.innerHTML+lin.nextSibling); | ||
| + |                     if(lin.nextSibling) { | ||
| + |                         lin.parentNode | ||
| + |                             .insertBefore( | ||
| + |                                 nlin, | ||
| + |                                 lin.nextSibling | ||
| + |                             ); | ||
| + |                     } else { | ||
| + |                         lin.parentNode | ||
| + |                             .appendChild( | ||
| + |                                 nlin | ||
| + |                             ); | ||
| + | |||
| + |                     } | ||
| + |                     j++; | ||
| + |                 } catch(e) { | ||
| + |                     //alert(lin+lin.href+lin.className+lin.innerHTML+lin.nextSibling); | ||
| + |                     //alert(e.toString()); | ||
| + |                 } | ||
| + |             } | ||
| + |         } | ||
| + |     }); | ||
| + | } | ||
| + | |||
| + | if(welcome.options.addTab && ( wgCanonicalNamespace == 'User' || wgCanonicalNamespace == 'User_talk' ) ) { | ||
| + |     addOnloadHook(function() { | ||
| + |         try { | ||
| + |             var href = document.getElementById('ca-edit').firstChild.href; | ||
| + |             var charao = (href.indexOf('?') != -1)?'&':'?'; | ||
| + |             href += charao+"autowelcome=true"; | ||
| + |             if(wgCanonicalNamespace == 'User') href = href.replace(/User:/i, 'User_talk:'); | ||
| + |             var tbs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; | ||
| + |             addlilink(tbs, href, welcome.link.tab.text, 'ca-welcome', 'Welcome '+wgTitle, welcome.link.tab.accessKey); | ||
| + |         } catch(e) { } | ||
| + |     }); | ||
| + | } | ||
| + | |||
| + | if(window.location.href.indexOf('autowelcome=true') != -1 | ||
| + | &&window.location.href.indexOf('action=edit') == -1) { | ||
| + |     window.location.href += '&action=edit'; | ||
| + | } | ||
| + | |||
| + | if(window.location.href.indexOf('action=edit') != -1 | ||
| + | && window.location.href.indexOf('autowelcome=true') != -1) { | ||
| + |     if(window.location.href.indexOf('hasdone=true') != -1) { | ||
| + |         location.href = location.href.split('action=edit')[0] | ||
| + |                         .split('autowelcome=true')[0]; | ||
| + |     } else { | ||
| + |         addOnloadHook(function() { | ||
| + |             var text = document.getElementById('wpTextbox1').value; | ||
| + |             if(welcome.options.askIfPageIsNotBlank && text != '') { | ||
| + |                 var oktogo = confirm("There was other text detected on this page\nWould you like to continue with the welcome?"); | ||
| + |             } else var oktogo = true; | ||
| + |             var newtext = text + '\n'; | ||
| + |             if((/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/).test(wgPageName)) | ||
| + |                 newtext += welcome.edit.textAnon; | ||
| + |             else | ||
| + |                 newtext += welcome.edit.text; | ||
| + |             document.getElementById('wpTextbox1').value = newtext; | ||
| + |             document.getElementById('wpSummary').value = welcome.edit.summary; | ||
| + |             if(!oktogo) return; | ||
| + |             document.getElementById(welcome.edit.button).click(); | ||
| + |         }); | ||
| + |     } | ||
| + | } | ||
| + | |||
| + | //</nowiki></pre> | ||
Revision as of 01:26, 18 May 2012
<pre><nowiki>
//    --- ADD VARIOUS LINKS ----
if(!addToolBoxLink) {
function addToolboxLink(url, name, id){
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    addlilink(tb, url, name, id);
}}
//
if(!addTopLink) {
function addTopLink(url, name, id){
    var personal = document.getElementById('p-personal').getElementsByTagName('ul')[0];
    addlilink(personal, url, name, id);
}}
//
if(!addNavLink) {
function addNavLink(url, name, id){
    var navigation = document.getElementById('p-navigation').getElementsByTagName('ul')[0];
    addlilink(navigation, url, name, id);
}}
//
if(!addTab) {
function addTab(url, name, id, title, key){
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    return addlilink(tabs, url, name, id, title, key);
}}
if(!addLink) {
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", "p-navigation", or "p-tb".
    //
    //* 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;
}}
if(!addlilink) {
function addlilink(tabs, url, name, id, title, key){
    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);
    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;
}}
</nowiki></pre>
//<pre><nowiki>
//Auto welcome user script written by GeorgeMoney
if(welcome == undefined) {
//If you would like to make your own config you have 2 options:
//1:Copy the entire code to your monobook and change the config
//2:Copy everything, from this line until you see 'end config', into your monobook.js, and include the module to your monobook via an import function
var welcome={};welcome.edit={};welcome.link={};welcome.link.tab={};welcome.link.newUserLog={};welcome.link.redLinkTalk={};welcome.options={};
//config
welcome.edit.summary = "Welcome to Wikipedia!";
welcome.edit.text = "{{sub" + "st:User:GeorgeMoney/Welcome}}" + "\n" + "~~" + "~~";
welcome.edit.textAnon = "{{sub" + "st:Welcomeip}}" + "\n" + "~~" + "~~";
welcome.edit.button = 'wpSave';
welcome.link.newUserLog.defaultColor = "blue";
welcome.link.newUserLog.clickedColor = "green";
welcome.link.newUserLog.text = "[welcome]";
welcome.link.redLinkTalk.defaultColor = "blue";
welcome.link.redLinkTalk.clickedColor = "green";
welcome.link.redLinkTalk.text = "[welcome]";
welcome.link.redLinkTalk.blink = false;
welcome.link.tab.text = "welcome!";
welcome.link.tab.accessKey = 'a';
welcome.options.newUserLogaddReloadButton = true;
welcome.options.newUserLogEnabled = true;
welcome.options.redLinkTalkEnabled = true;
welcome.options.addTab = true;
welcome.options.askIfPageIsNotBlank = true;
welcome.options.maxLinks = 1000;
welcome.options.warnIfOverMaxLinks = false;
//end config
}
//main script
if(welcome.options.newUserLogEnabled && (/Special(%3A|:)Log(\/newusers$|(.*?&|\?)type=newusers)/i).test(window.location.href)) {
    if(window.location.hash != "") window.location.hash = "";
    else {
        addOnloadHook(function() {
            var lis = document.getElementById('bodyContent').getElementsByTagName('ul')[0].getElementsByTagName('li');
            for (var i=0; i<lis.length; i++) {
                var li = lis[i];
                var url = li.firstChild.nextSibling.nextSibling.nextSibling.href;
                var charao = (url.indexOf('?') != -1)?'&':'?';
                url += charao+"autowelcome=true"
                var link = document.createElement('a');
                link.appendChild(document.createTextNode(welcome.link.newUserLog.text));
                link.style.color = welcome.link.newUserLog.defaultColor;
                monclick = function() {
                    //this.style = { };
                    this.style.textDecoration = 'none';
                    this.style.color = welcome.link.newUserLog.clickedColor;
                        var n = parseInt(this.name.split('_')[2]);
                        var newhref = "#anchor_welcome_"+(n+1);
                    this.onmouseover = function() { return false; }
                    this.onfocus = function() { return false; }
                    this.onclick = function() {
                        window.open(this.href);
                        this.onclick = function() { return false; };
                        return false;
                    }
                    this.onmousedown = function() { return false; }
                    this.onmouseup = function() { return false; }
                    this.onmouseout = function() {
                        //var n = parseInt(this.name.split('_')[2]);
                        //var newhref = "#anchor_welcome_"+(n+1);
                        //this.href /**/+= '&hasdone=true'; //newhref;
                        //this.href=newhref;
                        this.href = "javascript:void(0);";
                        this.onmouseout = function() {
                            return false;
                        }
                    };
                    //this.href = newhref;
                    //this.tagName = 'SPAN';
                    //this.innerHTML = 'welcomed';
                    this.style.cursor = "default";
                };
                //link.onfocus = monclick;
                link.onmouseup = monclick;
                link.href = url;
                link.id = "id_welcome_"+i;
                link.name = "anchor_welcome_"+i;
                li.appendChild(link);
            }
           
            if(welcome.options.newUserLogaddReloadButton) {
                var h1 = document.getElementsByTagName('h1')[0];
                var button = document.createElement('input');
                button.onclick = function() {
                    if(window.location.hash != "")
                        window.location.hash = "";
                    location.reload();
                }
                button.value = "reload";
                button.type = "button";
                h1.parentNode.insertBefore(button, h1.nextSibling);
            }
        });
    }
}
if(welcome.options.redLinkTalkEnabled && !((/Special(%3A|:)Log(\/newusers$|(.*?&|\?)type=newusers)/i).test(window.location.href)) && ( ( (wgNamespaceNumber > -1 && wgNamespaceNumber % 2 != 0) || (wgCanonicalNamespace == "Wikipedia"||wgCanonicalNamespace == 'Special') ) || !wgIsArticle )) {
    addOnloadHook(function() {
        var alinks = document.getElementById('bodyContent').getElementsByTagName('a');
        if(alinks.length > welcome.options.maxLinks) {
            if(welcome.options.warnIfOverMaxLinks)
                var ok_to_go = confirm("This page has over "+welcome.options.maxLinks+" links.\n"
                +"Searching for red links to add welcome links might take a while and freeze your"
                +" browser\nTo continue and add welcome links, press ok.");
            else var ok_to_go = false;
        } else var ok_to_go = true;
        if(!ok_to_go) return;
        for(var i=0, j=0; i<alinks.length; i++) {
            var lin = alinks[i];
            if(lin.className == "new" && (/User([_ ]talk)?:/i).test(lin.href) && lin.href.substr('http://en.wikipedia.org/w/index.php?title='.length).indexOf('/') == -1) {
                var url = lin.href;
                url = url.replace('User:', 'User_talk:');
                var charao = (url.indexOf('?') != -1)?'&':'?';
                url += charao+"autowelcome=true"
                var nlin = document.createElement('a');
                nlin.appendChild(document.createTextNode(welcome.link.redLinkTalk.text));
                nlin.style.color = welcome.link.redLinkTalk.defaultColor;
                monclick = function() {
                    this.style.textDecoration = 'none';
                    this.style.color = welcome.link.redLinkTalk.clickedColor;
                        var n = parseInt(this.name.split('_')[2]);
                        var newhref = "#anchor_welcome_"+(n+1);
                    this.onmouseover = function() { return false; }
                    this.onfocus = function() { return false; }
                    this.onclick = function() {
                        window.open(this.href);
                        this.onclick = function() { return false; };
                        return false;
                    }
                    this.onmousedown = function() { return false; }
                    this.onmouseup = function() { return false; }
                    this.onmouseout = function() {
                        //var n = parseInt(this.name.split('_')[2]);
                        //var newhref = "#anchor_welcome_"+(n+1);
                        //this.href /**/+= '&hasdone=true'; //newhref;
                        //this.href=newhref;
                        this.href = "javascript:void(0);";
                        this.onmouseout = function() {
                            return false;
                        }
                    };
                    //this.href = newhref;
                    //this.tagName = 'SPAN';
                    //this.innerHTML = 'welcomed';
                    this.style.cursor = "default";
                };
                nlin.onmouseup = monclick;
                nlin.href = url;
                nlin.id = "id_welcome_"+j;
                nlin.name = "anchor_welcome_"+j;
                if(welcome.link.redLinkTalk.blink) nlin.style.textDecoration = 'blink';
               
                try { //alert(lin+lin.href+lin.className+lin.innerHTML+lin.nextSibling);
                    if(lin.nextSibling) {
                        lin.parentNode
                            .insertBefore(
                                nlin,
                                lin.nextSibling
                            );
                    } else {
                        lin.parentNode
                            .appendChild(
                                nlin
                            );
                   
                    }
                    j++;
                } catch(e) {
                    //alert(lin+lin.href+lin.className+lin.innerHTML+lin.nextSibling);
                    //alert(e.toString());
                }
            }
        }
    });
}
if(welcome.options.addTab && ( wgCanonicalNamespace == 'User' || wgCanonicalNamespace == 'User_talk' ) ) {
    addOnloadHook(function() {
        try {
            var href = document.getElementById('ca-edit').firstChild.href;
            var charao = (href.indexOf('?') != -1)?'&':'?';
            href += charao+"autowelcome=true";
            if(wgCanonicalNamespace == 'User') href = href.replace(/User:/i, 'User_talk:');
            var tbs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
            addlilink(tbs, href, welcome.link.tab.text, 'ca-welcome', 'Welcome '+wgTitle, welcome.link.tab.accessKey);
        } catch(e) { }
    });
}
if(window.location.href.indexOf('autowelcome=true') != -1
&&window.location.href.indexOf('action=edit') == -1) {
    window.location.href += '&action=edit';
}
if(window.location.href.indexOf('action=edit') != -1
&& window.location.href.indexOf('autowelcome=true') != -1) {
    if(window.location.href.indexOf('hasdone=true') != -1) {
        location.href = location.href.split('action=edit')[0]
                        .split('autowelcome=true')[0];
    } else {
        addOnloadHook(function() {
            var text = document.getElementById('wpTextbox1').value;
            if(welcome.options.askIfPageIsNotBlank && text != '') {
                var oktogo = confirm("There was other text detected on this page\nWould you like to continue with the welcome?");
            } else var oktogo = true;
            var newtext = text + '\n';
            if((/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/).test(wgPageName))
                newtext += welcome.edit.textAnon;
            else
                newtext += welcome.edit.text;
            document.getElementById('wpTextbox1').value = newtext;
            document.getElementById('wpSummary').value = welcome.edit.summary;
            if(!oktogo) return;
            document.getElementById(welcome.edit.button).click();
        });
    }
}
//</nowiki></pre>
