User:Segjin/monobook.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 165: | Line 165: | ||
var logo = document.getElementById('p-logo'); | var logo = document.getElementById('p-logo'); | ||
var footer = document.getElementById('footer'); | var footer = document.getElementById('footer'); | ||
var content = document.getElementById('content'); | |||
// IE fix | |||
content.style.margin = '0 0 0 0'; | |||
var table; | var table; | ||
Revision as of 21:08, 13 December 2005
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 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);
MangleLinks();
MangleImages();
SetupSearch();
ModifyActions();
}
if (window.addEventListener) {
window.addEventListener("load", PerformLoad, false);
} else if (window.attachEvent) {
window.attachEvent("onload", PerformLoad);
}