function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
 
function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}
 
function faviconize() { 
  if (!document.getElementsByTagName) return false;
  if (!document.createElement) return false;
  var links = document.getElementsByTagName("a");
  	for (var j=0; j<links.length; j++) { 
  		var hoststring = /^http:/; 
  		var hrefvalue = links[j].getAttribute("href",2); 
		if (hrefvalue.search(hoststring) != -1) { 
			var domain = hrefvalue.match(/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/); 
			domain = RegExp.$2; 
			var cue = document.createElement("img"); 
			cue.className = "faviconimg"; 
			var cuesrc = "http://"+domain+"/favicon.ico"; 
			cue.setAttribute("src",cuesrc); 
			cue.onerror = function () { 
				this.src = "/images/external.gif"; 
				} 
			insertAfter(cue,links[j]); 
		} 
	} 
} 
addLoadEvent(faviconize);