Probuild 24/7 FREEBUILD Wiki
Advertisement

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

/****************************************/ /* sliders using jquery by User:Tierrie */ /* Copied from Assassin's Creed Wiki */ /* as an extension of work done by */ /* User:DarkFeather */ /****************************************/ //wsl.loadScript("http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"); wsl.loadScript("http://probuildfreebuild.wikia.com/index.php?title=MediaWiki:Jquery-ui.min.js&action=raw&ctype=text/javascript");


$(document).ready(function() {

 var $tabs = $("#portal_slider").tabs({ fx: {opacity:'toggle', duration:100} } );
 $("[class^=portal_sliderlink]").click(function() { // bind click event to link
   $tabs.tabs('select', this.className.replace("portal_sliderlink_", ""));
   return false;
 });
 $('#portal_next').click(function() {
   $tabs.tabs('select', ($tabs.tabs('option', 'selected') == ($tabs.tabs('length'))-1) ? 0 : $tabs.tabs('option', 'selected') + 1 ); // switch to next tab
   return false;
 });
 $('#portal_prev').click(function() { // bind click event to link
   $tabs.tabs('select', ($tabs.tabs('option', 'selected') == 0) ? ($tabs.tabs('length')-1) : $tabs.tabs('option', 'selected') - 1 ); // switch to previous tab
   return false;
 });

});

// ============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // This script is from Wikipedia. For author attribution, please see http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&action=history


/* Test if an element has a certain class **************************************

*
* Description: Uses regular expressions and caching for better performance.
* Maintainers: User:Mike Dillon, User:R. Koot, User:SG
*/

var hasClass = (function () {

   var reCache = {};
   return function (element, className) {
       return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
   };

})();

/** Collapsible tables *********************************************************
 *
 *  Description: Allows tables to be collapsed, showing only the header. See
 *               Wikipedia:NavFrame.
 *  Maintainers: User:R. Koot
 */

var autoCollapse = 2;
var collapseCaption = "hide";
var expandCaption = "show";

function collapseTable( tableIndex )
{
    var Button = document.getElementById( "collapseButton" + tableIndex );
    var Table = document.getElementById( "collapsibleTable" + tableIndex );

    if ( !Table || !Button ) {
        return false;
    }

    var Rows = Table.getElementsByTagName( "tr" ); 

    if ( Button.firstChild.data == collapseCaption ) {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = "none";
        }
        Button.firstChild.data = expandCaption;
    } else {
        for ( var i = 1; i < Rows.length; i++ ) {
            Rows[i].style.display = Rows[0].style.display;
        }
        Button.firstChild.data = collapseCaption;
    }
}

