// CSS Browser Selector   Original v0.2.3, modified
// Documentation:         http://rafael.adm.br/css_browser_selector
// License:               http://creativecommons.org/licenses/by/2.5/
// Rendering Engines:     http://en.wikipedia.org/wiki/List_of_layout_engines
// User Agent Strings:    http://www.pgts.com.au/pgtsj/pgtsj0212d.html

// Engines recognized by this script:
//   Trident - Microsoft / Windows (IE etc)
//   Tasman  - Microsoft / Macintosh (IE)
//   Gecko   - Mozilla   / Multi-OS (Firefox etc)
//   Presto  - Opera     / Multi-OS (Opera, Adobe)
//   KHTML   - KDE       / Multi-OS (Konqueror)
//   WebCore - Apple     / Mac OS X (Safari)
//
// WebCore uses the KHTML engine (modified to not use Qt).
// It's recognized by this script as "khtml".
//
// Engine detection is best effort; unknown renderers
// will show up as "gecko", "trident" or "unknown".
//
// To match a browser, just use the appropriate class name before
// the actual element that needs to be match.  For example:
//
// .trident #my_id { /* whatever */ }
//
// To match a specific version, for example IE version 8, use a
// dot and concatenate the class names, but do not use a space:
//
// Examples:
// .trident.v8 #my_id { /* whatever */ }
// .trident.v8 .my_class { /* whatever */ }

var renderer;
var css_browser_selector = function() {
	var
		ua = navigator.userAgent.toLowerCase(),
		is = function(t) { return ua.indexOf(t) != -1; },
		broken = is('windows ce') && (is('msie 3') || is('msie 4')),
		h = broken ? null : document.getElementsByTagName('html')[0],
		b = {};
	if (/mozilla\/([\d\.]*)/.test(ua)) { b.engine = 'gecko'; b.version = RegExp.$1; }
	if (/gecko\/([\d\.]*)/.test(ua)) { b.engine = 'gecko'; b.build = RegExp.$1; }
	if (/msie ([\d\.]+)/.test(ua)) {
		if (is('mac')) b.engine = 'tasman';
		else b.engine = 'trident';
		b.version = RegExp.$1
	}
	if (/opera\/([\d\.]*)/.test(ua)) { b.engine = 'presto'; b.version = RegExp.$1; }
	if (/konqueror\/([\d\.]*)/.test(ua)) { b.engine = 'khtml'; b.version = RegExp.$1; }
	if (/khtml\/([\d\.]*)/.test(ua)) { b.engine = 'khtml'; b.version = RegExp.$1; }
	if (/applewebkit\/([\d\.]*)/.test(ua)) { b.engine = 'khtml'; b.version = RegExp.$1; }
	if (! b.engine) b.engine = 'unknown';
	if (b.version) { b.versionMajor = b.version.replace(/\..*/, ''); }
	b.jsBroken = broken;
	if (! broken) {
		h.className += h.className ? ' ' + b.engine : b.engine;
		if (b.versionMajor) h.className += ' v' + b.versionMajor;
	}
	renderer = b;
}();

signal("uaselect_loaded");
