// @author: Richard Herrera
// @description: Tabbed Interface
var EnableTabs={init:function(){var container=getElementsByClassName(document,"*","tabbedFields");if(!container)return;for(var i=0;i<container.length;i++){ClassName.add(container[i],"enabled");var menu,links,tabbers;menu=getElementsByClassName(container[i],"*","tabMenu")[0];tabbers=getElementsByClassName(container[i],"*","tabContent");links=menu.getElementsByTagName("a");for(var k=0;k<links.length;k++){if(ClassName.test(links[k].parentNode,"focus",true))ClassName.add(tabbers[k],"show");else ClassName.add(tabbers[k],"hide");links[k].onclick=function(){if(ClassName.test(this,"disabled"))return false;else return EnableTabs.onclick(this)};var trigger=tabbers[k].getElementsByTagName("a");for(var l=0;l<trigger.length;l++){if(ClassName.test(trigger[l],"closeThisTab",true)){trigger[l].onclick=function(){ClassName.replace(this.parentNode,"show","hide");ClassName.remove(getElementsByClassName(menu,"li","focus")[0],"focus");return false}}}}}},onclick:function(e){var f=e.parentNode.parentNode.getElementsByTagName("a");var g=getElementsByClassName(e.parentNode.parentNode.parentNode,"*","tabContent");for(var k=0;k<f.length;k++){if(f[k]==e){if(ClassName.test(e.parentNode.parentNode.parentNode,"collapse",true)){if(!(ClassName.test(f[k].parentNode,"focus"))){ClassName.replace(g[k],"hide","show");if(/KHTML|WebKit/i.test(navigator.userAgent)&&(g[k].getAttribute("id")=="siteLogin"||g[k].getAttribute("id")=="siteSearch")){var node=getElementsByClassName(document,"div","ad");for(var i=0;i<node.length;i++){var iframe=node[i].getElementsByTagName("iframe");for(var s=0;s<iframe.length;s++)ClassName.add(iframe[s],"hide")}}}else{ClassName.replace(g[k],"show","hide");ClassName.remove(f[k].parentNode,"focus");if(/KHTML|WebKit/i.test(navigator.userAgent)&&(g[k].getAttribute("id")=="siteLogin"||g[k].getAttribute("id")=="siteSearch")){var node=getElementsByClassName(document,"div","ad");for(var i=0;i<node.length;i++){var iframe=node[i].getElementsByTagName("iframe");for(var s=0;s<iframe.length;s++)ClassName.remove(iframe[s],"hide")}}return false}}else ClassName.replace(g[k],"hide","show")}else{ClassName.replace(g[k],"show","hide");ClassName.remove(f[k].parentNode,"focus")}}ClassName.add(e.parentNode,"focus");return false}};DomLoaded.load(EnableTabs.init);


var EnableArchiveImage={init:function(){var container=$("archiveImage");if(!container)return;ClassName.add(container,"enabled");var outerWrap=document.createElement("div");outerWrap.setAttribute("id","outerWrap");container.parentNode.insertBefore(outerWrap,container);var innerWrap=document.createElement("div");innerWrap.setAttribute("id","innerWrap");container.parentNode.appendChild(innerWrap,container);innerWrap.appendChild(container);outerWrap.appendChild(innerWrap);EnableArchiveImage.makeCorners(container)},makeCorners:function(e){var topLeft,topRight,bottomLeft,bottomRight;var classArray=[topLeft,topRight,bottomLeft,bottomRight];var classNameArray=["topLeft","topRight","bottomLeft","bottomRight"];for(var k=0;k<classArray.length;k++){classArray[k]=document.createElement("span");ClassName.add(classArray[k],"corner"+classNameArray[k]);e.appendChild(classArray[k])}}};DomLoaded.load(EnableArchiveImage.init);


// @author: Richard Herrera
// @description: Expand current issue menu
var ExpandIssue=function(){var sNav=$("sNav");var classify=$("classify");if(!sNav||classify)return;var dd=sNav.getElementsByTagName("dd");for(var i=0;i<dd.length;i++){var dd=dd[i];var ul=dd.getElementsByTagName("ul");if(ul){ul=ul[0];if(!(ClassName.test(document.body,"home")))ClassName.add(ul,"hide");var node=dd.getElementsByTagName("a")[0];node.onclick=function(){if(ClassName.test(ul,"hide",true))ClassName.replace(ul,"hide","show");return false}}}};DomLoaded.load(ExpandIssue);


// @author: Richard Herrera
// @description: Inject a span into headers
var WrapElement=function(){if(!document.getElementsByTagName||$('sContent'))return false;var els=document.getElementsByTagName("h3");if($("classify")){var els=[];var x=document.getElementsByTagName("h3");for(var i=0;i<x.length;i++)els.push(x[i]);var y=document.getElementsByTagName("h5");for(var j=0;j<y.length;j++)els.push(y[j])}if(!els)return false;for(var i=0;i<els.length;i++){var e=els[i];if(e.parentNode.parentNode&&ClassName.test(e.parentNode.parentNode,"eventContent"))break;ClassName.add(e,"injectSpan");e.innerHTML="<span>"+e.innerHTML+"<\/span>"}};DomLoaded.load(WrapElement);


