/*
 * file   : utils.js
 * author : Kwame Ansong-Dwamena
 */
 
//gloabals

//This function makes the sub-menu items invisible
function hideSubmenuItems()
{
	document.getElementById("submenuItem1").style.display = "none";
	document.getElementById("submenuItem1").style.visibility = "hidden";
	document.getElementById("submenuItem2").style.display = "none";
	document.getElementById("submenuItem2").style.visibility = "hidden";
	document.getElementById("menuItem1").onclick = showSubmenuItems;
}

//This function makes the sub-menu items visible
function showSubmenuItems()
{
	document.getElementById("submenuItem1").style.display = "block";
	document.getElementById("submenuItem1").style.visibility = "visible";
	document.getElementById("submenuItem2").style.display = "block";
	document.getElementById("submenuItem2").style.visibility = "visible";
	document.getElementById("menuItem1").onclick = hideSubmenuItems;
}

/*
 *This function initializes the menu in the left col of applicable pages
 *Each page is identified by the Link element with attribute rel='start'
 */
function initLeftDivMenu()
{
	var pageTitle = document.getElementById("index").title;
	
	switch(pageTitle)
	{
		case "Portrait":
			showSubmenuItems();
			break;
		case "Scholarship Criteria":
			showSubmenuItems();
			break;
		default:
			hideSubmenuItems();
			break;
	}
}

//This function sets the id of an 'li' element to 'currentPage'
function setID(topnavLinks, pageTitle)
{
	for(i = 0; i < topnavLinks.length; i++)
	{
		if(pageTitle == topnavLinks[i].title)
			topnavLinks[i].parentNode.id = "currentPage";
		else topnavLinks[i].parentNode.id = "";
	}
}

//This function sets the 'currentpage' id for an 'li' element when a page loads
function initTopNavCurrentpage()
{
	var topnavLinks = document.getElementsByName("topnavLink");
	var pageTitle = document.getElementById("index").title;
	
	switch(pageTitle)
	{
		case "Scholarship Criteria":
			setID(topnavLinks, "Projects");
			break;
		case "Portrait":
			setID(topnavLinks, "Projects");
			break;
		default:
			setID(topnavLinks, pageTitle);
			break;
	}
}

/*
 *This function initializes certain settings for a webpage
 *by calling a number of functions targetted at particular settings.
 *If this doesn't make sense to you, don't worry. I don't think it will
 *make sense to me in a few months/years.
 */
function initSettings()
{
	initTopNavCurrentpage();
	document.getElementById("menuItem1").firstChild.href = "#";
	initLeftDivMenu();
}

/*
 * from Stuart Langride, http://www.kryogenix.org/days/2007/09/26/shortloaded;
 * this function detects the "onload" event for all browsers and fires up the
 * controls for the website
 */
(function(i) {
  var u = navigator.userAgent.toLowerCase();
  var ie = /*@cc_on!@*/false;
  if (/webkit/.test(u)) {
    // safari
    timeout = setTimeout(function(){
			if ( document.readyState == "loaded" || 
				document.readyState == "complete" ) {
				i();
			} else {
			  setTimeout(arguments.callee,10);
			}
		}, 10); 
  } else if ((/mozilla/.test(u) && !/(compatible)/.test(u)) ||
             (/opera/.test(u))) {
    // opera/moz
    document.addEventListener("DOMContentLoaded",i,false);
  } else if (ie) {
    // IE
    (function (){ 
      var tempNode = document.createElement('document:ready'); 
      try {
        tempNode.doScroll('left'); 
        i(); 
        tempNode = null; 
      } catch(e) { 
        setTimeout(arguments.callee, 0); 
      } 
    })();
  } else {
    window.onload = i;
  }
})(initSettings);
