Last suggestion:
I looked into code and maybe is a good time to use separate image files for each system/browser display instead of use one image file for all of them and use pixel positioning to "cut-off" from one big image. I think You know what i mean
In case when You want to replace the icon is really hard to do this and set of 168 images are useless now if are not used for display...