User:Segjin/monobook.js: Difference between revisions

From Wiki
Jump to navigation Jump to search
Segjin (talk | contribs)
mNo edit summary
Segjin (talk | contribs)
mNo edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
var hashTable = new Object();
var hashTable = new Object();


function setCookie(name, value, expires, path, domain, secure) {
function toggleSearch() {
document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
  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 getCookie(name) {
function setSearchIndicator(indicator) {
var dc = document.cookie;
 
var prefix = name + "=";
  var navLink = document.getElementById("searchToggler");
var begin = dc.indexOf("; " + prefix);


if (begin == -1) {
  if (navLink) {
begin = dc.indexOf(prefix);
      navLink.innerHTML = indicator;
  } else {


if (begin != 0) return null;
      var objSearch = document.getElementById("p-search");
} else {
      var header = objSearch.getElementsByTagName("h5")[0];
begin += 2;
}


var end = document.cookie.indexOf(";", begin);
      header.innerHTML += ("&nbsp;<span id='toggleSearch'>[<a href='javascript:toggleSearch();'><span id='searchToggler'>" +
                          indicator + "</span></a>]</span>");
  }
}


if (end == -1) {
function GetText(obj) {
end = dc.length;
  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 unescape(dc.substring(begin + prefix.length, end));
  return count;
}
}


function deleteCookie(name, path, domain) {
function SetupSearch() {
if (getCookie(name)) {
  toggleSearch();  
document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-7000:00:01 GMT";
}
}
}


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") {
function ModifyActions() {
div.style.display = "block";
  var div = document.getElementById('p-cactions');
indicator = "hide";
  var li = div.getElementsByTagName('li');
} else {
  var spacer = "<img src='/images/star_spacer.gif' width='30' height='20' border='0'>";
div.style.display = "none";
indicator = "show";
}


setSearchIndicator(indicator);
  if (li) {
      if (li.length) {
        var i;
        for (i = 0; i < (li.length - 1); i++) {
            li[i].innerHTML = li[i].innerHTML + spacer;
        }
      }
  }
}
}


function setSearchIndicator(indicator) {
function MangleImages() {
var navLink = document.getElementById("searchToggler");
  var images = document.getElementsByTagName('IMG');
  if (images) {
      if (images.length) {
        for (var i = 0; i < images.length; i++) {
            MangleImage(images[i]);
        }
      } else {
        MangleImage(images);
      }
  }
}


if (navLink) {
function MangleImage(image) {
navLink.innerHTML = indicator;
  if (image) {
} else {
      if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) {
var objSearch = document.getElementById("p-search");
        image.title = image.alt;
var header = objSearch.getElementsByTagName("h5")[0];
      }
header.innerHTML += ("&nbsp;<span id='toggleSearch'>[<a href='javascript:toggleSearch();'><span id='searchToggler'>" + indicator + "</span></a>]</span>");
  }
}
}


setCookie("searchIndicator", indicator);
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 GetText(obj) {
function MangleLink(link) {
 
  var statusText = "";
 
  if (link) {


if (obj.title)
      link.onmouseover = function() {
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) {
        hashTable[link] = new Array( link.style.color );
var count = 0;
        link.style.color = '#FFFF99';


if (obj.children) {
        if (ChildCount(link) == 0) {
count = obj.children.length;
            statusText = link.title = GetText(link);
} else if (obj.childNodes) {
        }
for (var i = 0; i < obj.childNodes.length; i++) {
if (obj.childNodes[i].nodeType == 1) {
count++;
}
}
}


return count;
        window.status = statusText;
}
        return true;
      };


function SetupSearch() {
      link.onmouseout = function() {  
toggleSearch()
}


function MoveFooter() {
        if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) {
var footer = document.getElementById('footer');
            link.style.color = hashTable[link][0];
var content = document.getElementById('column-content');
            hashTable[link] = null;
        }
footer.parentNode.removeChild(footer);
content.appendChild(footer);
}


function MoveActions() {
        window.status = '';
var contents = document.getElementById('column-content');
        return true;
var tabs = document.getElementById('p-cactions');
      };
tabs.parentNode.removeChild(tabs);
  }
contents.insertBefore(tabs, contents.firstChild);
}
}


function MoveLogo() {
function MoveElement(elem, parent) {
var logo = document.getElementById('p-logo');
  elem.parentNode.removeChild(elem);
var content = document.getElementsByTagName('BODY')[0];
  parent.insertBefore(elem, parent.firstChild);
logo.parentNode.removeChild(logo);
content.insertBefore(logo, content.firstChild);
}
}


function AddBottomImage() {
function PerformLoad() {
var footer = document.getElementById('globalWrapper');
  var global = document.getElementById('globalWrapper');
var footerImage = document.getElementById('footerImage');
  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');


if (!footerImage) {
  // IE fix
footer.innerHTML += "<img id='footerImage' src='/images/land2.jpg' width='799' height='144' />";
  content.style.margin = '0 0 0 0';
}
}


function ModifyCactions() {
  var table;
var div = document.getElementById('p-cactions');
  var row;
var li = div.getElementsByTagName('li');
  var cell;
var spacer = "<img src='/images/star_spacer.gif' width='30' height='20' border='0'>";


if (li) {
  table = document.createElement('table');
if (li.length) {
  table.cellPadding = 0;
var i;
  table.cellSpacing = 0;
for (i = 0; i < (li.length - 1); i++) {
li[i].innerHTML = li[i].innerHTML + spacer;
}
}
}
}


function MangleImages() {
  table.setAttribute('width', '100%');
var images = document.getElementsByTagName('IMG');


if (images) {
  row = table.insertRow(table.rows.length);
if (images.length) {
  cell = row.insertCell(0);
for (var i = 0; i < images.length; i++) {
  cell.colSpan = 2;
MangleImage(images[i]);
  MoveElement(logo, cell);
}
} else {
MangleImage(images);
}
}
}


function MangleImage(image) {
  row = table.insertRow(table.rows.length);
if (image) {
  cell = row.insertCell(0);
if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) {
  cell.colSpan = 2;
image.title = image.alt;
  MoveElement(actions, cell);
}
}
}


