swashata's fix for ie7/8 is added too because i'm working with his version.