/*!
 * Copyright 2010, Vopilovsky Konstantine  vflash@ro.ru
 * Date: Fri Oct 01 2010 16:52:16 GMT+0400
 * v1.0.3
 */


new function(){
	var z = jQuery, d = document, w = window, nv = navigator, ua = nv.userAgent, v, i, f;

	v = (ua.match(/.+(rv|WebKit|era|MSIE|Safari)[\/: ](\d+(\.\d)?)/)||[])[2] - 0;
	z.Kqn = z.Opera = z.Gecko = z.IE = z.WebKit = z.SWF = z.Chrome = z.Safari = z.Firefox = NaN;

	if (w.opera && opera.buildNumber) {
		z.Opera = (opera.version&&opera.version()||v)-0;
		}
	else if (/Konqueror/.test(ua)) {
		z.Kqn = (+(ua.match(/Konqueror\/(\d+)/)||false)[1])||3;
		}
	else if (/WebKit/.test(ua)) {
		z.WebKit = (+(ua.match(/AppleWebKit\/(\d+)/)||false)[1])||533;

		if (i = ua.match(/Chrome\/(\d+(\.\d)?)/) ) {
			z.Chrome = +i[1];
			}
		else if (i = /Safari/.test(ua) && ua.match(/Version\/(\d+(\.\d)?)/) )
			z.Safari = +i[1];
		}
	else if (/Gecko/.test(ua)) {
		if (i = ua.match(/rv:\d+\.\d+\.(\d)/)) if (i = i[1]/100) v+=i;
		z.Gecko = (v < 1.9 && d.getElementsByClassName ? 1.9 : v) || 1.9;
		if (i = ua.match(/Firefox\/(\d+(\.\d)?)/) ) z.Firefox = +i[1];
		}
	else if (/xplorer/.test(nv.appName)) {
		z.IE = d.documentMode || v || 8;
		z.qIE = d.compatMode != 'CSS1Compat';
		}
	else z.Gecko = 1.9;

	// test flash
	try {f = !z.Kqn && (/(\d+(\.\d+)?)/).exec(nv.mimeTypes['application/x-shockwave-flash'].enabledPlugin.description)[1]||false
		} catch (e) {f = false};

	if (!f && z.IE && w.ActiveXObject) {
		try {f = (/WIN\s+(\d+)/).exec(new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version'))[1]
			} catch (e) {};
		};

	if (f) z.SWF = +f || NaN;

	z.is_mobile = /Mobile/.test(ua);
	z.is_j2me = /J2ME[\/]/.test(nv.appVersion);

	z.osWin = /Windows/.test(ua);
	z.osMac = /Mac OS/.test(ua);
	z.osLnx = /Linux/.test(ua);
};
