Keyboard control of GUI

Using frankenstein code I was able to create a GUI appear when I reach a specific area of the scene. Great! The problem I am running into now is that in order to use the mouse to control the menu the camera is zooming all over the place (because the code it is attached to the main controller). If I could only get the keyboard to interact with the menu then that would solve my problem.

My scene can be found at http://www.eringilman.com/Buku/

Walk into the middle of the room and you will see what I am talking about. Here is the code I am using.... (Taken from someone much more skilled then I on this forum)

private var GetKeyDown : boolean; 
private var windowOn : boolean; 
private var windowRect : Rect = Rect (150, 150, 120, 50);//window parameters 

function OnTriggerEnter (other : Collider) { 
buttonOn = true; 
} 

function OnTriggerExit (other : Collider) { 
buttonOn = false; 
} 

if (Input.GetKeyDown ("b") (Rect (50, 50, 100, 30), "WindowOn")) { 
windowOn = true; 
} 

if (GUI.Button (Rect (25, 100, 100, 30), "Turn Window Off")) { 
windowOn = false; 
} 

if (windowOn == true) { 
windowRect = GUI.Window (0, windowRect, WindowFunction, "My Window"); 
} 
} 
//take this "else-statement out if you want the activation of the window to be remembered, even if you leave the proximity of the object 
else { 
windowOn = false; 
} 

} 

function WindowFunction (windowID : int) { 
// Draw any Controls inside the window here 
}

Here is a partial answer at least. I got the camera to stop moving by turning off the MouseLook... kinda. It is still moving on the y axis, but even so it is a big improvement. Best of all when you back away you gain complete control over the camera again.

Anyone have a suggestion on how to get the y axis to turn off also. Here is the code so far...

private var buttonOn : boolean; private var windowOn : boolean; private var windowRect : Rect = Rect (550, 150, 200, 200);//window parameters

function OnTriggerEnter (other : Collider) { buttonOn = true; GetComponent(MouseLook).enabled = false; }

function OnTriggerExit (other : Collider) { buttonOn = false; GetComponent(MouseLook).enabled = true; }

function OnGUI () {

    if (buttonOn == true) {

        GUI.Box (Rect (200,10,108,280), "Main Menu"); 
        GUI.Box (Rect (207,34,96,210), "Select One..."); 

            if (GUI.Button (Rect (215,65,80,20), "Option 1")) {
                    windowOn = true;
            }

            if (GUI.Button (Rect (215,95,80,20), "Option 2")){
                    windowOn = true;
            }

            if (GUI.Button (Rect (215,255,80,20), "Close")){
                    windowOn = false;
            }

            if (windowOn == true) {
                    windowRect = GUI.Window (0, windowRect, WindowFunction, "My Window");
            }     

    }    

    //take this "else-statement out if you want the activation of the window to be remembered, even if you leave the proximity of the object
    else {
            windowOn = false;
    }

}

function WindowFunction (windowID : int) { // Draw any Controls inside the window here }