// @author: Richard Herrera
// @description: Apply rounded corner on last active dd
var ApplyLastClass=function(){var sNav=$("sNav");if(!sNav)return;var dd=[];var dds=sNav.getElementsByTagName("dd");for(var i=0;i<dds.length;i++)if(ClassName.test(dds[i],"active",true))dd.push(dds[i]);if(dd[dd.length-1])ClassName.add(dd[dd.length-1],"last")};DomLoaded.load(ApplyLastClass);


// @author: Richard Herrera
// @description: Apply rounded corners to hCards
var hCard=function(){var elements=document.getElementsByTagName("*");for(var i=0;i<elements.length;i++){var element=elements[i];if(ClassName.test(element,"parent"))break;if(ClassName.test(element,"vcard",true)||ClassName.test(element,"vevent",true)){var topLeft,topRight,bottomLeft,bottomRight;var classArray=[topLeft,topRight,bottomLeft,bottomRight];var classNameArray=["topLeft","topRight","bottomLeft","bottomRight"];for(var k=0;k<classArray.length;k++){classArray[k]=document.createElement("span");ClassName.add(classArray[k],"corner "+classNameArray[k]);element.appendChild(classArray[k])}}}};DomLoaded.load(hCard);


// @author: Richard Herrera
// @description: IE and Opera show a border on <hr /> tags. We'll add divs around 'em to style those instead
var FakeRule=function(){var rules=document.getElementsByTagName("hr");if(!rules)return;for(var i=0;i<rules.length;i++){var rule=rules[i];var span=document.createElement("span");ClassName.add(span,"hr");rule.parentNode.replaceChild(span,rule);span.appendChild(rule)}};DomLoaded.load(FakeRule);


// @author: Richard Herrera
// @description: Style Zebra Tables
var ZebraTables=function(){var table=document.getElementsByTagName("table");if(!table)return;for(var i=0;i<table.length;i++){if(ClassName.test(table[i],"calMonth"))break;var tbody=table[i].getElementsByTagName("tbody");if(tbody){for(var j=0;j<tbody.length;j++){var tr=tbody[j].getElementsByTagName("tr");for(var k=0;k<tr.length;k=(k+2))ClassName.add(tr[k],"alt")}}else{var tr=table[i].getElementsByTagName("tr");for(var j=0;j<tr.length;j=(j+2))ClassName.add(tr[j],"alt")}}};DomLoaded.load(ZebraTables);


// @author: Cameron Adams
// @modified: Richard Herrera
// @description: Resolution dependent layout
var browserWidth={
	check:function(){
		var theWidth=browserWidth.get();
		var container=$("sContent")?$("sContent"):$("sNav");
		var xContent=$("xContent");
		if(theWidth==0){
			var resolutionCookie=document.cookie.match(/(^|;)tmib_res_layout[^;]*(;|$)/);
			if(resolutionCookie!=null)browserWidth.set(unescape(resolutionCookie[0].split("=")[1]));
			return false
		}
		if(theWidth<=960){
			browserWidth.set("Smallscreen");
			document.cookie="tmib_res_layout="+escape("Smallscreen");
			if(xContent&&container){
				if(container==$("sContent") && hasLeaderboard()){//new:04.19.07
					xContent.style.marginTop=(container.offsetHeight+94)+"px";//new:04.19.07
				}else{ 
					xContent.style.marginTop=(container.offsetHeight+10)+"px";
				}
			}
		}else{
			browserWidth.set("");
			document.cookie="tmib_res_layout=";
			if(xContent && hasLeaderboard()){//new:04.19.07
				xContent.style.marginTop=122+"px";
			}else{//new:04.19.07
				xContent.style.marginTop=10+"px";//new:04.19.07
			}//new:04.19.07
		}

		return true
	},
	get:function(){
		if(window.innerWidth)return window.innerWidth;
		else 
		if(document.documentElement&&document.documentElement.clientWidth!=0)return document.documentElement.clientWidth;
		else if(document.body)return document.body.clientWidth;return 0
	},
	set:function(styleTitle){
		var currTag;
		if(document.getElementsByTagName){
			for(var i=0;(currTag=document.getElementsByTagName("link")[i]);i++){
				if(currTag.getAttribute("rel").indexOf("style")!=-1&&currTag.getAttribute("title")){
					currTag.disabled=true;
					if(currTag.getAttribute("title")==styleTitle)currTag.disabled=false
				}
			}
		}
		return true
	}
};
//AddEvent(window,"resize",browserWidth.check);
//DomLoaded.load(browserWidth.check);

function hasLeaderboard(){//new:04.19.07
	var retVal = false;
	var leaderboard=getElementsByClassName(document,"div","sz728x90")
	if(leaderboard.length>0){
		retVal = true;
	}return retVal;
}

