int flashtime;
#define togglePin A0
#define neonLED1 2
#define neonLED2 3
#define neonLED3 4
#define neonLED4 5
#define entranceLED1 6
#define entranceLED2 7



//Setup ******************************************

void setup() {
  pinMode(togglePin, INPUT);
  pinMode(neonLED1, OUTPUT);
  pinMode(neonLED2, OUTPUT);
  pinMode(neonLED3, OUTPUT);
  pinMode(neonLED4, OUTPUT);
  pinMode(entranceLED1, OUTPUT);
  pinMode(entranceLED2, OUTPUT);

  flashtime = millis() + 2000;
}


void loop() {
  digitalWrite(entranceLED1, HIGH);
  digitalWrite(entranceLED2, HIGH);

  if (flashtime >= millis()) {
    neonLights();
  } else {
    digitalWrite(neonLED1, HIGH);
    digitalWrite(neonLED2, HIGH);
    digitalWrite(neonLED3, HIGH);
    digitalWrite(neonLED4, HIGH);
  }
}

//Functions *************************************

uint8_t neonCounters[] = { 0, 0, 0, 0 };
uint8_t neonLEDs[] = { neonLED1, neonLED2, neonLED3, neonLED4 };

void neonLights() {
  for (uint8_t i = 0; i < sizeof(neonCounters); i++) {
    if (neonCounters[i] == 0) {
      digitalWrite(neonLEDs[i], !digitalRead(neonLEDs[i]));
      neonCounters[i] = random(300);
    } else {
      neonCounters[i]--;
    }
  }
  delay(1);
}