
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function roundedCorners() {
	if (!document.getElementsByTagName) return false;
	var divs = document.getElementsByTagName('div');
	var rounded_divs = [];
	for (var i = 0; i < divs.length; i++) {
		if (/\bbox\b/.exec(divs[i].className) || /\bibox\b/.exec(divs[i].className) || /\babox\b/.exec(divs[i].className) || /\bqbox\b/.exec(divs[i].className) || /\btbox\b/.exec(divs[i].className) || /\bdbox\b/.exec(divs[i].className)) {
			rounded_divs[rounded_divs.length] = divs[i];
		}
	}
	for (var i = 0; i < rounded_divs.length; i++) {
		var original = rounded_divs[i];
		var originalClassName = original.className;
		var originalID = original.id;
		var originalWidth = original.style.width;
		original.className = "";
		original.id = "";
		original.style.width = "";
		var div2 = document.createElement('div');
		div2.className = originalClassName + "J";
		div2.id = originalID;
		div2.style.width = originalWidth;
		original.parentNode.replaceChild(div2, original);
		for (var ii = 3; ii < 7; ++ii) {
			eval("var div" + ii + " = document.createElement('div');");
		}
		for (var iii = 2; iii < 6; ++iii) {
			eval("div" + iii + ".appendChild(div" + (iii + 1) + ");");
		}
	div6.appendChild(original);
	}
}

function roundedCornersContent(){

	eleBody = document.getElementsByTagName("body");
	eleBodyClass = eleBody[0].className;
	
	if(eleBodyClass == "nocols" && !document.getElementById('reso')){
		if(document.getElementById('blog')){
			maxDivs = 7;
		}else{
		maxDivs = 5;
		}
	}else{
		maxDivs = 7;
	}
	if (!document.getElementById('content').length > 0){
		if(!document.getElementById('home')){
			var rounded_divs =new Array();
			rounded_divs[0] = document.getElementById('content');
			for (var i = 0; i < rounded_divs.length; i++) {
				var original = rounded_divs[i];
				original.id = "";
				original.className = "cboxJ" + (maxDivs - 2);
				var div2 = document.createElement('div');
				div2.className = "cboxJ";
				div2.id = "content"; 
				original.parentNode.replaceChild(div2, original);
				for (var ii = 3; ii < maxDivs; ++ii) {
					eval("var div" + ii + " = document.createElement('div');");
					eval("div" + ii + ".setAttribute('class', 'cboxJ" + (ii - 2)+"');");
					eval("div" + ii + ".setAttribute('className', 'cboxJ" + (ii - 2)+"');");
				}
				for (var iii = 2; iii < maxDivs - 1; ++iii) {
					eval("div" + iii + ".appendChild(div" + (iii + 1) + ");");
				}
			eval("div" + (maxDivs - 1)).appendChild(original);
			}
		}
	}
}

function changeMail() {
 if (!document.getElementsByTagName) return false;
 var span = document.getElementsByTagName("span");
 for (var i=0; i < span.length; i++) {
  if (span[i].className.match('email')) {
   var innerspan = span[i].getElementsByTagName("span")[0].firstChild.nodeValue;
   span[i].innerHTML = "<a href='mailto:"+innerspan+"@webcredible.co.uk'>"+innerspan+"@webcredible.co.uk"
  }
 }
}
function doFootNoteLinks()
{
	footnoteLinks('content','content');
}
function footnoteLinks(containerID, targetID)
{
      if (!document.getElementById || !document.getElementsByTagName || !document.createElement) return false;
      if (!document.getElementById(containerID) || !document.getElementById(targetID)) return false;

      var container = document.getElementById(containerID);
      var target    = document.getElementById(targetID);
      var h2        = document.createElement('h2');
      addClass.apply(h2,['printOnly']);

      var h2_txt    = document.createTextNode('Links');
      h2.appendChild(h2_txt);

      var coll = container.getElementsByTagName('*');
      var ol   = document.createElement('ol');
      addClass.apply(ol,['printOnly']);

      var myArr = [];
      var thisLink;
      var num = 1;
      for (var i=0; i< coll.length; i++) {
        var thisClass = coll[i].className;
        if ( (coll[i].getAttribute('href') || coll[i].getAttribute('cite')) && (thisClass == '' || thisClass.indexOf('nop') == -1)) {
          thisLink = coll[i].getAttribute('href') ? coll[i].href : coll[i].cite;
          var note = document.createElement('sup');
          addClass.apply(note,['printOnly']);
          var note_txt;
          var j = inArray.apply(myArr,[thisLink]);
          if ( j || j===0 ) {
            note_txt = document.createTextNode(j+1);
          } else {
            var li     = document.createElement('li');
            var li_txt = document.createTextNode(thisLink);
            li.appendChild(li_txt);
            ol.appendChild(li);
            myArr.push(thisLink);
            note_txt = document.createTextNode(num);
            num++;
          }
          note.appendChild(note_txt);
          if (coll[i].tagName.toLowerCase() == 'blockquote') {
            var lastChild = lastChildContainingText.apply(coll[i]);
            lastChild.appendChild(note);
          } else {
            coll[i].parentNode.insertBefore(note, coll[i].nextSibling);
          }
        }
      }
      target.appendChild(h2);
      target.appendChild(ol);
      addClass.apply(document.getElementsByTagName('html')[0],['noted']);
      return true;
}
function inArray(needle) {
	for (var i=0; i < this.length; i++) {
        	if (this[i] === needle) {
         		return i;
        	}
      		}
	return false;
}
function addClass(theClass) {
	if (this.className != '') {
        	this.className += ' ' + theClass;
      	} else {
        	this.className = theClass;
      	}
}
function lastChildContainingText() {
	var testChild = this.lastChild;
	var contentCntnr = ['p','li','dd'];
	while (testChild.nodeType != 1) {
		testChild = testChild.previousSibling;
	}
	var tag = testChild.tagName.toLowerCase();
	var tagInArr = inArray.apply(contentCntnr, [tag]);
	if (!tagInArr && tagInArr!==0) {
        	testChild = lastChildContainingText.apply(testChild);
      	}
      	return testChild;
}
addLoadEvent(doFootNoteLinks);
addLoadEvent(roundedCorners);
addLoadEvent(roundedCornersContent);
addLoadEvent(changeMail);