JavaScript GUI.Window OverPowers GUI.Button

Hey guys, i’m creating a horror game, i have had a GUI Skin made for this game. I have one problem, when applying the skin, the GUI.Window covers over the GUI.Buttons, and moves the position of them, please help, here are my scripts.

var mainMenuSceneName : String;
var pauseMenuFont : Font;
private var pauseEnabled = false;	
var guiskin : GUISkin;		
private var windowRect : Rect = Rect (Screen.width /2 - 100 ,Screen.height /2 - 100 ,250,200);

function Start(){
	pauseEnabled = false;
	Time.timeScale = 1;
	AudioListener.volume = 1;
	Screen.showCursor = false;
}

function Update(){

	//check if pause button (escape key) is pressed
	if(Input.GetKeyDown("escape")){
	
		//check if game is already paused		
		if(pauseEnabled == true){
			//unpause the game
			pauseEnabled = false;
			Time.timeScale = 1;
			AudioListener.volume = 1;
			Screen.showCursor = false;	
			GetComponent(MouseLook).enabled = true;	
			Screen.lockCursor = true;
			
		}
		
		//else if game isn't paused, then pause it
		else if(pauseEnabled == false){
			pauseEnabled = true;
			AudioListener.volume = 0;
			Time.timeScale = 0;
			Screen.showCursor = true;
			GetComponent(MouseLook).enabled = false;
			Screen.lockCursor = false;
		}
	}
}

private var showGraphicsDropDown = false;

function OnGUI(){

	 GUI.skin = guiskin;

	if(pauseEnabled == true){
		

		
		//Make Main Menu button
		if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), "Main Menu")){
			Application.LoadLevel(mainMenuSceneName);
		}
		
		//Make Change Graphics Quality button
			if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), "Change Graphics Quality")){
			
			if(showGraphicsDropDown == false){
				showGraphicsDropDown = true;
			}
			else{
				showGraphicsDropDown = false;
			}
		}
							//Make a background box
		GUI.Window(0, windowRect, OnGUI, "Main Menu");
		
		//Create the Graphics settings buttons, these won't show automatically, they will be called when
		//the user clicks on the "Change Graphics Quality" Button, and then dissapear when they click
		//on it again....
		if(showGraphicsDropDown == true){
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), "Fastest")){
				QualitySettings.currentLevel = QualityLevel.Fastest;
			}
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), "Fast")){
				QualitySettings.currentLevel = QualityLevel.Fast;
			}
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), "Simple")){
				QualitySettings.currentLevel = QualityLevel.Simple;
			}
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), "Good")){
				QualitySettings.currentLevel = QualityLevel.Good;
			}
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), "Beautiful")){
				QualitySettings.currentLevel = QualityLevel.Beautiful;
			}
			if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), "Fantastic")){
				QualitySettings.currentLevel = QualityLevel.Fantastic;
			}
			
			if(Input.GetKeyDown("escape")){
				showGraphicsDropDown = false;
			}
		}
		
		//Make quit game button
		if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), "Quit Game")){
			Application.Quit();
		}
	}
}

#pragma strict

var InventoryEnabled = false;
private var windowRect : Rect = Rect (Screen.width /2 - 280 ,Screen.height /2 - 280 ,650,500);


var InvWindow : Texture;
var InvClose : Texture;
var Grids : Texture[];
var SideBar : Texture[];
var guiskin : GUISkin;

private var GridValue : float = -1;

function Update(){

	
	if(Input.GetKeyDown("c")){
	
			
		if(InventoryEnabled == true){
			
			InventoryEnabled = false;
			Time.timeScale = 1;
			AudioListener.volume = 1;
			Screen.showCursor = false;	
			GetComponent(MouseLook).enabled = true;
						
		}
		
		
		else if(InventoryEnabled == false){
			InventoryEnabled = true;
			AudioListener.volume = 0;
			Time.timeScale = 0;
			Screen.showCursor = true;
			GetComponent(MouseLook).enabled = false;
			
		}
	}
}

function OnGUI ()
{
	 GUI.skin = guiskin;

	if(InventoryEnabled == true)
	{
		GUI.Window(0, windowRect, OnGUI, "Inventory");
		
		//Grid
		GridValue = GUI.SelectionGrid(Rect(Screen.width / 2 - 280, Screen.height / 2 - 280, 500, 200), GridValue, Grids, 4);

		//Side Bars
		
		
	}

Check out the documentation for GUI.Window. You can find it here:

If you want to use a window in this way, then you should provide a separate function to handle drawing its content - at the moment you are passing it 'OnGUI’and that isn’t a good idea.

            //Make a background box
       GUI.Window(0, windowRect, OnDrawMyWindow, "Main Menu");

You then implement “OnDrawMyWindow” so as to handle all of the controls that you want inside of it, removing them from OnGUI.