public override void Draw(GameTime gameTime)
        {
            player = (Interfaces.IPlayer)Game.Services.GetService(typeof(Interfaces.IPlayer));
            spellHandler = (Interfaces.ISpellHandler)Game.Services.GetService(typeof(Interfaces.ISpellHandler));
            castle = (Interfaces.ICastle)Game.Services.GetService(typeof(Interfaces.ICastle));

            int width = Game.GraphicsDevice.PresentationParameters.BackBufferWidth;
            int height = Game.GraphicsDevice.PresentationParameters.BackBufferHeight;

            spriteBatch.Begin();
            spriteBatch.Draw(texTest, new Rectangle(0, 0, Game.GraphicsDevice.PresentationParameters.BackBufferWidth, Game.GraphicsDevice.PresentationParameters.BackBufferHeight), Color.White);

            string priceOnSelectedItem = "";
            string selectedItemType = "  AP";

            string desc1 = "";
            string desc2 = "";

            switch (itemSelected)
            {
                case 1:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.59f), Convert.ToInt32(height * 0.13f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = " 1/" + player.Ap;
                        selectedItemType = "  AP";

                        desc1 = "+Max Health";
                        break;
                    }
                case 2:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.595f), Convert.ToInt32(height * 0.19f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = " 1/" + player.Ap;
                        selectedItemType = "  AP";
                        desc1 = "+Mana regen";
                        break;
                    }
                case 3:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.6f), Convert.ToInt32(height * 0.25f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = " 1/" + player.Ap;
                        selectedItemType = "  AP";
                        desc1 = "+Speed";
                        break;
                    }
                case 4:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.605f), Convert.ToInt32(height * 0.31f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = " 1/" + player.Ap;
                        selectedItemType = "  AP";
                        desc1 = "+Spell damage";
                        break;
                    }
                case 5:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.61f), Convert.ToInt32(height * 0.36f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = " 1/" + player.Ap;
                        selectedItemType = "  AP";
                        desc1 = "+Max mana";
                        break;
                    }
                case 6:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.615f), Convert.ToInt32(height * 0.52f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = "100";
                        selectedItemType = " Gold";
                        desc1 = "Heals when consumed";
                        desc2 = "Max amount: 9";
                        break;
                    }
                case 7:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.62f), Convert.ToInt32(height * 0.58f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = "200";
                        selectedItemType = " Gold";
                        desc1 = "Returns some mana.";
                        desc2 = "Max amount: 9";
                        break;
                    }
                case 8:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.625), Convert.ToInt32(height * 0.64f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        priceOnSelectedItem = (castle.Level * 500).ToString();
                        selectedItemType = " Gold";
                        desc1 = "Increase castles lives.";
                        desc2 = "Max levels: 6";
                        break;
                    }
                case 9:
                    {
                        spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.63), Convert.ToInt32(height * 0.72f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                        if (spellsToBuy.Count > 0)
                        {
                            if (spellsToBuy.Count > buySpellIndex)
                            {
                                priceOnSelectedItem = spellHandler.GetSpellPrice(spellsToBuy[buySpellIndex]).ToString();
                                string spellDesc = spellHandler.GetSpellDescription(spellsToBuy[buySpellIndex]);
                                string[] spellDescSplit = spellDesc.Split('|');
                                desc1 = spellDescSplit[0];
                                desc2 = spellDescSplit[1];
                            }
                        }
                        else priceOnSelectedItem = "0";
                        selectedItemType = " Gold";

                        break;
                    }
            }

            /*
             Strength = max Helse
            Constitution = Mana Regen speed
            Intelligence = damage modifier
            Wisdom = max mana
             */
            //spriteBatch.DrawString(m_Font, "Abilities", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.107f)), Color.Red);
            //spriteBatch.DrawString(m_Font, "Ability points left: " + player.Ap, new Vector2((width * 0.62f), Convert.ToInt32(height * 0.14f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Constitution:   " + player.Constitution + "  (Mana regen)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.17f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Intelligence:    " + player.Intelligence + "  (Spell damage)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.20f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Strength:         " + player.Strength + "  (Increase max health)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.23f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Wisdom:         " + player.Wisdom + "  (Increase max mana)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.26f)), Color.WhiteSmoke);

            spriteBatch.DrawString(m_FontLarge, player.Strength.ToString(), new Vector2((width * 0.553f), Convert.ToInt32(height * 0.13f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Strength.ToString(), new Vector2((width * 0.55f), Convert.ToInt32(height * 0.125f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Constitution.ToString(), new Vector2((width * 0.559f), Convert.ToInt32(height * 0.185f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Constitution.ToString(), new Vector2((width * 0.556f), Convert.ToInt32(height * 0.18f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Agility.ToString(), new Vector2((width * 0.563f), Convert.ToInt32(height * 0.245f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Agility.ToString(), new Vector2((width * 0.56f), Convert.ToInt32(height * 0.24f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Intelligence.ToString(), new Vector2((width * 0.568f), Convert.ToInt32(height * 0.3f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Intelligence.ToString(), new Vector2((width * 0.565f), Convert.ToInt32(height * 0.295f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Wisdom.ToString(), new Vector2((width * 0.573f), Convert.ToInt32(height * 0.36f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Wisdom.ToString(), new Vector2((width * 0.57f), Convert.ToInt32(height * 0.355f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.HealthPotions.ToString(), new Vector2((width * 0.599f), Convert.ToInt32(height * 0.525f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.HealthPotions.ToString(), new Vector2((width * 0.596f), Convert.ToInt32(height * 0.52f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.ManaPotions.ToString(), new Vector2((width * 0.603f), Convert.ToInt32(height * 0.585f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.ManaPotions.ToString(), new Vector2((width * 0.60f), Convert.ToInt32(height * 0.58f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, castle.Upgrade.ToString(), new Vector2((width * 0.608f), Convert.ToInt32(height * 0.645f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, castle.Upgrade.ToString(), new Vector2((width * 0.605f), Convert.ToInt32(height * 0.64f)), Color.White);

            //spriteBatch.DrawString(m_Font, "Shop", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.35f)), Color.Red);
            //spriteBatch.DrawString(m_Font, "Buy health potions, 100gp. (You got " + player.HealthPotions + ")", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.38f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Buy mana potions, 100gp. (You got " + player.ManaPotions + ")", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.41f)), Color.WhiteSmoke);

            spellsToBuy.Clear();
            foreach (Spell s in spellHandler.SpellReference)
            {
                if (s.MinLevel <= player.Level)
                {
                    bool alreadyKnow = false;
                    foreach (GameObjects.SpellHandler.Spells spell in spellHandler.LearnedSpells)
                    {
                        if (spell == s.Type)
                        {
                            alreadyKnow = true;
                        }
                    }
                    if (!alreadyKnow)
                    {
                        spellsToBuy.Add(s.Type);
                    }
                }
            }
            if (buySpellIndex >= spellsToBuy.Count)
            {
                buySpellIndex = spellsToBuy.Count - 1;
            }

            if (spellsToBuy.Count > 0)
            {
                if (buySpellIndex <= 0)
                    buySpellIndex = 0;
                //spriteBatch.DrawString(m_Font,spellsToBuy[buySpellIndex].ToString() + " Price: " + spellHandler.GetSpellPrice(spellsToBuy[buySpellIndex]), new Vector2((width * 0.62f), Convert.ToInt32(height * 0.44f)), Color.WhiteSmoke);
                spriteBatch.DrawString(m_FontLarge, spellsToBuy[buySpellIndex].ToString(), new Vector2((width * 0.703f), Convert.ToInt32(height * 0.805f)), Color.Black);
                spriteBatch.DrawString(m_FontLarge, spellsToBuy[buySpellIndex].ToString(), new Vector2((width * 0.7f), Convert.ToInt32(height * 0.8f)), Color.White);
                //spriteBatch.DrawString(m_Font, spellHandler.GetSpellDescription(spellsToBuy[buySpellIndex])+"", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.47f)), Color.WhiteSmoke);
            }
            else
            {
                spriteBatch.DrawString(m_FontLarge, "None for sale", new Vector2((width * 0.703f), Convert.ToInt32(height * 0.805f)), Color.Black);
                spriteBatch.DrawString(m_FontLarge, "None for sale", new Vector2((width * 0.7f), Convert.ToInt32(height * 0.8f)), Color.White);
                //spriteBatch.DrawString(m_Font, "Buy spell: None for sale", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.44f)), Color.WhiteSmoke);
            }

            spriteBatch.DrawString(m_Font, player.Gold + " gp.", new Vector2((width * 0.235f), Convert.ToInt32(height * 0.81f)), Color.Black);
            spriteBatch.DrawString(m_Font, player.Gold + " gp.", new Vector2((width * 0.232f), Convert.ToInt32(height * 0.805f)), Color.White);

            spriteBatch.DrawString(m_Font, priceOnSelectedItem.ToString(), new Vector2((width * 0.385f), Convert.ToInt32(height * 0.65f)), Color.Black);
            spriteBatch.DrawString(m_Font, priceOnSelectedItem.ToString(), new Vector2((width * 0.382f), Convert.ToInt32(height * 0.645f)), Color.White);

            spriteBatch.DrawString(m_Font, desc1, new Vector2((width * 0.12f), Convert.ToInt32(height * 0.65f)), Color.Black);
            spriteBatch.DrawString(m_Font, desc1, new Vector2((width * 0.118f), Convert.ToInt32(height * 0.645f)), Color.White);

            spriteBatch.DrawString(m_Font, desc2, new Vector2((width * 0.125f), Convert.ToInt32(height * 0.695f)), Color.Black);
            spriteBatch.DrawString(m_Font, desc2, new Vector2((width * 0.122f), Convert.ToInt32(height * 0.69f)), Color.White);

            spriteBatch.DrawString(m_Font, selectedItemType, new Vector2((width * 0.385f), Convert.ToInt32(height * 0.705f)), Color.Black);
            spriteBatch.DrawString(m_Font, selectedItemType, new Vector2((width * 0.382f), Convert.ToInt32(height * 0.70f)), Color.White);

            spriteBatch.End();

            base.Draw(gameTime);
        }
        public override void Draw(GameTime gameTime)
        {
            player       = (Interfaces.IPlayer)Game.Services.GetService(typeof(Interfaces.IPlayer));
            spellHandler = (Interfaces.ISpellHandler)Game.Services.GetService(typeof(Interfaces.ISpellHandler));
            castle       = (Interfaces.ICastle)Game.Services.GetService(typeof(Interfaces.ICastle));

            int width  = Game.GraphicsDevice.PresentationParameters.BackBufferWidth;
            int height = Game.GraphicsDevice.PresentationParameters.BackBufferHeight;

            spriteBatch.Begin();
            spriteBatch.Draw(texTest, new Rectangle(0, 0, Game.GraphicsDevice.PresentationParameters.BackBufferWidth, Game.GraphicsDevice.PresentationParameters.BackBufferHeight), Color.White);

            string priceOnSelectedItem = "";
            string selectedItemType    = "  AP";

            string desc1 = "";
            string desc2 = "";

            switch (itemSelected)
            {
            case 1:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.59f), Convert.ToInt32(height * 0.13f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = " 1/" + player.Ap;
                selectedItemType    = "  AP";

                desc1 = "+Max Health";
                break;
            }

            case 2:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.595f), Convert.ToInt32(height * 0.19f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = " 1/" + player.Ap;
                selectedItemType    = "  AP";
                desc1 = "+Mana regen";
                break;
            }

            case 3:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.6f), Convert.ToInt32(height * 0.25f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = " 1/" + player.Ap;
                selectedItemType    = "  AP";
                desc1 = "+Speed";
                break;
            }

            case 4:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.605f), Convert.ToInt32(height * 0.31f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = " 1/" + player.Ap;
                selectedItemType    = "  AP";
                desc1 = "+Spell damage";
                break;
            }

            case 5:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.61f), Convert.ToInt32(height * 0.36f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = " 1/" + player.Ap;
                selectedItemType    = "  AP";
                desc1 = "+Max mana";
                break;
            }

            case 6:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.615f), Convert.ToInt32(height * 0.52f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = "100";
                selectedItemType    = " Gold";
                desc1 = "Heals when consumed";
                desc2 = "Max amount: 9";
                break;
            }

            case 7:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.62f), Convert.ToInt32(height * 0.58f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = "200";
                selectedItemType    = " Gold";
                desc1 = "Returns some mana.";
                desc2 = "Max amount: 9";
                break;
            }

            case 8:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.625), Convert.ToInt32(height * 0.64f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                priceOnSelectedItem = (castle.Level * 500).ToString();
                selectedItemType    = " Gold";
                desc1 = "Increase castles lives.";
                desc2 = "Max levels: 6";
                break;
            }

            case 9:
            {
                spriteBatch.Draw(selectorTexture, new Rectangle(Convert.ToInt32(width * 0.63), Convert.ToInt32(height * 0.72f), (int)Convert.ToInt32(width * 0.05f), Convert.ToInt32(height * 0.0888f)), Color.White);
                if (spellsToBuy.Count > 0)
                {
                    if (spellsToBuy.Count > buySpellIndex)
                    {
                        priceOnSelectedItem = spellHandler.GetSpellPrice(spellsToBuy[buySpellIndex]).ToString();
                        string   spellDesc      = spellHandler.GetSpellDescription(spellsToBuy[buySpellIndex]);
                        string[] spellDescSplit = spellDesc.Split('|');
                        desc1 = spellDescSplit[0];
                        desc2 = spellDescSplit[1];
                    }
                }
                else
                {
                    priceOnSelectedItem = "0";
                }
                selectedItemType = " Gold";

                break;
            }
            }

            /*
             * Strength = max Helse
             * Constitution = Mana Regen speed
             * Intelligence = damage modifier
             * Wisdom = max mana
             */
            //spriteBatch.DrawString(m_Font, "Abilities", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.107f)), Color.Red);
            //spriteBatch.DrawString(m_Font, "Ability points left: " + player.Ap, new Vector2((width * 0.62f), Convert.ToInt32(height * 0.14f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Constitution:   " + player.Constitution + "  (Mana regen)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.17f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Intelligence:    " + player.Intelligence + "  (Spell damage)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.20f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Strength:         " + player.Strength + "  (Increase max health)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.23f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Wisdom:         " + player.Wisdom + "  (Increase max mana)", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.26f)), Color.WhiteSmoke);


            spriteBatch.DrawString(m_FontLarge, player.Strength.ToString(), new Vector2((width * 0.553f), Convert.ToInt32(height * 0.13f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Strength.ToString(), new Vector2((width * 0.55f), Convert.ToInt32(height * 0.125f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Constitution.ToString(), new Vector2((width * 0.559f), Convert.ToInt32(height * 0.185f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Constitution.ToString(), new Vector2((width * 0.556f), Convert.ToInt32(height * 0.18f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Agility.ToString(), new Vector2((width * 0.563f), Convert.ToInt32(height * 0.245f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Agility.ToString(), new Vector2((width * 0.56f), Convert.ToInt32(height * 0.24f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Intelligence.ToString(), new Vector2((width * 0.568f), Convert.ToInt32(height * 0.3f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Intelligence.ToString(), new Vector2((width * 0.565f), Convert.ToInt32(height * 0.295f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.Wisdom.ToString(), new Vector2((width * 0.573f), Convert.ToInt32(height * 0.36f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.Wisdom.ToString(), new Vector2((width * 0.57f), Convert.ToInt32(height * 0.355f)), Color.White);


            spriteBatch.DrawString(m_FontLarge, player.HealthPotions.ToString(), new Vector2((width * 0.599f), Convert.ToInt32(height * 0.525f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.HealthPotions.ToString(), new Vector2((width * 0.596f), Convert.ToInt32(height * 0.52f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, player.ManaPotions.ToString(), new Vector2((width * 0.603f), Convert.ToInt32(height * 0.585f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, player.ManaPotions.ToString(), new Vector2((width * 0.60f), Convert.ToInt32(height * 0.58f)), Color.White);

            spriteBatch.DrawString(m_FontLarge, castle.Upgrade.ToString(), new Vector2((width * 0.608f), Convert.ToInt32(height * 0.645f)), Color.Black);
            spriteBatch.DrawString(m_FontLarge, castle.Upgrade.ToString(), new Vector2((width * 0.605f), Convert.ToInt32(height * 0.64f)), Color.White);


            //spriteBatch.DrawString(m_Font, "Shop", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.35f)), Color.Red);
            //spriteBatch.DrawString(m_Font, "Buy health potions, 100gp. (You got " + player.HealthPotions + ")", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.38f)), Color.WhiteSmoke);
            //spriteBatch.DrawString(m_Font, "Buy mana potions, 100gp. (You got " + player.ManaPotions + ")", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.41f)), Color.WhiteSmoke);

            spellsToBuy.Clear();
            foreach (Spell s in spellHandler.SpellReference)
            {
                if (s.MinLevel <= player.Level)
                {
                    bool alreadyKnow = false;
                    foreach (GameObjects.SpellHandler.Spells spell in spellHandler.LearnedSpells)
                    {
                        if (spell == s.Type)
                        {
                            alreadyKnow = true;
                        }
                    }
                    if (!alreadyKnow)
                    {
                        spellsToBuy.Add(s.Type);
                    }
                }
            }
            if (buySpellIndex >= spellsToBuy.Count)
            {
                buySpellIndex = spellsToBuy.Count - 1;
            }

            if (spellsToBuy.Count > 0)
            {
                if (buySpellIndex <= 0)
                {
                    buySpellIndex = 0;
                }
                //spriteBatch.DrawString(m_Font,spellsToBuy[buySpellIndex].ToString() + " Price: " + spellHandler.GetSpellPrice(spellsToBuy[buySpellIndex]), new Vector2((width * 0.62f), Convert.ToInt32(height * 0.44f)), Color.WhiteSmoke);
                spriteBatch.DrawString(m_FontLarge, spellsToBuy[buySpellIndex].ToString(), new Vector2((width * 0.703f), Convert.ToInt32(height * 0.805f)), Color.Black);
                spriteBatch.DrawString(m_FontLarge, spellsToBuy[buySpellIndex].ToString(), new Vector2((width * 0.7f), Convert.ToInt32(height * 0.8f)), Color.White);
                //spriteBatch.DrawString(m_Font, spellHandler.GetSpellDescription(spellsToBuy[buySpellIndex])+"", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.47f)), Color.WhiteSmoke);
            }
            else
            {
                spriteBatch.DrawString(m_FontLarge, "None for sale", new Vector2((width * 0.703f), Convert.ToInt32(height * 0.805f)), Color.Black);
                spriteBatch.DrawString(m_FontLarge, "None for sale", new Vector2((width * 0.7f), Convert.ToInt32(height * 0.8f)), Color.White);
                //spriteBatch.DrawString(m_Font, "Buy spell: None for sale", new Vector2((width * 0.62f), Convert.ToInt32(height * 0.44f)), Color.WhiteSmoke);
            }

            spriteBatch.DrawString(m_Font, player.Gold + " gp.", new Vector2((width * 0.235f), Convert.ToInt32(height * 0.81f)), Color.Black);
            spriteBatch.DrawString(m_Font, player.Gold + " gp.", new Vector2((width * 0.232f), Convert.ToInt32(height * 0.805f)), Color.White);

            spriteBatch.DrawString(m_Font, priceOnSelectedItem.ToString(), new Vector2((width * 0.385f), Convert.ToInt32(height * 0.65f)), Color.Black);
            spriteBatch.DrawString(m_Font, priceOnSelectedItem.ToString(), new Vector2((width * 0.382f), Convert.ToInt32(height * 0.645f)), Color.White);

            spriteBatch.DrawString(m_Font, desc1, new Vector2((width * 0.12f), Convert.ToInt32(height * 0.65f)), Color.Black);
            spriteBatch.DrawString(m_Font, desc1, new Vector2((width * 0.118f), Convert.ToInt32(height * 0.645f)), Color.White);

            spriteBatch.DrawString(m_Font, desc2, new Vector2((width * 0.125f), Convert.ToInt32(height * 0.695f)), Color.Black);
            spriteBatch.DrawString(m_Font, desc2, new Vector2((width * 0.122f), Convert.ToInt32(height * 0.69f)), Color.White);

            spriteBatch.DrawString(m_Font, selectedItemType, new Vector2((width * 0.385f), Convert.ToInt32(height * 0.705f)), Color.Black);
            spriteBatch.DrawString(m_Font, selectedItemType, new Vector2((width * 0.382f), Convert.ToInt32(height * 0.70f)), Color.White);


            spriteBatch.End();

            base.Draw(gameTime);
        }