
selectedMenuObj = "none";
//dropmenuchilds = Array("dropmenu19wrapper","dropmenu22wrapper","dropmenu28wrapper","dropmenu30wrapper","dropmenu31wrapper","dropmenu32wrapper");
//submenuchilds = Array("dropmenuwrapper2","dropmenuwrapper4");
dropmenuchildsAlwaysOpen = "none";
preventClose = false;

function aca_menu_init() {
	
}

function aca_reset_reenter() {
	preventClose = false;
}

function aca_menu_show(obj,alwaysOpen,parentObj,hasContent) {
	
	obj = document.getElementById(obj);
	
	//Fix always open
	if (alwaysOpen != "") {
		dropmenuchildsAlwaysOpen = alwaysOpen;
		alwaysOpenObj = document.getElementById(alwaysOpen);
		alwaysOpenObj.style.height = aca_menu_testheight(alwaysOpenObj.innerHTML) + "px";
	}
	
	//Close any else submenu
	for (m=0;m<submenuchilds.length;++m) {
		if (obj.ID != submenuchilds[m]) {
			document.getElementById(submenuchilds[m]).style.display = "none";
		}
	}
	
	obj.style.left = parentObj.offsetLeft-5 + "px";
	if (hasContent == "true") obj.style.display = "block";
	
}

function aca_menu_hide(obj) {
	
	obj = document.getElementById(obj);
	//get height so menu dont close if less objects
	yPos = obj.offsetHeight + obj.offsetTop;
	
	if (selectedMenuObj == obj.id && yPos >= yMousePos+10) {
		aca_do_actual_hide(obj);
	}
	
}

function aca_menu_hideallsub() {
	for (m=0;m<submenuchilds.length;++m) {
		document.getElementById(submenuchilds[m]).style.display = "none";
	}
}

function aca_do_actual_hide(obj) {

	obj.style.display = "none";
}

function aca_menu_setval(obj) {
	selectedMenuObj = obj;
}

function aca_menu_showsub(obj) {
	
	openObject = obj.id + "wrapper";
	
	for (m=0;m<dropmenuchilds.length;++m) {
		
		tmpObj = dropmenuchilds[m];
		
		if (openObject == tmpObj) {
			obj = document.getElementById(tmpObj);
			aca_menu_morphToSize(tmpObj,aca_menu_testheight(obj.innerHTML));
		} else {
			if (dropmenuchildsAlwaysOpen != tmpObj) {
				obj = document.getElementById(tmpObj);
				aca_menu_morphToSize(tmpObj,0);
			}
		}
		
	}
	
	
}

function aca_menu_testheight(content) {

	testerObj = document.getElementById("framemenutester");
	testerObj.innerHTML = content;
	return testerObj.offsetHeight;
	
}

function aca_menu_morphToSize(obj,newSize) {
		
	var myEffect = new Fx.Morph(obj, {duration: 100, transition: Fx.Transitions.Sine.easeOut});

	myEffect.start({
	    'height': newSize //Morphs the height from the current to 100px.
	});
		
}

/* CAPTURE MOUSE POSITION -------------------- */

// Set Netscape up to run the "captureMousePosition" function whenever
// the mouse is moved. For Internet Explorer and Netscape 6, you can capture
// the movement a little easier.
if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
}
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
    if (document.layers) {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position
        // reflects the position from the top/left of the screen the
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // Netscape 6 behaves the same as Netscape 4 in this regard
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
}