slideMenu.Registry = [];
slideMenu.lineHeight = 24;

function slideMenu(id) {
	slideMenu.Registry[id] = [];
	slideMenu.Registry[id]['height'] = 1;
	slideMenu.Registry[id]['containerObj'] = document.getElementById(id+"Container");
	slideMenu.Registry[id]['contentObj'] = document.getElementById(id+"Content");
	
	var numLines = get_numlines(slideMenu.Registry[id]['contentObj']);
	
	//slideMenu.Registry[id]['maxHeight']    = new Number((numLines * slideMenu.lineHeight) + 2);
	slideMenu.Registry[id]['maxHeight'] = (slideMenu.Registry[id]['containerObj'].scrollHeight * numLines) - (numLines - 1);
	slideMenu.Registry[id]['interval'] = null;
	slideMenu.Registry[id]['timeout'] = null;
	
	slideMenu.Registry[id]['contentObj'].style.height = '1px';
	
	// slide down events
	slideMenu.Registry[id]['containerObj'].onmouseover = function()
	{
		slideMenu.showMenu(id);
	}
	
	slideMenu.Registry[id]['containerObj'].onfocus = function()
	{
		slideMenu.showMenu(id);
	}
	
	// slide up events
	slideMenu.Registry[id]['containerObj'].onmouseout = function()
	{
		slideMenu.hideMenu(id);
	}
	slideMenu.Registry[id]['containerObj'].onblur = function()
	{
		slideMenu.hideMenu(id);
	}
}

function get_numlines(contentObj)
{
	var numLines = 0;
	for (i=0; i<contentObj.childNodes.length; i++) {
		if (contentObj.childNodes[i].tagName == "LI") {
			numLines++;
		}
	}
	return numLines;
}

slideMenu.showMenu = function(id) {
	clearInterval(slideMenu.Registry[id]['interval']);
		
	slideMenu.Registry[id]['contentObj'].style.display = 'block';
	slideMenu.Registry[id]['contentObj'].style.zIndex += 10;
	
	slideMenu.Registry[id]['interval'] = window.setInterval("slideMenu.slideDown('"+id+"')",1);
}

slideMenu.hideMenu = function(id) {
	clearInterval(slideMenu.Registry[id]['interval']);
	
	slideMenu.Registry[id]['contentObj'].style.zIndex = 10;
	slideMenu.Registry[id]['interval'] = window.setInterval("slideMenu.slideUp('"+id+"')",1);
}

slideMenu.slideDown = function(id) {
	for(var i=0;i<15;i++) {
		if(slideMenu.Registry[id]['height'] >= slideMenu.Registry[id]['maxHeight']) {
			clearInterval(slideMenu.Registry[id]['interval']);
		} else {
			slideMenu.Registry[id]['contentObj'].style.height = slideMenu.Registry[id]['height']+'px';
			slideMenu.Registry[id]['height'] ++;
		}
	}
}

slideMenu.slideUp = function(id) {
	for(var i=0;i<15;i++) {
		if(slideMenu.Registry[id]['height'] <= 1) {
			clearInterval(slideMenu.Registry[id]['interval']);
			slideMenu.Registry[id]['contentObj'].style.display = 'none';
		} else {
			slideMenu.Registry[id]['contentObj'].style.height = slideMenu.Registry[id]['height']+'px';
			slideMenu.Registry[id]['height'] --;
		}
	}
}