By what stretch of the imagination is this a "snippet"?
Did you even read Where should I post X?
Looking @ it from a _great_ (no; I mean really great. Greater than that even...) distance this looks just like a snippet...
I like what your doing - even though you posted it in the wrong place... ;->
Adding some configuration mechanism seems like something you want to do since all your checks are now hard coded and most can quite easily become soft coded.
Results (359 votes),