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
Line 2: Line 2:


function setCookie(name, value, expires, path, domain, secure) {
function setCookie(name, value, expires, path, domain, secure) {
 
document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
}


function getCookie(name) {
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);


    var dc = document.cookie;
if (begin != 0) return null;
    var prefix = name + "=";
} else {
    var begin = dc.indexOf("; " + prefix);
begin += 2;
}


    if (begin == -1)
var end = document.cookie.indexOf(";", begin);
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }


    var end = document.cookie.indexOf(";", begin);
if (end == -1) {
    if (end == -1)
end = dc.length;
    {
}
        end = dc.length;
    }


    return unescape(dc.substring(begin + prefix.length, end));
return unescape(dc.substring(begin + prefix.length, end));
}
}


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


function toggleSearch() {
function toggleSearch() {
var objSearch = document.getElementById("p-search");
  var objSearch = document.getElementById("p-search");
var header = objSearch.getElementsByTagName("h5")[0];
  var header = objSearch.getElementsByTagName("h5")[0];
var div = objSearch.getElementsByTagName("div")[0];
  var div = objSearch.getElementsByTagName("div")[0];
var indicator;
 
  var indicator;


  if (div.style.display == "none") {
if (div.style.display == "none") {
      div.style.display = "block";
div.style.display = "block";
      indicator = "hide";
indicator = "hide";
  } else {
} else {
      div.style.display = "none";
div.style.display = "none";
      indicator = "show";
indicator = "show";
  }
}


  setSearchIndicator(indicator);  
setSearchIndicator(indicator);
}
}


function setSearchIndicator(indicator) {
function setSearchIndicator(indicator) {
var navLink = document.getElementById("searchToggler");


  var navLink = document.getElementById("searchToggler");
if (navLink) {
 
navLink.innerHTML = indicator;
  if (navLink) {
} else {
      navLink.innerHTML = indicator;
var objSearch = document.getElementById("p-search");
  } else {
var header = objSearch.getElementsByTagName("h5")[0];
 
header.innerHTML += ("&nbsp;<span id='toggleSearch'>[<a href='javascript:toggleSearch();'><span id='searchToggler'>" + indicator + "</span></a>]</span>");
      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>");
  }


  // setCookie("searchIndicator", indicator);
setCookie("searchIndicator", indicator);
}
}


function GetText(obj) {
function GetText(obj) {
  if (obj.title)
 
      return obj.title;
if (obj.title)  
  else if (obj.alt)
return obj.title;
      return obj.alt;
else if (obj.alt)  
  else if (obj.innerText)
return obj.alt;  
      return obj.innerText;
else if (obj.innerText)  
  else if (obj.textContent)
return obj.innerText;  
      return obj.textContent
else if (obj.textContent)  
  else
return obj.textContent
      return obj.innerHTML;
else  
return obj.innerHTML;
}
}


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


  return count;
return count;
}
}


function SetupSearch() {
function SetupSearch() {
  //var searchIndicator = getCookie("searchIndicator");
getCookie("searchIndicator");
 
  //if (!searchIndicator) {
      toggleSearch();
  //} else {
  //  setSearchIndicator(searchIndicator);
  //}
}
}


function MoveFooter() {
function MoveFooter() {
  var footer = document.getElementById('footer');
var footer = document.getElementById('footer');
  var content = document.getElementById('column-content');
var content = document.getElementById('column-content');
 
  footer.parentNode.removeChild(footer);
footer.parentNode.removeChild(footer);
  content.appendChild(footer);
content.appendChild(footer);
 
}
}


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


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


