/// <summary>
        /// ChessBoardInitializer Constructor
        /// </summary>
        /// <param name="aChessBoard"></param>
        /// <param name="aChessFENString"></param>
        /// <param name="aSquareList"></param>
        /// <param name="aWhitePieceList"></param>
        /// <param name="aBlackPieceList"></param>
        /// <param name="aSquareFactory"></param>
        /// <param name="aPieceFactory"></param>
        /// <param name="aSquareLocator"></param>
        public ChessBoardInitializer(ChessBoard aChessBoard,
            ArrayList aSquareList, ArrayList aWhitePieceList, ArrayList aBlackPieceList,
            ChessSquareFactory aSquareFactory, ChessPieceFactory aPieceFactory,
            ChessSquareLocator aSquareLocator)
        {
            chessBoard = aChessBoard;

            squareList = aSquareList;
            whitePieceList = aWhitePieceList;
            blackPieceList = aBlackPieceList;

            squareFactory = aSquareFactory;
            pieceFactory = aPieceFactory;
            squareLocator = aSquareLocator;
        }
 /// <summary>
 /// ChessLocationCalculatorBishop constructor
 /// </summary>
 /// <param name="chessboard"></param>
 public ChessLocationCalculatorBishop(ChessBoard chessboard)
     : base(chessboard)
 {
 }
        /// <summary>
        /// InitializeImageGenerator
        /// </summary>
        public void InitializeImageGenerator()
        {
            try
            {
                if (null == (chessBoardPictureBox = (PictureBox)FindControl("pictureBoxCenter")))
                {
                    string errorMsg = "Null PictureBox Control:";
                    throw new Exception(errorMsg);
                }
            }
            catch (Exception E)
            {
                string errorMsg = E.ToString();
                throw new Exception(errorMsg);
            }
            try
            {
                if (null == (whitePlayerButton = (Button)FindControl("buttonWhitePlayer")))
                {
                    string errorMsg = "Null Bottom Button Control:";
                    throw new Exception(errorMsg);
                }
            }
            catch (Exception E)
            {
                string errorMsg = E.ToString();
                throw new Exception(errorMsg);
            }
            try
            {
                if (null == (blackPlayerButton = (Button)FindControl("buttonBlackPlayer")))
                {
                    string errorMsg = "Null Top Button Control:";
                    throw new Exception(errorMsg);
                }
            }
            catch (Exception E)
            {
                string errorMsg = E.ToString();
                throw new Exception(errorMsg);
            }
            try
            {
                if (WhitePlayerName == null)
                {
                    chessWhitePlayerName = WhitePlayerName;
                }
                else
                {
                    chessWhitePlayerName = whitePlayerButton.Text;
                }
                if (BlackPlayerName == null)
                {
                    chessBlackPlayerName = BlackPlayerName;
                }
                else
                {
                    chessBlackPlayerName = blackPlayerButton.Text;
                }

                chessBoard = new ChessBoard(this, chessBoardPictureBox);
                chessWhitePlayer = new ChessPlayer(EnumPlayerType.WhitePlayer, chessWhitePlayerName, EnumPieceColor.White);
                chessBlackPlayer = new ChessPlayer(EnumPlayerType.BlackPlayer, chessBlackPlayerName, EnumPieceColor.Black);

                chessBoard.InitializeChessBoard();

                SetChessBoardPlayerButtonText();

                chessWhitePlayer.SetPieceList(chessBoard.GetWhitePieceList());
                chessBlackPlayer.SetPieceList(chessBoard.GetBlackPieceList());
            }
            catch (Exception E)
            {
                string errorMsg = E.ToString();
                throw new Exception(errorMsg);
            }
        }
 /// <summary>
 /// ChessLocationCalculator Constructor
 /// </summary>
 /// <param name="aChessboard"></param>
 public ChessLocationCalculator(ChessBoard aChessboard)
 {
     chessBoard = aChessboard;
     validSquaresList = new ArrayList();
 }
 /// <summary>
 /// ChessLocationCalculatorKing constructor
 /// </summary>
 /// <param name="aChessBoard"></param>
 public ChessLocationCalculatorKing(ChessBoard aChessBoard)
     : base(aChessBoard)
 {
 }
 /// <summary>
 /// ChessLocationCalculatorQueen constructor
 /// </summary>
 /// <param name="chessboard"></param>
 public ChessLocationCalculatorQueen(ChessBoard chessboard)
     : base(chessboard)
 {
 }
 /// <summary>
 /// ChessLocationCalculatorKnight constructor
 /// </summary>
 /// <param name="chessboard"></param>
 public ChessLocationCalculatorKnight(ChessBoard chessboard)
     : base(chessboard)
 {
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aChessboard"></param>
 public ChessLocationCalculatorRook(ChessBoard aChessboard)
     : base(aChessboard)
 {
 }
 /// <summary>
 /// ChessLocationCalculatorFactory constructor
 /// </summary>
 /// <param name="aChessBoard"></param>
 public ChessLocationCalculatorFactory(ChessBoard aChessBoard)
 {
     chessBoard = aChessBoard;
 }