var browserClasses = {
    isOpera : {
        regExp   : /Opera\W*(\d+(:?\.\d+)?)/i,
        olderVer : {isOpera8 : 9}
    },
    isIE : {
        regExp   : /MSIE\W*(\d+(:?\.\d+)?)/i,
        olderVer : {isIE6 : 7, isIE7 : 8}
    },
    isFirefox : {
        regExp   : /Firefox\W*(\d+(:?\.\d+)?)/i,
        olderVer : {isFirefox1 : 2, isFirefox2 : 3}
    },
    isSafari : {
        regExp   : /Safari\W*(\d+(:?\.\d+)?)/i,
        olderVer : {isSafari3 : 4}
    }
};

function addBodyClass() {
    var sBrowserClass, sBrowser, sAddClass, aMatch, body;
    	sBrowserClass = "";
    for (sBrowser in browserClasses) {
        aMatch = browserClasses[sBrowser]["regExp"].exec(navigator.userAgent);
        if (aMatch) {
            sBrowserClass = sBrowser;
            if (typeof(aMatch[1]) != "undefined") {
                for (sAddClass in browserClasses[sBrowser]["olderVer"]) {
                    if (aMatch[1] < browserClasses[sBrowser]["olderVer"][sAddClass]) {
                        sBrowserClass += " " + sAddClass;
                    }
                }
            }
            break;
        }
    }
    if (sBrowserClass) {
        body = document.body;
        if (body.className != "") {
            sBrowserClass = body.className + " " + sBrowserClass;
        }
        body.className = sBrowserClass;
    }
}

addBodyClass();