#define INCLUDECLOCKDISPLAY
void DisplayUserLightSource(){
  #ifdef INCLUDECLOCKDISPLAY 
  //Localize the Colors  
  unsigned int Local_NL_Red     = (int)(((unsigned int)(NightLightColor.red) * MinUserBrightness_Percent)/100);
  unsigned int Local_NL_Green   = (int)(((unsigned int)(NightLightColor.green)  * MinUserBrightness_Percent)/100);
  unsigned int Local_NL_Blue    = (int)(((unsigned int)(NightLightColor.blue) * MinUserBrightness_Percent)/100);
  
  unsigned int Local_L1_Red     =  constrain(Local_NL_Red +(((unsigned int)(UserColor.red) * CurrentUserBrightness_L1_Percent)/100),0,255);
  unsigned int Local_L1_Green   =  constrain(Local_NL_Green +(((unsigned int)(UserColor.green)  * CurrentUserBrightness_L1_Percent)/100),0,255);
  unsigned int Local_L1_Blue    =  constrain(Local_NL_Blue + (((unsigned int)(UserColor.blue) * CurrentUserBrightness_L1_Percent)/100),0,255);
  
  unsigned int Local_L2_Red     =  constrain(Local_NL_Red +(((unsigned int)(UserColor.red) * CurrentUserBrightness_L2_Percent)/100),0,255);
  unsigned int Local_L2_Green   =  constrain(Local_NL_Green +(((unsigned int)(UserColor.green)  * CurrentUserBrightness_L2_Percent)/100),0,255);
  unsigned int Local_L2_Blue    =  constrain(Local_NL_Blue + (((unsigned int)(UserColor.blue) * CurrentUserBrightness_L2_Percent)/100),0,255);
  
  int LocalAlarm_L1_Red =    constrain(Local_L1_Red + ((unsigned int)(AlarmColor.red)*AlarmOnIndex)/AlarmOnIndex,0,255);
  int LocalAlarm_L1_Green =  constrain(Local_L1_Green +  ((unsigned int)(AlarmColor.green)*AlarmOnIndex)/AlarmOnIndex,0,255);
  int LocalAlarm_L1_Blue =   constrain(Local_L1_Blue +  ((unsigned int)(AlarmColor.blue)*AlarmOnIndex)/AlarmOnIndex,0,255);
  
  int LocalAlarm_L2_Red =    constrain(Local_L2_Red + ((unsigned int)(AlarmColor.red)*AlarmOnIndex)/AlarmOnIndex,0,255);
  int LocalAlarm_L2_Green = constrain(Local_L2_Green + ((unsigned int)(AlarmColor.green)*AlarmOnIndex)/AlarmOnIndex,0,255);
  int LocalAlarm_L2_Blue = constrain(Local_L2_Blue + ((unsigned int)(AlarmColor.blue)*AlarmOnIndex)/AlarmOnIndex,0,255);
  
  //Set Backlight Brightness  
  digitalWrite(SW1LEDPin, constrain(((unsigned short)(MaxUserBrightness_Percent*255)/100),0,255));
  digitalWrite(SW2LEDPin, constrain(((unsigned short)(MaxUserBrightness_Percent*255)/100),0,255));
  if (PartyMode)
  {
    for (int i = 0; i < PIXEL_COUNT; ++i) {
            strip1.setPixelColor(i, random(0,255), random(0,255), random(0,255));
            strip2.setPixelColor(i, random(0,255), random(0,255), random(0,255));
    }
  }  
    else if (AlarmOnIndex != 0)
    {
        for (int i = 0; i < PIXEL_COUNT; ++i) {
          if (i <= AlarmOnIndex || i >= (PIXEL_COUNT - AlarmOnIndex)){
            // Display the Alarm
            strip1.setPixelColor(i, LocalAlarm_L1_Red, LocalAlarm_L1_Green, LocalAlarm_L1_Blue);
            strip2.setPixelColor(i, LocalAlarm_L2_Red, LocalAlarm_L2_Green, LocalAlarm_L2_Blue);
          }
          else
          {
            // Display Nominal Color
            strip1.setPixelColor(i, Local_L1_Red, Local_L1_Green, Local_L1_Blue);
            strip2.setPixelColor(i, Local_L2_Red, Local_L2_Green, Local_L2_Blue);
          }
        }
    }
    else
      {
        for (int i = 0; i < PIXEL_COUNT; ++i) {          
//          if (CurrentUserState_L1 == USEROFF && i == 1 && ProgramDiagnostics){
//            strip1.setPixelColor(i, 255, 0, 0);
//          }
//          else if (CurrentUserState_L1 == USERFADEUP && i == 2 && ProgramDiagnostics){
//            strip1.setPixelColor(i, 0, 255, 0);
//          }
//          else if (CurrentUserState_L1 == USERON && i == 3 && ProgramDiagnostics){
//            strip1.setPixelColor(i, 0, 0, 255);
//          }
//          else if (CurrentUserState_L1 == USERFADEDOWN && i == 4 && ProgramDiagnostics){
//            strip1.setPixelColor(i, 0, 255, 255);
//          }
//          else if (i == MaxUserBrightness_Percent && ProgramDiagnostics){
//            strip1.setPixelColor(i, 255, 100, 255);
//          }
//          else if (i == MinUserBrightness_Percent && ProgramDiagnostics){
//            strip1.setPixelColor(i, 255, 100, 255);
//          }
//          else if (i == CurrentUserBrightness_L1_Percent && ProgramDiagnostics){
//              strip1.setPixelColor(i, 255, 255, 0);
//          }
//          else
//          {
            strip1.setPixelColor(i, Local_L1_Red, Local_L1_Green, Local_L1_Blue);
//          }
//          #ifdef PROGRAMDIAGNOSTICS
//          if (CurrentUserState_L2 == USEROFF && i == 1 && ProgramDiagnostics){
//            strip2.setPixelColor(i, 255, 0, 0);
//          }
//          else if (CurrentUserState_L2 == USERFADEUP && i == 2 && ProgramDiagnostics){
//            strip2.setPixelColor(i, 0, 255, 0);
//          }
//          else if (CurrentUserState_L2 == USERON && i == 3 && ProgramDiagnostics){
//            strip2.setPixelColor(i, 0, 0, 255);
//          }
//          else if (CurrentUserState_L2 == USERFADEDOWN && i == 4 && ProgramDiagnostics){
//            strip2.setPixelColor(i, 0, 255, 255);
//          }
//          else if (i == MaxUserBrightness_Percent && ProgramDiagnostics){
//            strip2.setPixelColor(i, 255, 100, 255);
//          }
//          else if (i == MinUserBrightness_Percent && ProgramDiagnostics){
//            strip2.setPixelColor(i, 255, 100, 255);
//          }
//          else if (i == CurrentUserBrightness_L2_Percent && ProgramDiagnostics){
//              strip2.setPixelColor(i, 255, 255, 0);
//          }
//          else
//          {
//                        
//          }
//     #else
            strip2.setPixelColor(i, Local_L2_Red, Local_L2_Green, Local_L2_Blue);
        }   
     } 
#endif
}

