"Setup void{" Running twice??? Help!

Thank you everyone for you're help! Especially you sterretje!

He helped me clean up my code as well as fix the issue. To stop my program setup from running twice I had to put in a case 0:

Here is the updated code just so it might help others with a similar issue! Thank you again!

#define button 3
int state = 0;
int old = 0;
int buttonPoll = 0;
int eye = 5;
bool doneFlag = 0;
void flicker(){
  delay (10);
   analogWrite (eye, 100);      //turn eyes to 100 brightness
   delay (50);
   analogWrite (eye, 0);        //turn eyes to off
   delay (30);
   analogWrite (eye, 100);      //turn eyes to 100 brightness
   delay (50);
   analogWrite (eye, 0);        //turn eyes to off
   delay (30);
   analogWrite (eye, 100);      //turn eyes to 100 brightness
   delay (150);
   analogWrite (eye, 0);        //turn eyes to off
   delay (30);
   analogWrite (eye, 125);      //turn eyes to 125 brightness
   delay (175);
   analogWrite (eye, 0);        //turn eyes to off
   delay (5);
}
void fade(){
  delay (5); 
  for (int brightness = 25; brightness <255; brightness += 5)
  {
    analogWrite (eye, brightness);
    delay (20);
  }
}
void setup() {
  // put your setup code here, to run once:
pinMode (eye, OUTPUT);delay (50);
pinMode (button, INPUT);
flicker();                    //Run Flicker Function
fade();                       //Run Fade Function
}

void loop() {
buttonPoll = digitalRead(button);
if(buttonPoll == 1) {
  delay(50);
  buttonPoll = digitalRead(button);
  if(buttonPoll == false) {
    state = old + 1;
  }}
  else{
   delay(100);
  }
switch (state) {
  case 0:
  analogWrite(eye, 255);
  old = state;
  break;
  case 1:    //if state is 2
   doneFlag = false;            //if state is 1
   analogWrite(eye, 48);        //eyes at 18%
   old = state;                 //set old stste as current state 2
   break;
  case 2:                       //if state is 2
   analogWrite(eye, 24);        //eyes at 9%
   old = state;                 //set old state as current state 3
   break;
  case 3:                       //if state is 3
   analogWrite(eye, 8);         //eyes at 4.5%
   old = state;                 //set old state as current state 4
   break;
   case 4:                      //if state is 4
   analogWrite(eye, 0);         //eyes at 6%
   old = state;                 //set old state as current state 4
   break;
  default:                      //if state is not 1,2,3,4
if (doneFlag == false) {
  flicker();                    //Run Flicker Function
  fade();                       //Run Fade Function
   doneFlag = true;
  }
   old = 0;
   break;

}
}