broken – can we talk about this?

int ledPins[] = { 3, 5, 6, 9, 10, 11 }; // an array of pin numbers
int numPins = 6;
int bigSwitch = 8;
int onOff = 12;
int momentary = 13;

int onOffRead;
int onOffState = LOW;
int onOffPreviousState = LOW;

int bigSwitchRead;
int bigSwitchState = LOW;
int bigSwitchPreviousState = LOW;

int momentaryRead;
int momentaryState = HIGH;
int momentaryPreviousState = HIGH;

void setup() {
 int i;
 for (i=0;  i<numPins; i++) {
  pinMode(ledPins[i], OUTPUT);
 }
 pinMode(onOff, INPUT);
 pinMode(bigSwitch, INPUT);
 pinMode(momentary, INPUT);

}

void loop() {
  
  onOffRead = digitalRead(onOff);
  if(onOffRead == HIGH) {
    
      switch (onOffState) {
          case LOW:
            onOffState = HIGH;
            break;
          case HIGH:
            onOffState = LOW;
            break;
          default:
            onOffState = LOW;
      }
  
      
     onOffPreviousState = onOffState;
     int i;
     for (i=0; i<numPins; i++) {
        digitalWrite(ledPins[i], onOffState);
     }
  }
  
  
  while (onOffState == HIGH) {
  
    momentaryRead = digitalRead(momentary);
    int i;
      if (momentaryRead == HIGH) {
       switch (momentaryState) {
         case LOW:
           momentaryState = HIGH;   
           break;
         case HIGH:
           momentaryState = LOW;
         default:
           momentaryState = LOW;
        }
  
      }
      else {
        return;
      }
     momentaryPreviousState = momentaryState;
     for (i=0; i<numPins; i++) {
        digitalWrite(ledPins[i], momentaryState);
     }
  }

    
    bigSwitchState = digitalRead(bigSwitch);
    int j;
    if (onOffRead == HIGH && bigSwitchState == HIGH) {
      for(j=255; j>0; j-=5){ 
        for (i=0; i<numPins; i++) {
           digitalWrite(ledPins[i], HIGH);
           analogWrite(ledPins[i], j);
         }
      }
      delay (100);
      }
    else {
      return;
    }

  }
    
  
  else {
    int i;
    for (i=0; i<numPins; i++) {
      digitalWrite(ledPins[i], LOW);
    }
  }
  */
}