
// Main Entry Point
addLoadEvent(PageLoadFunc);

// Add Event Listener to window.onload 
// If a function already exists, it calls this as well as the new one.
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function() 
		{
			oldonload();
			func();
		}
	}
}


function Querystring(qs) 
{ 
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) 
	{
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) 
{
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) 
	{
		default_ = null;	
	}
	
	var value=this.params[key]

	if (value==null) 
	{
		value=default_;	
	}
	
	return value
}


// called on page load.
function PageLoadFunc ()
{
	var qs = new Querystring();
	var tab=qs.get('tab','Home');
    HandlePage(tab);
}

// Hide and Show Menus and Content
function HandlePage(page)
{
	HandleMainMenu(page);
	HandleSubMenu(page);
	HandleContent(page);
}

// Show Hide Content
function HandleContent(page)
{
	var pageContentText = page + 'Content';
	var pageContent = document.getElementById(pageContentText);
	if( pageContent != null )
	{
	    var allContent = pageContent.parentNode.childNodes;
	    var contentCount = allContent.length;
	    var content;
	    for( var i=0; i<contentCount ; i++)
	    {
	        content = allContent[i];
	        if( content.style )
	        {
	            if( content == pageContent )
	            {
	                content.style.display = 'block';
	            }
	            else
	            {
	                content.style.display = 'none';
	            }
	        }
	    }
	}
}

// Activate and Deactivate Main Menu Tabs.
function HandleMainMenu(page)
{
	var pageMainTabText = page + 'MainTab';
	var pageMainTab = document.getElementById (pageMainTabText);
	var endMainTab = document.getElementById( 'endMainTab' );
        
	var allMainTabs = pageMainTab.parentNode.childNodes;
	var tabCount = allMainTabs.length;
  	var tab;
	for (var i=0; i<tabCount; i++)
	{
		tab = allMainTabs[i];
		if( tab != endMainTab )
		{
			if (tab.style)
			{
 				if (tab == pageMainTab)
				{
				    // main tab
					tab.className = 'tab-active';
 				}
				else 
				{
				    // main tab
					tab.className = 'tab-inactive';
				}
			}
		}
	} 
	return;
}

// Display Hide Different Sub Menus based on Main Menu Tabs.
// Sets Sub Menu to Default Sub Menu Tab.
function HandleSubMenu(page)
{
	var pageSubMenuText = 'EmptySubMenu';
	if( page == 'Tutoring' || page == 'Testing' )
	{
		pageSubMenuText = page + 'SubMenu';
	}

	var pageSubMenu = document.getElementById(pageSubMenuText);
	var allMenuTabs = pageSubMenu.parentNode.childNodes;
	var menuCount = allMenuTabs.length;
	var menu;
	for( var i=0; i < menuCount; i++)
	{
		menu = allMenuTabs[i];
		if( menu.style )
		{
			if( menu == pageSubMenu )
			{
				menu.style.display = 'block';
			}
			else
			{
				menu.style.display = 'none';
			}
		}
	}
	// Set Sub Menu to Default Sub Menu Tab.
	var subMenuDefaultTabText = page + 'Hours'; 
	HandleSubMenuTabs(subMenuDefaultTabText);
	
	return;
}

// Will Show Hide Content based on Sub Menu Tab Choices.
function HandleSubMenuTabs(page)
{
	var pageSubText = page + 'SubTab';
	var pageSubTab = document.getElementById (pageSubText);
	var endMainTab = document.getElementById( 'endMainTab' );
    if( pageSubTab != null )
    {
	    var allSubTabs = pageSubTab.parentNode.childNodes;
	    if( allSubTabs != null )
	    {
	        var tabCount = allSubTabs.length;
  	        var tab;
	        for (var i=0; i<tabCount; i++)
	        {
		        tab = allSubTabs[i];
		        if( tab != endMainTab )
		        {
			        if (tab.style)
			        {
 				        if (tab == pageSubTab)
				        {
					        tab.className = 'subTab-active';
 				        }
				        else 
				        {
					        tab.className = 'subTab-inactive';
 				        }
			        }
		        }
	        }
	    }
	} 
	HandleContent(page);
}

