/*

jQuery Browser Plugin
	* Version 2.0 Beta
	* 2008-06-25 15:35:52
	* URL: http://jquery.thewikies.com/browser
	* Description: jQuery Browser Plugin extends browser detection capabilities and can assign browser selectors to CSS classes.
	* Author: Nate Cavanaugh, Minhchau Dang, & Jonathan Neal
	* Copyright: Copyright (c) 2008 Jonathan Neal under dual MIT/GPL license.
	* JSLint: This javascript file passes JSLint verification.
*//*jslint
		bitwise: true,
		browser: true,
		eqeqeq: true,
		glovar: true,
		nomen: true,
		plusplus: true,
		undef: true,
		white: true
*//*global
		jQuery
*/

(function ($, a, b, i, t, u) {
	// Define 'u' as the browser properties string
	u = navigator.userAgent;

	// Define 't' as true
	t = true;

	// Define 'p' as the processing of every name, version, versionNumber, and versionX
	a = function (i) {
		i = { name: i };
		i[i.name] = t;
		return i;
	};
	b = function (n, v) {
		n.version = v;
		n.versionNumber = parseFloat(v, 10);
		n.versionX = v.substr(0, 1);
		n.className = n.name + v.replace(/\s|\.|0+$/g, '');
		n[n.className] = t;
		return n;
	};

	// Define the browser name
	i = a((/(Firefox|Safari|Opera|Camino|Netscape|Flock|iCab|KDE|iCab|Flock|IE)/.exec(u) || ['unknown'])[0].toLowerCase().replace('kde', 'konqueror'));
	// Define '$.browser' with the browser name and the browser version
	$.browser = b(i, ((i.ie === t) ? /MSIE\s([^;]+)/.exec(u) : (i.firefox === t) ? /Firefox\/([A-Za-z0-9\.]+)/.exec(u) : (i.safari === t) ? /Version\/([^\s]+)/.exec(u) : (i.opera === t) ? /Opera\/([^\s]+)/.exec(u) : [0, 0])[1].toString());

	// Define the layout name
	i = a((/(WebKit|Gecko|Opera|IE)/.exec(u) || ['unknown'])[0].toLowerCase().replace('ie', 'trident').replace('opera', ($.browser.versionNumber >= 7) ? 'presto' : 'elektra'));
	// Define '$.layout' with the layout name and the layout version
	$.layout = b(i, ((i.gecko === t) ? /\srv:([^)]+)/.exec(u)[1] : (i.presto === t) ? ($.browser.versionNumber >= 9.5) ? 'futhark' : 'linear_b' : (i.trident === t) ? $.browser.versionNumber : (i.webkit === t) ? /AppleWebKit\/([^\s]+)/.exec(u)[1] : 1).toString());

	// Define the OS name
	$.os = {
		name: (/(Win|Mac|Linux|SunOS|Solaris|iPhone)/.exec(navigator.platform) || ['unknown'])[0].toLowerCase().replace('sunos', 'solaris')
	};

	// Attach the browser selectors to the html element
	$('html').addClass([$.os.name, $.browser.name, $.browser.className, $.layout.name, $.layout.className, 'js'].join(' '));
})(jQuery);