I see a couple of problems, you define a bunch of functions to manipulate the menu but never call them. You also need something to loop over button events and move the cursor around/select menu items. Anyway put a call to your openmenu functionjust before the first def line and you should at least see something drawn.
Here is an updated version of my previously posted code with circle pad support. Remember to use floating point numbers for recieving position data from the circle pad. I also added some waits on moving through the menus so things didn't go too fast. Hope that helps.