Нужно отделить IE8+ от IE7-. Сам IE уже отделен от FF, Opera и т. д.
Есть такой вариант:
if (navigator.userAgent.match(/msie\u0020([.\d]+);/i)[1] >= 8) {
// IE8+
} else {
// IE7-
}
но, хочется чего-нибудь попроще. Например, IE7+ и IE6- разделяю так:
if (window.XMLHttpRequest) {
// IE7+
} else {
// IE6-
}