4th of July falls into the same category as Veterans Day, Thanksgiving, Christmas and New Years in that the day off is given on the day of. As mentioned previously, if the 4th (or any of those other aforementioned holidays) falls on a weekend, then you get an in-lieu-of holiday, which is the Friday before if the holiday is on Saturday and the Monday after if the holiday is on Sunday. When the holiday does not fall on a Wednesday, typically the "4th of July weekend" is the one closest to the actual holiday, since people often take the lone day between it and the weekend off. It's a crap shoot when the 4th falls during the middle of the week.
MLK, Presidents Day, Memorial Day, Labor Day and Columbus Day are all observed holidays, and those traditionally fall on a Monday.
See the following for more details.
http://en.wikipedia.org/wiki/Public_holidays_in_the_United_States