Send LED HIGH after "x" seconds

No luck as of yet. I did try adding a delay(200); but that delayed everything...yikes

The Good.
What works so far is:
ldr senses light and only when at or below minlight does ledPin1 fade on and off continuous until daylight.
pir senses motion and only if ldr is HIGH, it turns ledPins2,3,4,5 HIGH
when pir does not sense motion ledPins2,3,4,5 & go LOW & ledPin1 continues High (fade) unless its light out

The Bad.
Having trouble with:
at the point when the pir senses motion, i want only ledPins2&3 go HIGH
and IF the pir continues to sense motion after 5 seconds, turn ledPins4&5 HIGH

I attached the code that has a delay in it, but it doesn't work.

/*
This example shows the output of an analogRead() of a Photocell.
By M.Gonzalez
www.codingcolor.com
The example code is in the public domain
*/

int photocellPin = 0;// Photocell connected to analog pin 0
int photocellVal = A0; // define photocell variable
int pirVal = LOW;// motion sensor variable
int ledState = 0;//state of the led 
int minLight = 20;//min light threshold
int maxLight = 20;//max light threshold
//the time we give the sensor to calibrate (10-60 secs according to the datasheet)
int calibrationTime = 30;        

//the time when the sensor outputs a low impulse
unsigned long lowIn;         

//the amount of milliseconds the sensor has to be low 
//before we assume all motion has stopped
unsigned long pause = 5000UL;  

boolean lockLow = true;
boolean takeLowTime;  

int pirPin = 2;    //the digital pin connected to the PIR sensor's output
int ledPin1 = 3;
int ledPin2 = 4;
int ledPin3 = 5;
int ledPin4 = 6;
int ledPin5 = 7;

void setup() {
 Serial.begin(9600);
  pinMode(photocellPin, INPUT);
  pinMode(pirPin, INPUT);
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  

  //give the sensor some time to calibrate
  Serial.print("calibrating sensor ");
    for(int i = 0; i < calibrationTime; i++){
      Serial.print(".");
      delay(1000);
      }
    Serial.println(" done");
    Serial.println("SENSOR ACTIVE");
    delay(50);
}
void loop() {
  photocellVal = analogRead(photocellPin);
  pirVal = digitalRead(pirPin);
    
  if (photocellVal < minLight && ledState == 0){
    // fade in from min to max in increments of 5 points:
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin1, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(30);
    
  if (pirVal == HIGH) { 
    digitalWrite(ledPin2, HIGH);
    digitalWrite(ledPin3, HIGH);
        delay(200);
    digitalWrite(ledPin4, HIGH);
    digitalWrite(ledPin5, HIGH);}
    
       if(lockLow){  
         //makes sure we wait for a transition to LOW before any further output is made:
         lockLow = false;            
         Serial.println("---");
         Serial.print("motion detected at ");
         Serial.print(millis()/1000);
         Serial.println(" sec"); 
         delay(50);
         }         
         takeLowTime = true;
       }
    //Serial.println("fade up");
  }                      
    
  if(pirVal == LOW)
  
    {       
       digitalWrite(ledPin1, LOW);  //the led visualizes the sensors output pin state
       digitalWrite(ledPin2, LOW);
       digitalWrite(ledPin3, LOW);
       digitalWrite(ledPin4, LOW);
       digitalWrite(ledPin5, LOW);
           
  if(takeLowTime){
        lowIn = millis();          //save the time of the transition from high to LOW
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase
        }
       //if the sensor is low for more than the given pause, 
       //we assume that no more motion is going to happen
  
  if(!lockLow && millis() - lowIn > pause){  
           //makes sure this block of code is only executed again after 
           //a new motion sequence has been detected
           lockLow = true;                        
           Serial.print("motion ended at ");      //output
           Serial.print((millis() - pause)/1000);
           Serial.println(" sec");
           delay(50);
       }
    }
  }