Header
From Dxx
Line 291: | Line 291: | ||
} | } | ||
</script> | </script> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Common.js=== | ||
+ | <source lang="javascript"> | ||
+ | /** 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.rows; | ||
+ | |||
+ | 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" ) ) { | ||
+ | |||
+ | /* only add button and increment count if there is a header row to work with */ | ||
+ | var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; | ||
+ | if (!HeaderRow) continue; | ||
+ | var Header = HeaderRow.getElementsByTagName( "th" )[0]; | ||
+ | if (!Header) continue; | ||
+ | |||
+ | 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.style.color = Header.style.color; | ||
+ | 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( "]" ) ); | ||
+ | |||
+ | 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 + ']'; | ||
+ | |||
+ | // 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); | ||
+ | for ( | ||
+ | var NavChild = NavFrame.firstChild; | ||
+ | NavChild != null; | ||
+ | NavChild = NavChild.nextSibling | ||
+ | ) { | ||
+ | if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) { | ||
+ | if (NavChild.style.display == 'none') { | ||
+ | NavToggleText = document.createTextNode(NavigationBarShow); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | 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); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addOnloadHook( createNavigationBarToggleButton ); | ||
+ | |||
+ | |||
+ | /** 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); | ||
+ | }; | ||
+ | })(); | ||
+ | </source> |
Revision as of 13:57, 6 January 2009
<style type="text/css">
/* Notes: -You must log as admin to edit this page -Whatever you enter in this page will be added to the html in the header after the standard style sheet, so you can override styles. -if you want your code to look nice on this page, put a space at the beginning of each line -This is the default style sheet that you can override : http://editthis.info/wiki/skins/monobook/main.css For example uncomment this next section to turn all the text green: */ /* body { color: green; } */ </style>
<script language="javascript" type="text/javascript"> function move_ads() { var ads = document.getElementsByTagName('iframe')[0]; var footer = document.getElementById('footer'); ads.parentNode.removeChild(ads); ads.style.visibility = 'visible'; footer.appendChild(ads); } function alter_page() { change_title(); move_ads(); } if (document.addEventListener) document.addEventListener("DOMContentLoaded", alter_page, false); else window.onload = alter_page; </script>
<style type="text/css">
/* Positioning */ #globalWrapper { position: relative; width: 950px; margin: 50px auto 0; padding: 0 5px 4px; }
<style type="text/css">
/* Orange "You have new messages" changed to use that nice icon of a rotary phone and complimenting colors */ .usermessage {
background-color: transparent; background: url('http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Exquisite-Modem_cropped.png/32px-Exquisite-Modem_cropped.png') no-repeat left; color: #444444; border: none; font-weight: bold; margin: 2em 0em 1em 0em; padding-left: 3.5em; vertical-align: middle;
}
.usermessage a {
color:#444444;
}
/* "From Wikipedia, the free encyclopedia" modification */
- siteSub {
font-family:Trebuchet MS; font-size: 95%;
}
/* Text alignment */ body.mediawiki {
text-align: left;
}
/* Tab rounding */
- p-cactions ul
{
overflow:visible;
}
- p-cactions li
{
border: 2px solid lightgrey; position: relative; float: left; -moz-border-radius-topleft: .5em; -moz-border-radius-topright: .5em;
}
/* Get rid of the border in the page title */ .firstHeading {
border-bottom:none;
}
hr#hrTitleModification {
width:0%;
}
/* Replace dotted borders on pre with a solid one. */
- bodyContent pre {
border: 1px solid #aaa;
}
/* Miscellaneous Corner-rounding */ div.pBody {
-moz-border-radius-topright:0.5em; -moz-border-radius-bottomright:0.5em;
}
- content {
-moz-border-radius-topleft: 0.75em; -moz-border-radius-bottomleft: 0.75em; border:1px solid #AAAAAA;
}
- footer {
-moz-border-radius: 6px; border:1px solid #fabd23;
}
/* Link customization */
- bodyContent a:active { font-weight: normal; }
- bodyContent a.interwiki, a.external { color: #002bb8; background:none; }}
- bodyContent a.text { background: display; }
/* Some editing screen modifications */
- editpage-copywarn3, #editpage-copywarn2, #editpage-copywarn {
display: none;
}
input#wpSummary {
width: 50%; margin-top: 12px;
}
.editHelp {
margin-top:1.25em; margin-bottom:6px;
}
- wpSave, #wpPreview {
margin-right:1px;
}
- previewnote {
text-decoration: blink;
}
- toolbar {
display: none;
}
textarea#wpTextbox1 {
background-color: #FFFFFF; /* Kill the horrible new background color for certain pages */ border: 1px solid #AAAAAA;
}
- longpagewarning {
display:none
}
/* Get RID of that annoying fund raiser advert */
- siteNotice {
display:none
}
/* Admin tools link fixer */
- adminbarlinks a:visited {
color:#002BB8
}
/* Patrolled pages fixer */ .patrollink {
display:none
} li.not-patrolled {
background-color:transparent
}
/* Nice borders for (almost) all boxes */ input[type="radio"], input[type="checkbox"] { border:none; } input[type="submit"] {
border: 1px solid #aaa !important; background-color: #f9f9f9 !important;
} /* make round corners for the rest */ input[type="submit"] {
-moz-border-radius-topleft: 2px !important; -moz-border-radius-topright: 2px !important; -moz-border-radius-bottomleft: 2px; -moz-border-radius-bottomright: 2px;
} input[type="submit"] {color: #aaa !important;} input[type="submit"]:hover, input[type="submit"]:focus {background-color: #fff !important; color: #000 !important; cursor: pointer !important;}
/* For use with my monobook */ .ns-0 * .tabmenu ul li {
background: white !important;
}
/* Prettify the headers of the quickbar (left-hand column of boxes) */
- p-navigation h5, #p-interaction h5, #p-search h5, #p-tb h5, #p-navclone h5, #p-lang h5 {
display: inline; height: 1em; font-size: 85%; font-weight: normal; white-space: nowrap; border-color:#aaa; border-width:1px; border-style: solid solid none solid; padding: 0 1em 1px 1em; text-transform: lowercase; background: white; -moz-border-radius-topright:1em
}
- p-navigation, #p-interaction, #p-search, #p-tb, #p-navclone, #p-lang {
padding-top: 2px;
}
/* Diff screen changes */
del.diffchange.diffchange-inline, ins.diffchange.diffchange-inline {
border:none;
}
/* Works in conjunction with my monobook.js */
li#ca-userrights, li#ca-stats6, li#ca-rts {
display:none;
}
/* Space below is for testing */
</style>
<script language=javascript type='text/javascript'> function hideDiv() { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById('hideshow').style.visibility = 'hidden'; } else { if (document.layers) { // Netscape 4 document.hideshow.visibility = 'hidden'; } else { // IE 4 document.all.hideshow.style.visibility = 'hidden'; } } }
function showDiv() { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById('hideshow').style.visibility = 'visible'; } else { if (document.layers) { // Netscape 4 document.hideshow.visibility = 'visible'; } else { // IE 4 document.all.hideshow.style.visibility = 'visible'; } } } </script>
Common.js
<source lang="javascript"> /** 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.rows;
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" ) ) {
/* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0]; if (!HeaderRow) continue; var Header = HeaderRow.getElementsByTagName( "th" )[0]; if (!Header) continue;
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.style.color = Header.style.color; 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( "]" ) );
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 + ']';
// 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); for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) { if (NavChild.style.display == 'none') { NavToggleText = document.createTextNode(NavigationBarShow); break; } } }
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); } } }
addOnloadHook( createNavigationBarToggleButton );
/** 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); }; })(); </source>