// Menu Animation Script
// --------- --------- --------- --------- --------- --------- --------- 
// by Mike Bykow
// 05-07-21

var cancel_hide = false; //Used when user moves mouse back to menu
var hide_started = false; //Used to prevent multiple timers being launched
var animation_started = false; //Used to prevent mouseover actions once animation has started
var animation_incstop = 0; // Value at which to stop animation. Used to prevent from menu getting to big.
	
/* Debug */
function msg(message) {
	//alert(message);
}

function Toggle() {
	if (document.getElementById && !(document.all)) { 
		if (document.getElementById('QuicklinksMenu').style.display == "none") {
			//msg("... CLOSED -> OPEN NOW");
			document.getElementById('QuicklinksMenu').style.height="1px";
			document.getElementById('QuicklinksMenu').style.display = "block";
			
			animation_incstop = menu_height - animation_inc;
			animation_started=true;
			
			Animate_Menu_Open();			
		} else {
			//msg("... OPEN -> CLOSE NOW");
			animation_started=true;
			new_height = menu_height;			
			Animate_Menu_Close();
		}
	} else if (document.all) {
		if (document.all.QuicklinksMenu.style.display == "none") {
			//msg("... CLOSED -> OPEN NOW");
			document.all.QuicklinksMenu.style.height="1px";
			document.all.QuicklinksMenu.style.display = "block";

			animation_incstop = menu_height - animation_inc;
			animation_started=true;
			
			Animate_Menu_Open();
			
		} else {		
			//msg("... OPEN -> CLOSE NOW");
			animation_started=true;
			new_height = menu_height;			
			Animate_Menu_Close();
		}
	}
}

function Animate_Menu_Open() {	
//msg("..Animate_Menu_Open");
	if (animation_started) {
		if (document.getElementById && !(document.all)) {
			if (parseInt(document.getElementById('QuicklinksMenu').style.height) >= animation_incstop) {
				document.getElementById('QuicklinksMenu').style.height = menu_height + "px";
				animation_started=false;
			}
			else {
				document.getElementById('QuicklinksMenu').style.height = (parseInt(document.getElementById('QuicklinksMenu').style.height) + animation_inc) + "px";
				setTimeout("Animate_Menu_Open()",animation_framerate);
			}
		}
		else if (document.all) {
			if (parseInt(document.all.QuicklinksMenu.style.height) >= animation_incstop) {
				document.all.QuicklinksMenu.style.height = menu_height + "px";
				animation_started=false;
			}
			else {
				document.all.QuicklinksMenu.style.height = (parseInt(document.all.QuicklinksMenu.style.height) + animation_inc) + "px";
				window.setTimeout("Animate_Menu_Open()",animation_framerate);
			}	
		}
	}
}

function Animate_Menu_Close() {
//msg("..Animate_Menu_Close");
	if (animation_started) {
		if (document.getElementById && !(document.all)) {
			if (parseInt(document.getElementById('QuicklinksMenu').style.height) <= animation_dec) {
				document.getElementById('QuicklinksMenu').style.height = "1px";
				document.getElementById('QuicklinksMenu').style.display = "none";
				animation_started=false;
			}
			else {
				document.getElementById('QuicklinksMenu').style.height = (parseInt(document.getElementById('QuicklinksMenu').style.height) - animation_dec) + "px";
				setTimeout("Animate_Menu_Close()",animation_framerate);
			}
		}
		else if (document.all) {
			if (parseInt(document.all.QuicklinksMenu.style.height) <= animation_dec) {
				document.all.QuicklinksMenu.style.height = "1px";
				document.all.QuicklinksMenu.style.display = "none";
				animation_started=false;
			}
			else {		
				document.all.QuicklinksMenu.style.height = (parseInt(document.all.QuicklinksMenu.style.height) - animation_dec) + "px";
				window.setTimeout("Animate_Menu_Close()",animation_framerate);
			}	
		}
	}
}

function Toggle_Mouse() {
	//msg(".. Toggle_Mouse(): cancel_hide =" + cancel_hide + " ; hide_started =" + hide_started + " ;");
	cancel_hide=false;
	
	if (!hide_started) {
		if (document.getElementById && !(document.all)) { 
			if (document.getElementById('QuicklinksMenu').style.display != "none") {
				setTimeout("Hide_Menu()",800);
				hide_started=true;
			}
		}
		else if (document.all) {
			if (document.all.QuicklinksMenu.style.display != "none") {
				setTimeout("Hide_Menu()",800);
				hide_started=true;
			}
		}
	}
}
function Hide_Menu() {
	if (!cancel_hide && !animation_started) {
			animation_started=true;
			Animate_Menu_Close();
	}
	hide_started=false;
}