/* generated javascript */
var skin = 'monobook';
var stylepath = '/skins';

/* MediaWiki:Common.js */
/* Any JavaScript here will be loaded for all users on every page load. */

function isObject(obj) {
    if (typeof obj == "object" && obj != null)
         return true;
    else
         return false;
}

function isArray(obj) {
    if (isObject(obj)) {
        if (obj.constructor.toString().indexOf("Array") == -1)
            return false;
        else
            return true;
    }
    else
        return false;
}

Array.prototype.Contains = function(element,strict) {
     for(i in this) {
          if(this[i] == element && !strict) return true;
               else if(this[i] === element) return true;
          }
     return false;
}

function ModifySidebar(action, section, name, link) {
    try {
        switch (section) {
          case "languages":
            var target = "p-lang";
            break;
          case "toolbox":
            var target = "p-tb";
            break;
          case "navigation":
            var target = "p-navigation";
            break;
          default:
            var target = "p-" + section;
            break;
        }
 
        if (action == "add") {
            var node = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var aNode = document.createElement('a');
            var liNode = document.createElement('li');
 
            aNode.appendChild(document.createTextNode(name));
            aNode.setAttribute('href', link);
            liNode.appendChild(aNode);
            liNode.className='plainlinks';
            node.appendChild(liNode);
        }
 
        if (action == "remove") {
            var list = document.getElementById(target)
                               .getElementsByTagName('div')[0]
                               .getElementsByTagName('ul')[0];
 
            var listelements = list.getElementsByTagName('li');
 
            for (var i = 0; i < listelements.length; i++) {
                if (listelements[i].getElementsByTagName('a')[0].innerHTML == name ||
                    listelements[i].getElementsByTagName('a')[0].href == link) {
 
                    list.removeChild(listelements[i]);
                }
            }
        }
 
    } catch(e) {
      // lets just ignore what's happened
      return;
    }
}
 
function CustomizeModificationsOfSidebar() {
    //check if user logged-in
    if (isArray(wgUserGroups)) {
        //check if user is not a member of the elite groups
        if (!(wgUserGroups.Contains('bureaucrat') || 
              wgUserGroups.Contains('sysop') || 
              wgUserGroups.Contains('Editors')) ) {
           //remove extra options from non-elite user
           applyDeletions();
        }else if(wgUserGroups.Contains('sysop')){//if user is a sysop
           ModifySidebar("add","toolbox","Common JavaScript","/index.php?title=MediaWiki:Common.js");
           ModifySidebar("add","toolbox","Common Sidebar","/index.php?title=MediaWiki:Sidebar");
        }else{
           //do nothing
        }
    }else{
        //remove extra options from the regular visitor menu
        applyDeletions();
    }

}

function applyDeletions(){
    ModifySidebar("remove","toolbox","Upload file","/index.php?title=Special:Upload");
    ModifySidebar("remove","toolbox","Special pages","/index.php?title=Special:Specialpages");
    ModifySidebar("remove","toolbox","What links here","/index.php?title=Special:Special:Whatlinkshere");
    ModifySidebar("remove","toolbox","Related changes","/index.php?title=Special:Recentchangeslinked");
    ModifySidebar("remove","toolbox","Permanent link","/index.php?title=Main_Page");
}

addOnloadHook(CustomizeModificationsOfSidebar);

/* MediaWiki:Monobook.js (deprecated; migrate to Common.js!) */
/* Deprecated; use [[MediaWiki:common.js]] */