How can I alter the visible menu according to which level I am on [closed]

First you should use the menu builder in the backend to create your menu then use the classes for the different list items to hide or display the UL nested under them. For example

li ul { display: none; }
li.current-menu-item ul { display: block; }
li.current-menu-ancestor li ul { display: none; }
li.current-menu-ancestor li.current-menu-item ul { display: block; }

you can use this logic to hide and show all different levels of menus you have based on what page you are in. You may have to play around with parent classes overriding the display style, but thats the idea. If you view source you will see the classes available to you.