/**
  * Used to set the play and draw buttons to enable or disabled Also if it is the player's turn
  * then set the cards to be greyed out if they are not playable. if it is not the player's turn
  * then do not grey out any cards
  *
  * @param isEnabled
  */
 private void setButtonsEnabled(boolean isEnabled) {
   play.setEnabled(isEnabled);
   bet.setEnabled(isEnabled);
   goAlone.setEnabled(isEnabled);
   if (isEnabled && currentState == MSG_PLAY_CARD) {
     // it is your turn grey out cards
     for (Card c : cardHand) {
       boolean isPlayable = gameRules.checkCard(c, trumpSuit, cardLead, cardHand);
       playerContext.setCardPlayable(
           c.getIdNum(),
           isPlayable || currentState == PICK_IT_UP || currentState == PLAY_LEAD_CARD);
     }
   } else {
     // it is not your turn make cards normal
     if (playerHandLayout != null) {
       for (int i = 0; i < playerHandLayout.getChildCount(); i++) {
         ImageView v = (ImageView) playerHandLayout.getChildAt(i);
         playerContext.setCardPlayable(v.getId(), true);
       }
     }
   }
 }
        @Override
        public void onClick(View v) {
          if ((isTurn && cardSelected != null)
              && currentState != FIRST_ROUND_BETTING
              && currentState != SECOND_ROUND_BETTING
              && (currentState == PICK_IT_UP
                  || currentState == PLAY_LEAD_CARD
                  || gameRules.checkCard(cardSelected, trumpSuit, cardLead, cardHand))
              && cardHand.size() != 0) {
            // play card or discard if it is pick_it_up mode

            connection.write(currentState, cardSelected);

            playerContext.removeFromHand(cardSelected.getIdNum());

            cardSelected = null;
            if (currentState == PICK_IT_UP) {
              play.setText(R.string.Play);
              playingView();
            }

            setButtonsEnabled(false);
            isTurn = false;
            cardSuggestedId = -1;
            playerContext.setSelected(-1, cardSuggestedId);
          } else if (currentState == FIRST_ROUND_BETTING || currentState == SECOND_ROUND_BETTING) {
            EuchreBet bet = new EuchreBet(trumpSuit, false, false);

            connection.write(currentState, bet.toString());

            isBettingNow = false;

            playingView();
            setButtonsEnabled(false);
            isTurn = false;
            cardSuggestedId = -1;
            playerContext.setSelected(-1, cardSuggestedId);
          }
        }