var pullquote = {
	init : function() {
	// Check that the browser supports the methods used
		if (!document.getElementById || !document.createElement || !document.appendChild) return false;
		var oElement, oPullquote, oPullquoteP, oQuoteContent, i, j;
	// Find all span elements with a class name of pullquote
		var arrElements = document.getElementsByTagName('span');
		var oRegExp = new RegExp("(^|\\s)pullquote(\\s|$)");
		var oRegExpMono = new RegExp("(^|\\s)pullbox(\\s|$)");
		var oRegExpLeft = new RegExp("(^|\\s)left(\\s|$)");
		for (i=0; i<arrElements.length; i++) {
	// Save the current element
			oElement = arrElements[i];
			if (oRegExp.test(oElement.className) || oRegExpMono.test(oElement.className)) {
	// Create the blockquote and p elements
				oPullquote = document.createElement('blockquote');
				oPullquote.className = oElement.className
				oPullquoteP = document.createElement('p');
			if (oRegExpLeft.test(oElement.className)) {
				ClassName.add(oPullquote, "left");
			}else{
				ClassName.add(oPullquote, "right");
			}
	// Insert the pullquote text
				for(j=0;j<oElement.childNodes.length;j++) {
					oPullquoteP.appendChild(oElement.childNodes[j].cloneNode(true));
				}
				oPullquote.appendChild(oPullquoteP);
	// Insert the blockquote element before the span elements parent element
				oElement.parentNode.parentNode.insertBefore(oPullquote,oElement.parentNode);
			}
		}
	}
};
AddEvent(window, 'load', pullquote.init);

// @author: Roger Johansson / Unknown
// @modified: Richard Herrera
// @description: A combination of two scripts giving users a choice of opening links in a new window
var newWindowLinks={get:function(){if(!$&&!document.getElementsByTagName&&!document.createElement&&!document.appendChild)return;newWindowLinks.makeToggler();newWindowLinks.checkCookie()},makeToggler:function(){var togglerParent=$('footer');if(!togglerParent)return;var labelObj=document.createElement('label');var checkboxObj=document.createElement('input');checkboxObj.setAttribute("type","checkbox");checkboxObj.setAttribute("id","targetSwitcher");checkboxObj.onclick=function(){newWindowLinks.iframe();newWindowLinks.checkTargets()};var newText=document.createTextNode('Open external links in new window?');labelObj.appendChild(checkboxObj);labelObj.appendChild(newText);togglerParent.appendChild(labelObj)},checkCookie:function(){if(newWindowLinks.readCookie(window.location.hostname+'-offsiteLinks')=='yes'||!newWindowLinks.readCookie(window.location.hostname+'-offsiteLinks')){newWindowLinks.toggleExt();if($('targetSwitcher'))$('targetSwitcher').checked=(newWindowLinks.readCookie(window.location.hostname+'-offsiteLinks'))}else if(newWindowLinks.readCookie(window.location.hostname+'-offsiteLinks')=='no')newWindowLinks.toggleInt()},checkTargets:function(){($('targetSwitcher').checked==true)?newWindowLinks.toggleExt():newWindowLinks.toggleInt()},open:function(e){var event=(!e)?window.event:e;if(event.shiftKey||event.altKey||event.ctrlKey||event.metaKey)return true;else{var oWin=window.open(this.getAttribute('href'),'_blank');if(oWin){if(oWin.focus)oWin.focus();return false}oWin=null;return true}},toggleExt:function(){newWindowLinks.createCookie(window.location.hostname+'-offsiteLinks','yes',365);var links=document.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(ClassName.test(links[i],"external",true)){links[i].setAttribute("target","_blank");ClassName.remove(links[i],"external")}}},toggleInt:function(){newWindowLinks.createCookie(window.location.hostname+'-offsiteLinks','no',365);var links=document.getElementsByTagName('a');for(var i=0;i<links.length;i++){if(ClassName.test(links[i],"external",true))return;if(links[i].getAttribute("target")){if(ClassName.test(document.getElementsByTagName("body")[0],"advertisement",true))links[i].setAttribute("target","_parent");else links[i].removeAttribute("target");ClassName.add(links[i],"external")}}},createCookie:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else var expires="";document.cookie=name+"="+value+expires+"; path=/"},readCookie:function(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0,c;c=ca[i];i++){while(c.charAt(0)==" ")c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length)}return null},iframe:function(){var div=document.getElementsByTagName("div");for(var i=0;i<div.length;i++){if(ClassName.test(div[i],"ad",true)){var iframe=div[i].getElementsByTagName("iframe");if(!iframe)return;for(var k=0;k<iframe.length;k++)iframe[k].src=iframe[k].src}}}};DomLoaded.load(newWindowLinks.get);



function alertAd(){
	var dogear=getElementsByClassName(document,"div","sz900x32")[0];
	alert(dogear.innerHTML);	
}
//AddEvent(window, 'load', alertAd);
