Serial Communications questions

Hi I'm testing the use of Serial between 2 Arduinos connected wirelessly by 2 Xbee. I've tried several examples without success, luckily I found the Easy Transfer library and that is my go to method, except my failure at the other methods still looms over my head. Hopefully somebody can help me get rid of my doubts and misconceptions about these methods and most likely my errors.

In the first Arduino I have two joysticks hooked up and one button working on one of them.

//Arduino analog pins
const int leftJoyX = A0;// Pend Tilt
const int rightJoyY = A1;// Dome tilt
const int rightJoyX = A2;// Dome Spin
const int leftJoyY = A3;// Drive
int button = 2;
int buttonState = 0;
int audio;

void setup() {
  Serial.begin(19200);
  pinMode(button, INPUT_PULLUP);
}

void loop() {
  int val1 = map(analogRead(leftJoyX), 0, 1023, 0, 180);
  int val2 = map(analogRead(rightJoyY), 0, 1023, 0, 180);
  int val3 = map(analogRead(rightJoyX), 0 , 1023, 0, 180);
  int val4 = map(analogRead(leftJoyY), 0, 1023, 0, 180);
  buttonState = digitalRead(button);
  if (buttonState == LOW){
    audio = 2;
  }
  else{
    audio = 1;
  }
  Serial.write(',');
  Serial.write(val1);
  Serial.write(val2);
  Serial.write(val3);
  Serial.write(val4);
  Serial.write(audio);
  delay(100);
}

On the second Arduino I'm using a Mega. I have the Xbee hooked up to Serial3 so I can use Serial to debug using the Serial Monitor.

int i;
int posarray[6];

void setup() {
  Serial.begin(19200);
  Serial3.begin(19200);
}

void loop() {
  if (Serial3.available() >0){
        if (Serial3.peek() == ','){
           Serial3.read();
           for(i=0; i<5; i++){
              posarray[i] = Serial3.read();
           }
        }
  }

  Serial.print("val1= ");
  Serial.print(posarray[0], DEC);
  Serial.print('\t');
  Serial.print("val2= ");
  Serial.print(posarray[1], DEC);
  Serial.print('\t');
  Serial.print("val3= ");
  Serial.print(posarray[2], DEC);
  Serial.print('\t');
  Serial.print("val4= ");
  Serial.print(posarray[3], DEC);
  Serial.print('\t');
  Serial.print("audio= ");
  Serial.println(posarray[4], DEC);
  Serial3.flush();
  delay(10);
}

I get values of 89 and 90 but they never change. I've tried different methods but keep failing.

Have a look at the examples in Serial Input Basics - simple reliable ways to receive data. There is also a parse example.

...R