bROKEN cAPSLOCK kEY fIASCO
05AB1E, 16 bytes

Thanks to Emigna for saving a byte and fixing a bug!

vyÐl'ŒÎ¾èQi¼ëš}?


Explanation:

vy                # For each character in the string...
  Ð               #   Triplicate that character
   l              #   Convert to lowercase
    'ŒÎ           #   Compressed version of "christmas"
       ¾          #   Push the counting variable (let's call this N)
        è         #   Get the nth character of "christmas", with modular indexing
         Qi   }   #   If equal...
           ¼      #      N += 1
            ë     #   Else...
             š    #      Swapcase
               ?  #   Print that character


Uses the CP-1252 encoding. Try it online!