// client-side JavaScript client sniffer. 
// Copyright (c) Q-Surf Computing Solutions, 2008. All rights reserved.

var 
	agt=navigator.userAgent.toLowerCase(),
	g_heBrowser = {
		browser:"",
		version:"",
		os:"",
		gecko:false,
		geckoVersion:0,
		dom1:false
	};

// following browser spoof other browsers.
// so detect them first.
if(agt.indexOf("opera")!=-1){
	g_heBrowser.browser="opera";
	/opera( |\/)([0-9]+\.[0-9])/.exec(agt);
	g_heBrowser.version=RegExp.$2;
}
else if(agt.indexOf("konqueror")!=-1){
	g_heBrowser.browser="konqueror";
	/konqueror( |\/)([0-9]+\.[0-9])/.exec(agt);
	g_heBrowser.version=RegExp.$2;
}
else if(agt.indexOf("safari")!=-1){
	g_heBrowser.browser="safari";
	/safari( |\/)([0-9]+\.[0-9])/.exec(agt);
	g_heBrowser.version=RegExp.$2;
}

// resume detection
if(g_heBrowser.browser.length==0){
	g_heBrowser.gecko=agt.indexOf('gecko')!=-1;
	g_heBrowser.geckoVersion=agt.indexOf('gecko');
	if(g_heBrowser.geckoVersion>0)g_heBrowser.geckoVersion=parseInt(agt.substr(g_heBrowser.geckoVersion+6,8));

	if(agt.indexOf("msie")!=-1){
		g_heBrowser.browser="msie";
		/msie( |\/)([0-9]+\.[0-9])/.exec(agt);
		g_heBrowser.version=RegExp.$2;
	}
	else if(agt.indexOf("netscape")!=-1){
		g_heBrowser.browser="netscape";
		/netscape( |\/)([0-9]+\.[0-9])/.exec(agt);
		g_heBrowser.version=RegExp.$2;
	}
	else if(agt.indexOf("firefox")!=-1){
		g_heBrowser.browser="firefox";
		/firefox( |\/)([0-9]+\.[0-9])/.exec(agt);
		g_heBrowser.version=RegExp.$2;
	}
	else if(agt.indexOf("mozilla")!=-1){
		g_heBrowser.browser="mozilla";
		/rv:([0-9]+\.[0-9])/.exec(agt);
		g_heBrowser.version=RegExp.$1;
	}
	else{
		g_heBrowser.browser="other";
	}
}

if(agt.indexOf("win")>=0){
	if ((agt.indexOf("win16")!=-1) ||
	    (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) ||
    	(agt.indexOf("windows 16-bit")!=-1)){
		g_heBrowser.os="win16";
	}
	else{
		g_heBrowser.os="win32";
	}
}
else if(agt.indexOf("linux")>=0){
	g_heBrowser.os="linux";
}
else if(agt.indexOf("mac")>=0){
	g_heBrowser.os="mac";
}
else {
	g_heBrowser.os="other";
}

g_heBrowser.dom1=((document.getElementById) ? true : false);

// following used by qwebeditor
var is_ie=g_heBrowser.browser=="msie",
	is_gecko=g_heBrowser.gecko,
	is_safari=g_heBrowser.browser=="safari",
	is_ie6up=is_ie&&g_heBrowser.version>=6,
	is_nav4=g_heBrowser.browser=="netscape"&&g_heBrowser.version<5,
	is_opera=g_heBrowser.browser=="opera";

var has_htmledit = (g_heBrowser.os=="win32"&&g_heBrowser.browser=="msie"&&g_heBrowser.version>=5.5)
    ||(g_heBrowser.gecko&&g_heBrowser.geckoVersion>=20030624) // Netscape 7.1 (20030624), Mozilla 1.4 (20030630)
	||(g_heBrowser.browser=="safari"&&g_heBrowser.version>=412)
	||(g_heBrowser.browser=="opera"&&g_heBrowser.version>=9);

