function addEvent(obj, evType, fn){ 
	if(obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	}else if(obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	}else{ 
		return false; 
	} 
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

addEvent(window, 'load', init);

function init(){
	clicker();
	
	var hash=location.hash;
	if (hash){
	  var sections=getElementsByClassName(document, "a", "section");
	  var contents=getElementsByClassName(document, "div", "contents");
	  var el;
	  switch(hash){
		  case "#magazines":
		  	el=document.getElementById("section-1");
		  	break;
		  case "#columnists":
		  	el=document.getElementById("section-2");
		  	break;
		  case "#electronic":
		  	el=document.getElementById("section-3");
		  	break;
		  default:
			el=document.getElementById("section-0");
	  }
	  sects(sections,contents,el);
	}
}

function sects(s,c,el){
	clearClasses(s, "section");
	showElement(el, "on");
	var identifier=el.id.split("-");
	var content=document.getElementById("content-"+identifier[1]);
	var links=getElementsByClassName(content, "div", "links");
	var tabs=getElementsByClassName(content, "a", "tab");
	clearClasses(c, "contents");
	showElement(content, "show");
	clearClasses(tabs, "tab");
	showElement(tabs[0], "on");
	clearClasses(links, "links");
	showElement(links[0], "show");
}

function clicker(){
	var sections=getElementsByClassName(document, "a", "section");
	var contents=getElementsByClassName(document, "div", "contents");
	for(i=0;i<sections.length;i++){
		/*
		sections[i].onclick=function(){
			clearClasses(sections, "section");
			showElement(this, "on");
			var identifier=this.id.split("-");
			var content=document.getElementById("content-"+identifier[1]);
			var links=getElementsByClassName(content, "div", "links");
			var tabs=getElementsByClassName(content, "a", "tab");
			clearClasses(contents, "contents");
			showElement(content, "show");
			clearClasses(tabs, "tab");
			showElement(tabs[0], "on");
			clearClasses(links, "links");
			showElement(links[0], "show");
		}
		*/
		sections[i].onclick=function(){
			sects(sections,contents,this);
		}
	}
	
	var tabs=getElementsByClassName(document, "a", "tab");
	var links=getElementsByClassName(document, "div", "links");
	for(i=0;i<tabs.length;i++){
		tabs[i].onclick=function(){
			clearClasses(tabs, "tab");
			showElement(this, "on");
			var identifier=this.id.split("-");
			var myLink=document.getElementById("link-"+identifier[1]);
			clearClasses(links, "links");
			showElement(myLink, "show");
		}
	}
}

function clearClasses(els, myClass){
	for(i=0;i<els.length;i++){
		if(myClass){
			els[i].className=myClass;
		}else{
			els[i].className="";
		}
	}
}

function showElement(el, myClass){
	if(el.className!=""){
		el.className=el.className+" "+myClass;
	}else{
		el.className=myClass;
	}
}