NPC Gossip menu level C++

Hi,

I have problem with gossip menu leveling. I dont know how to return to specific gossip menu level from another level. More info in code below:

[CODE]

bool OnGossipHello(Player* player, Creature* creature)
{
// Main Menu
AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, “Level 1 >>>|r”, GOSSIP_SENDER_MAIN, 1);
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
return true;
}

bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
{
ClearGossipMenuFor(player);
if (sender == GOSSIP_SENDER_MAIN)
{
switch (action)
{
case 0:
OnGossipHello(player, creature);
break;

        case 1: // Menu Level 1
            AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem1 Level 1|r", GOSSIP_SENDER_MAIN, 3);
            AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem2 Level 1|r", GOSSIP_SENDER_MAIN, 4);
            AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "<<< Back to Main Menu|r", GOSSIP_SENDER_MAIN, 0); // Back to Main Menu
            SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
            break;

       case 3: // Menu Level 2
            AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "SubItem1 Level 2|r", GOSSIP_SENDER_MAIN, 5);
            AddGossipItemFor(player, GOSSIP_ICON_INTERACT_2, "<<< Back to Level 1"|r", GOSSIP_SENDER_MAIN, 1); // Back To Level 1
            SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
            break;

        case 5:
            do something();
            // !!!THIS I DONT KNOW!!! how to back to Menu Level 1 from here?
            break;


[/CODE]

You do it like this:

OnGossipSelect(player, creature, GOSSIP_SENDER_MAIN, 1); return true;

Thank you, it works exactly as expected.