slideMenu.Registry = [];

function slideMenu(id,numLines,velocitaDown,velocitaUp) {
	slideMenu.Registry[id] = [];
	slideMenu.Registry[id]['height'] = 1;
	slideMenu.Registry[id]['containerObj'] = document.getElementById(id+"Container");
	slideMenu.Registry[id]['contentObj'] = document.getElementById(id+"Content");
	slideMenu.Registry[id]['maxHeight'] = new Number((numLines * slideMenu.lineHeight) - 5);
	//slideMenu.Registry[id]['maxHeight'] = (slideMenu.Registry[id]['containerObj'].scrollHeight * numLines) - (numLines);
	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,velocitaDown); }
	slideMenu.Registry[id]['containerObj'].onfocus     = function() { slideMenu.showMenu(id,velocitaDown); }
	
	// slide up events
	slideMenu.Registry[id]['containerObj'].onmouseout  = function() { slideMenu.hideMenu(id,velocitaUp); }
	slideMenu.Registry[id]['containerObj'].onblur      = function() { slideMenu.hideMenu(id,velocitaUp); }
}

slideMenu.showMenu = function(id,velocitaDown) {
	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+"','"+velocitaDown+"')",1);
}

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

slideMenu.slideDown = function(id,velocitaDown) {
	for(var i=0;i<velocitaDown;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,velocitaUp) {
	for(var i=0;i<velocitaUp;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'] --;
		}
	}
}