function createCollapseButtons()
{
    var tableIndex = 0;
    var NavigationBoxes = new Object();
    var Tables = document.getElementsByTagName( "table" );

    for ( var i = 0; i < Tables.length; i++ ) {
        if ( hasClass( Tables[i], "collapsible" ) ) {
            NavigationBoxes[ tableIndex ] = Tables[i];
            Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );

            var Button     = document.createElement( "span" );
            var ButtonLink = document.createElement( "a" );
            var ButtonText = document.createTextNode( collapseCaption );

            Button.style.styleFloat = "right";
            Button.style.cssFloat = "right";
            Button.style.fontWeight = "normal";
            Button.style.textAlign = "right";
            Button.style.width = "6em";

            ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
            ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );
            ButtonLink.appendChild( ButtonText );

            Button.appendChild( document.createTextNode( "[" ) );
            Button.appendChild( ButtonLink );
            Button.appendChild( document.createTextNode( "]" ) );

            var Header = Tables[i].getElementsByTagName( "tr" )[0].getElementsByTagName( "th" )[0];
            /* only add button and increment count if there is a header row to work with */
            if (Header) {
                Header.insertBefore( Button, Header.childNodes[0] );
                tableIndex++;
            }
        }
    }

    for ( var i = 0;  i < tableIndex; i++ ) {
        if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) {
            collapseTable( i );
        }
    }
}
addOnloadHook( createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
 *
 *  Description: See Wikipedia:NavFrame.
 *  Maintainers: UNMAINTAINED
 */

 // set up the words in your language
 var NavigationBarHide = '[' + collapseCaption + ']';
 var NavigationBarShow = '[' + expandCaption + ']';
 
 // set up max count of Navigation Bars on page,
 // if there are more, all will be hidden
 // NavigationBarShowDefault = 0; // all bars will be hidden
 // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 var NavigationBarShowDefault = autoCollapse;
 
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 //     indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(indexNavigationBar)
 {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    if (NavToggle.firstChild.data == NavigationBarHide) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if ( hasClass( NavChild, 'NavPic' ) ) {
                NavChild.style.display = 'none';
            }
            if ( hasClass( NavChild, 'NavContent') ) {
                NavChild.style.display = 'none';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } else if (NavToggle.firstChild.data == NavigationBarShow) {
        for (
                var NavChild = NavFrame.firstChild;
                NavChild != null;
                NavChild = NavChild.nextSibling
            ) {
            if (hasClass(NavChild, 'NavPic')) {
                NavChild.style.display = 'block';
            }
            if (hasClass(NavChild, 'NavContent')) {
                NavChild.style.display = 'block';
            }
        }
    NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    var indexNavigationBar = 0;
    // iterate over all < div >-elements 
    var divs = document.getElementsByTagName("div");
    for(
            var i=0; 
            NavFrame = divs[i]; 
            i++
        ) {
        // if found a navigation bar
        if (hasClass(NavFrame, "NavFrame")) {
 
            indexNavigationBar++;
            var NavToggle = document.createElement("a");
            NavToggle.className = 'NavToggle';
            NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
            
            var NavToggleText = document.createTextNode(NavigationBarHide);
            NavToggle.appendChild(NavToggleText);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0; 
              j < NavFrame.childNodes.length; 
              j++
            ) {
              if (hasClass(NavFrame.childNodes[j], "NavHead")) {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1; 
                i<=indexNavigationBar; 
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
  
 } 
 addOnloadHook( createNavigationBarToggleButton );

////////////////////////////////////////////////////////

//THE CODES BELOW DEALS WITH ERA TEMPLATE //codes courtesy of silent hill wiki.

function showEras(className) {

   if(typeof(SKIP_ERAS) != 'undefined' && SKIP_ERAS)
       return;
   var titleDiv = document.getElementById(className);
   if(titleDiv == null || titleDiv == undefined)
       return;
   var cloneNode = titleDiv.cloneNode(true);
   var firstHeading = getFirstHeading();
   firstHeading.insertBefore(cloneNode, firstHeading.childNodes[0]);
   cloneNode.style.display = "block";

}

function getFirstHeading() {

   var elements = getElementsByClass('firstHeading', document.getElementById('content'), 'h1');
   return (elements != null && elements.length > 0) ? elements[0] : null;

}

function moveRating() {

   var elements = getElementsByClass('ratings-top', document.getElementById('content'), 'div');
   if(elements[0] == null || elements[0] == undefined)
       return;
   var cloneNode = elements[0].cloneNode(true);
   var firstHeading = getFirstHeading();
   firstHeading.insertBefore(cloneNode, firstHeading.childNodes[0]);
   cloneNode.style.display = "block";

}

/*

   Source: http://www.dustindiaz.com/getelementsbyclass/
   getElementsByClass, which complements getElementById and getElementsByTagName, returns an array of all subelements of node that are tagged with a specific CSS class (searchClass) and are of the tag name tag. If tag is null, it searches for any suitable elements regardless of the tag name.
   Example: getElementsByClass('infobox', document.getElementById('content'), 'div') selects the same elements as the CSS declaration #content div.infobox
  • /

function getElementsByClass(searchClass, node, tag) { var classElements = new Array();

if(node == null) node = document;

if(tag == null) tag = '*';

var els = node.getElementsByTagName(tag); var elsLen = els.length; var tester = new ClassTester(searchClass);

for(i = 0, j = 0; i < elsLen; i++) { if(tester.isMatch(els[i])) { classElements[j] = els[i]; j++; } }

return classElements; }

function ClassTester(className) {

   this.regex = new RegExp("(^|\\s)" + className + "(\\s|$)");

}

ClassTester.prototype.isMatch = function(element) {

   return this.regex.test(element.className);

} /*

   end getElementsByClass
  • /

moveRating(); showEras('title-linktabs');

// END OF CODES FOR ERA

//**Special:Upload**//

function Information() { if((wgPageName == 'Special:Upload' || wgPageName == 'Special:MultipleUpload') && document.getElementById('wpDestFile').value == ) { document.getElementById('wpUploadDescription').value = 'Template:Information\r'; } } addOnloadHook(Information);

/* ######################################################################## */ /* ### TITLE ICONS (Template:Games) ### */ /* ### ---------------------------------------------------------------- ### */ /* ### Description: Add icons to article title ### */ /* ### Credit: User:Porter21 ### */ /* ######################################################################## */

function addTitleIcons () {

  var iconBar = $('#va-titleicons');
  var previewBar = $('#va-titleicons-preview');
  if (skin != 'monobook' && skin != 'oasis' && skin != 'wikia') {
     return;
  }
  if (iconBar.length > 0 && $('a', previewBar).length > 0) {
     if (skin == 'oasis' || skin == 'wikia') {
        var articleDiv = $('#WikiaArticle');
        if (articleDiv.length > 0) {
           iconBar.css('display', 'block').prependTo(articleDiv);
        }
     } else if (skin == 'monobook') {
        var firstHeading = $('#firstHeading').css('position', 'relative');
        if (firstHeading.length > 0) {
           iconBar.css('display', 'block').appendTo(firstHeading.css('padding-right', previewBar.width() + 25));
        }
     }
     $('#va-titleicons-more').append('<img width="0" height="0" class="va-titleicons-chevron" src="blank.gif">');
     iconBar.hover(
        function () {
           $(this).addClass('va-titleicons-hover');
        }, function () {
           $(this).removeClass('va-titleicons-hover');
        });
  }

}

//**Summaries**// importScriptPage('MediaWiki:Common.js/standardeditsummaries.js');

//**DisableArchiveEdit of talk pages**// importScriptPage('DisableArchiveEdit/code.js', 'dev');

//**Disable blog comments for blogs and Forums that haven't been commented on for more than 30 days.**// importScriptPage('MediaWiki:Common.js/blogforum.js');

//**Information template**// importScriptPage('MediaWiki:Common.js/custombuttons.js');

//**Auto-Refresh**// importScriptPage('MediaWiki:Common.js/Autorefresh.js');

//**A few extra links to the "On the Wiki" tab**// $(document).ready(function() {

$('.WikiHeaderRestyle > nav > ul > li:first-child > ul').append('

  • <a class="subnav-2a" href="/wiki/Assassin%27s_Creed_Wiki:WikiPolicies">Wiki Rules</a>
  • <a class="subnav-2a" href="/wiki/Assassin%27s_Creed_Wiki:Maintenance">Maintenance</a>
  • <a class="subnav-2a" href="/wiki/Forum:Index">Forums</a>
  • '); }); //**Duplicate images**// importScriptPage('MediaWiki:Common.js/dupimage.js‎‎', 'prototype'); //**Back to top**// importScriptPage('MediaWiki:Common.js/top.js', 'prototype');

    Advertisement