Like it has been said, not enough RAM available...Most of your variables can be changed to byte instead of int. Also I noticed, that you constantly write to eeprom in loop(), considering the eeprom have a life of only 100.000 write/erase operations, I think it's a bad idea!
You can use the Arduino Enhanced IDE and it will report a warning if you use too much memory