Led Strobe Lights (Multi Patterns) Help

I'm at work so cannot test this code but would this do? Strobe pattern only changes at the end of the pattern NOT when the button is pressed.

const int led = 13;
const int led2 = 12;
const int button1 = 5;          // Button pin
const int maxStrobeMode = 3;    // Max strobe number

int strobeMode = 0;             // Current strobe number

void setup() {               
    pinMode(button1,INPUT_PULLUP);
    pinMode(led, OUTPUT);   
    pinMode(led2, OUTPUT); 
}

void loop() {
    switch (strobeMode) {
        case 0:
            digitalWrite(led2, LOW);         //Strobe
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);               
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);             
            digitalWrite(led, HIGH);
            myDelay(20);
            digitalWrite(led, LOW);
            myDelay(50);
            digitalWrite(led, HIGH);   
            myDelay(250);             
            digitalWrite(led, LOW);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);               
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);                 
            digitalWrite(led2, HIGH); 
            myDelay(250);               
            digitalWrite(led2, LOW);
            break;
        case 1:
            digitalWrite(led2, LOW);         //Strobe
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);               
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);             
            digitalWrite(led, HIGH);
            myDelay(20);
            digitalWrite(led, LOW);
            myDelay(50);
            digitalWrite(led, HIGH);   
            myDelay(250);             
            digitalWrite(led, LOW);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);               
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);                 
            digitalWrite(led2, HIGH); 
            myDelay(250);               
            digitalWrite(led2, LOW);
            break;
        case 2:
            digitalWrite(led2, LOW);         //Strobe
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);               
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);             
            digitalWrite(led, HIGH);
            myDelay(20);
            digitalWrite(led, LOW);
            myDelay(50);
            digitalWrite(led, HIGH);   
            myDelay(250);             
            digitalWrite(led, LOW);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);               
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);                 
            digitalWrite(led2, HIGH); 
            myDelay(250);               
            digitalWrite(led2, LOW);
            break;
        case 3:
            digitalWrite(led2, LOW);         //Strobe
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);               
            digitalWrite(led, HIGH);   
            myDelay(20);               
            digitalWrite(led, LOW);   
            myDelay(50);             
            digitalWrite(led, HIGH);
            myDelay(20);
            digitalWrite(led, LOW);
            myDelay(50);
            digitalWrite(led, HIGH);   
            myDelay(250);             
            digitalWrite(led, LOW);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);               
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);
            digitalWrite(led2, HIGH);   
            myDelay(20);               
            digitalWrite(led2, LOW);   
            myDelay(50);                 
            digitalWrite(led2, HIGH); 
            myDelay(250);               
            digitalWrite(led2, LOW);
            break;
    }
}

void myDelay(int delayTime){
    if (digitalRead(button1) == LOW){
        strobeMode++;                       // Increment strobe mode
        if (strobeMode > maxStrobeMode){
            strobeMode = 0;                 // Reset if beyond maximum strobe mode
        }
    }
    delay(delayTime);                       // Do the delay
}