String.prototype.endsWith = function(s){
	var reg = new RegExp(s + "$");
	return reg.test(this);
}
String.prototype.beginsWith = function(s){
	var reg = new RegExp("^" + s);
	return reg.test(this);
}
String.prototype.Contains = function(s){
	var reg = new RegExp(".*" + s + ".*");
	return reg.test(this);
}
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 insertBefore(newElement,targetElement) {
  targetElement.parentNode.insertBefore(newElement,targetElement);
}
function removeElement(id)   {
   var Node = document.getElementById(id);
   Node.parentNode.removeChild(Node);
}

function faviconizeDivClass() { 
  if (!document.getElementsByTagName) return false;
  if (!document.createElement) return false;
  var div = document.getElementsByTagName("div");
  for (var i=0; i<div.length; i++) {
  	if (div[i].className == "favicon") {
  		var links = div[i].getElementsByTagName("a");
  		for (var j=0; j<links.length; j++) {
  			
  			var iconfile = "";
  			var thelink = new String(links[j].getAttribute("href"));

   			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.id = "faviconimg" + i;
          var cuesrc = "http://"+domain+"/favicon.ico";
          cue.setAttribute("src",cuesrc);
          cue.onerror = function () {
            this.src = '/favicon.ico';
            }
          insertBefore(cue,links[j]);
        }
			
		}
  	}
  }
}
addLoadEvent(faviconizeDivClass);
