Scripting Spellbook with GUI

Okay, so i’m trying to do a spellbook script.
what I want is, to have one gui button. In which is 2d image. When I click it, it will show (enable) the second, which is much larger. It has close option, so you can close the second button, the big one. So basically, spellbook icon, and when you press it, on the screen is shown a spellbook, but enlarged version, and then when you see whatever you wanted, you close it, that’s it. But it won’t work, I don’t know what I’m doing wrong, since I’m new to scripting, and it’s not working very well for me. Now, this is so far…

var icon : Texture2D;
var customButton : GUIStyle;
var customLabel = new GUIStyle();
var showMoreGui = false; 

function OnGUI () { 
GUI.Box (Rect (870,800,150,75), GUIContent(icon, "There is no power without knowledge."));
GUI.Label (Rect (800,740,300,200), GUI.tooltip, customLabel);
    if (GUI.Button (Rect (870,800,150,75), "SpellBook", customButton)) {
		print ("You opened your spellbook.");
        showMoreGui = true; 

    if (showMoreGui) { 
        GUI.Button (Rect (10, 40, 800, 600), "Spell Book", customButton); 
        if (GUI.Button (Rect (10, 70,100,20), "Close")) 
            showMoreGui = false; 
			print ("You have closed your spellbook.");

(Since everyone is agreeing anyway, I’ll just post this as an answer)

Check out EZGUI by Above & Beyond Software for a great sprite/3D based GUI System.

(We bought it directly from A&B Software to get the package with all products. Very happy so far and been using it about 7 months. Support is incredible and there are forums where even fellow users will answer questions:

See comment thread under original question for more.

I am not affiliated with A&B Software in any way. I am just a happy user.