var menuSmall = 18;
var menuBig;
var menuContentBig;

var intResizeStep = 5;
var intWorkingResize = 1;
var intMode = -1;
var window_timeout;

function setUp() {
	menuContentBig = parseInt(document.getElementById('menuBarContent').style.height);
	menuBig = menuContentBig + 18;
}
function expandMenu()
{
	intMode = 1;
  document.getElementById('menuBarContent').style.overflow = 'hidden';
	
		document.getElementById('menuBarContent').style.height = 
					(parseInt(document.getElementById('menuBarContent').style.height) - intWorkingResize) + 'px';
			
		document.getElementById('menuBar').style.height = 
					(parseInt(document.getElementById('menuBar').style.height) + intWorkingResize) + 'px';
						
	if (intWorkingResize < intResizeStep) intWorkingResize += 1;
	
 	if (parseInt(document.getElementById('menuBar').style.height) < menuBig)
  {
    window_timeout = setTimeout("expandMenu();", 5);
  }
}

function retractMenu()
{
	intMode = -1;
	
	document.getElementById('menuBarContent').style.height = 
						(parseInt(document.getElementById('menuBarContent').style.height) + intWorkingResize) + 'px';
		
	document.getElementById('menuBar').style.height = 
						(parseInt(document.getElementById('menuBar').style.height) - intWorkingResize) + 'px';

	if (  parseInt(document.getElementById('menuBar').style.height) - menuSmall < intWorkingResize ) 
		intWorkingResize = 1;
	
	if (intWorkingResize < intResizeStep) intWorkingResize += 1;

 	if ((parseInt(document.getElementById('menuBar').style.height) > menuSmall) || (parseInt(document.getElementById('menuBarContent').style.height) < menuContentBig))
	{
    window_timeout = setTimeout("retractMenu();", 5);
	}
}

function menu_click() {
	clearTimeout(window_timeout); //just incase something is already running
	intWorkingResize = 1; //reset the size stepping
	
	switch (intMode) {
		case -1: //menu needs to grow
			expandMenu();
			break;
		case 1: //menu needs to shrink
			retractMenu();
			break;
	}
}