window.onload = hideDivs;

function hideDivs() {
	//retrieve all divs in article page
	var pageDivs = document.getElementById("articlePages").getElementsByTagName("div"); 
	var numOfDivs = pageDivs.length;
	
	// retrieve value from url hash
	var pageRef = location.hash; 
	if (pageRef == "") pageRef = "#page1";
	
	// hide the author and publish date for all article pages after the first page
	var articleAuthor = document.getElementById('author');
	var articleDate = document.getElementById('publishDate');
	
	if (pageRef != "#page1"){
		if(articleAuthor) articleAuthor.style.display = "none";
		if(articleDate) articleDate.style.display = "none";
	}

	//display the current page and hide all others	
	for (i=0;i<numOfDivs;i++){
		if(pageDivs[i].className == "articlePage"){
				if ("#" + pageDivs[i].id == (pageRef)) {
					var currentDivID = pageDivs[i].id;
					pageDivs[i].id = "new" + pageDivs[i].id;
					pageDivs[i].style.display = "block";
				}
				else {
					pageDivs[i].id = "new" + pageDivs[i].id;
					pageDivs[i].style.display = "none";
				}
		}// end if 	(this.className == "articlePage")
	}// end for (i=0;i<numOfDivs;i++)
	
	//retrieve all TOC menu links
	if (document.getElementById("toc")) var pageLinks = document.getElementById("toc").getElementsByTagName("a");
	if(pageLinks) var numOfLinks = pageLinks.length;
	else var numOfLinks = 0;	
	for (i=0;i<numOfLinks;i++){
	//underline the link for the current page
	if (pageLinks[i].className == currentDivID){
		pageLinks[i].style.textDecoration = "underline";
	}
	// initiate the switchDivs function when a link is clicked
	pageLinks[i].onclick = function(){
          return switchDivs(this.className);
      	}	
	}
}

function switchDivs(pageID) {
	// hide the author and publish date for all pages after the first page
	var articleAuthor = document.getElementById("author");
	var articleDate = document.getElementById("publishDate");
	if (pageID != "page1"){
		if(articleAuthor) articleAuthor.style.display = "none";
		if(articleDate) articleDate.style.display = "none";
	}
	else {
		if(articleAuthor) articleAuthor.style.display = "block";
		if(articleDate) articleDate.style.display = "block";
	}
	//display the current page and hide all others	
	var pageDivs = document.getElementById("articlePages").getElementsByTagName("div");
	var numOfDivs = pageDivs.length;
	for (i=0;i<numOfDivs;i++){
		if 	(pageDivs[i].className == "articlePage"){
			if (pageDivs[i].id == "new" + (pageID)) {
				pageDivs[i].style.display = "block";
				currentDivID = pageDivs[i].id;
			}
			else {
				pageDivs[i].style.display = "none";
			}
		}// end if 	(this.className == "articlePage")
	}// end for (i=0;i<numOfDivs;i++)

	//underline the link for the current page
	var pageLinks = document.getElementById("toc").getElementsByTagName("a");
	var numOfLinks = pageLinks.length;	
	for (i=0;i<numOfLinks;i++){
		if ("new" + pageLinks[i].className == currentDivID){
			pageLinks[i].style.textDecoration = "underline";
		}
		else {
			pageLinks[i].style.textDecoration = "none";
		}
	}
}