
	// Function which assigns properties to the div objects in the array below
	function secSet(idName) {
		this.idName = idName;
		this.isHidden = true;
		this.xPos = 0;
		this.yPos = 0;
		this.thisTimeout = "";
	}
	
	// Create an array of objects - one for each div
	var secArray = new Array();
	secArray[0] = new secSet("sec1");
	secArray[1] = new secSet("sec2");
	secArray[2] = new secSet("sec3");
	secArray[3] = new secSet("sec4");
	secArray[4] = new secSet("sec5");
	
	// Set up horizontal offset positions for each div
	var secxPos = new Array();
	secxPos[0] = -237;
	secxPos[1] = -94;
	secxPos[2] = 39;
	secxPos[3] = 180;
	secxPos[4] = 306;
	
	// Set up vertical offset position for all divs
	var secyPos = +105;

	// Function which ensures that the div is properly aligned each time the drop-down is called
	function fnGoExpress(){
		var secLeft = 0;
		var offsetNS6 = 0;
		var windowWidth = (is.ie)?document.body.clientWidth/2:window.innerWidth/2;
		//keeps the drop-downs under the primary tabs if a user reduces the width of his/her browser below 770px;
		if (windowWidth<385) windowWidth = 385;
		for (i=0;i<secArray.length;i++){
			// NS has an 8 pixel width differential from IE, due to a scrollbar issue with JavaScript
			secLeft = (is.ie)?windowWidth - document.all[secArray[i].idName].offsetWidth/2 + secxPos[i]:windowWidth - document.getElementById(secArray[i].idName).offsetWidth/2 + secxPos[i] - 8;
			// NS6.x has a bug that adds a progressively increasing horizontal offset to the drop-downs.  To counter we subtract (in increasing 4px increments) from the value of secLeft
			if (is.ns6) {offsetNS6 = i*4; secLeft -= offsetNS6;}
			// Set horizontal position of the drop-down <div> tags
			(is.ie4)?document.all[secArray[i].idName].style.left=secLeft:document.getElementById(secArray[i].idName).style.left=secLeft;
			(is.ie4)?document.all[secArray[i].idName].style.top=secyPos:document.getElementById(secArray[i].idName).style.top=secyPos;
		}
	}
	window.onload = ((is.ie||is.ns6up||is.gecko) && !(is.mac&&(is.aol5||is.ie4)))?fnGoExpress:null;
	window.onresize = ((is.ie||is.ns6up||is.gecko) && !(is.mac&&(is.aol5||is.ie4)))?fnGoExpress:null;
	
	// Function which hides all drop-downs
	function hideAllSec() {
		for (i=0;i<secArray.length;i++){
			// All versions of IE benefit from using document.all 
			// using getElementByID for this creates 'sticky' drop-downs
			if (is.ie) document.all[secArray[i].idName].style.visibility = "hidden";
			else document.getElementById(secArray[i].idName).visibility = "hide";
			secArray[i].isHidden = true;
		}
	}
	
	
	// Function which tracks the page coordinates of the mouse
	var xMousePos = 0; 
	var yMousePos = 0; 
	
	if (is.ns) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = captureMousePosition;
	
	function captureMousePosition(e) {
		if (is.ie){
			xMousePos = window.event.x+document.body.scrollLeft;
			yMousePos = window.event.y+document.body.scrollTop;
		} 
		else if (is.ns||is.gecko) {
			xMousePos = e.pageX+window.pageXOffset;
			yMousePos = e.pageY+window.pageYOffset;
		}
	}
	
	/****************************************************************
	*  Function called as part of countDown() function to determine *
	*  if the mouse is still hovering over the div.                 *
	*  This function is also called on each mouse onClick as part   *
	*  of the mouseClickCheck() function                            *
	****************************************************************/
	function mouseOverDiv(arrayPosition){
		// establish the height and width of the drop-down div
		divHeight = (is.ie4)?parseInt(document.all[secArray[arrayPosition].idName].offsetHeight):parseInt(document.getElementById(secArray[arrayPosition].idName).offsetHeight);
		divWidth = (is.ie4)?parseInt(document.all[secArray[arrayPosition].idName].offsetWidth):parseInt(document.getElementById(secArray[arrayPosition].idName).offsetWidth);
		
		// determine page coordinates of the div
		divLeft = (is.ie4)?parseInt(document.all[secArray[arrayPosition].idName].style.left):parseInt(document.getElementById(secArray[arrayPosition].idName).style.left);
		divTop = (is.ie4)?parseInt(document.all[secArray[arrayPosition].idName].style.top):parseInt(document.getElementById(secArray[arrayPosition].idName).style.top);
	
		divRight = divLeft + divWidth;
		divBottom = divTop + divHeight;
	
		//subtract the pixel height of the tabs to include them in the 'hover' area 
		topOfTabs = divTop - 20; 
		
		//determine whether mouse is over the div
		if (((divLeft < xMousePos)&&(divRight > xMousePos))&&((topOfTabs < yMousePos)&&(divBottom > yMousePos))) {
			return true;
		} else {
			return false;
		}
	}
	
	/****************************************************************
	*  Function which will automatically check each mouse click and *
	*  will close any open second-level navs should a user click    *
	*  anywhere else on the page.                                   *
	****************************************************************/
	if(is.ns) document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown = checkMousePosition;
	
	function checkMousePosition(e) {
		for(i=0;i<secArray.length;i++){
			if(!secArray[i].isHidden && !mouseOverDiv(i)){
				hideSec(i)
				break;
			}
		}	
	}
	
	
	/****************************************************************
	*  Function which hides a revealed drop-down after pre-         *
	*  determined time limit.  When the number of seconds specified *
	*  in the removeSec() function has passed, this funciton        *
	*  checks to see if the mouse if still hovering over the div.   *
	*  If so, it calls the removeSec() function all over again.     *
	*  If not, it hides the div from the user.                      *
	****************************************************************/
	function countDown(arrayPosition,seconds){
		if(seconds==0){
			if(!secArray[arrayPosition].isHidden && !mouseOverDiv(arrayPosition)){
				if (is.ie4) document.all[secArray[arrayPosition].idName].style.visibility = "hidden";
				else document.getElementById(secArray[arrayPosition].idName).style.visibility = "hidden";
				secArray[arrayPosition].isHidden = true;
			} else if (!secArray[arrayPosition].isHidden && mouseOverDiv(arrayPosition)){
				removeSec(arrayPosition);
			}
		}else{
			seconds = --seconds;	
			clearTimeout(secArray[arrayPosition].thisTimeout);
			secArray[arrayPosition].thisTimeout = setTimeout("countDown("+arrayPosition+","+seconds+");",1000);
		}
	}
	
	/****************************************************************
	*  Function which calls the countDown() function after certain  *
	*  number of seconds.  This wrapper function was created so     *
	*  that the value of 'seconds' would be reset to 6 each time    *
	*  a new drop-down was revealed, and the count down would start *
	*  over.                                                        *
	****************************************************************/
	function removeSec(arrayPosition) {
		//set the number of seconds to keep the drop-down on the screen each time the drop-down is clicked on
		var seconds = 6
		countDown(arrayPosition,seconds);
	}
	
	// Function which reveals a specific drop-down and then triggers the countDown() function 
	function showSec(arrayPosition) { 
		hideAllSec();
		if (is.ie4) document.all[secArray[arrayPosition].idName].style.visibility = "visible";
		else document.getElementById(secArray[arrayPosition].idName).style.visibility = "visible";
		secArray[arrayPosition].isHidden = false;
		removeSec(arrayPosition);
	}
	
	// Function which hides a specific drop-down
	function hideSec(arrayPosition) {
		if (is.ie4) document.all[secArray[arrayPosition].idName].style.visibility = "hidden";
		else document.getElementById(secArray[arrayPosition].idName).style.visibility = "hidden";
		secArray[arrayPosition].isHidden = true;
	}
	
	// Functions that change tab colors on mouseOver and mouseOut
	function mouseOverFirstLevel(anchorTagID){
		if(is.ie) document.all[anchorTagID].className='firstLevelTextSelected';
		else if (is.ns6up) document.getElementById(anchorTagID).className='firstLevelTextSelected';
	}
	
	function mouseOutFirstLevel(anchorTagID){
		if(is.ie) document.all[anchorTagID].className='firstLevelText';
		else if (is.ns6up) document.getElementById(anchorTagID).className='firstLevelText';
	}
	
	function mouseOverSecondLevel(tableDataTag,otherTableDataTag,anchorTagID) {
		if(is.ie) {document.all[tableDataTag].className='secondLevelSelected';document.all[otherTableDataTag].className='secondLevelSelected';document.all[anchorTagID].className='secondLevelSelected';}
		else if(is.ns6up) {document.getElementById(tableDataTag).className='secondLevelSelected';document.getElementById(otherTableDataTag).className='secondLevelSelected';document.getElementById(anchorTagID).className='secondLevelSelected';}
	}
	
	function mouseOutSecondLevel(tableDataTag,otherTableDataTag,anchorTagID) {
		if(is.ie) {document.all[tableDataTag].className='secondLevel';document.all[otherTableDataTag].className='secondLevel';document.all[anchorTagID].className='secondLevel';}
		else if(is.ns6up) {document.getElementById(tableDataTag).className='secondLevel';document.getElementById(otherTableDataTag).className='secondLevel';document.getElementById(anchorTagID).className='secondLevel';}
	}


