OnEnable Window- Constant Call

I have several windows that use onEnable to function:
Inventory, Character Panel, Quest Journal, etc.
Each one has a function to open it with a toggle and a function that controls the content of the window.

The character panel uses a GUI toolbar for all stats, equipment, skills.
The equipment will display, but when you click on stats or skills, the button will not register with a highlighted button.

/*********************************************	
//                      Character Window Vars	
//*********************************************
	private bool _displayCharacterWindow=false;
	private const int CHARACTER_WINDOW_ID=4;
	private Rect _characterWindowRect= new Rect(400,10,565,430);
	private int _characterPanel=0;
	private string[] _characterPanelNames= new string[]{"Equipment","Attributes","Skills" };


private void DisplayCharacterWindow()
	{
		_displayCharacterWindow=true;
		Debug.Log("This is the character Window. It shows the vitals, stats and skills of the toon and what the toon is wearing.");
	}


public void CharacterWindow(int id)
	{


		_characterPanel=GUI.Toolbar(new Rect(5,25, _characterWindowRect.width-10,50 ),_characterPanel, _characterPanelNames);
	
		switch(_characterPanel)
		{
			case 0:
			{
				DisplayEquipment();
				break;
			}
			case 1:
			{
				DisplayAttributes();
				break;
			}
			case 2:
			{
				DisplaySkills();
				break;
			}
		}
		GUI.DragWindow();
	
	}
	
	public void ToggleCharacterWindow()
	{
		_displayCharacterWindow=!_displayCharacterWindow;
	}
	

	private void DisplayEquipment()
	{
		Debug.Log("Display Equip");
		GUI.Button(new Rect(_characterWindowRect.width-95,90,90,40),"Head");
		GUI.Button(new Rect(_characterWindowRect.width-95,130,90,40),"Shoulders");
		GUI.Button(new Rect(_characterWindowRect.width-95,170,90,40),"Chest");
		GUI.Button(new Rect(_characterWindowRect.width-95,210,90,40),"Cloak");
		GUI.Button(new Rect(_characterWindowRect.width-95,250,90,40),"Belt");
		GUI.Button(new Rect(_characterWindowRect.width-95,290,90,40),"Arms");
		GUI.Button(new Rect(_characterWindowRect.width-95,330,90,40),"Legs");
		GUI.Button(new Rect(_characterWindowRect.width-95,370,90,40),"Feet");
		GUI.Button(new Rect(150,370,90,40),"Pri Weapon");
		GUI.Button(new Rect(240,370,90,40),"Sec Weapon");
		GUI.Button(new Rect(330,370,90,40),"Ranged");
		GUI.Button(new Rect(5,90,90,40),"Earring");
		GUI.Button(new Rect(5,130,90,40),"Earring");
		GUI.Button(new Rect(5,170,90,40),"Necklace");
		GUI.Button(new Rect(5,210,90,40),"Bracelet");
		GUI.Button(new Rect(5,250,90,40),"Bracelet");
		GUI.Button(new Rect(5,290,90,40),"Ring");
		GUI.Button(new Rect(5,330,90,40),"Ring");
		GUI.Button(new Rect(5,370,90,40),"Pocket");
		
	}	
	
	private void DisplayAttributes()
	{
		Debug.Log("Display Stats");
		GUI.BeginGroup(new Rect(100,100, _characterWindowRect.width-10, _characterWindowRect.height-50));
		GUI.Label(new Rect(0,0,50,25),"Label");
		PlayerCharacter.LoadAttributes();
		GUI.EndGroup();
	}
	
	private void DisplaySkills()
	{
		Debug.Log("Display Skills");
	}

Where am I going wrong? Seems like whichever window onscreen is constantly being called. The debug log statements keep going and going forever.
Is it because the window is constantly being called, so it never has time to change the toolbar button?
The attribute label doesn’t show up either, which is what led me to the trouble.
Thanks!

your script with simple method

void OnGUI()
{
	GUI.Window(CHARACTER_WINDOW_ID, _characterWindowRect, CharacterWindow, "123");
}

works fine, so error is somewhere else. check may be ‘_characterPanel’ resets somewhere?