﻿//--------------------------------------------------------------------------------------------------
// All material contained within this and associated downloaded pages is the property of 4thorder(TM) 
// Copyright ? 2005.  All rights reserved.
//
// Author: Michael Falatine || Authors email: 4thorder@4thorder.us
//
// USAGE: You may use this script for commercial or personal use, however, the copyright is retained-
// by 4thorder (TM).
//
// For other free Scripts visit: http://www.4thorder.us/Scripts/
//---------------------------------------------------------------------------------------------------

// :::::::::::::::::::::::::
// :::: Global Variables :::
// :::::::::::::::::::::::::

var firstLoad=0;
var GlobalECState=0; // 0=collapsed, 1=expanded; used for inital state of ALL branches

// :::::::::::::::::::::::::
// :::: Global Functions :::
// :::::::::::::::::::::::::
window.onload=InitializePage;
function InitializePage()
{
Headers();
attachEventhandlers();
}

// Attach event handlers to all images within container
function attachEventhandlers()
{
mainTABLEElement=document.getElementById("mainTable");
TABLECollection=mainTABLEElement.getElementsByTagName("TABLE");

if (TABLECollection!=null)
	{for (l=0; l<TABLECollection.length; l++)
		{
		THCol=TABLECollection.item(l).getElementsByTagName("TH");
		THCol.item(0).onclick=onclickHandler;
		}
	}
}

function Headers()
{
	mainTABLEElement=document.getElementById("mainTable");
	TABLECollection=mainTABLEElement.getElementsByTagName("TABLE");
	
	if (TABLECollection!=null)
		{
		for (z=0; z<TABLECollection.length; z++)
			{
			TRCol=TABLECollection.item(z).getElementsByTagName("TR");
			THCol=TABLECollection.item(z).getElementsByTagName("TH");
	
			if(firstLoad==0)
				{	 // Yes: FIRST LOAD OF PAGE - set inital ECState
				if(GlobalECState==0)
					{// Global ECState is COLLAPSED (+) (0)				
					THCol.item(0).setAttribute("ECState",0);
					for (j=1; j<TRCol.length; j++)
						{
						TRCol.item(j).style.display='none';
						}
					}
				else
					{// Global ECState is EXPANDED (-) (1)
					THCol.item(0).setAttribute("ECState",1);	
					for (k=1; k<TRCol.length; k++)
						{
						TRCol.item(k).style.display='block';
						}
					}
				}
			else  	// No: FIRST LOAD OF PAGE - change ECState
				{	// Grab ECState and expand or collapse branch
				State=THCol.item(0).getAttribute("ECState");
				if(State==0)
					{
					// ECState is COLLAPSED (+) (0)
					for (l=1; l<TRCol.length;l++)
						{
						TRCol.item(l).style.display='none';
						}
					}
				else
					{
						// ECState is EXPANDED (-) (1)
						for (m=0; m<TRCol.length; m++)
						{
						TRCol.item(m).style.display='block';
						}
					}
				}
			}
		}
	if(firstLoad==0){firstLoad=1;}
}

// ::::::::::::::::::::::::
// :::: Event Handlers ::::
// ::::::::::::::::::::::::

function onclickHandler(e)
{
// Browser compatibility code
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if (targ.nodeType == 3) // defeat Safari bug
	targ = targ.parentNode;

	// Toggle ECState
	State=targ.getAttribute("ECState");
	if(State==0)
		{targ.setAttribute("ECState",1);}
	else{targ.setAttribute("ECState",0);}
Headers();
}



