// this will work with NO popouts.

if(document.layers){
            thisbrowser="NN4";
        }
if(document.all){
             thisbrowser="ie"
        }
if(!document.all && document.getElementById){
             thisbrowser="NN6";
        }

var roller = new Object(); //<!--- me active (rolled over) at a particular level. 0 if no me is active at a level. --->
var levelin = new Object(); //<!--- Flags level the mouse is currently over. 1 is base, 2 is 1st flyout. 1 = over, 0 = not over. --->
var menuid = new Object(); //<!--- DIV ID for flyout. level 1 is not used. Level 2 is the flyout Re: to level 1. --->
roller[1] = 0;
roller[2] = 0;
levelin[1] = 0;
levelin[2] = 0;
menuid[1] = 0;
menuid[2] = 0;
rollmax = 2; //<!--- current number of levels in the programming. Supposedly more will fall in naturally. --->
var timesave = new Object(); //<!--- stuff saved on rollout and maybe we want to close things down -- but only if nothing else is activated during a delay. --->
timesave[1] = 0;
timesave[2] = 0;
timesave[3] = 0;
timesave[4] = 0;
bgreset = "#070C51";

// for no popout, pass in flyme =0
function doRoll(me,bg,flyme,level,leftshift) {

	// rolling in: de-highlight everything at or above the level, and close popups above.
	x = rollmax;
	while (x >= level) {
		if (roller[x] != 0) {
			if (thisbrowser=="ie") {
				document.all[roller[x]].style.background = bgreset;
				if (x > level && menuid[x] != flyme) {
					document.all[menuid[x]].style.left=-2000;
				}
			}
			else if (thisbrowser=="NN6") {
				document.getElementById(roller[x]).style.background = bgreset;
				if (x > level && menuid[x] != flyme){
					document.getElementById(menuid[x]).style.left = -2000;
				}
			}
			else {
				document.roller[x].background = bgreset;
				if (x > level && menuid[x] != flyme){
					document.roller[x].left=-2000;
				}
			}
			roller[x] = 0;
		}
		x = x-1;
	}

	// rolling in: flag out of other levels. 
	x=1;
	while (x<=rollmax) {
		if (x != level) {
			levelin[x] = 0;
		}
		x=x+1;
	}

	// rolling in: activate me and specify any popout.
	roller[level] = me;
	levelin[level] = 1;
	if (flyme != 0) {
		roller[level+1] = flyme;
		menuid[level+1] = flyme;
	}
	
	// get offset relative to rollover element upper left corner.
	if (thisbrowser=="ie") {
		// ie does a weird thing w/ arrow aligned right. 
		var offsetTrail = document.all(me);
		var offsetLeft = -0;
		var offsetTop = offsetTrail.offsetHeight;
	}
	else if (thisbrowser=="NN6") {
	    var offsetTrail = document.getElementById(me);
		var offsetLeft = -0; 
		var offsetTop = offsetTrail.offsetHeight;
	}
	else {
		var offsetTrail = me;
		var offsetLeft = -0;
		var offsetTop = offsetTrail.offsetHeight;
	}
	offsetLeft = offsetLeft + leftshift;
	
	// add the position of the rollover element relative to upper left corner of a parent... items.
	while (offsetTrail) {
		// alert(offsetTrail.offsetLeft + ' ' + offsetTrail.offsetTop); 
			offsetLeft += offsetTrail.offsetLeft;
    	    offsetTop += offsetTrail.offsetTop;
        	offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
	
	// set background of rolled-over, and display any popout.
	if (thisbrowser=="ie") {
		document.all[me].style.background=bg;
		if (level < rollmax) {
			if (roller[level+1] != 0) {
				// alert(offsetLeft + ' ' + offsetTop);
				// document.all[roller[level+1]].style.left = 10;
				// document.all[roller[level+1]].style.top = 100;
				document.all[roller[level+1]].style.left = offsetLeft;
				document.all[roller[level+1]].style.top = offsetTop;
			}
		}
	}
	else if (thisbrowser=="NN6") {
		document.getElementById(me).style.background = bg;
		if (level < rollmax) {
			if (roller[level+1] != 0) {
				document.getElementById(roller[level+1]).style.left = offsetLeft;
				document.getElementById(roller[level+1]).style.top = offsetTop;
			}
		}
	}
	else {
		document.me.background=bg;
	}

	
}

function dontRoll(me,bg,flyme,level) {

	levelin[level] = 0;
	timesave[1] = me;
	timesave[2] = bg;
	timesave[3] = flyme;
	timesave[4] = level;
	
	setTimeout("maybeClose()",200); // milliseconds
	// setTimeout("hibob()",100); 
	// maybeClose(me,bg,flyme,level); 
	
}

function hibob() {
	alert('hibob');
}


function maybeClose() {

	me = timesave[1];
	bg = timesave[2];
	flyme = timesave[3];
	level = timesave[4];
	
	x=1;
	insum=0;
	while (x<=rollmax) {
		insum = insum + levelin[x];
		x=x+1;
	}

	// alert(roller[1]); 
	
	// rolling out: de-highlight everything, and close popups above.
	if (insum == 0) {
	x = rollmax;
	while (x >= 1) {
		if (roller[x] != 0) {
			if (thisbrowser=="ie") {
				if (menuid[x] != 0) {
					document.all[menuid[x]].style.left=-2000;
				}
				document.all[roller[x]].style.background=bgreset;			
			}
			else if (thisbrowser=="NN6") {
				if (menuid[x] != 0) {
					document.getElementById(menuid[x]).style.left = -2000;
				}
				document.getElementById(roller[x]).style.background = bgreset;
			}
			else {
				if (menuid[x] != 0) {
					document.menuid[x].left=-2000;
				}
				document.roller[x].background=bgreset;
			}
			roller[x] = 0;
		}
		x = x-1;
	}
	}

}
