Why my rect not working

I don’t are sure is this right place to ask, but i ask now. Why this not print anything? It stop game, but not any menu.

using UnityEngine;
using System.Collections;

public class pause : MonoBehaviour {
	public GUISkin Myskin;
	
	
	private Rect windowRect;
	private Rect optionRect;
	private bool pauseMenu = false;
	private bool optionMenu = false;
		
	// Use this for initialization
	void Start () {
		windowRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 100, 200, 200);
		optionRect = new Rect(Screen.width / 2 - 100, Screen.height / 2 - 100, 200, 200);		
	
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKey(KeyCode.P)) {
			pauseMenu=true;
		}
		
		if (pauseMenu) {
			Time.timeScale = 0;
		} else {
			Time.timeScale = 1;
		}
	}
	
	private void OnGui() {
		if (pauseMenu) {
			windowRect = GUI.Window(0, windowRect, windowFunc, "Pause");
		}
		if (optionMenu) {
			optionRect = GUI.Window(0, optionRect, optionFunc, "Options");
		}
	}
	private void windowFunc( int id) {
		if (GUILayout.Button ("Resume")) {
			pauseMenu = false;
		}
		if (GUILayout.Button("Options")) {
			optionMenu = true;
		}
		if (GUILayout.Button ("Save")) {
			
		}
		if (GUILayout.Button ("Quit")) {
			Application.LoadLevel("window");
		}
	}
	
	private void optionFunc( int id ) {
		if (GUILayout.Button ("Back")) {
			optionMenu = false;
		}
	}
	
}

It’s OnGUI not OnGui. Also, don’t make it private.