Rotary (incremental) Encoder Controlled Menu

This code....See below.... works for the encoder. Values go up and down when turning.
How can I couple the values to the menubutton functions?

#define EncoderPinA 2
#define EncoderPinB 3

#include "pins_arduino.h"

byte portA;
byte portB;
byte bit_maskA;
byte bit_maskB;
volatile byte *registerA;
volatile byte *registerB;

volatile static int numberA;

volatile int* attached_val;


void setup()
{
  Serial.begin(9600);
  pinMode(EncoderPinA, INPUT);
  pinMode(EncoderPinB, INPUT);
  digitalWrite(EncoderPinA, HIGH);
  digitalWrite(EncoderPinB, HIGH);

  portA=digitalPinToPort(EncoderPinA);
  portB=digitalPinToPort(EncoderPinB);

  bit_maskA = digitalPinToBitMask(EncoderPinA);
  bit_maskB = digitalPinToBitMask(EncoderPinB);
  registerA = portInputRegister(portA);
  registerB = portInputRegister(portB);

  attached_val = &numberA;
  attachInterrupt(0, doEncoderA, FALLING); // for some reason the new mouser encoders only work on A falling and b rising The other ones don't read fast enough 

  //and always count the same way
}

void loop()
{

  Serial.print("numberA = ");
  Serial.println(numberA);

  delay(500);

}


void doEncoderA()
{

  ((((*registerA) & bit_maskA) && ((*registerB) & bit_maskB)) || ((!((*registerA) & bit_maskA)) && (!((*registerB) & bit_maskB))))? (*attached_val)++ : 

  (*attached_val)--;
}