addEvent(window, 'load', et_init);

function et_init() {
	if(window.opera) {
		// Cos it's late and Opera 8 does a weird loop with appendChild
		return false;
	}

	var more = document.getElementsByClassName("morecs");
	for (var i=0;i<more.length;i++) {
		more[i].style.display = 'none';
	}

	if(document.getElementById) {
		var linkContainer = document.getElementById('togglelink');
		var toggle = linkContainer.appendChild(document.createElement('a'));
		toggle.href = '#';
		toggle.appendChild(document.createTextNode('or see a list of all case studies'));
		toggle.onclick = function() {
			var linkText = this.firstChild.nodeValue;
			this.firstChild.nodeValue = (linkText == 'or see a list of all case studies') ? '(Hide case studies list?)' : 'or see a list of all case studies';
			for (var i=0;i<more.length;i++) {
				// Element.toggle(details[i]);
				if(linkText == 'or see a list of all case studies') {
					Element.show(more[i]);
				}
				else {
					Element.hide(more[i]);
				}
			}
			return false;
		}
	}

}

function toggle(node) {
	Element.toggle(node);
}

function getInnerText(el) {
	if (typeof el == "string") {
		return el;
	}
	if (typeof el == "undefined") {
		return el;
	}
	if (el.innerText) {
		return el.innerText;	//Not needed but it is faster
	}
	var str = "";

	var cs = el.childNodes;
	var l = cs.length;
	for (var i = 0; i < l; i++) {
		switch (cs[i].nodeType) {
			case 1: //ELEMENT_NODE
				str += ts_getInnerText(cs[i]);
				break;
			case 3:	//TEXT_NODE
				str += cs[i].nodeValue;
				break;
		}
	}
	return str;
}

function addEvent(obj, evType, fn){
     if (obj.addEventListener) {
         obj.addEventListener(evType, fn, true);
         return true;
     } else if (obj.attachEvent) {
         var r = obj.attachEvent("on"+evType, fn);
         return r;
     } else {
	    return false;
     }
}
