public TokenVendorStoneBuyGump( VSShopper shopper, TokenVendorStone stone )
            : base(125, 125)
        {
            m_Shopper = shopper;
            m_Stone = stone;

            m_Stone.CloseGumps( m_Shopper.Owner );

            AddPage( 0 );

            AddBackground( 0, 0, 375, 210, 0x2436 );

            AddLabel( 12, 17, 5, "Your Buy List" );
            AddLabel( 110, 22, 5, "Total Purchase: "+m_Shopper.TotalPrice() );

            AddButton( 15, 160, 4005, 4007, 0, GumpButtonType.Reply, 0 );
            AddLabel( 45, 160, 33, "Back" );
            AddButton( 110, 160, 4005, 4007, 1, GumpButtonType.Reply, 0 );
            AddLabel( 140, 160, 1152, "Buy" );

            for ( int i = 0; i < m_Shopper.ItemList.Count; ++i )
            {
                int item = (int)m_Shopper.ItemList[i];

                if ( (i % 5) == 0 )
                {
                    if ( i != 0 )
                    {
                        AddButton( 190, 235, 0x1196, 0x1196, 1152, GumpButtonType.Page, (i / 5) + 1 );
                        AddLabel( 190, 220, 1152, "Next page" );
                    }

                    AddPage( (i / 5) + 1 );

                    if ( i != 0 )
                    {
                        AddButton( 10, 235, 0x119a, 0x119a, 1152, GumpButtonType.Page, (i / 5) );
                        AddLabel( 10, 220, 1152, "Previous page" );
                    }
                }

                VSItem vsi = (VSItem)m_Stone.ItemList[item];

                string blessbond = (vsi.BlessBond ? "(B)" : "");

                AddButton( 13, 40 + ((i % 5) * 20), 0x26AF, 0x26B1, i+2, GumpButtonType.Reply, 0 );
                if ( m_Stone.Currency.ToLower() == "daat99tokens" )
                    AddLabel( 40, 40 + ((i % 5) * 20), 1152, vsi.Amount+" "+vsi.Name+" "+blessbond+" "+vsi.Price+" Token Ledger Tokens" );
                else
                    AddLabel( 40, 40 + ((i % 5) * 20), 1152, vsi.Amount+" "+vsi.Name+" "+blessbond+" "+vsi.Price+" "+m_Stone.Currency );
            }
        }