Drag windows Not working

I’m trying to make it so that it opens a window when i press a certain button but its not working, why?

Here is my code:

using UnityEngine;
using System.Collections;

public class ButtonsAtTop : MonoBehaviour {

	public Texture LogOutTexture;
	public Texture Shop;
	public Texture Inventory;
	public Texture Friends;
	public Texture Chat;
	public Texture CharacterCustom;
	bool displayWindowForShop=false;
	bool displayWindowForInventory=false;
	bool displayWindowForFriends=false;
	bool displayWindowForChat=false;
	bool displayWindowForCharacterCustom=false;
	public Rect showWindowRectForShop;
	public Rect showWindowRectForFriends;
	public Rect showWindowRectForInventory;
	public Rect showWindowRectForChat;
	public Rect showWindowRectForCharacterCustom;
	void Start()
	{
		showWindowRectForShop=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
		showWindowRectForChat=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
		showWindowRectForFriends=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
		showWindowRectForChat=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
		showWindowRectForCharacterCustom=new Rect(Screen.width-750, (Screen.height/2)-250, 500, 500);
	}

	void OnGUI()
	{
		if (GUI.Button (new Rect (Screen.width - 50, 0, 50, 50), LogOutTexture)) 
		{
			PhotonNetwork.Disconnect();
		}
		if (GUI.Button (new Rect (Screen.width - 100, 0, 50, 50), Shop)) 
		{
		displayWindowForShop=!displayWindowForShop;
		}
		if(GUI.Button (new Rect (Screen.width - 150, 0, 50, 50),Inventory))
		{
			displayWindowForInventory=false;
		}
		if(GUI.Button (new Rect (Screen.width - 200, 0, 50, 50),Friends))
		{
			displayWindowForFriends=false;
		}
		if(GUI.Button (new Rect (Screen.width - 250, 0, 50, 50),Chat))
		{
			displayWindowForChat=false;
		}
		if(GUI.Button (new Rect (Screen.width - 300, 0, 50, 50),CharacterCustom))
		{
			displayWindowForCharacterCustom=false;
		}

		if (displayWindowForShop) 
		{
			showWindowRectForShop=GUI.Window(0, showWindowRectForShop, ShopWindow, "Shop Window");
		}
		if (displayWindowForInventory) 
		{
			showWindowRectForInventory=GUI.Window(1,showWindowRectForInventory , InventoryWindow, "Inventory");
		}
		if (displayWindowForFriends) 
		{
			showWindowRectForFriends=GUI.Window(2,showWindowRectForFriends , FriendsWindow, "Friends");
		}
		if (displayWindowForChat) 
		{
			showWindowRectForChat=GUI.Window(3,showWindowRectForChat , ChatWindow, "Chat");
		}
		if (displayWindowForCharacterCustom) 
		{
			showWindowRectForCharacterCustom=GUI.Window(4 ,showWindowRectForCharacterCustom , CharacterCustomWindow, "Character Customisation");
		}
	}

	void ShopWindow(int id)
	{
		GUI.DragWindow ();
	}
	void InventoryWindow(int id)
	{
		GUI.DragWindow ();
		Debug.Log ("Show window for inventory");
	}
	void FriendsWindow(int id)
	{
		GUI.DragWindow ();
	}
	void ChatWindow(int id)
	{
		GUI.DragWindow ();
	}
	void CharacterCustomWindow(int id)
	{
		GUI.DragWindow ();
	}

	void OnDisconnectedFromPhoton()
	{
		Application.LoadLevel ("SciFi Level");
	}
	public void StartGame()
	{
		Application.LoadLevel ("Game Prototype");
	}
	public void Exit()
	{
		PhotonNetwork.Disconnect ();
	}
}

Most of the windows never open because you never tell them to be open.

on lines 43, 47, etc you use

value=false;

which always tells the windows to hide

Replace these lines with something like I wrote on line 39

value=!value;

it is short hand for

if(value){
    value=false;
}
else{
    value=true;
}