
(function () {
 	var ua = navigator.userAgent.toLowerCase();

    var isStrict = document.compatMode == "CSS1Compat",
        isOpera = ua.indexOf("opera") > -1,
        isChrome = ua.indexOf("chrome") > -1,
        isSafari = !isChrome && (/webkit|khtml/).test(ua),
        isSafari3 = isSafari && ua.indexOf('webkit/5') != -1,
		isSafari4 = isSafari && ua.indexOf('webkit/528.16') != -1,
        isIE = !isOpera && ua.indexOf("msie") > -1,
        isIE7 = !isOpera && ua.indexOf("msie 7") > -1,
        isIE8 = !isOpera && ua.indexOf("msie 8") > -1,
        isGecko = !isSafari && !isChrome && ua.indexOf("gecko") > -1,
        isGecko3 = isGecko && ua.indexOf("rv:1.9") > -1,
        isBorderBox = isIE && !isStrict,
        isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1),
		isWindowsVista = isWindows && (ua.indexOf("windows nt 6.0") != -1),  // experimental
        isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1),
        isAir = (ua.indexOf("adobeair") != -1),
        isLinux = (ua.indexOf("linux") != -1),
        isSecure = window.location.href.toLowerCase().indexOf("https") === 0;
        
	function addUaClass() {
		
		var oClass = document.body.className,
			bClass = '',
			pClass = '';

/**
 * Add a CSS class to the body representing the browser
 */

		// opera
		if (isOpera) {
			bClass = 'opera';
		}

		// google chrome
		if (isChrome) {
			bClass = 'chrome';
		}

		// firefox
		if (isGecko3) {
			bClass = 'gecko3';
		} else if (isGecko) {
			bClass = 'gecko';
		}

		// internet explorer (start with most recent version, dropping down to IE6)
		if (isIE8) {
			bClass = 'ie8';
		} else if (isIE7) {
			bClass = 'ie7';
		} else if (isIE) {
			bClass = 'ie6';
		}

		// safari
		if (isSafari4) {
			bClass = 'safari4';
		} else if (isSafari3) {
			bClass = 'safari3';
		} else if (isSafari) {
			bClass = 'safari';
		}
		
		// append the new CSS class
		document.body.className = oClass + ' ' + bClass + ' ' + pClass;

/**
 * Add a CSS string representing the platform
 */
 		oClass = document.getElementsByTagName('html')[0].className
 		
		if (isWindowsVista) {
			pClass = 'windowsvista'; // experimental
		} else if (isWindows) {
			pClass = 'windows';
		} else if (isMac) {
			pClass = 'mac';
		} else if (isAir) {
			pClass = 'air';
		} else if (isLinux)	{
			pClass = 'linux';
		}
		
		document.getElementsByTagName('html')[0].className = oClass + ' ' + pClass;
	}
	
	if (window.addEventListener) {
		window.addEventListener('load', addUaClass, false);
	} else if (window.attachEvent) {
		window.attachEvent('onload', addUaClass);
	}
})();
