How to use a button to control LED series?

Hi, does anyone know how to make a push button control 5 different series of LEDs please? Basically what I am trying to do is 1st push of the button activates the 1st series of lights, then the 2nd press activates the 2nd series (while the 1st one stays on), and so on. When all 5 series are on, the next interaction with the button will turn all the lights off and resets the circuit, the 7th press would then turn on the 1st series again. Well, this code + my circuit wouldn't work... could someone pleaseeee point out what's wrong or what may be wrong (both circuit and program) to cause it to malfunction please? The program should probably be more correct than the circuit............. but I still cannot for the life of me tell where and when did it go awry. Sometimes the LEDs would turn on, but not one series at a time, but 3 series at the same time... then all 3 would automatically turn off after awhile, without the user pressing the button. And when I tried to press the button, nothing would turn on... it's so weird :-/ As to which of the series lighted up, that I could not say, as when I went back to check it, nothing would turn on.. However, I do know all the LEDs work as before I inserted the button, they would all turn on, when I was testing with one main power source, instead of each with a separate pin number.

Materials
There are 10 LEDs (2 on each series; 5 series in total) :cry:
5 1k resistors
1 Arduino
and 1 push button (spst off-on 3 Amps@125VAC)

pin # --> 1k resistor --> 1st LED --> wire --> 2nd LED --> Ground

The code that I have so far is:

int row1 = 13; // LED connected to digital pin 13
int row2 = 12;
int row3 = 11;
int row4 = 10;
int row5 = 9;

int buttonPin = 2; // the number of the pushbutton pin
int buttonState = 0; // variable for reading the pushbutton status
int buttonPressCount = 0;

boolean buttonPressed = false;

// The setup() method runs once, when the sketch starts

void setup() {
// initialize the digital pin as an output:
pinMode(row1, OUTPUT);
pinMode(row2, OUTPUT);
pinMode(row3, OUTPUT);
pinMode(row4, OUTPUT);
pinMode(row5, OUTPUT);

// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

// the loop() method runs over and over again,
// as long as the Arduino has power

void loop()
{
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.

// if it is, the buttonState is HIGH:

if (buttonState == HIGH) {
// turn LED on:
// digitalWrite(ledPin, HIGH); //testing button pressed or not

if (buttonPressed == false) {
lightLED();
buttonPressed = true;
}

else {
buttonPressed = false;
}
}

}

void lightLED() {
switch(buttonPressCount) {
case 0:
digitalWrite(row1, HIGH);
buttonPressCount ++;
break;
case 1:
digitalWrite(row2, HIGH);
buttonPressCount ++;
break;
case 2:
digitalWrite(row3, HIGH);
buttonPressCount ++;
break;
case 3:
digitalWrite(row4, HIGH);
buttonPressCount ++;
break;
case 4:
digitalWrite(row5, HIGH);
buttonPressCount ++;
break;
case 5:
digitalWrite(row1, LOW);
digitalWrite(row2, LOW);
digitalWrite(row3, LOW);
digitalWrite(row4, LOW);
digitalWrite(row5, LOW);
buttonPressCount = 0;
break;

}
}

Some pictures of the circuit:

Your problem could be due to switch bounce, where one press of the button may look like several.
Have a look around the libraries and playground for hints on debouncing.

The only problem I see is that you are not properly debouncing the switch. Read this:

http://www.arduino.cc/playground/Code/Bounce

Forget the button for the moment. Make the code call lightLED in a loop, with a delay in between calls. Make sure the LEDs work correctly before adding in the button code.