3 switches, code for each switch, trouble figuring out how to read each switch..

Alright, I had some time to play with the code today and this is what I came up with to have the LEDs light at specified times without using all of the delays. Here is that code, but I have a problem.

// test code utilizing blink without delay.
// written 11/13/12.

const int ledAPin = 7;      // the number of the LED pin
const int ledBPin = 8;      // the number of the 2nd LED pin
const int ledCPin = 9;      // the number of the 3rd LED pin
const int ledDPin = 10;     // the number of the 4th LED pin
const int ledEPin = 11;     // the number of the 5th LED pin
const int ledFPin = 12;     // the number of the 6th LED pin

// Variables will change:

long previousMillis = 0;        // will store last time LED was updated


long ledAOn = 2000;           // total time ledA is on
long ledBOn = 300;              // the time ledB will come on
long ledBOff = 1700;            // the time ledB goes off
long ledCOn = 600;
long ledCOff = 1400;
long ledDOn = 900;
long ledDOff = 1100;
long ledEOn = 1200;
long ledEOff = 800;
long ledFOn = 1500;
long ledFOff = 500;
long totalTime = 2500;          // the total time for the sequence


void setup() {
  // set the digital pin as output:
  pinMode(ledAPin, OUTPUT);      
  pinMode(ledBPin, OUTPUT);
  pinMode(ledCPin, OUTPUT);
  pinMode(ledDPin, OUTPUT);
  pinMode(ledEPin, OUTPUT);
  pinMode(ledFPin, OUTPUT);
}

void loop()
{

  unsigned long currentMillis = millis();
 
//  if(currentMillis - previousMillis > interval) {
//    // save the last time you blinked the LED 
//    previousMillis = currentMillis;   
//
//    // if the LED is off turn it on and vice-versa:
//    if (ledState == LOW)
//      ledState = HIGH;
//    else
//      ledState = LOW;
//
//    // set the LED with the ledState of the variable:
//    digitalWrite(ledPin, ledState);

    if(currentMillis - previousMillis > totalTime) {
      previousMillis = currentMillis;
    }

    if(currentMillis - previousMillis > ledFOn){
      digitalWrite(ledFPin, HIGH);
    }

    if(currentMillis - previousMillis > ledEOn){
      digitalWrite(ledEPin, HIGH);
    }

    if(currentMillis - previousMillis > ledDOn){
      digitalWrite(ledDPin, HIGH);
    }

    if(currentMillis - previousMillis > ledCOn){
      digitalWrite(ledCPin, HIGH);
    }
      
    if(currentMillis - previousMillis > ledBOn){
      digitalWrite(ledBPin, HIGH);
    }

    if(currentMillis - previousMillis < ledAOn){
      digitalWrite (ledAPin, HIGH);
    }
    
    if(currentMillis - previousMillis > ledAOn){
     digitalWrite (ledBPin, LOW);
     digitalWrite (ledAPin, LOW);
     digitalWrite(ledCPin, LOW);
     digitalWrite(ledDPin, LOW);
     digitalWrite(ledEPin, LOW);
     digitalWrite(ledFPin, LOW);
}
 
   if(currentMillis - previousMillis > totalTime) {
     previousMillis = currentMillis;
  }
}

The LEDs light just as I want them, but only the 1st LED turns off like it is supposed to, the others just dim, until right before the loop repeats. I'm not sure why the LEDs don't turn off like I was hoping they would.

Any suggestions???