Hey, I just made a quick reading at your code, here my comments:
Don't you cast hours as integers ?
I'd rather to check in just one place if the argument for status goes out of bounds (>2), if that is the case then you can answer with some default (like plain status or "status 1"). This way the code will be just a little bit cleaner and easier to maintain.
I haven't patched my SVN copy yet, I'll do it later and come back with comments.
Cheers