Jump to navigation
Jump to search
No edit summary |
m (syntax error) |
||
Line 70: | Line 70: | ||
} | } | ||
else if(bodyContent && getElementsByClassName) { | else if(bodyContent && getElementsByClassName) { | ||
navTocElements = getElementsByClassName(bodyContent,'*','nav_toc_append' | navTocElements = getElementsByClassName(bodyContent,'*','nav_toc_append'); | ||
alert('yes'); | alert('yes'); | ||
} | } |
Revision as of 20:17, 19 October 2006
// [[User:Lupin/popups.js]]
document.write('<script type="text/javascript" src="http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
simplePopups=false;
popupAdminLinks=true;
popupStructure='menus';
popupFixRedirs=true;
popupFixDabs=true;
popupPreviewFirstParOnly=false;
popupExtraUserMenu=true;
popupUseQueryInterface = false;
function siteArticlePath(){ return 'wiki'; }
function siteBotInterfacePath(){ return 'w'; }
// ---
/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
// ---
// Array support for the push method in IE 5
if(typeof Array.prototype.push != "function"){
Array.prototype.push = ArrayPush;
function ArrayPush(value){
this[this.length] = value;
}
}
// ---
/*
How to call the function:
To get all a elements in the document with a "info-links" class:
getElementsByClassName(document, "a", "info-links");
*/
// ---
// Appends any div.nav_toc_append to #nav_right
// Moves any existing #nav_toc to #nav_right
function domNavToc()
{
//var errNode = document.createTextNode( "No Sidebar" );
var navRight = document.getElementById( 'nav_right' );
if( !navRight ) {
return 0;
}
// Append all .nav_toc classed elements under #nav_toc_append
var len;
var navTocElements;
var bodyContent = document.getElementById('bodyContent');
alert('hi');
if(document.getElementsBySelector) {
navTocElements = document.getElementsBySelector('#bodyContent div.nav_toc_append');
}
else if(bodyContent && getElementsByClassName) {
navTocElements = getElementsByClassName(bodyContent,'*','nav_toc_append');
alert('yes');
}
else if(bodyContent && bodyContent.getElementsByTagName){
alert('no');
var elements = bodyContent.getElementsByTagName('div');
len = elements.length;
navTocElements = new Array();
for(var i = 0; i < len; i++)
{
if(elements[i].className == 'nav_toc_append')
{
navTocElements[navTocElements.length]=elements[i];
}
}
} else { return 0; }
alert('begin');
len = navTocElements.length;
alert(len);
for(var i = 0; i < len; i++)
{
var navTocAppend = navTocElements[i];
if( navTocAppend ) {
//not the right way to do this
if(navTocAppend.className == 'nav_toc_append')
{
var navTocAppendClone = navTocAppend.cloneNode(true);
navRight.appendChild( navTocAppendClone );
if(navTocAppendClone.style.display) {thisNavTocClone.style.display = 'block';}
if(navTocAppendClone.visibility) {thisNavTocClone.visibility = 'visible';}
navTocAppend.parentNode.removeChild(navTocAppend);
}
}
}
// Append errNode if navToc doesn't exist
var navToc = document.getElementById( 'nav_toc' );
if( !navToc ) {
//navRight.appendChild( errNode );
return 0;
}
var navToc2 = navToc.cloneNode(true);
navToc.parentNode.removeChild(navToc);
navRight.appendChild( navToc2 );
navToc2.style.display = 'block';
}