function AddBottomImage() {
function AddBottomImage() {
  var footer = document.getElementById('globalWrapper');
var footer = document.getElementById('globalWrapper');
  var footerImage = document.getElementById('footerImage');
var footerImage = document.getElementById('footerImage');


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


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


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


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


function MangleImage(image) {
function MangleImage(image) {
  if (image) {
if (image) {
      if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) {
if (image.alt && (image.alt.length > 0) && (!image.title || image.title.length == 0)) {
        image.title = image.alt;
image.title = image.alt;
      }
}
  }
}
}
}


function MangleLinks() {
function MangleLinks() {
  var links = document.getElementsByTagName('A');
var links = document.getElementsByTagName('A');
  if (links) {
 
      if (links.length) {
if (links) {
        for (var i = 0; i < links.length; i++) {
if (links.length) {
            MangleLink(links[i]);
for (var i = 0; i < links.length; i++) {
        }
MangleLink(links[i]);
      } else {
}
        MangleLink(links);
} else {
      }
MangleLink(links);
  }
}
}
}
}


function MangleLink(link) {
function MangleLink(link) {
var statusText = "";


  var statusText = "";
if (link) {
//link.className = "link";
link.onmouseover = function() {
hashTable[link] = new Array(link.style.color);
link.style.color = '#FFFF99';


  if (link) {
if (ChildCount(link) == 0) {
      //link.className = "link";
statusText = link.title = GetText(link);
}


      link.onmouseover = function() {
window.status = statusText;
return true;
};


        hashTable[link] = new Array( link.style.color );
link.onmouseout = function() {
        link.style.color = '#FFFF99';
if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) {
link.style.color = hashTable[link][0];
hashTable[link] = null;
}


        if (ChildCount(link) == 0) {
window.status = '';
            statusText = link.title = GetText(link);
return true;
        }
};
}
}


        window.status = statusText;
function MoveElement(elem, parent, before) {
        return true;
if (before == null) {
      };
before = parent.firstChild;  
 
}  
      link.onmouseout = function() {
elem.parentNode.removeChild(elem);
parent.insertBefore(elem, before);
}


        if (hashTable[link] && hashTable[link].length && hashTable[link].length > 0) {
function MoveElements() {  
            link.style.color = hashTable[link][0];
var global = document.getElementById('globalWrapper');
            hashTable[link] = null;
var logo = document.getElementById('p-logo');
        }
var columnContent = document.getElementById('column-content');  
var columnOne = document.getElementById('column-one');  
var actions = document.getElementById('p-cactions');


        window.status = '';
MoveElement(columnOne, global, null);  
        return true;
MoveElement(actions, global, null);
      };
MoveElement(logo, global, null);  
  }
AddBottomImage();
}
}


function PerformLoad() {
function PerformLoad() {  
  MoveActions();
MoveElements();  
  MoveLogo();
//SetupSearch();
  SetupSearch();
//MangleLinks();
  AddBottomImage();
//MangleImages();
  ModifyCactions();
  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);
}
}

Revision as of 01:41, 11 December 2005

var hashTable = new Object();

function setCookie(name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);

	if (begin == -1) {
		begin = dc.indexOf(prefix);

		if (begin != 0) return null;
	} else {
		begin += 2;
	}

	var end = document.cookie.indexOf(";", begin);

	if (end == -1) {
		end = dc.length;
	}

	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
	if (getCookie(name)) {
		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") {
		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>");
	}

	setCookie("searchIndicator", indicator);
}

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() {
	getCookie("searchIndicator");
}

function MoveFooter() {
	var footer = document.getElementById('footer');
	var content = document.getElementById('column-content');
	
	footer.parentNode.removeChild(footer);
	content.appendChild(footer);
}

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

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

function AddBottomImage() {
	var footer = document.getElementById('globalWrapper');
	var footerImage = document.getElementById('footerImage');

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

function ModifyCactions() {
	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.className = "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, before) { 
	if (before == null) {
		before = parent.firstChild; 
	} 
	elem.parentNode.removeChild(elem);
	parent.insertBefore(elem, before);
}

function MoveElements() { 
	var global = document.getElementById('globalWrapper'); 
	var logo = document.getElementById('p-logo'); 
	var columnContent = document.getElementById('column-content'); 
	var columnOne = document.getElementById('column-one'); 
	var actions = document.getElementById('p-cactions'); 

	MoveElement(columnOne, global, null); 
	MoveElement(actions, global, null);
	MoveElement(logo, global, null); 
	
	AddBottomImage();
}

function PerformLoad() { 
	MoveElements(); 
	//SetupSearch();
	//MangleLinks();
	//MangleImages();
}
if (window.addEventListener) { 
	window.addEventListener("load", PerformLoad, false);
} else if (window.attachEvent) { 
	window.attachEvent("onload", PerformLoad);
}