AllenI:
The if statements and the switch cases work individually but not as one whole program
Every time you call the read() method, the data is pulled out of the buffer. So when you call this
switch (BTSerial.read())
uncondintionally, you're never going to build up the buffer enough for available() to be greater than 3.