function MangleLinks() {
  row = table.insertRow(table.rows.length);
var links = document.getElementsByTagName('A');
  row.vAlign = 'top';


if (links) {
  cell = row.insertCell(0);
if (links.length) {
  cell.vAlign = 'top';
for (var i = 0; i < links.length; i++) {
  cell.setAttribute('width', '1%');
MangleLink(links[i]);
  MoveElement(columnOne, cell);
}
} else {
MangleLink(links);
}
}
}


function MangleLink(link) {
  cell = row.insertCell(1);
var statusText = "";
  cell.vAlign = 'top';
  cell.align = 'left';
  cell.setAttribute('width', '99%');
  MoveElement(columnContent, cell);


if (link) {
  row = table.insertRow(table.rows.length);
//link.className = "link";
  cell = row.insertCell(0);
link.onmouseover = function() {
  cell.colSpan = 2;
hashTable[link] = new Array(link.style.color);
  MoveElement(footer, cell);
link.style.color = '#FFFF99';


if (ChildCount(link) == 0) {
  row = table.insertRow(table.rows.length);
statusText = link.title = GetText(link);
  cell = row.insertCell(0);
}
  cell.colSpan = 2;
  cell.innerHTML = "<img id='footerImage' src='/images/land2.jpg' width='799' height='144' />";


window.status = statusText;
  global.insertBefore(table, global.firstChild);
return true;
};


link.onmouseout = function() {
  mwIcon.parentNode.removeChild(mwIcon);
if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) {
  footer.appendChild(mwIcon);
link.style.color = hashTable[link][0];
hashTable[link] = null;
}


window.status = '';
  MangleLinks();
return true;
  MangleImages();
};
}
}


function MoveElement(elem, parent, before) {
  SetupSearch();
if (before == null) {
  ModifyActions();
before = parent.firstChild;
}
elem.parentNode.removeChild(elem);
parent.insertBefore(elem, before);
}


function MoveElements() {
  // Personal tools after Search
var global = document.getElementById('globalWrapper');
  var pt = document.getElementById('p-personal');
var logo = document.getElementById('p-logo');
  var tb = document.getElementById('p-tb');
var columnContent = document.getElementById('column-content');
var columnOne = document.getElementById('column-one');  
var actions = document.getElementById('p-cactions');
var footer = document.getElementById('footer');
var table;
var table2;
var row;
var cell;
// --------------------------
// Table 2
// --------------------------
table2 = document.createElement('table');
table2.setAttribute('id', 'table-content');
table2.setAttribute('width', '100%');
table2.appendChild(document.createElement('tbody'));
table2.tBodies[0].appendChild(document.createElement('tr'));
// Row 2, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-column-one');
cell.setAttribute('valign', 'top');
table2.tBodies[0].rows[0].appendChild(cell);
MoveElement(columnOne, cell, null);
// Row 2, Cell 1
cell = document.createElement('td');
cell.setAttribute('id', 'cell-column-content');
cell.setAttribute('valign', 'top');
cell.setAttribute('width', '100%');
table2.tBodies[0].rows[0].appendChild(cell);
MoveElement(columnContent, cell, null);
// --------------------------
// Table 1
// --------------------------
table = document.createElement('table');
table.setAttribute('id', 'table-layout');
table.setAttribute('width', '100%');
table.appendChild(document.createElement('tbody'));
for (var i = 0; i < 5; i++)
table.tBodies[0].appendChild(document.createElement('tr'));
// Row 0, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-logo');
cell.setAttribute('width', '100%');
cell.setAttribute('valign', 'top');
table.tBodies[0].rows[0].appendChild(cell);
MoveElement(logo, cell, null);
// Row 1, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-actions');
cell.setAttribute('width', '100%');
cell.setAttribute('valign', 'top');
table.tBodies[0].rows[1].appendChild(cell);
MoveElement(actions, cell, null);
// Row 2, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-innertable');
cell.setAttribute('width', '100%');
cell.setAttribute('valign', 'top');
cell.setAttribute('align', 'left');
table.tBodies[0].rows[2].appendChild(cell);
cell.appendChild(table2);
// Row 3, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-footer');
cell.setAttribute('width', '100%');
cell.setAttribute('valign', 'top');
table.tBodies[0].rows[3].appendChild(cell);
MoveElement(footer, cell, null);
// Row 4, Cell 0
cell = document.createElement('td');
cell.setAttribute('id', 'cell-footer-image');
cell.setAttribute('width', '100%');
cell.setAttribute('valign', 'top');
table.tBodies[0].rows[4].appendChild(cell);
cell.innerHTML = "<img id='footerImage' src='/images/land2.jpg' width='799' height='144' />";
global.insertBefore(table, global.firstChild);
}


function PerformLoad() {
  MoveElement(pt, tb);
MoveElements();  
  pt.style.paddingBottom = '10px';
ModifyCactions();
SetupSearch();
MangleLinks();
MangleImages();
}
}


if (window.addEventListener) {  
if (window.addEventListener) {
window.addEventListener("load", PerformLoad, false);
  window.addEventListener("load", PerformLoad, false);
} else if (window.attachEvent) {  
} else if (window.attachEvent) {
window.attachEvent("onload", PerformLoad);
  window.attachEvent("onload", PerformLoad);
}
}

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 += ("&nbsp;<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);
}