I'm trying to use a menu to call a menu to offer the user choices. The first menu displays OK when you touch the object. Selecting button "Four" should show another button but doesn't
What am I doing wrong?
Thanks in advance

//----code -------
integer menu_handler;
integer menu_channel;
menu(key user,string title,list buttons)
{
menu_channel = 999;
menu_handler = llListen(menu_channel,"","",""
;llDialog(user,title,buttons,menu_channel);
llSetTimerEvent(5.0);
}
default
{
state_entry()
{
llSay(0, "Hello, Avatar!"
;}
touch_start(integer total_number)
{
menu(llDetectedKey(0),"Test Object",["One", "Two", "Three", "Four"]);
}
listen(integer channel, string name, key id, string msg)
{
if (channel == menu_channel)
{
llWhisper(0,"Message Received: " + msg);
if (msg == "Four"

{
menu(llDetectedKey(0),"Menu Two",["Five", "Six", "Seven"]);
}
}
}
}
//------End -----