try{
    var u = navigator.userAgent.toLowerCase();
    var addClass = function(el,val){
	if(!el.className) {
	    el.className = val;
	} else {
	    var newCl = el.className;
	    newCl+=(" "+val);
	    el.className = newCl;
	}
    };
    var is = function(t){return (u.indexOf(t)!=-1)};
    var cssFix = function(){
	var classeslist=[
	    (!(/opera|webtv/i.test(u))&&/msie (\d)/.test(u))?('ie ie'+RegExp.$1)
		:(
		    is('firefox/2')?'gecko ff2':(
			is('firefox/3')?'gecko ff3':(
			    is('gecko/')?'gecko':(
				is('opera/9')?'opera opera9':/opera (\d)/.test(u)?'opera opera'+RegExp.$1:(
				    is('konqueror')?'konqueror':(
					is('applewebkit/')?'webkit safari':(is('mozilla/')?'gecko':'')
				    )
				)
			    )
			)
		    )
		),
	    (is('x11')||is('linux'))?' linux':(is('mac')?' mac':(is('win')?' win':''))
	];
	addClass(document.getElementsByTagName('html')[0],classeslist.join(" "));
    };
    cssFix();
}catch(e){alert(e.message);};

