User:Segjin/monobook.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| (38 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
var hashTable = new Object(); | |||
function toggleSearch() { | function toggleSearch() { | ||
| Line 75: | Line 34: | ||
indicator + "</span></a>]</span>"); | indicator + "</span></a>]</span>"); | ||
} | } | ||
} | } | ||
function | function GetText(obj) { | ||
if (obj.title) | |||
return obj.title; | |||
else if (obj.alt) | |||
return obj.alt; | |||
else if (obj.innerText) | |||
return obj.innerText; | |||
else if (obj.textContent) | |||
return obj.textContent | |||
else | |||
return obj.innerHTML; | |||
} | } | ||
function | function ChildCount(obj) { | ||
var | var count = 0; | ||
} | if (obj.children) { | ||
count = obj.children.length; | |||
} | |||
else if (obj.childNodes) { | |||
for (var i = 0; i < obj.childNodes.length; i++) { | |||
if (obj.childNodes[i].nodeType == 1) { | |||
count++; | |||
} | |||
} | |||
} | |||
return count; | |||
} | } | ||
function | function SetupSearch() { | ||
toggleSearch(); | |||
} | } | ||
function ModifyActions() { | |||
function | |||
var div = document.getElementById('p-cactions'); | var div = document.getElementById('p-cactions'); | ||
var li = div.getElementsByTagName('li'); | var li = div.getElementsByTagName('li'); | ||
| Line 136: | Line 84: | ||
} | } | ||
} | } | ||
} | |||
function MangleImages() { | |||
var images = document.getElementsByTagName('IMG'); | |||
if (images) { | |||
if (images.length) { | |||
for (var i = 0; i < images.length; i++) { | |||
MangleImage(images[i]); | |||
} | |||
} else { | |||
MangleImage(images); | |||
} | |||
} | |||
} | |||
function MangleImage(image) { | |||
if (image) { | |||
if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) { | |||
image.title = image.alt; | |||
} | |||
} | |||
} | |||
function MangleLinks() { | |||
var links = document.getElementsByTagName('A'); | |||
if (links) { | |||
if (links.length) { | |||
for (var i = 0; i < links.length; i++) { | |||
MangleLink(links[i]); | |||
} | |||
} else { | |||
MangleLink(links); | |||
} | |||
} | |||
} | |||
function MangleLink(link) { | |||
var statusText = ""; | |||
if (link) { | |||
link.onmouseover = function() { | |||
hashTable[link] = new Array( link.style.color ); | |||
link.style.color = '#FFFF99'; | |||
if (ChildCount(link) == 0) { | |||
statusText = link.title = GetText(link); | |||
} | |||
window.status = statusText; | |||
return true; | |||
}; | |||
link.onmouseout = function() { | |||
if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) { | |||
link.style.color = hashTable[link][0]; | |||
hashTable[link] = null; | |||
} | |||
window.status = ''; | |||
return true; | |||
}; | |||
} | |||
} | |||
function MoveElement(elem, parent) { | |||
elem.parentNode.removeChild(elem); | |||
parent.insertBefore(elem, parent.firstChild); | |||
} | } | ||
function PerformLoad() { | function PerformLoad() { | ||
var global = document.getElementById('globalWrapper'); | |||
var columnContent = document.getElementById('column-content'); | |||
var columnOne = document.getElementById('column-one'); | |||
var actions = document.getElementById('p-cactions'); | |||
var logo = document.getElementById('p-logo'); | |||
var footer = document.getElementById('footer'); | |||
var mwIcon = document.getElementById('f-poweredbyico'); | |||
var content = document.getElementById('content'); | |||
// IE fix | |||
content.style.margin = '0 0 0 0'; | |||
var table; | |||
var row; | |||
var cell; | |||
table = document.createElement('table'); | |||
table.cellPadding = 0; | |||
table.cellSpacing = 0; | |||
table.setAttribute('width', '100%'); | |||
row = table.insertRow(table.rows.length); | |||
cell = row.insertCell(0); | |||
cell.colSpan = 2; | |||
MoveElement(logo, cell); | |||
row = table.insertRow(table.rows.length); | |||
cell = row.insertCell(0); | |||
cell.colSpan = 2; | |||
MoveElement(actions, cell); | |||
row = table.insertRow(table.rows.length); | |||
row.vAlign = 'top'; | |||
cell = row.insertCell(0); | |||
cell.vAlign = 'top'; | |||
cell.setAttribute('width', '1%'); | |||
MoveElement(columnOne, cell); | |||
cell = row.insertCell(1); | |||
cell.vAlign = 'top'; | |||
cell.align = 'left'; | |||
cell.setAttribute('width', '99%'); | |||
MoveElement(columnContent, cell); | |||
row = table.insertRow(table.rows.length); | |||
cell = row.insertCell(0); | |||
cell.colSpan = 2; | |||
MoveElement(footer, cell); | |||
row = table.insertRow(table.rows.length); | |||
cell = row.insertCell(0); | |||
cell.colSpan = 2; | |||
cell.innerHTML = "<img id='footerImage' src='/images/land2.jpg' width='799' height='144' />"; | |||
global.insertBefore(table, global.firstChild); | |||
mwIcon.parentNode.removeChild(mwIcon); | |||
footer.appendChild(mwIcon); | |||
MangleLinks(); | |||
MangleImages(); | |||
SetupSearch(); | SetupSearch(); | ||
ModifyActions(); | |||
// Personal tools after Search | |||
var pt = document.getElementById('p-personal'); | |||
var tb = document.getElementById('p-tb'); | |||
MoveElement(pt, tb); | |||
pt.style.paddingBottom = '10px'; | |||
} | } | ||
Latest revision as of 15:57, 4 January 2006
var hashTable = new Object();
function toggleSearch() {
var objSearch = document.getElementById("p-search");
var header = objSearch.getElementsByTagName("h5")[0];
var div = objSearch.getElementsByTagName("div")[0];
var indicator;
if (div.style.display == "none") {
div.style.display = "block";
indicator = "hide";
} else {
div.style.display = "none";
indicator = "show";
}
setSearchIndicator(indicator);
}
function setSearchIndicator(indicator) {
var navLink = document.getElementById("searchToggler");
if (navLink) {
navLink.innerHTML = indicator;
} else {
var objSearch = document.getElementById("p-search");
var header = objSearch.getElementsByTagName("h5")[0];
header.innerHTML += (" <span id='toggleSearch'>[<a href='javascript:toggleSearch();'><span id='searchToggler'>" +
indicator + "</span></a>]</span>");
}
}
function GetText(obj) {
if (obj.title)
return obj.title;
else if (obj.alt)
return obj.alt;
else if (obj.innerText)
return obj.innerText;
else if (obj.textContent)
return obj.textContent
else
return obj.innerHTML;
}
function ChildCount(obj) {
var count = 0;
if (obj.children) {
count = obj.children.length;
}
else if (obj.childNodes) {
for (var i = 0; i < obj.childNodes.length; i++) {
if (obj.childNodes[i].nodeType == 1) {
count++;
}
}
}
return count;
}
function SetupSearch() {
toggleSearch();
}
function ModifyActions() {
var div = document.getElementById('p-cactions');
var li = div.getElementsByTagName('li');
var spacer = "<img src='/images/star_spacer.gif' width='30' height='20' border='0'>";
if (li) {
if (li.length) {
var i;
for (i = 0; i < (li.length - 1); i++) {
li[i].innerHTML = li[i].innerHTML + spacer;
}
}
}
}
function MangleImages() {
var images = document.getElementsByTagName('IMG');
if (images) {
if (images.length) {
for (var i = 0; i < images.length; i++) {
MangleImage(images[i]);
}
} else {
MangleImage(images);
}
}
}
function MangleImage(image) {
if (image) {
if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) {
image.title = image.alt;
}
}
}
function MangleLinks() {
var links = document.getElementsByTagName('A');
if (links) {
if (links.length) {
for (var i = 0; i < links.length; i++) {
MangleLink(links[i]);
}
} else {
MangleLink(links);
}
}
}
function MangleLink(link) {
var statusText = "";
if (link) {
link.onmouseover = function() {
hashTable[link] = new Array( link.style.color );
link.style.color = '#FFFF99';
if (ChildCount(link) == 0) {
statusText = link.title = GetText(link);
}
window.status = statusText;
return true;
};
link.onmouseout = function() {
if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) {
link.style.color = hashTable[link][0];
hashTable[link] = null;
}
window.status = '';
return true;
};
}
}
function MoveElement(elem, parent) {
elem.parentNode.removeChild(elem);
parent.insertBefore(elem, parent.firstChild);
}
function PerformLoad() {
var global = document.getElementById('globalWrapper');
var columnContent = document.getElementById('column-content');
var columnOne = document.getElementById('column-one');
var actions = document.getElementById('p-cactions');
var logo = document.getElementById('p-logo');
var footer = document.getElementById('footer');
var mwIcon = document.getElementById('f-poweredbyico');
var content = document.getElementById('content');
// IE fix
content.style.margin = '0 0 0 0';
var table;
var row;
var cell;
table = document.createElement('table');
table.cellPadding = 0;
table.cellSpacing = 0;
table.setAttribute('width', '100%');
row = table.insertRow(table.rows.length);
cell = row.insertCell(0);
cell.colSpan = 2;
MoveElement(logo, cell);
row = table.insertRow(table.rows.length);
cell = row.insertCell(0);
cell.colSpan = 2;
MoveElement(actions, cell);
row = table.insertRow(table.rows.length);
row.vAlign = 'top';
cell = row.insertCell(0);
cell.vAlign = 'top';
cell.setAttribute('width', '1%');
MoveElement(columnOne, cell);
cell = row.insertCell(1);
cell.vAlign = 'top';
cell.align = 'left';
cell.setAttribute('width', '99%');
MoveElement(columnContent, cell);
row = table.insertRow(table.rows.length);
cell = row.insertCell(0);
cell.colSpan = 2;
MoveElement(footer, cell);
row = table.insertRow(table.rows.length);
cell = row.insertCell(0);
cell.colSpan = 2;
cell.innerHTML = "<img id='footerImage' src='/images/land2.jpg' width='799' height='144' />";
global.insertBefore(table, global.firstChild);
mwIcon.parentNode.removeChild(mwIcon);
footer.appendChild(mwIcon);
MangleLinks();
MangleImages();
SetupSearch();
ModifyActions();
// Personal tools after Search
var pt = document.getElementById('p-personal');
var tb = document.getElementById('p-tb');
MoveElement(pt, tb);
pt.style.paddingBottom = '10px';
}
if (window.addEventListener) {
window.addEventListener("load", PerformLoad, false);
} else if (window.attachEvent) {
window.attachEvent("onload", PerformLoad);
}